06|30 More RSS

I just finished upgrading the RSS script to support RSS 2.0. This should fix any problems that RSS readers have had with this feed. Shiny.

06|29 RSS fixed

I finally got around to fixing the RSS feed. I've moved it to a new address so if you were subscribed, make sure to update your subscriptions.

06|29 Hit me

I haven't been keeping a close eye on my web server logs lately as I did before I switched to Gentoo but I decided that it would be interesting to see if this site gets any traffic at all. To my surprise, I actually get quite a few hits from relatively real people. On 6/28/2005 I got 32 hits from all over the world, mostly from outside the US. As I'm looking at the referrer logs, I see that my blog has definitely drawn some interesting traffic. I will now share with you some of the search phrases that returned this website. There are no guarantees that this site still appears in the results.

Now for some sites that link me directly...

  • Windwake - The Laws of Web Design (Blog entry) I actually posted a comment to this blog entry thinking that nobody but the blog author would see it... I've already seen 17 unique hits from it.
  • Slashdot Supporters I figured that getting my site linked from here would drive some traffic... 54 unique hits
  • Runescape Rocks I feel sorry for this guy... He doesn't know a thing about web design and can't even manage to test his links. He meant to link to what looks like a decent Runescape site

There are many many more hits here, but I think those give you an idea of who your peers on this site are. Now, if only somebody would start posting comments, I could actually find out more about you people and your motives... You can never be too careful...

06|28 Interrupted Existence, Distributed Class, Clustered Neural Network, Podcasts

As the devout readers in my audience know... Nevermind, there aren't any. I've been without internet access for the last three days. It sucks. They're sending a tech out to take a look at my connection tomorrow so there are no guarantees that anything will stay live until then. I didn't realize how much I rely on the internet until it was taken away. I've gotten to the point where I feel severely deprived if I am left without instant access to virtually all human knowledge (and porn) during every waking minute.

I got to the Distributed lab to find that we had a bunch of new toys including some Myrinet and Firewire hardware. It took us about an hour to get everything installed and running because we decided to plug in the extra hard drives in all of the systems as well as double the RAM in half of them with sticks out of the unused systems. We didn't get around to installing drivers for the Myrinet stuff yet, I imagine we'll get to that tomorrow. We did however, get Ethernet over Firewire working. Very geeky. Unfortunately, it didn't even come close to the expected 400 Mbps. At peak, we were hitting 13.4 KB/s (107.2 Mbps) over the Firewire link. I'm still not quite sure why we're not getting full speed. Until we get that figured out, we've still got a nice Gigabit Ethernet backbone to sit on, with Myrinet coming soon. Once the system is fine tuned and everything is trunked, we should be able to get aroung 2.6 Gbps. Not bad at all for a system scrapped together from borrowed equipment.

Now that MPI is running on both clusters, we need to get some software written. I've been working on a neural network that I'm planning to extend to support MPI very soon. But I still don't understand a few of the key concepts needed to get an artificial neural network running. The biggest piece I'm missing is the learning algorithm. I have a few rough ideas for building it, but I'm just not quite sure how to approach it. Perhaps I should try to find an artificial intelligence professor to explain it to me. Or a good book. Either way, it'll be really cool once I get it working. From what I've seen, the biggest drawback to existing neural network implementations is a lack of processing power. I figure that a four node 64-bit cluster should have plenty of power for my purposes. Not to mention the six Alphas waiting to be clustered. I would imagine that the Alpha systems will deal with the floating point math better, but we will see.

