Monday, April 30, 2007
I think we were actually pretty well prepared for the camping- mealtimes went quite well, and the patio firepit was a big hit for foil dinners and s'mores. Nice weather helped a lot... I'm glad I was able to borrow a friend's trailer to haul all the gear, but I'd like to work on getting the pile a little more compact next time.
Maybe I can do this... Might not matter- I think I'm going to have one scout in my 11-year-old patrol next year unless a bunch of 10 year olds move in between now and then.
Friday, April 27, 2007
Anyway, if I never post again, it's probably because I didn't come back. ;^) Wish me luck. I'll probably post some choice pictures if I do make it back.
Sunday, April 22, 2007
I've got rather mixed feelings about this.
First- I can't imagine that we're that interesting to watch. I guess maybe with enough time compression, our work could be made to look interesting, and of course it'd be interesting to have footage to look back on if we "made it big". The CEO's certainly a character, but as far as I've seen, most of the interesting personalities in our company are the folks getting paid ten bucks an hour to scan mail. There just isn't that much conflict on the engineering side, and I really hope it stays that way (though the thought of manufacturing a little Springer-esque conflict for the cameras is intriguing).
Second- having cameras around all day seems like it'd be a big distraction. Constantly gating your words, making sure you don't say something stupid, confidential, etc. Plus there's always the worry that others might really amp up small conflicts just for the sake of good TV.
I guess I'm hoping that if the project does happen, they'll find the engineering group too boring to follow around all day. Marketing people are much more exciting. Right?
More to come- maybe...
Thursday, April 19, 2007
I'm right in the middle of that crest where everything is beginning to happen at once. I really enjoy most of the things on the list individually, but when the "context switching" gets out of hand, I don't really enjoy any of them. It gets to the point where I just want to pull the covers over my head and sleep (wake me up when it's over!).
Here's my current list:
- Being married (best keep this one first)
- Working at a startup where there's enough work to keep a small army busy (and we don't have a small army).
- Editing my dad's book on steelheading and the accompanying DVD (the publisher's been very patient, but the clock's ticking)
- Trying to prep my Boy Scouts for their first campout next weekend and keep them on track for their advancements
- Playing horn in the Oregon Symphonic Band (a regular gig- one of my favorites)
- Hacking on the Optimus Mini Three SideShow driver
- Helping a friend with some microcontroller programming
- Moving my bathroom remodel along its asymptotic approach to completeness
- Singing in the choir at church
- Working on some family history research
- Subbing in the Oregon Sinfonietta
That's just the "active" list- then there are all those little things that I'd really like to do (that will probably one day end up on the "things I'm cursing" list), like:
- Finishing a bachelor's degree. I've been poking at finishing one of my three majors at OIT (a class here, two classes there), but I haven't touched it for three terms now. I'm hoping I don't get hosed by credits expiring- I'm only left with courses to challenge and a few GEs that didn't transfer right from Purdue. Won't make any difference professionally, but probably a good thing to finish.
- Learning piano. I took piano lessons for a year in college and loved it, but never put in the practice time to make it worthwhile. Dropped at the end of one of the aforementioned cycles.
- Learning to dance. A guilty pleasure my wife and I share is watching Dancing with the Stars. I know. I'm a tool. Ballroom and swing always fascinated me, but I've never taken the time to really get beyond shuffling and mumbling counts to myself.
- Landscaping my yard. I bought my house over six years ago and the yard was pretty lame. Every year I've been "meaning" to do something more with it than go mow the weeds every few weeks. Apologies to my neighbors (though I'm not the worst offender here in that area- maybe I'd get to it faster if I was).
That's probably about a tenth of my "someday" list. New things show up all the time. Maybe if I'm smart, I'll read my old blog entries and remind myself not to sign up for so many things next time.
In the meantime, somebody wake me up when it's over!
Saturday, April 14, 2007
A little background:
Like many American kids, I was a bum in the summers. No school, just sat around watching TV all day, messing with a computer, consuming mass quantities of Vitamin J (aka "junk food"- it's a wonder I'm not diabetic). As soon as I hit eighth grade, though, my dad put a stop to that. We'd just moved to a new subdivision, and many of the neighbors didn't have landscaping yet. The ol' man wasted no time farming me out to do their bidding (I can't remember how many times I heard, "Hey, my kid will put in your yard and sprinkler system!"). Even though the pay was fantastic for a 14 year old kid, as a generally sedentary geek-type, I absolutely hated the work. My raging hay fever didn't help matters, either.
During one of those loathsome work sessions, my neighbor Jake was toiling alongside me in his yard. I think I was bellyaching about how much I hated working outside when he asked what kinds of things I did enjoy doing. Obviously, the computer stuff came up. "Hmm...", he said. "My brother-in-law owns a software company. Maybe you should talk to him- there might be something you two could work out."
A few phone calls later, I was sitting in a room talking with Bob Rasmussen of Rasmussen Software. I don't recall the exact content of that conversation, but it ended with him offering me a job. As is the case at many small companies, my actual role had a pretty fuzzy definition that's difficult to slap a label on. While I was there, I had varying responsibilities for bookkeeping, QA, production script maintenance, janitorial, debugging, feature development, system admininistration, shipping, and so on.
At that first job, I learned a lot of great lessons about the software business by being invited to look over Bob's shoulder. The importance of customer service; developing a sense of "code smell" (he would often refer to hacky code as "not kosher," a phrase I continue to use today); formal design and debugging techniques, and so on. It was my first experience being around someone who truly loved their work- a feeling I've strived (and mostly succeeded) to replicate. I even got my first experience with being fired after a stupid mishandling of a batch of customer inquiries. All valuable lessons indeed- they have contributed to my success in this industry on a daily basis, and I'm sure the experience was a contributing factor to my landing an internship with Intel soon after, which was again a jumping off point for many other adventures. A heartfelt thanks, Bob.
The question I struggle with now is: how can I "pay it forward" and give someone else the same kind of opportunity? I've always enjoyed enabling my colleagues on difficult technologies, but that's not really the same kind of "break" that I got. Maybe I'll have a chat with computer instructors at some of the local high schools- it seems like there's always some star-in-the-making that outshines even the instructor and is always "bored" in those classes.
So, dear readers, how did you get your start? Can you pin early success in your field to the actions of a small group of people? And do you have any ideas for me on how I could give someone else the same chance?
Monday, April 2, 2007
Having crashed the driver several hundred times getting to this point, I'm pretty impressed with the robustness of the UMDF reflector. There's a scary display flash sometimes when a user-mode driver fails, but the system stays up and everything is happy. I only BSOD'd once during the whole ordeal, and given the iffy hardware I'm running on, I can't necessarily attribute it to the UMDF reflector crashing.
Turned out the stack corruption I was experiencing was just a missing QueryInterface call right after I started the framework. I've been used to things just returning the right interface- casting that IUnknown* to an IAppDomainSetup* was, in retrospect, a bad idea. What's weird is that the DDK build environment won't seem to build me a PDB with everything for my stuff- I can't see a number of my locals while debugging (including the HRESULT I'm using all over the place). I'm sure it's one of the hundreds of makefile options, but I don't feel like tracking it down.
Anyway, the Optimus Sideshow driver is progressing well. If I get really bored, I might try and release the managed UMDF framework I'm building on its own. I don't know how useful building drivers in managed code really is, but we've found at least one case for it. I'm trying to keep this stuff generic enough that it could be reused without much hassle.
Oy- it's late. Gonna be a bleary-eyed day at the office tomorrow.