Getting lots of work done.
Today, day 6, we planned to go out to the Red Butte Cafe to get some buffalo burgers. Brad even called ahead to ask, before we embarked on a 30 minute journey, whether they still sold buffalo burgers. Not only that, he specifically asked if the buffalo burgers are actually made from buffalo meat.
Unfortunately, when we were seated and finally prepared to order, we were all disappointed by the fact that they no longer served buffalo burgers. We had to settle for tamer fare. You can just see the disappointment on Jim's face. The quest for buffalo burgers will have to wait till next time.
Another day, another couple hundred lines of code packed away.
It's been kind of painful these last few days without my ergo keyboard and 24" LCD 😛 It's also been kind of slow going and there have been lots of frustrations as we try to get more pieces working.
But occasionally, when we do align several of the components for a small slice of time, there are moments of sheer joy as you watch the whole of the machinery move. I am reminded of a passage from Mythical Man Month by Fred Brooks:
Why is programming fun? What delights may its practioner expect as his reward?
First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.
Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child's first clay pencil holder "for Daddy's office."
Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.
Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. (...)
Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separately from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.
Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.
It's kind of like any sort of addictive drug: you have short, blissful highs with grinding, intellectually anguishing lows when things just don't work right or the picture is murky. Most of the time is kind of spent in a middle ground between intellectual orgasm and hair pulling aggrevation (not that I can pull my hair, but threading errors will do that to you), but there's always that moment when things are finally working in unison that makes all the work worth it.
No pictures yet but we did our regular Hooters lunch and had a special treat, Brazilian BBQ for dinner (excellent, excellent, excellent).
While I've been working 12-16 hour days these last few days, I have been kind of keeping up with the whole Ahmadinejad situation. To tell the truth, I really don't understand what many of the haters (yes, I did just use that term) are ranting about. Whatever happened to diplomacy? What ever happened to listening to all sides of the story?
I am starting to seriously wonder just how much our perception of right and wrong is shaped by what the government, and consequently mass media, wants us to believe. The core problem is that for many Americans, the level of independent thinking is severely lacking. It's how we got into the mess in Iraq in the first place. It's how we could have possibly elected a total dimwit as a president...twice no less.
Contrary to what our current government would have us believe, Ahmadinejad has shown himself to be more of a diplomat and thinker than just about everyone in our current administration. Unlike our president, Ahmadinejad has shown that he isn't afraid of the tough questions and harsh criticism and cheap insults that he received from people who should have shown more respect to the leaders of one of the most influential countries in the Middle East today. Ahmadinejad has indeed shown what it means to be a president and a diplomat (I'm not saying I agree with Iran's human rights policies or laws, but I can respect a man that calmly steps into the heart of the enemy's domain and wishes only to speak and open dialogue).
Scott Adams has a wonderful, tongue in cheek, blog post airing out his thoughts on Ahmadinejad's visit. He emphasizes the double standards that we have set, the arbitrary usage of "terrorism" these days, and tries to emphasize that there are always two sides to a story. This tends to be my view of the whole situation as well; I'm just not ready to believe that Iran deserves its infamous "Axis of Evil" membership designation.
Senator Mike Gravel also wrote a wonderful opinion piece as well:
Let's be clear -- a war with Iran will further isolate the United States in the world. It will unify the entire Middle East against U.S. forces that are stationed there. And worst of all, it will precipitate attacks on America that will far surpass the horror of 9/11. It's time to step away from the brink and begin finding common ground. Let Ahmadinejad go to Ground Zero and honor our dead. And together, let's all acknowledge that neither war nor terrorism will solve our problems.
We can only hope that our leaders aren't stupid enough to get us mired down in a decade of conflict and war that will cost the public hundreds of billions of dollars when there is an opportunity to air our differences in a diplomatic and political fashion.
Day two was pretty busy, so I didn't really get a chance to take any pictures. Towards the end of the day, I was definitely feeling a bit high strung. I'm goal oriented and I abide by the saying: say what you will do; do what you say. This doesn't fly so well with everyone I guess. Certainly, sometimes you do underestimate the task at hand and you simply have to live with "good enough", but this just causes all sort of anxieties with me. But regardless, we made some really good progress; got lots of big pieces working.
The hard work contiuned on day 3.
Man, just look at everyone hard at work. Damn, look at that concentration on Jim's face. That's what I like to see.
Dave (front right) was giving a quick presentation on some of the ComponentArt libraries. I'm not a big fan of these things (I prefer the raw web services and AJAX.NET), but I guess not everyone wants to abandon the ASP.NET model so quickly.
We had lunch in the office because we were all in the groove. But I hear it's Thuy's birthday tomorrow and we're heading to Hooters ;-).
Gray cells continue to churn after lunch.
For some reason, the thought occurred to me that I hadn't had a corn dog in, oh I dunno, 10 years? Not only did we end up with any old corn dogs, these were freshly battered! Pretty awesome with some squeezed lemonade. You may have noticed the supersized drinks (in this case, lemonade). But you really can't begin to imagine how much caffeine these guys consume on a daily basis. Rare is the day that Brady or Brad will wander into the office without their 64oz. diet Coke in the morning (and then continue to order diet Cokes throughout the day..amazing that they sleep at all).
Still more work to do. Day 4 awaits!
So I'm back in Utah. Today is day one of Programmathon VII. This time, we have two new faces, Dan and Thuy (all the ways from Vietnam!)
The highlight of any of the Programmathons are the meals and awesome sightseeing that we get to do while we're out in Utah (some trips being more memorable than others) to break up the long hours of work and occassional heated technical debates. Of course Brad would probably disagree: the highlights of the Programmthons are really the 14 hour days we pull to get things done.
We ended up at Park City for dinner on day one.
The steak at Grub Steak was pretty good (and so was the atmosphere), but the waiter totally oversold the awesome-ness of their steaks. 7.5/10.
Luckily, I ended up with a Honda Odyssey instead of the Ford Freestar I was supposed to get. This thing has some guts...no problem hauling 7 full grown adults up some pretty steep climbs.
Park City is a quaint little area. The main street is lined with all sorts of eateries, expensive art galleries (expensive). From left (above): Jim, Dave, Thuy, Me, Dan, and Brad.
More pictures with the locals.
Ice cream at Cow's. Very good stuff.
Seems like the calm before the storm. Only a few days left to wrap up version 1.
Programmathon was fairly successful. While I enjoy the freedom of working offsite, it's definitely good to get together once in a while and get face to face with everyone (although my gastrointestinal tract begs to differ).
But of course, no trip with Jim is complete without a trip to Hooters 😛
In the Salt Lake City vicinity, the mountains are omnipresent. It's very beautiful out here (but dry as a desert (I started to bleed under my fingernails due to the dryness)).
Of course, we had to visit the Standard Supply company nearby the office where they had a giant toilet (for the obese I assume). Brady labeled this portrait: Stinking Man.
Being Monday, everyone had to go watch 24 (except me as I don't really watch TV) so we didn't go out to dinner, which saved my body from yet another caloric bombardment. I was too tired anyways, so I plopped down and went to bed early.
On day 4, we went up to "Snow Bird" to have lunch at a lodge there. It was absolutely beautiful. Some of those runs looked incredible...but yeah, I'm too much of a pansy to ski 😛 Basketball for me, thanks.
As beautiful as the scenery is out there and as nice a place as Utah seems to be, I'm glad to be back home in New Jersey. My skin and fingers are doing better in just a day back home (be sure to bring some moisturizer with urea if you go out there) as the air out there is just so incredibly arid. It's also kind of weird being in a social setting where 98% of the population is so homogeneous.
One thing that I've learned on this trip is that mini-vans actually aren't that bad. The Sienna was quite peppy for such a large vehicle and rode very well. It even made it through 3-4 inches of snow without issue.
It was rough getting out of Newark. A freak snowstorm delayed the landing of the plane that I was supposed to board and the subsequent snow buildup necessitated de-icing. I touched down about three and a half hours behind schedule. To make matters worse, the Hertz counter where my car was reserved was manned by perhaps some of the most incompetent people. Ever. There were probably 6 groups in front of me and it took me at least an hour and fifteen minutes just to get my car >:-[ There's something weird about driving a mini-van when you're not expecting it. While I was supposed to have a Corolla reserved, the only thing they had in the same price class was a Toyota Sienna. This is actually the first time that I've driven a mini-van...it's kind of weird since I'm used to smaller cars.
We had lunch at Rubio's, a Mexi-Cali place that specialized in fish tacos. I had a grilled salmon taco, which was delicious (out east, we only have the kinda shitty Baja Fresh).
Dinner was at Joe's Crab Shack, a great seafood place where Jim (our CTO) finally found a satisfactory martini in Utah. Unfortunately, they also pulled the birthday-boy schtick on me and I had to dance around on a broomstick horse and cowboy hat (I have pictures, but it's just too embarassing)...
This morning, I woke up to find 3 inches of snow on the ground. But by that time, I was already dressed and ready to go to the gym. I wasn't too excited by the prospect of trying to drive in the dark to a gym which I only had rough directions to in 3 inches of snow in a mini-van with California plates...
But I'm glad I did. I ended up at the new Lifetime Fitness gym here. DAAAAAAAAAAYUM. This is the nicest gym I've ever seen. It's bigger than the Costco back home. The indoor pool had two huge, twisty water slides like the ones you find at amusement parks. The basketball court was full size, well lit, and they actually had good basketballs, too. And the workout floor: at least 100 weight machines and wall to wall plasma TVs. It was kind of weird being the only person in such a huge building...I think I would move out here just for this gym 😛
I ended up at the office earlier than anyone else (or so I thought) so I killed some time by writing my name in the snow...
So begins day two of Programmathon II...
It turns out that Jim had already arrived at the office. He saw my snow writing and walked downstairs and let me in 😛
We had lunch on day two at some Chinese place in the food court at a nearby mall. Damn that gave me gas (actually, I think eating out anywhere give's me gas).
After a long day of programming, we ended up having dinner at Johnny Carrino's. I checked the score on the Colts-Pats game and it looked like the Pats were gonna blow the Colts out.
As you can see, it was my birthday again. Forced against my will, I finished the free chocolate cake and ice-cream.