Archive for the ‘Geekery’ Category

I’m in the middle of a big refactoring job for my work project. I’m basically restructuring all the classes that make database calls so that they use connection pooling with a per-thread “DatabaseHandle” that caches PreparedStatements. It’s a big job, and it’s going to take a LOT of time and concentration, which means that home is a far better environment to work on it than at work. The problem and dilemma comes because I was on a roll when I hit 40 hours for the week. I’m not allowed to bill more than 40 hours, and I’m sure as hell not going to do it for free. Nor can I work from home without prior approval and that’s not easy to get.

So my question is, do I quit now and hope I can quickly get back in the groove on Monday morning, or do I work on it this weekend and then when I’m done spend an equivalent amount of time at my desk at work working on personal projects, like my photoshop stuff? I’m thinking it’s probably safest, although nowhere near as productive, to shut down Eclipse right now and don’t look at it until Monday morning.

My new computer skinIn anticipation of today’s announcement of the new MacBook Pro, I ordered the computer skin a few days ago from iToppers.com. Today the guy producing it sent me this image of what it’s going to look like.

I can hardly wait. I hope there is an airshow nearby where I can get the team to sign it.

A few hours ago I was complaining to a bunch of friends how annoying it was to do Photoshop with a ball mouse. My optical mouse broke (the first button went down and didn’t come back up) a few weeks ago so I’m using this old ball mouse, and no matter how carefully I clean the rollers, it seems that when I click and drag to the left, the mouse will stop. If I just move the mouse without with the button down, no problem, it follows it all over the place. But it takes multiple attempts to drag anything to the left.

One of my friends, Harry, is an extremely experienced graphic artist, and he said “forget the mouse, buy a Wacom Bamboo tablet”. At first, I was reluctant, because the logo for this thing looks like the word “Bamboo” drawn on an Etch-a-Sketch, which doesn’t say much for its drawing ability. Also, the Wacom promo stuff talks only about it as a device for mouse-replacement and handwriting, with absolutely nothing about using it for drawing or other artistic work. But I found a couple of user reviews where they pointed out it has force sensitivity, which is not something you need for handwriting and mouse-replacement. They said it was an excellent tablet for amateur artists, as well as something professionals might want to put in their laptop bag for use on the road. So on the way home from lunch we stopped off and bought one.

I’ve been using it continually since then, and as far as I’m concerned I should throw away all my mice and buy one of these things for every computer I use. I’m using it for general mouse-replacement and it’s great. The only thing I reach for my mouse for is for the scroll wheel, and that’s mostly force of habit since the tablet has scroll buttons on the top. This thing is extremely great.

I’m coming down to the wire of this database re-architecture task. I’ve been working 60 hours a week for 8 weeks now on this thing, and it’s due this Friday. Unfortunately, I have come to the stunning realization that there is a gaping problem in my design.
Continue reading ‘Oops’ »

I’ve been thinking a lot about working overtime, mostly because I’ve been doing a lot of it. I haven’t taken a day off since the day after Christmas, as I struggle to meet an impossible deadline.
Continue reading ‘Some thoughts on overtime’ »

Sorry about this, but I’m going to use a blog post as my personal note pad once again.

Every time my colo box reboots, I need to restart some stuff that automatically restarts on my home box, mostly ssh tunnels. In the old days, I’d use “kill -1 1″ or “telinit -q” depending on how traditional I was feeling. That tells init(1) to re-read /etc/inittab and kill any of its daemons that isn’t in the file any more and start anything that’s in the file that isn’t running.

But Ubuntu has replaced the old inittab with files in /etc/event.d. And now, you restart those with a much simpler (but much harder for me to remember when I need to) “sudo start ssh_tunnel”. One of these days I’ll remember that.

Eclipse dialogSee this dialog? I’m seeing a lot of it. I’m working on a very large project, and this one particular file is the main GUI for our system. The guy who started it was in love with Visual Age For Java, and didn’t like splitting his stuff into separate classes, and after I took it over I’ve pretty much continued along the same lines, so this file is over 10,000 lines long. Yes, you read that right, ten thousand lines of poorly documented code.

Just about every word you type into Eclipse in this file either leads to a long delay as the CPU maxes out and the disk churns, or this dialog. I’ve tried quitting everything else to provide more memory for it to work in (you’d think 2Gb of RAM would be enough for Eclipse, Safari, iChat and iTunes to get along, and you’d be wrong).

