Professional
Personal
Site
Profiles
Sponsors
Add to My Yahoo!: Add to My Yahoo! RSS Feed: RSS feed link
Classic memory: Pop-tart in the printer

In college I had a job doing tech support for students in the dorms. It was a good job: part-time, respectable pay, the opportunity to meet lots of people, and the occasional "wow" story. This posting is about one of those stories.

I received a call that a student was having trouble with her printer. The ink printed onto the paper just fine, but the paper came out wrinkled and mashed up. I went out to her dorm room and examined the situation. The paper loaded into the printer was fine, the print tray looked fine. I opened the lid on the printer, squinting to see any potential problems -- nothing. Then I looked into the paper output in the back of the printer, still not seeing anything. On a hunch I held the printer upside-down and gave it a soft shake. Out fell several small pieces of a Pop-Tart.

Problem solved, I thought! I set the printer back where it belonged, and noticed a box of Pop-Tarts on the shelf immediately above the printer. After printing a test page, I explained to the student what had happened, and how she might not want to have her Pop-Tarts directly over her printer. She laughed, thanked me, and I went on my way. When I returned to the office, I regaled the other techs with my tale.

After that call, I started taking on other printer-related calls, specifically grabbing them from the stack of call tickets. About a month later, there was another ticket about a printer that printed fine but wrinkled all the paper. Hey, I've done this kind of call before, give me that one! I went to the student's room and looked at the printer. I thought I saw something in the back of the printer at the paper output. As I went to shake the printer upside down, my eyes drifted upward and saw a box of Pop-Tarts. I turned to the girl and said "That's funny, I had a call just like this a month ago." She formed a sheepish smile and I realized "Hey -- it was you!"

Permalink
Classic memory: Wood blocks

(This story is from just a week ago, making it an instant classic!)

When I was very young, toddler young, my uncle and my grandfather crafted a set of wooden toy blocks for me and my sister to play with. We spent hours playing with these great toys. At our youngest, we enjoyed knocking down towers that our parents would build for us. Later I would spend hours in my room building and rebuilding towers, learning about balance and proportion. Eventually, we reached the stage of building towers taller than we were, a feat which required all of our collective kindergarten-grade skill. Mom has a Polaroid picture of us proudly standing next to a four-foot block tower in the basement.

