D’oh!

One of the trials and tribulations and also one of the fun challenges of my job is that I get vague bug reports on something the QA person sees sometimes and not others. Our QA people don’t do a very good job of tracking exactly what they did and what they did differently between the ones that work and the ones that don’t. Ok, sometimes that’s our fault as developers for not logging enough, but it would be nice if they could tell you, for example, that the one that didn’t work used to be on the schedule before it was removed from the schedule while the one that does work has never appeared on the schedule.
Continue reading “D’oh!”

Java Exceptions

I swear, the next person I discovered declaring a method as “throws Exception” is going to get a kick in the balls. Serously, what sort of fucked up code are you writing that you can’t even tell what type of exceptions it’s going to throw? It’s head up your ass lazyness, pure and simple. And it poisons the code all up the line because your callers have to do the same, and then their callers, all the way up to whoever is handling the exceptions.

Hey bozos!

Our computers are put together for one thing, and one thing only – to run a theatre complex. And we give the users restricted logins that log them into a IceWM environment where they can’t do anything that they’re not supposed to. Everything on the machine is spec’ed for that purpose.

Today I get an urgent call – a site that is sort of a customer, and sort of a subsidiary had their system locked up, and when they tried to reboot, it complained that PostgresSQL wouldn’t start up. I’ve seen that happen before, so I asked their contact person to check if the root partition is full. Sure enough, it was. But of course they had no fucking clue how it could have filled up. “We didn’t do anything”, the constant cry of the clueless. I told them do to a “du -x | sort -n” on the root partition to see where the bulk of the files are. Turns out that there was 1.6Gb of stuff in /root/Desktop/Trash, and when they emptied the trash and rebooted, everything was fine.

I explained that our root partition is sized based on the premise that nobody would be logging into the console as root (I left out “unless they know what they’re doing”, because they obviously don’t.) They explained they “have” to do that because they have to preview the content that they’re preparing, and they can only do that as root.

I somehow resisted the urge to say “Either get a fucking clue or stop logging in as root”, and just responded “With great power comes great responsibility”. Next time they fill up the root partition and call me, I’m going to uninstall every desktop environment except IceWM.

Joining finished, on to cockpit reinforcement

On Monday I turned over the panels to do the last side. Once again, I had to do a lot of scraping with a cabinet scraper to deal with epoxy that had seeped under the panel, and cutting with the carpet knife to try to restore the original edges of the piece. Rob came over to see how it was going, and it was good to have somebody to talk to while I worked, although it did distract me. I actually mixed the epoxy and was getting ready to apply it when I realized I hadn’t put any plastic wrap underneath, and was in danger of sticking the pieces to the work bench. Fortunately with two of us working it didn’t take long to put the plastic wrap under.

This fourth side benefited from the experiences from the other three, so it went pretty quickly and well. The only problem was that it also was harmed by how ratty the mylar sheets were – I got some voids because of gunk stuck to them, and because they’ve started to turn up at the edges a bit. Definitely next time I’ll buy enough mylar to use new ones each time.

Tuesday I finished that job, again with lots of cabinet scraper and sanding block and carpet knife action. And it was too cold to epoxy, which was just fine because I spend another half hour or so trimming the pieces that are going to be glued under the cockpit to reinforce it. It’s kind of strange that the kit comes with all these CNC cut plywood pieces, and then just two chunks of uncut plywood and instructions to cut the reinforcement (and later the seat) out of them. You’d think they’d cut all of the pieces.

Next job is gluing those pieces on, and then bevelling the shear edges. I’m not 100% sure how I’m going to do that. I suspect a Shure-form tool would be too agressive.

Kayak Construction, more joining

After paddling this morning, I worked on my kit boat a bit. Even though I was much more careful laying down the plastic wrap yesterday, I also used a lot more epoxy, so I still had a lot of epoxy on the “wrong” side to try to scrape down with a cabinet scraper and sandpaper block. As well as that, I also had to spend a lot of time trying to cut down the sides to shave off epoxy on the side (without cutting off any wood) with a carpet knife. It was time consuming work, but mostly it went ok – I think I cut down through the epoxy too far in one place and contacted the fiberglas tape. I also had one place on a very narrow piece (on panel 3) where the tape came right up for about half its width. I’m worried about that, and I wonder if I can glue that back down at some point where I have some spare epoxy. I’m going to have panel 3 out in the next step when I reinforce the bow deck panels, so I’ll have a go then.

After finishing the left side, I staked down the right side panels and taped and glued them. I tried a few different tricks – like to get a much flatter surface below some of the big seams, I nailed them onto one of the temporary forms wrapped in plastic wrap. Hey, by the time I’m finished I’ll probably know how to build this thing! I wonder if I should do another one after I’m done this one?

I also mentioned that I was getting concerned that the mylar sheets were getting a bit ratty? I discovered that you can peel off some of the dried epoxy, and that makes it a lot smoother. So they might do for the fourth side as well.