2007-03-30

Lego Photography



A few people have asked me how I do the lighting for the photographs of my kids' Lego models.

I found this how-to article on the interweb. It's pretty simple and cheap.

If you don't want to use a tripod, you'll have to flood the scene with a crap-load of light. For my setup, I use two halogen shop lights, totaling 1kw. Needless to say, the working environment gets pretty hot. It's a shame that 90% of that 1kw is converted into heat.

It's not a perfect solution, but I'm happy with the results. I still have to tweak the colors a bit, and the size of the model is limited by the size of the bucket.

Here is the setup:

2007-03-24

Winona 1990-2007

Winona

Another month, another pet. We had to euthanize our cat today. She was old, and her quality of life took a nosedive over the past few days. We have three other pets and none of them have any health problems (psychological or physical), so I doubt I'll be writing another post like this for a while.

Not enough information? Read more about it.

2007-03-21

Haircut Hazzards

I hate getting my hair cut.

It's the people. You might not know this, but getting a haircut is incredibly social. Shoot me. I don't want to be social.

I go to a barber in Camp Hill, that employs 8 to 10 barbers. A wonderful selection, right? Not really. Most of them are talkers. There must be a prerequisite to graduating from the barber academy, a course entitled "The Essentials of Smalltalk : making conversation out of nothing."

I hate smalltalk.

Oh please waste my time and interrupt my inner-quiet by talking to me about the safest topic you can think of. No really, I love forging temporary friendships with strangers as we completely agree about something that is really boring. I cherish the wake of ten-minute-friendships that litter my past.

I had to try several before I found one that didn't talk to me. Switching to a new barber within the same shop is very awkward. Barbers remember their customers. When I return for another trim, all of the barbers I sampled in the past look at me expectantly as I pick a barber I haven't tried.

The perfect barber can cut my hair in less than ten minutes and only utter two words, 'hello' and 'thanks'. Ideally a barber should be able to figure out my hairstyle by LOOKING AT MY HAIR. I want something just like what you're seeing, but SHORTER. But this is never the case.

"Buzzed up the sides with a number three and about half an inch off of the top. Keep the sideburns at their current length." That usually works for me. But there are always fuck-ups. Sometimes I forget to say the last part about my sideburns, which always results in the barber completely removing them. Great. Ice Ice Baby. Sometimes the barber bulks at the buzz-number I've selected; informing me that my hair will look silly if they cut it that close. I struggle to hide my incredulity. How can they not have standards for these things?! Afraid of what might happen, I usually tell them to use their best judgment, which works to my advantage about half the time.

Even when I find a barber that works for me, it never lasts. I enjoy a few months of talk-free bliss, until the barber thinks that we're friends, friendly, or something horrible like that. That's when I start hearing details of his personal life, what he did over the weekend, and all about his World Of Warcraft characters.

My search for a new barber starts with my next visit.

2007-03-08

Plumbing Fun

What TheLiving in an old house, it's kind of expected that the drains are "slow-to-move" (That's what the plumbers like to say).

Our bathroom sink was always problem. I know this because Sherry was always bringing it to my attention.Toothbrush

After seven years and 20 bottles of Drāno I thought it might be time to see what the problem was. Hum, what's this? A 20-year-old toothbrush encased hair and sludge? Yum.

Note to self: Drāno will not dissolve a toothbrush.

2007-03-04

Hudson

Hudson

Back in days of yore (circa 2002, I think), Mr. Gettle and I created a Development Portal. It was our home-grown continuous integration server. We wrote it because we needed a common place to create binary distribution of our software.

We just started using Hudson at Versatile. I'm really impressed. It's a snap to install and I had it building our project in no time.

Here are the features I like:

Painless Install
- Just drop the hudson.war file in a servlet container, go to the Admin Page and start configuring your projects.

Great UI - Intuitive design, inline help, pretty graphs, AJAX stuff. Sold!

Email Notifications - Hudson notifies the developers of broken builds and when a build is fixed. It also sends special emails to the suspected build-breakers. The suspects are simply the developers who have committed code since the last successful build.

Multiple Projects - Hudson manages as many projects as you want. You can even set up project dependencies. With this, projects that depend on a core project are automatically rebuilt if the core project is successfully built.

Multi-Threaded Builds - You can specify how many build processes can be run concurrently, allowing you to throttle how hard the build server is pushed.

Distributed Builds
- What an amazing feature. If you have a weak or overworked build server, you can specify slaves boxes to handle some or all of the load.

SCM Integration
- Hudson can watch the source code repository and kick off a build when changes have been made. You can also create a CVS branch/tag right from Hudson. Sometimes creating a branch can take some time, in that case, Hudson will email when it's finished. And finally, you can view all of the source via the Hudson interface just like ViewCVS.

All that said, the Hudson website has this gem listed in the Benefits section:
No more "full rebuild" before a commit:

With Hudson, I stopped doing a rebuild before I commit. Nowadays I just commit, and let Hudson check if a build fails or not for me. Meanwhile, I move on to work on other things. If a build fails, Hudson can tell me so within a few minutes, so breaking a build for that short period of time is not really a problem. Thanks to this, I can spend my time more productively.

-- said the developer nobody wants on their team.