November 30, 2004

Building a GIF, byte by byte

As part of an ASP.NET project at work, we had to resize images on the server to dynamically generate thumbnails. Things were going fine until we tried resizing transparent GIFs. The .NET framework would loose the transparency. Unwilling to accept defeat, i decided to look for alternatives to using the System.Drawing namespace. Somehow in the search i decided to just build the GIF myself, byte by byte. I found the GIF89a specification online. It's not exactly a fun read, but i learned exactly what makes up a GIF image file.

I was really fascinated by the LZW compression. It was this compression algorithm that was patented (until recently) that had made creating GIFs an expensive undertaking. I found a good walk though and coded and decoded a couple of strings by hand just to get a feel for it. The way it dynamically builds it's pattern lookup both when you encode and decode the image is actually cool.

The biggest challenge i ran into was working with bytes. Modern programming languages have made it so easy to work with numbers and strings, that it can be hard to get to the underlying bits and bytes that the operating system is actually working with. It was interesting to work with the lower-level operations required to make a well-formed binary file. I wonder if this is the stuff i would have learned in computer science classes at college.

I've now started work on reading GIF files to pick apart their pieces. It's been a fun and interesting project to work on. I hope to have time to clean up the code so i can post it online.

Posted by Matthew at 11:04 PM | Comments (0)

November 28, 2004

Fragging on the fly rail

It was probably last year when they added a video monitor to the fly rail so the fly crew could see what was happening the stage. I've always doubted the practicality of such a device because normally, when you're pulling the ropes, you've got your eyes on the lookout for the spike marks. I'm not aware of any moves initiated by visual cues.

Let me also add at this point that there's not a whole lot of activity on the rail in Scrooge. A lot of time is just spent waiting. Back in the day we at least used to be able pass time time by chatting on headset. But now, instead of calling the cues over headset, we are told when to go with the turning on and off of colored rope lights. Because the rail is a good thirty-five or so feet in the air, we're really cut off from the rest of the cast and crew. It can get boring quickly.

With plenty of down time to think, a fellow crew member came up with the bright idea of hooking a video game system up to the otherwise useless video monitor in the rail. He brought in his X-Box and Halo seems to be the game of choice. The show seems to go by much more quickly now.

Posted by Matthew at 10:30 PM | Comments (1)

November 26, 2004

Turkey hat trick

The holiday festivities began on Wednesday with the second annual Rapidparts Business Development luncheon. The tradition began last year when Dan decided he wanted to smoke a turkey. He said he would bring it into work to share. The rest of the department decided to bring in fixings to pass and share. It turned out so well we did it again this year. This time around, Dan wasn't interested in getting up every two hours to check the turkey, so we purchased one already cooked and carved. Again everyone brought a dish to pass. It was all very yummy.

Then on Thanksgiving day, my father's side of the family gathered at my uncle's house to have almost an identical meal. Someone decided to venture from the usual menu and make cornbread stuffing rather than the normal stuff. I was not a huge fan; it was too sweet. The thirty pound, organic turkey tasted just fine. I left with a large container of left-overs. After the dinner i followed my parents back to their house along with my sister and her boyfriend. My father's birthday is coming up and this would be the only time we would all be together. We gave him his gifts and had some cake. Finally i had to leave to head to the theatre to crew for Scrooge so our party broke up.

Today i threw my left overs into the microwave when i finally crawled out of bed. Actually, they gave me so much i only got out half of it. Then, i was at Lara's house for dinner and helped to eat their left-overs as well. Actually her mother prepared the meat for hot turkey sandwiches which were really tasty.

Even after eating turkey three days in a row, i'm still not sick of it. I'll probably finish off the last of my bird, stuffing, and potatoes tomorrow.

Posted by Matthew at 11:33 PM | Comments (0)

November 21, 2004

I'll make it anywhere

I'm back from New York. I did so much. I won't tell you everything but some highlights included (in chronological order): seeing the Statue of Liberty from the plane, visiting the Apple SoHo store, strolling through central park, hearing the NY Philharmonic, spending the day at the MET, enjoying fresh cupcakes at midnight from the Magnolia Bakery, walking down Broadway to Times Square, looking at the stars in the Hyden Planetrium, and eating fried bananas at Funky Broom. Now it's back to my regularly scheduled life.