Sigh.

UpdateOk, what sort of moron declares a method to throw “Exception”?

Well, after I got home I tried Adobe Fucking Updater again. This time it popped up a dialog saying “no updates to be installed” so quickly I didn’t even notice how much RAM it was taking. Certainly a far cry from hours and gigabytes of memory that it took when I ran it at work.

Also, I did a Time Machine backup for the first time in a few days. I’d started it in the morning, but it was taking too long so I’d aborted it after about half an hour. I started it again when I got home, and expected it to take 5 or 10 minutes like it usually does, or maybe a bit longer because I’d just installed the Leopard 10.5.2 and Graphics updates. Instead it ground and ground and ground and finally finished 3.5 hours after it had started. I’m told this is because the disk was nearly full, and it had to re-arrange old backups to discard the appropriate old ones.

Adobe is not my favourite software company. I’ve ranted before about splash screens that cannot be moved or covered. Today I was browsing a PDF file in Safari, which was an excruciatingly slow activity for some reason. But then it got an order of magnitude slower, and I see the infamous “Adobe Updater” icon in the dock.

I try to pop up the Activity Monitor to see what’s up. It takes at least 5 minutes, and it shows Safari and Eclipse, the two main reasons for having this computer here at work, as “Not responding”. It also shows that Adobe Updater has an RSIZE of 1.4GB+, and a VSIZE of 3.0GB+, and both numbers are still growing. I kill the Adobe Updater, and Safari and Eclipse both take a while to finish swapping back in their active parts and start working again.

But 10 minutes or so later, the Adobe Fucking Updater starts again. This time I decided to humour it. I closed Eclipse and Safari and waited. And it didn’t take long for the AFU to take up all the memory I had, and then die. I think it got up to about 3.3Gb of VSIZE. And yet, doing a quick back of the envelope calculating, I’m pretty sure it could have sucked every Adobe software product I have on my disk into memory and still not used 3+Gb.

So what the hell is happening? Why is Adobe Fucking Updater so badly written? Why is it chewing memory like that?

I have a theory that it might have something to do with being behind the corporate web proxy (which also sucks mightily). Or it just might be that Adobe’s programmers are incompetent morons who should all be fired and told to never touch a computer again. Or more likely, both. When I get home tonight, I’ll try updating again and see if it really needs more memory than I’m willing to give it.

I don’t know what it is about this 2GB thumb drive, but it’s incredibly slow in USB 1 mode, but not too bad in USB 2 mode. I tried copying this 600+Mb ISO to it from my Linux box with it formatted at ext3, ext2 and FAT32, and the fastest time was over 35 minutes. The same file to a 1Gb thumb drive in the same USB slot was only 11 minutes.

On my Powerbook, USB 2.0, that same file copied to the thumb drive in 2:43. Copying it to the 1Gb thumb drive took 2:04. So it’s only on USB 1 that the other one is dog slow.

I’m used to UPS being incompetent fuckwads. So I’m a little surprised to find that of the three things I’ve ordered on-line recently, two of them came within 2 days of me placing the order even though they were sent “UPS We’ll Get To It When We Fucking Feel Like It” mode. I can only assume that they have a bunch of left over capacity from Christmas that they are waiting for the most inconvenient time to lay off or something.

Our software is installed/upgraded from CD. As part of the build process, we create .iso files and automatically burn that ISO to a CD in the build machine’s burner. When I want to upgrade the test complex on my desk, I can never find the master CD, so I usually burn a copy myself. But I don’t have any blanks at my desk, so I thought I’d try just copying to a USB “thumb drive”, and then mounting the .iso on the test machine using “mount … -o loop”.

So I started copying it to the thumb drive on my Linux box (which only has USB 1), and went away and did something else for 10 or 15 minutes. And I came back and it was still copying. So I did something else for 10 or 15 minutes. And it’s *still* copying. At this point, I suddenly realized my laptop has a USB 2 port free. So I copied the file over the network to my laptop, copied it from there to a different USB thumb drive, and took that over to the test complex and upgraded it. And having done all that, the Linux box is *still* copying the original .iso to the first thumb drive.