This year Dad decided to build a wood block set for my nieces. Cassidy is almost 2 and Sadie is nearly 6 months. As Christmas got closer, he got a little behind and I was called in to help with the sanding. It was a touching experience to be on the other side of the wood block story. We spent several hours in the basement, him using the power saw and me using the power sander (and later, Mom using the shop vac to remove the layer of sawdust that covered everything. Eventually we completed the job and packaged them up for Christmas morning.

I was excited to see Cassidy open up the block set. I feared she might be too young to appreciate it that morning, but I knew she'd eventually have the same fun I did. We gave her the block set after all of the other presents were opened. She looked at the set with wide eyes, as if examining the possibilities. She joyfully grabbed a couple of pieces and shook them. Then Dad showed her what else she could do with the blocks. He built a small tower for her. You could see the idea form in her face, starting with her eyes, then her little laugh. She gleefully knocked the tower over!

And so the circle continues.

Permalink
Hooray for Christmas vacations!
I just got back from a ten day extravaganza in Souderton. What a trip! I got to see all my relatives and have a lot of fun with them. I chased my nieces around the house ("again please!") and watched a little too much Wiggles ("Fruit salad! Yummy yummy!") I spent time in the hot tub with my parents, Wii Bowling with my grandparents, Guitar Hero with Mom and Elise, and also several visits with high school and college friends. One special memory was formed as I helped my Dad make a toy wooden block set for my nieces (I may have to write more about this later). There were even two caps to the weekend: first, the Eagles made the playoffs, and second, we are keeping Max forever. A great time as always!
Permalink
Welcome, Max!
We've got a new permanent addition to the family -- Max the dog, who was previously our foster dog. His adoptive family decided against keeping him, and we decided against looking for another place for him to go. Everyone likes him too much, including us. We're all quite excited about the news!
Permalink
Strange programming languages
Fun article about the five strangest programming languages. My favorite is definitely LOLCODE:
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
Permalink
Christmas lights!
Front and back yard Christmas light displays at the Freed house!
Permalink
The Bailout. Coming this January.
Permalink
Men's soccer: semifinals

Last night we squared off against #1 seed FC DTWC (Football Club, Don't Think Why Can't). Given that they had not played in three weeks, due to rainout, Thanksgiving, and a bye week, I was hoping for some rust on their part. I definitely did not get my wish!

FC DTWC only scored once in the first half, despite controlling most of the tempo and winning most of the loose balls. We came out of halftime with a little more energy, culminating in a breakaway attempt by Lawrance that was impressively saved. They came right back with an impressive shot of their own, which I barely managed to kick save, also barely averting a muscle pull!

Soon things went according to seed. Late in the half we gave up two goals, for a 3-0 final margin.

All in all, it was a season of great fun. We were competitive in nearly every game and managed to give our nemesis two nailbiter games in the regular season. Let's hope we continue to improve next year!

Permalink
Christmas Light Display
While visiting Elise's parents, we saw this local light show. A 5 house, 75,000 bulb display of Christmas lights, set to Handel's Messiah. Note to Crazy Christmas Lights Lady: the gauntlet has been thrown down!
Permalink
Test-driven development with Christmas lights

This year my wife decided to make multi-colored Christmas light strands by changing the individual light bulbs on solid-colored strands. The task seemed simple, if tedious, enough:

  1. Get 100 bulb strands of red, white, green lights.
  2. In each strand, skip one bulb, remove two and place into bins, repeat until end of strand.
  3. In each strand, take bulbs from the other two bins, replace lights in order, repeat until end of strand.
  4. Plug in each light strand.

We followed this process, and after an hour we were ready for step 4. Veteran Christmas decorators know what happened next.

Two bad strands.

Christmas light bulbs are wired in series, meaning that one bad bulb will prevent the strand from lighting. For one more hour, we worked up and down the faulty light strands, looking for the bad bulb. We checked each bulb for a tight fit. Then we pulled each bulb out, furiously examining the connections, occasionally tweaking them. Every time we'd test the strand, we did not see any lights. Finally, we were able to fix all the strands. In total, we spent two stressful hours to create three multi-colored strands.

That night I laid in bed thinking about our experience. When we started, I felt great! We had an efficient plan. We would do the jobs in batches: finish one task (pulling out lights) before moving onto the next (putting in new lights). With no task-switching, it felt like we'd get done in no time. Unwittingly, we had followed the waterfall process of doing Christmas lights.

Our downfall, and the waterfall's downfall, was not knowing where we introduced the errors. In that second hour, testing the lights like crazy but never certain that we were making things better instead of worse. In both hours, we were so busy that our perceived productivity was high, but our actual productivity does not. We did not introduce any testing until the end, like a software team that does not test until development is done.

I realized an agile, test-driven development process would be the way to go. We would introduce regular testing into our process. Instead of time-boxed iterations we used lightbulb-boxed iterations. On the next set of strands, we stopped and tested each of the strands every three bulbs. While we had a lot of task-switching, we also had a high degree of certainty. Each test, either the whole strip worked, or one of the last two changed bulbs was faulty. Progress was slow but steady. We finished and had three working strips in 90 minutes.

In the waterfall process of Christmas lights, we sped through the bulb changing (development) but got hung up in test. With the agile approach, our bulb changing (development) time increased 50% but the final test was a breeze. In each case, we made the same total number of mistakes, but in the agile approach we caught and corrected them faster.

Test-driven development is a powerful concept. In the past several months, it has made me a better software developer. My wife's Christmas lights showed me how powerful agile techniques are outside the compiler.

Permalink

Archive (615 total entries)

2010-07-16 to 2010-09-08
2009-10-16 to 2010-06-22
2009-09-15 to 2009-10-13
2009-08-06 to 2009-09-10
2009-07-28 to 2009-08-05
2009-07-23 to 2009-07-27
2009-07-19 to 2009-07-22
2009-06-24 to 2009-07-19
2009-05-06 to 2009-06-18
2009-03-11 to 2009-05-04
2008-12-31 to 2009-03-07
2008-11-21 to 2008-12-28
2008-11-03 to 2008-11-19
2008-10-09 to 2008-11-02
2008-09-04 to 2008-10-07
2008-08-10 to 2008-09-02
2008-07-29 to 2008-08-08
2008-07-07 to 2008-07-28
2008-06-08 to 2008-07-04
2008-05-25 to 2008-06-06
2008-05-07 to 2008-05-15
2008-04-18 to 2008-05-07
2008-03-25 to 2008-04-16
2008-03-14 to 2008-03-25
2008-03-04 to 2008-03-14
2008-02-04 to 2008-03-03
2007-12-21 to 2008-02-02
2007-12-04 to 2007-12-20
2007-11-15 to 2007-12-03
2007-11-02 to 2007-11-15
2007-10-24 to 2007-11-01
2007-10-09 to 2007-10-19
2007-09-22 to 2007-10-05
2007-09-05 to 2007-09-21
2007-08-15 to 2007-09-04
2007-08-03 to 2007-08-14
2007-07-20 to 2007-07-29
2007-07-02 to 2007-07-20
2007-06-12 to 2007-06-29
2007-05-25 to 2007-06-08
2007-05-09 to 2007-05-23
2007-03-29 to 2007-05-08
2007-03-06 to 2007-03-27
2007-02-08 to 2007-02-26
2007-01-06 to 2007-02-07
2006-12-02 to 2006-12-21
2006-11-16 to 2006-12-02
2006-10-27 to 2006-11-16
2006-10-09 to 2006-10-25
2006-09-22 to 2006-10-07
2006-09-07 to 2006-09-21
2006-08-09 to 2006-09-05
2006-07-28 to 2006-08-06
2006-07-11 to 2006-07-28
2006-07-07 to 2006-07-11
2006-06-15 to 2006-07-04
2006-06-05 to 2006-06-14
2005-03-19 to 2006-06-04
2004-12-06 to 2005-03-13
2004-07-07 to 2004-11-28
2004-05-09 to 2004-06-29
2004-03-11 to 2004-04-07

Blog entries by category

personal fun interesting computer misc running prosports softball soccer football swimming cycling classic IBM