Posted by Matthew at 10:42 PM | Comments (0)

November 15, 2004

If i can make it there

OK. I'm off to New York for a few days. I'm actually taking a vacation. This is not something i'm very good at but i'm motivated by the fact that if i don't use up my vacation time, it won't all carry over to next year. I very much enjoy the predictable routine that is my life and generally don't posses a great desire to travel. I just seems wrong to dedicate time for the purpose of having fun. That's just a lot of pressure to live up to and it's been my experience that the most fun occurs unexpectedly. However i suppose it wouldn't hut to give this vacation thing a try.

I choose New York this time mostly so i could visit a good friend that attends NYU. I'm sure i'll see most of the typical sites. I'll see if i can't catch a Broadway show while i'm out there. I haven't spent too much time planning; mostly i'm just looking forward to getting to hang out with really cool people. The change of location is just a perk.

I'm going to use up the rest of my non-transferable vacation days during the last half of December. After i come back from this trip, i will have just fifteen days left to work in 2004. One perk of saving your vacation days until the end of the year is that you get to take a lot of time off around Christmas. That's when most of my family and friends are around anyway.

I'll let you know how things went when i get back.

Posted by Matthew at 11:36 PM | Comments (0)

November 14, 2004

Sunday with Scrooge

Mary Jo, the volunteer coordinator at GRCT, sent me an e-mail saying she needed help on the fly rail for Scrooge. It's a very busy time of the year, but i'd do anything for MJ, so i agreed to pick up a few shifts. I went down to the theatre today at noon-thirty. I had no idea what i was getting into. Six hours later we still hadn't gotten thought act one. There are so many small things that have to work together perfectly on the deck and often it took many tries to get it just right. While the deck crew was running around like crazy, we stood motionless on the fly rail. We had two cues in those six hours. I stayed long enough to get some free food. I had a bowl of the famous Notter chili that was made in a giant kettle hanging over smoldering briquettes in the back alley. I guess that meal has become an official Civic-Christmas-show staple. It will be an interesting run.

Posted by Matthew at 10:55 PM | Comments (1)

November 12, 2004

The things i learned at lunch

Today at lunch, Rapidparts invited interested employees to watch a video which had previously show at a leadership meeting. The video featured Marcus Buckingham talking about how to foster an environment where employees can work at their best. The talk was based upon his book called The One Thing You Need to Know. Buckingham was an engaging and entertaining speaker. I thought i'd share some of his more interesting comments\observations.

