Archive for February, 2006

If I ran Kodak…

Tuesday, February 28th, 2006

(Disclaimer: I’m working at Kodak, but not with anything to do with Picture Kiosks. I’m not privy to any discussion of new technology or upcoming enhancements to the Kiosks.)

If I ran Kodak, I’d connect all those Picture Kiosks up to the internet with cheap DSL. Then, after you’d uploaded your pictures to OFoto (sorry - “Easy Share Gallery”, I think), you could say “Print this picture to the nearest Kiosk”, and it would tell you where the Kiosk was (and give the option to choose a different Kiosk if that one wasn’t good for you) and give you a PIN. You’d go to that Kiosk and enter your PIN, and out would come the pictures you’d sent to it. Much handier than having them mailed to you, or having to go to certain participating stores.

Is it time for a new server yet?

Tuesday, February 28th, 2006

I’ve had my Linux server for several years now. I don’t remember exactly when I got it, but according to the time stamps on the picture gallery from when I did it, it’s been about 2.5 years since I improved the cooling with monster copper heat sinks (1 pound on each CPU). In my experience, a heavily used server like this isn’t good for more than about 3 years before it starts getting flakey. But so far it’s been solid as a rock. Since improving the cooling (and stopping running SETI@Home, unfortunately), I can’t think of a single time when it froze up or rebooted spontaneously.

So I’m thinking that although I don’t need to rush out and buy a replacement, I should at least start thinking of what to replace it with. And here’s the problem - computers have become way more powerful and fast since then. This computer was pretty fast for its day, and I could easily get CPUs that run 3 or more times the speed, but so what? There is nothing I do on this computer that stresses the CPUs in any meaningful way. Normally my load average is down around 0.01. So what would I want out of a replacement? “Bottom of the rung” CPUs, but really fast networking and disk? Something small and quiet like a Shuttle? Something maybe not top flight speed-wise, but really well built by a company that knows how to make reliable hardware like a Sun or IBM or an Apple G5?

One thing I really like about this computer, though, is the fact that it’s dual CPU. It seems to me that if one process runs away the other CPU keeps it pretty responsive until the process finishes or I figure out what’s wrong. For instance, yesterday I noticed the system getting pretty slow. “uptime” showed the load average up over 15, and “top” showed a process owned by the apache user called “oops” taking a bunch of time. One quick “/etc/init.d/httpd restart” later, and things were back to normal.

If I were to replace or improve this computer, I can only think of a few things I’d like to do:

  1. More RAM. 1Gb seemed like plenty when I got it, but since upgrading to Fedora Core 4 from Fedora Core 3, SpamAssassin seems to take WAY more memory so when I start up X and start doing stuff on the console (not very often) it actually starts dipping into swap.
  2. SATA. Right now IDE drives are wonderful and cheap, but it looks like the future is SATA.
  3. RAID. If I’m going SATA, I’d like to get a real RAID. I don’t know why, but it seems that most of the talk in the SATA world about RAID is RAID 0+1 (striping + mirroring), but I was really impressed the first time I saw a RAID 5 setup and the owner of it just yanked a drive out of the array and slapped another one in, and the application didn’t even hiccup while the RAID controller went about its business rebuilding the new drive.
  4. LVM. I like the fact that LVM can do a “transaction snapshot” almost like a database transaction, so you can backup a consistent view of the system instead of trying to copy an image of a system that’s changing while you copy it. I haven’t read if this is possible, but it seems to me that you’d be able to stop all the services that are most likely to have problems with consistency (postgres, mysql and innd for instance), start your backup snapshot, and then start those processes again, so the services would only be down for a few seconds rather than however many hours your backup took.
  5. Dual processors. Like I said, I consider that one of the best features of this current machine. Any replacement would also have to have them.

It’s like the worst of the worst

Monday, February 27th, 2006

When you’ve worked all weekend, Mondays are the double suck. First of all, you’ve got all the Monday dragginess, like filling out timesheets and morning meetings. And then on top of it you’ve got the accumulated tiredness that you normally feel on Friday, but worse. Plus, on Friday you’ve got that boost from the thought that it’s soon going to be the weekend. For me, it isn’t soon going to be the weekend, and I’ll probably end up having to work some next weekend as well, so a real weekend is at least 5 and possibly 12 days away. At least I’ve got Great Big Sea to look forward to.