Recently, I've started listening to the This Week in Tech podcast from the old TechTV guys. It's the first podcast I've actually gotten into to the point where I'm listening to every episode and am disappointed when it's not out on time. But I'm forgiving, I understand that Leo has better things to do than to edit Skype conversations all day. I just enjoy listening to the show when I can, it's a nice little break from reality. All of this podcast stuff got me thinking about how kludgy my current way of getting podcasts onto my Creative Zen Touch player is. I'm downloading each MP3 and copying it to the player manually. Not exactly a model of efficiency. So I downloaded a copy of libnjb and tried to build it on my Mac Mini. That was a joke. The library compiled fine, but the sample apps get undefined reference errors. I have a feeling that I'm missing a library path somewhere but I've recently become aware of how Linux and BSD differ in the area of library management and am still learning about the BSD side of things. I have to say that I'm starting to prefer BSD. I can understand why Apple decided to use it as a basis for their OS; it just works. The hours upon hours I've spent fiddling with various Linux distros trying to get things like X11 running are much easier with the BSDs for a few reasons. First of all, BSD is very well documented. The man pages tend to be magnitudes more comprehensive than the Linux distros I've used. Almost all of the problems I've had with BSD systems have been with oddball software packages not cooperating with the system. The problem is that a lot of software was targeted at Linux (usually Debian or RedHat) and the developers just assume that BSD will work fairly painlessly. In reality, BSD is more restrictive in some areas to keep code clean. For this reason, messy code doesn't play nicely. There are many many other differences between Linux and BSD and this blog just isn't the place to discuss them (though I'm open to any conversations you want to have in my underused comments section).

Anyway, where was I? Oh yeah, the podcasts. I found a nice little perl script that will pull down new podcasts from an RSS feed and save them to a file. I figure that I could easily integrate this into a script that throws the files on my MP3 player when I plug it in. One of the sample programs that comes with libnjb is called sendtr, meaning send track from my understanding. It takes a file path as an argument (maybe even stdin), and prompts the user for the tags for the file in the player's database. I figure that I could move the tagging stuff into arguments as well, and have it work hand-in-hand with the perl script to load up the player, without having to resort to ID3 hell. Unfortunately, I couldn't get libnjb and the perl script working at the same time on either the Mac Mini or my new experimental box running OpenBSD. I'll get it working eventually, it's just going to take some serious hacking around. Eventually, I'd like to have a script running in the background, watching dmesg for the player to be connected and update it as soon as a connection can be established. The podcast reader would run in a separate process every six hours. Six is frequent enough for me because I doubt I'll plug in the player more often than that anyway. Future features for this setup might include the ability of the system to delete old podcasts from the player for me, although I don't really see that being a problem, I tend to delete them through the player's interface as soon as I finish listening. It makes it easier to find new content the next time I go to listen.

Well, I think I've done more than my share of typing for one day. Peace.

06|28 iTunes 4.9

iTunes 4.9 is out. It's good. Go get it. Now.

I've been looking for a good podcast reader for months. I finally have found one. The only shortcoming of iTunes is that it doesn't support BitTorrent podcasts. Understandable from Apple's point of view considering that they're in bed with the RIAA, and we already know that they have a fear of BitTorrent like vampires fear garlic and stakes through the heart.

I just ordered an iPod Shuffle (1 GB) specifically for podcasts. It's just too much work to download and copy the MP3s around manually. Automatic is good.

Does anybody else think it's ironic that Microsoft has the dreaded Patch Tuesday and Apple has iTunes New Music Tuesday? Simply an observation.

06|26 A week in recap, Three hour cluster, Graduation

Well, the last couple of weeks have gone by so fast I'm still not quite sure how I did it, but I've graduated High School. I haven't been updating this blog as much as I'd like to so here's a recap of the last few days...

Monday Morning

  • Got a ride with Jeff (a friend of my Mom's) to East High School to take the Spanish Proficiency exam. I got there at 7:50 and found out that it didn't begin until 9:00. So I sat in the Cafeteria and watched the East High students. I have been removed from the traditional school situation so I can now act as a (mostly) impartial observer. I found it refreshing to see just how little things have changed. The cliques still exist, though the strongest separations appeared between males and females... I got the impression that the girls alienated themselves, not wanting to interact with their peers. Hmm. Not surprisingly, I found that the teachers still did more harm than good, interfering with a couple of boys tossing a ball around and leaving the violent/abusive ones alone. As 9:30 rolled around, I began the exam... It took them thirty minutes to figure out that eight people were missing. I wonder how long it would have taken with student cooperation... I finished the test around 10:15, just a few minutes after the required minimum attendance. I knew I had done well on the multiple choice section and had completely bullshitted my way through the essay. But that was out of my hands, I simply did not have the knowledge required to write an essay in Spanish.

Monday Afternoon

  • I took the bus to school and finished my remaining math tests in three hours. I passed the last math test with an 81 (minimum competency is 80). I bid everyone farewell until Thursday, stopped in to chat with DJ for a few minutes, and went home.

Monday Evening

  • At 5:00, I got a ride to the Business Development Center for my Distributed Systems class. I fiddled with Gentoo a little more only to find that LAM-MPI has a few quirks to get it working with AMD64. DJ also brought his TViX system and we watched Stargate Atlantis while we worked. Lots of fun. Later that night, I did some digging around on Gentoo's Bugzilla page and found that I wasn't the only person having problems with LAM-MPI on AMD64. I added my report of the bug as a comment and left it at that.

Tuesday

  • I slept in, it was nice. I took the spare system that Joe loaned me and added a couple of extra 3-4 GB hard drives I had lying around so that I could use it as a "testing" system and moved it to a nice cozy spot under my desk, previously occupied by dust bunnies. I installed OpenBSD 3.7 on it and christened the newfound system Calypso under my network's naming scheme. After a few hours of lounging around and watching DS9, I went to Distributed class again. When I got there, we started talking about what our goals for the next few weeks should be, I raised the possibility of building another cluster seeing as how the first one was almost completely working. The first cluster was built almost completely by Matt and I and didn't really give anybody else a chance to try their hand at the magic known as software. So Joel and Chuck went off with Joe and started building their cluster out of three of the P3 systems that were lying dormant on the far side of the room. When Matt showed up, I brought him up to date on the LAM-MPI problem and he suggested building it straight from source, without Portage. I had pondered the idea myself a few times but didn't have the necessary knowledge of LAM's workings to set the configure options correctly (What is ROMIO anyway?). So Matt got that compile going and as we were waiting for it to finish, I decided that I wanted to build another cluster too... It looked like everybody else was having too much fun without me. I hooked up four more of the AMD64 boxes and started installing OpenBSD on the first one. We only have a four port KVM so we decided to setup just one system at a time. The setup went surprisingly quickly once the packages were downloaded. I figured that this bottleneck could be eliminated by setting up a download mirror locally. As the first OpenBSD system, hereby known as node05, downloaded the required packages, I started the install on node06 and went upstairs to the gas station next door for some Twizzlers and a bottle of water. I also watched Matt put my recommendation letter for RIT in the mailbox. When I got back, both systems had finished their downloads. I finished the install on node06 and started tweaking it to match node05... I'm terrible about changing things before I've got everything setup. I configured Apache on node05 so that node07 and node08 installs would be much faster. Indeed they were. Both of the remaining nodes took only 20 or so minutes to setup, making the total setup time for the cluster under three hours. I continued tweaking all of the systems to get them to match fairly closely and began adding a few necessities... NFS, Bash, Passwordless SSH, and LAM-MPI. By the time I got to the LAM-MPI install, Joel and Chuck had the second cluster up and running with Debian Linux. They were having a little bit of trouble getting NFS working but eventually managed to get it to the point where the systems were fairly dependent on each other. 9:00 rolled around and I went home. A good day.

Wednesday

  • I woke up with but one thing on my mind, LAM-MPI. I had forgotten that we had started the build of it on node01 for the Gentoo cluster. I grabbed my laptop and SSHed into node01 to find that the build had gone flawlessly. After a little poking around looking at the results of the configure, I decided that it would be safe to install it on top of the Portage install. I waited a few minutes for the install to finish and tested it out. Still no luck but it appeared that the old libraries were still in use. I uninstalled the Portage version without any more success. Then I remembered that there was a way to set the library paths. I stumbled around the command line for a few minutes until I remembered that /etc/ld.so.conf controls libraries. I set that up to use our /usr/global path and found that it worked! Apparently a clean 64-bit library was definitely what was needed. I logged out feeling good about the success and lounged around, watching a few more episodes of DS9. Once I was tired of that, I started working on my neural network program some more and got it to the point where it ran without any problems. I am still lacking a learning function but it's well on the way to being a productive program. Eventually I'd like to make the neural network an MPI app so that I can put some really powerful hardware behind it.

Thursday Morning

  • Nick showed up at my house at 8:10 to get a ride to the graduate breakfast picnic thing with Dave. Dave showed up around 8:15 with a trailer of Kayaks in tow. We got to a nice little spot on the side of the river somewhere around Lindley... I tend to lose track of all of those small towns. We hung out skipping rocks across the water for about 45 minutes until Kristy, Nate, and Brandon showed up. I ate a donut and helped to unload the Kayaks. I said to Dave, "You're going to get me in one of these today, aren't you?" Without really protesting it, I got in the water and loved it. I hadn't been that close to water (excluding showers) in at least three years.

Thursday Afternoon

  • I got to school and hung out with Jessy for an hour and a half until things started to get going with Kristy's POL and Graduation setup. I went over to the cafeteria and setup the PowerPoint of the pictures of activities the school has done. From there on out, it was just a bunch of talking and shaking hands. I don't really like goodbyes, but this one wasn't that bad, because I didn't really feel like I was saying goodbye, just see ya later. I went to dinner at Olive Garden with my family and off to bed. A lack of sleep will do that to ya.

Well... Those are the most interesting parts of the week. I'll try to keep this up to date more often. Peace.