He said that the most productive employees are 1) competent, 2) focused, and 3) confident. For a workplace to nurture these qualities, they much have great recruiters, great managers, and great leaders (respectively). In the video he talked mostly about what it takes to be a great manager and a great leader (which aren't the same thing at all). Managers must find ways to find what makes each individual employees unique and find ways to leverage their strengths rather than focusing on improving their weaknesses. Leaders must find what is universal and find ways to capitalize on it.

One of the differences a manager must learn to identify in their subordinates is the style in which they learn. Buckingham says there are three basic types of learners: analyzers, doers and watchers. Upon hearing the descriptions i found i was clearly an analyzer. This type of learner does a lot of preparing, researching, and practicing before jumping into a project. They hate mistakes and fear failure. I think that's why my library of technical manuals has grown so large. While doers just to jump in and and watchers learn by example, analyzers need to understand exactly what's going and why it works rather than just getting something to work. That pretty much describes how i do business.

When he switched to talk about leaders, he brought up Donald E. Brown's research on human universals. This is a list Brown assembled or characteristics that were common in all cultures throughout the world. It contains some interesting ones such as baby talk, oedipus complex, gift giving, sucking wounds, tickling, and a word for string. These universals aren't as important in the business world was the fear of the unknown. His point was that great leaders must find ways to turn fear into confidence by being clear. Clarity is more important than passion and consistency in a good leader.

Another thought he shared, which i found refreshing to hear, was that some of the qualities that make a great leader or great manager are innate. Some people simply do not have the ability to become "great" in either of these two areas. Most other people claim that any one can learn to be a manager but i never bought into that. I personally have no interest in being a manager. I enjoy focusing on pulling off technical magic myself rather than motivating other people to do things. And you know what? That's OK. At least now i know what to look for in a manager.

I'm sorry i'm a bit long winded on this topic but i found it interesting. I found it interesting in the same way i enjoyed my interpersonal communications at GRCC. Perhaps it's just the analyzer in me who is interested to learn what goes on in other people's head. Anyway, i'll leave with the same thought Marcus Buckingham did in the video. Failing to provide an environment where an employee can operate at his best, is like, as Ben Franklin said, putting a "sundial in the shade." What a cool phrase.

Posted by Matthew at 11:47 PM | Comments (1)

November 11, 2004

Brainstorming

I usually cringe when i hear the work "brainstorm." It brings to mind a bunch of guys in suits sitting in beanbags getting high off dry-erase marker fumes as they try to think out-of-the-box. Ugh! I thought my lack of enthusiasm for this type of creative thinking was most likely the result of never actually being in a productive meeting where this technique was employed. However, now that i've finished reading Getting Things Done (GTD), i think it was because i didn't understand what it was meant to do.

David Allen points out that brainstorming is not simply something some marketing guru came up with some day, it's simply a part of our brain's natural problem solving system. It serves a particular purpose. When you have an idea of what your ultimate desired outcome is, brainstorming can help you figure out how to get from where you are now to that final goal. It's the brain's way of resolving the cognitive dissonance between the two states. It doesn't work if you're just coming up with ideas with no goal in mind. A clear vision of where you want to get to is a prerequisite to being successful.

The other thing i learned was that brainstorming can be an individual activity. It is still important to write everything down. You can't get very far just sitting and thinking about something. By getting ideas out of your head, you make room for news once and you're not distracted by trying to remember the "good ones." I know i have a problem with this step. I never like to write anything own especially when i know it's probably not a good idea. I don't like to leave a paper trail of crappy thoughts. Nevertheless getting comfortable with getting things down on paper is a big part of the GTD philosophy.

Posted by Matthew at 10:02 PM | Comments (0)

November 10, 2004

The correct answer is me

My 7th grade teacher Mr. Johnson (one of my favorites) had a habit of occasionally including the names of students in his quizzes and test. It was quite an honor to be chosen and you only hoped that you weren't doing something embarrassing in the story problem. Little did i know that wouldn't be the only time my name appeared on an exam.

Today, before my quiz on functions, my teacher warned me that she used my name in one of the questions. I supposed she didn't want me to be thrown off when i came across it. The answer to the question turned out to be

f(Matthew)=A

where f is a function assigning to each student his final grade in the class. I hope everyone got this answer correct.

Posted by Matthew at 10:08 PM | Comments (0)

November 07, 2004

Getting things done

I've been inspired by another passionate web logger. Merlin Mann runs a blog called 43 folders. He writes about productivity tips based on the guidelines put forth by David Allen in his book Getting Things Done. Merlin is also a Mac users so his app suggestions are usually freeware apps for OS X.

His passion got me to buy and read David Allen's book. Here's what i've learned so far. In his book, Allen puts forth a system to organize all of the stuff in your life with the ultimate goal of keeping you more productive by helping you to always be "in the zone." He says the basic reason we may have trouble focusing is that the brain has limited resources it can use to either think about things, or to remember things. When your brain is full of things it's supposed to remember, it takes away from the power you would rather be using solving problems or actually getting things done. By establishing a process of downloading these reminders from your conscious thought to an electronic or paper system you completely trust, you can tap into greater mental power.

I love the idea of being "in the zone." Every now and then i have those days where i just cut though projects and feel great about the results. I had a day like that on Friday when i finally got a bunch of things off my white-board that have been haunting me for months. I'm interested in anything that can help me have more days like that.

I hope i didn't make the plan suggested by the book sound too grandiose. It seems like a very reasonable and practical way to tackle work. One of the guidelines involves managing and clearing your in-boxes (e-mail, voicemail, or even paper). I'm an e-mail pack-rat and my personal in-box had 600 or so messages that i've whittled down to ten (which still should be reduced once i set up some more lists). Over the weekend i've also cleaned out stacks of "stuff" that needed to be thrown away, filed, or followed up on. I can totally see the color of my desk again. Tomorrow i'll see if i can get my work stuff in order as well.

Posted by Matthew at 07:13 PM | Comments (1)

November 04, 2004

Harry Potter apparel

I'm already sick of wearing long sleeves so today i wore my "Harry Potter" shirt. I think its my favorite shirt in my closet right now, too bad it's not weather-inappropriate.

my harry potter shirt

I have to admit i've never actually read the Harry Potter books and as a result i'm not really a huge fan like so many of the people i know. I don't doubt that they are probably really good and if i read them i would probably enjoy them, however i haven't chosen to invest my time doing so. I did see the first movie. In fact, it was on ABC not too long ago. That's when i decided i really liked those ties Harry wore. I just can't get enough of those colors (see above shirt). I hit the web to hunt one down but i could only find cheesy ones that apparently resemble the ones in the newer movies (which i haven't seen). I soon gave up looking.

So when i was wearing my shirt at work today, David 2.0 shared an amusing story. When the first movie originally came out, many people also wanted to get a hold of that tie and searched the web. Apparently one of the first hits for "maroon and gold tie" was his alma matter, Calvin College. Their school colors just happen to be maroon and gold and they had a tie for sale in their book store. In fact, they still do. Now i know where to get one. Apparently this story is old news, but i was glad i finally heard it.

Posted by Matthew at 09:54 PM | Comments (3)

November 02, 2004

Blame Apple

No matter what operating system you have on your computer, at some point the application you are running will crash. In the latest version of Windows, Microsoft added an error reporting program that detects when a program crashes and can send some debug information to their servers and it can check the status of the error. Normally i send the report off but they never offer any information about the crash. However, today i experienced a crash in Feeddemon when trying to play a quick time movie; and when the error sending routine was complete, it offered this "additional information:"

Error caused by Apple

They seem a little too happy to point the finger at Apple. I've never seen this come up for any of the other crashes i've reported. I'm surprised they stopped short of suggesting i download the latest version of Windows Media Player as a fix for this problem.

Posted by Matthew at 11:54 AM | Comments (0)

November 01, 2004

Cell phone free

I hate cell phones. The main reason for my dislike of them is their ability to act as a contagion responsible for the outbreak of awkward social situations. Symptoms include poorly timed buzzing or beeping, constant glances downward (usually where the phone is attached along the waist line), and sudden interruptions in conversation. I'm sure everyone means well but eventually decency degrades to disrespect. I know if i got one it would happen to me as well, but i figured i would try to avoid it as long as possible. Right now i figure there's nothing that important in my life that can't wait until i'm by a phone. And yet, today, for a few minutes, i entertained the idea of getting a cell phone of my very own.

I didn't go out searching for just any cell phone, specifically i was looking for the Audiovox 5600. Why this phone? Because Robert Scoble, a very active Microsoft technical evangelist \ blogger, can't say enough good things about it. I guess his passion just got me interested. He makes the phone sound like a life changing instrument rather than a device for simply sending and receiving calls. It's fun to get excited about a product like that and a blog can be a good source of inspiration.

However, my excitement quickly turned into frustration when i tried to put together a service plan. The AT&T Wireless site Cingular was pretty lousy. The first task i wanted to accomplish was to find a coverage map. I couldn't find a link anywhere. Finally a site search turned up a knowledge base article titled "where can i find a coverage map." When i clicked that link, i had to choose between a GSM America National Plan, GSM Local Plan, TDMA Digital One Rate, TDMA Local Plan, Data (GPRS/Edge) or Go Phone map. I have do idea what the difference is, being new to cell phones and all, but i clicked on one and it brought up a silly map where i could use a flash magnifying glass to zoom into my part of the country. It looked to me like this part of the state was the correct color. When i went to find the phone i was interested in and assemble a service plan, the site would only allow me to add mobile internet service. I didn't see anything resembling a call service plan. After several angry clicks, i was able to determine that the checkout process thinks i'm not in their coverage area. Grrrr.

Looks like i'll be cell phone free for a while longer. I guess i walk away from this experience with the realization that when someone gets excited about a topic, it can be contagious. And just like Scoble evangelizes, blogs can be a great way to share the excitement. (Though he still hasn't convinced me to get a Tablet PC to replace my Mac. After all, who wants to code with a pen?)

Posted by Matthew at 11:11 PM | Comments (2)