Update I just tried it again with “time cp” with a different thumb drive, and it only took 12 minutes and 30 seconds. I’m positive it was taking longer than that before, so I’m redoing the test with the thumb drive that was taking so long before. Maybe it’s the thumb drive that’s slow, or maybe it’s because it’s formatted ext3 instead of FAT32. I’ll report back when that one finishes. If it ever does.

Second Update: After arriving back to work, I find that the copy to the ext3 formatted thumb drive took 2:19:05. Yes, that’s nearly 2.5 HOURS! Dude, that’s fucked up.

I’m thinking of replacing my 17″ Powerbook G4 (aka “AlBook”) with a 17″ MacBook Pro (MBP), although I’m waiting to see if they announce something with the new three-touch touch pad like the MacBook Air (MBA). Rumour has it that they’re waiting for Intel to bring up production levels on a new chip before they do, and that’s why it wasn’t announced at the same time as the MBA.

SnowbirdsThe best feature of my AlBook is that I got a custom “skin” made featuring a picture of the Snowbirds in flight. I took it to the Wings and Wheels air show in St. Catherines last year, and got all the Snowbirds officers (including Snowbird 10 and 11, and their public affairs officer) to sign it. Several of the pilots expressed admiration for it, and asked where they could get one for their own laptops. The skin is made of vinyl, and the web site said you could peel it off, but I very much doubt it would transfer. And I don’t want to risk damaging it, especially since one of the pilots who signed it died in an accident this year. So it’s going to stay on the Albook. But I definitely want one for the new MBP.

I went to the Snowbirds web site and downloaded some of their high resolution promotional pictures, and their logo and wordmark which are available in EPS files, and played around in Photoshop a bit. I definitely wanted one with all 9 planes, and I think I like this one best, but I can’t decide on the placement of the logo and wordmark. First time ever I wished I’d installed that poll plugin, but please look at the following two pictures and tell me in the comments which you prefer. (As always, clicking the thumbnail will take you to a bigger version.)

Option 1 Option 2
Option 1 Option 2

And before you ask, yes, I am procrastinating. I need to re-engineer one of my tables and the classes that use it, and I don’t want to.

Well, after working with the two screen setup for a couple of days, I’ve started to get a terribly sore neck. A bit of self-evaluation shows that when I’m looking at the laptop screen, I’m craning forward and down, which is ruining all the good effort that my chiropractor and the stretching exercises he gave me over the last three weeks have done.

So I’m now running with the laptop screen closed, using the KVM to use the big screen for both laptop and desktop use.

Unfortunately when I came in this morning, my desktop was totally unresponsive. I couldn’t get it to wake up when I switched to it on the KVM, and I couldn’t ssh to it from my laptop. So I power cycled it. That required manually fsck’ing the disk, and then when it did come up for real, the mouse went nuts and started opening programs and moving stuff around on my screen like it was being driven by a demented ghost. It had also booted the wrong kernel (one that didn’t support MVFS). So I booted it with the proper kernel and it was ok. Except that as always, vmplayer complains that I haven’t run /usr/bin/vmware-config.pl, so I ran it again. Don’t know why that never “sticks”.

I discovered a new monitor mode for the 24″ CRT that gives me even more screen real-estate. That’s nice.

I also managed to borrow a KVM from the lab downstairs so I can occasionally look in on my Linux box to see if I’ve got any new Lotus Notes “mail”. That’s nice.

Unfortunately the PS2 KVM doesn’t work well with my USB mouse - I have a USB to PS2 adaptor that I was using at one point, with the USB mouse going into the PS2 mouse adaptor, which was then going into my PS2 to USB adaptor. That was mostly a proof of concept (to make sure I could take the output of a PS2 KVM and plug it into my USB-only laptop), and also it made it easier to switch the PS2 keyboard and the USB mouse between my USB-only laptop and my PS2-and-USB Linux box. But plugging a USB mouse into a PS2 adaptor into a PS2 KVM didn’t work so well for the mouse. Every time I switched the KVM I had to reset the mouse by unplugging it and plugging it back in. Not good. So in the meantime I’m using the PS2 mouse that came with the computer instead of the USB mouse I brought from home, and it sucks. No wheel, and it uses a ball rather than optical. Oh, and it’s a Belkin, so it will probably fail in 5 minutes.