Today’s interesting discovery

Sunday, February 26th, 2006

You know those little USB flash drives, aka “pen drives” or “thumb drives” (I wish we’d just find a name for them and stick to it)? Well, it turns out that if you accidentally put one through the laundry, it still works fine. It rattles around in the case a bit like maybe the plastic loosened up a bit, but all the data is on it.

Of course when I got the drive back, I didn’t want to risk my important computers, so first I tried it on the Game-OS box. Once that worked and didn’t short out the USB port, I then had the nerve to try it in my precious Powerbook and Linux boxen.

The Computer Doctor is IN

Saturday, February 25th, 2006

A few days ago, my step-daughter Stevie complained that her iBook wasn’t booting right. All the symptoms pointed to her having the logic board problems that her model of iBook is heir to, but the warranty on that design flaw was only three years and her computer is 3.5 years old. She took it to the local Apple store where they told her it would be over $700 to fix. I can’t see spending $700 to fix a 3.5 year old computer, considering that it only cost us $1400 new, and she graduates in 2 or 3 months any way. So I proposed a fix: She sends her computer to me, I swap the hard drive into Vicki’s computer, and she uses Vicki’s 3 year old iBook to get her through the season, and I see if I can eBay a logic board for her computer. And if not, Vicki wants a new MacBook, so no risk, eh? (Personally, I wouldn’t mind a MacBook either, but it looks like Adobe won’t be porting Photoshop any time soon, and I’ve heard it runs dog slow under emulation. Plus I love my 17″ screen.)

The laptop arrived today. Thanks to The ifixit FixIt Guide, I had step-by-step instructions on how to take the two laptops apart and put one back together. It was pretty daunting, especially the part where after half an hour of prying open cases, taking out screws and removing cables, I get to the point where it says “Remove the following 16 screws”. But I got the first one apart without breaking anything worse than it was before. And Vicki arrived home with a 15″ Powerbook Titanium DVI that she borrowed from work. So surgery got another step. So first I opened up Vicki’s laptop, and put in Stevie’s hard disk. It booted, and I made sure the trackpad worked (I was worried about the cable), the sound worked, and the keyboard worked, and the Airport card worked. So now it was time for surgery 2 - I took Vicki’s hard drive, and put it into the Powerbook. That was way easier - only 7 screws to open the case, and two to take out the hard drive. The only wrinkle was getting the hard drive cable back on this tiny little connector. But it booted, and I made sure the sound, trackpad, keyboard and Airport all worked on it too.

So I’m two for two, and now I’m off to find if I can get the logic board cheap on eBay.

I knew it

Friday, February 24th, 2006

It takes a freaking genius to do SQL in perl.

Einstein image generator. Code taken from my navaid.com waypoint generator.

I miss it so much

Sunday, February 19th, 2006

This morning I watched NBC’s “The Great Race”, a recap of the men’s 4×10km relay at the Lillihammer Olympics. (It’s available on Google Video if you didn’t catch it, but it costs money and requires Windows to do so.

It was an extremely well done piece, although they didn’t show the famous bit where Dahle stopped and tried to force the Italian to go ahead of him, but he wouldn’t. At least I think that was in this race - maybe I’m thinking of the 4×10 at Salt Lake?

Anyway, I’m watching these guys race in brilliant sunshine, and it’s a similarly brilliantly sunny and cold day here. And I feel every movement - my muscles are twiching in time to them, and I can feel it, I can smell it, and I can taste it. I feel the fatigue, the joy, the accomplishment. I remember the way your lungs burn and your muscles work, I remember the way you could smell the humidity and temperature, see and feel the condition of the tracks, and adjust your stride accordingly. I remember seeing and feeling every little rut and bump in the track and trying to use it to your advantage. I remember that nifty little way you’d swing one of your poles forward when you switched from diagonal stride to double poling, and how cool it looked when others did it. I remember being in packs of skiers all in synch. I remember going out every weekend that there wasn’t a race and skiing 30 to 50 kilometers, and not thinking anything about it. I remember skiing in the rain, in bitter, bitter cold, in icy conditions, in slush, where there wasn’t any snow on the ground or when it was snowing so hard that you couldn’t see the next bend in the trail. And I remember doing it all because on those days when it was sunny and about -2C and your wax was good, there was no feeling in the world like it. It didn’t matter if you won or came in slower than your personal best, it was just great to be out there. The effort beforehand, and the soreness and tiredness afterwards, it was all worth it.

After the race, I started to cry. It was the worst cry I’ve had since I was in therapy, huge wracking sobs. And all because I realized that I’ll never have that feeling again.

When I was a young skier, just starting to enter ski races, there was a skier in my club named Karl. He was older, grey haired, and had started skiing in his home country (Germany, I think) when he was quite young. I was about 15, and he was probably in his mid to late 50s. He gave me advice and encouragement. The first year or two, he was well ahead of me in every race. Then I got a pair of real Peltonen racing skis instead of my heavy old Madshus light touring skis. They were light, they were fast, and they had three grooves in the tail that were supposed to break the suction on wet snow. They weren’t the most aggressive racing skis on the market, they weren’t even the most aggressive racing skis that Peltonen made. But they were mine. And the first race I skied in them, I cut a HUGE percentage off my previous best, and beat Karl by a small margin.

Karl became less and less of a factor in my later years, but I always thought that when I got to his age, I’d be enouraging young racers the same way. Between him and Jackrabbit Johannsen, I had enough role models to think that skiing was going to be part of my life for the rest of my life.

That was before the pain. And now I have to accept the fact that pain is going to be the defining element of the rest of my life, not skiing.

Thinking about Oshkosh

Wednesday, February 15th, 2006

Watching Steve Fossett’s record breaking flight, I started thinking about last year’s aborted trip to Oshkosh. Last year would have been amazing, with appearances by the Virgin Atlantic Global Flyer, Spaceship One, and more. I couldn’t get anybody to go with me, so I was planning to fly the Lance and camp. I only have a tiny one-man tent, but with the Lance, if things got bad I could sleep in the back there is so much room. But I had to cancel because Vicki and I bought this fantastic house and we needed to clear up 15 years of crud from the old place and prepare the new place. I have no regrets about the house, just about missing Oshkosh.

I was looking forward to camping because the previous time I’d gone with a bunch of guys from the flying club, and while it was fun, I felt let I was being pulled away from the grounds just at the best part of the daily airshows because they wanted to avoid the traffic and get something to eat. By camping, I wouldn’t have to leave the airfield at all. Of course, there is the slight problem that I don’t have much camping gear any more, and so I’d have to buy a camp stove and cooler and food and stuff like that. But that’s minor.

So then I read in Mark’s blog that he was thinking of driving out to Oshkosh. Hey, I thought, here’s a chance to do some flying with Mark, camp at Oshkosh, and have some fun.

I’ve booked the Dakota for the trip. Sure, the Lance is available, but as of this spring, the Dakota is going to have a new engine, new prop, new Garmin 530 GPS, a fairly new Stormscope, and a paint job barely two years old. It’s really the show piece of the club, and I’d be proud to fly a “Rochester Flying Club” banner from it while tied down in Oshkosh camping. Of course, taking the Lance is still an option, and maybe the extra room would come in handy, but with the ancient radios and old engine and all that, it just wouldn’t wow them (and Mark) like the Dakota will. And even the Dakota will seem roomy next to the Cessna 150s he’s used to flying.

Content Management Systems

Wednesday, February 15th, 2006

My experiments with SQLite have been on hold for the last week or so because Vicki signed me up to be on the web committee for the Browncroft Neighborhood Association. The current page is functional but not pretty, plus it’s hosted on an AOL member’s account. If I were to host it myself, they’d have gigabytes of space instead of the 2 megabytes they have now.

We’ve got a committee together, so the first thing I did was set up a mailing list for the web committee. After a week, though, not one member of the list has sent any messages to it except for me.

The second thing I did was register the domain BrowncroftNA.org and set up virtual hosting on my home server.

The third thing I did was spend some time at OpenSourceCMS.com trying out different Content Management Systems (CMS). One that caught my eye was ModX, which has a really nice AJAX-y administration interface. So I set it up on my server to experiment with. Obviously, I’m going to have to wait for the committee to decide on what content they want and where they want it, and that sort of thing. But I think a CMS looks like the way to go for the basic framework.

One thing I haven’t figured out how to do with this CMS is how to create role accounts that can upload files and link them to one particular web site - so, for example, the news letter editor can upload PDFs of the newsletters and link them from a news letter page. Or the History Committee can upload pictures and articles about the history of the neighborhood. Maybe I can do it, or maybe I’ll have to switch to a different CMS.

One thing that some CMS have, but this one doesn’t, is a web forum. I don’t like web forums much myself - I much prefer email lists. Some people like them though, so perhaps what I should look for is a web forum that can also email out posts to a mailing list as well as through an RSS feed. That way everybody can be happy.

The search continues.

Sundogs!

Thursday, February 9th, 2006

So after a month and a half of a winter that thought it was spring, today is clear and cold. It feels like Ottawa, a feeling accentuated by the fact that this morning I can see two sundogs, one on each side of the sun. Cool stuff.

In other news, the spam run seems to be over - I haven’t seen a spam attempt since 14:20 yesterday.

Look at that counter click up!

Wednesday, February 8th, 2006

Since I switched from MovableType to Wordpress, my blog has gotten almost no spam, and almost all of it was caught by SpamKarma. In the past, I’ve gone months without any Wordpress spam, and then suddenly a bunch of it for a day or two, and then none again. Since I upgraded to SpamKarma 2, it’s put a nifty little count of how many spams it had caught down there on the bottom of the blog page. It was up to about 7 this morning. As of right now, it’s up to 43. I suspect it will be higher by the time you read this. I’m hoping this is just another day or two spurt.

If I ran Apple…

Tuesday, February 7th, 2006

…I’d do two things to improve the iTunes/iPod/ITMS experience:

  1. I’d license Pandora’s algorithm for suggesting similar music, because the suggestions that they’ve recently started showing in iTunes are not anywhere near as good as Pandora’s and
  2. I’d make the liner notes available to scroll through the way that Podcasts have information you can scroll through on the iPod. I’d especially like to see the lyrics.

We’ll call that a tie, shall we?

Thursday, February 2nd, 2006

The controlled test turned out to not show the symptoms at all. So now the QA person is going to have to figure out what he did to get it into the state where he saw the problem. I suspect that the database wasn’t in the state he thought it was in, and the problem is going to devolve into another finger pointing exercise, this time between the other group (the guys who send us the playlists) and a third person in our group (the guy responsible for accepting those playlists and putting them in the database). That one won’t be nearly as much fun, because Tony (the guy responsible for accepting the playlists) doesn’t have anywhere near the ego that I do.

Coolest thing ever!

Thursday, February 2nd, 2006

Look at this: A hydrofoil kayak!

I so want to try one of these things.

Programming and Ego

Wednesday, February 1st, 2006

In my experience, most good programmers, and some not so good programmers, have an ego about it. I certainly do. Sometimes my ego writes checks that my ability can’t cash, but normally it doesn’t cause problems. Much.

The biggest problem is that when people say there are problems in my code, my immediate reaction is disbelief, annoyance or anger. I know there are bits of the code, especially the bits I inherited from others, but also some of my own, that are bug ridden and questionable, and I don’t react that way to those. But there are other areas I’m proud of, sometimes justifiably. And when somebody says something is wrong with those, I flare up internally. I try to catch that before I express it, and sometimes I succeed. Sure, QA sometimes reports a bug because they tested something wrong. But they have a job to do, and they do find stuff that I missed distressingly often.

The worst problem is when my ego clashes with that of another programmer. Right now I’m in a bit of an ego battle with another programmer. He says that a certain method in my database code that he’s supposed to call every night is returning the wrong values. I say that’s impossible because that method was tested last year, and it hasn’t changed in two years. (It’s dead simple, too, just a select * from playables where end_effective >= ?) He says “here are some log files that show your method returning the wrong values every day until the 28th”. I say “wait a second, those log files show that you didn’t even call my method until the 28th!” He says that’s because he turned on full debugging on the 28th. And that’s where it sits. Tomorrow we have the show down. The QA person has set up a test case, and tomorrow we all meet in the lab to examine the log files and database together.

It should be fun. Unless it turns out the problem is in my code, in which case I’ll have to go into a 2 week sulk. Anybody taking bets?