Yesterday, Amazon announced Cloud Drive, which is essentially a consumer streamlined version of S3, their online storage system. The sweet part is how it works with music. You can upload your junk up there, and you can then stream it from anywhere with a Web browser. There's an Android app for it too. So it's like Pandora, only your own stuff, that you control.
I was already using JungleDisk to backup all of my music in S3, so using this makes sense for me. I bought a $50 account (50 gigs) for the year, and started uploading it last night, while deleting the music backup from my S3 bucket. You pay for whatever you use on S3, so the cost change is essentially a wash. They have an uploader app (OS X version, in my case), and it scans your iTunes library, compares to what you've already uploaded, and sends it all up. It even imports your playlists.
The browser-based Cloud Player is simple, and just works as you'd expect it. Your playlists appear at left.
So what's the killer app here? Well, it would be more killer if there were apps for iPhone and Windows Phone, but I doubt it will ever happen for iPhone. WP7, I think, has a fighting chance, but it won't make sense until the audio playing background task is enabled in the later-this-year update (I think that was one of the things they showed in Barcelona). But phones aside, you can play your crap where ever there is a computer... at work, airport wi-fi, hotels... it's pretty awesome. And if your house burns down, with all of your iPods and phones and computers, you don't lose anything.
I've always felt that this was ultimately the way to do it, I'm just surprised that it exists already. The company that sells books figured it out first. That's nuts. In any case, it gets my stamp of approval. I dig it.
Friday night, I got a new job offer, which of course I happily accepted. It's still at Microsoft, but I'm transitioning into a program manager position, on a new project related to SQL Azure, our cloud database service. I don't think it's appropriate just yet to talk about the details of the product, but I'm pretty sure we'll be putting out a lot of information in the fall. Heck, it might very well be a part of my job to socialize what we're building.
"Program manager" means a hundred different things at Microsoft. The company tends to compartmentalize roles into development, test, PM and ops. They're all pretty well defined, except PM, which can involve feature work, release management, relationship management, consulting, prototyping, design... it's a pretty long list. A lot of roles are combinations of those things. This particular gig will involve a fairly broad spectrum of responsibility, focusing largely on the design and development of this particular thing. The interesting thing is that PM's in individual contributor roles typically don't have anyone reporting to them, so a lot of what you do with the dev team is negotiation. It works pretty well, and is very collaborative when it's done right.
So after occupying developer roles for about ten years, why this change? There are actually two reasons. The first is the more obvious reason, that it's kind of where my career was already going prior to joining Microsoft. I was doing less code writing and more process and development guidance. Even before ICOM (where I would have liked to have also exercised this role), I was doing it a lot in consulting gigs. The second reason is that I just don't see a long-term career at Microsoft in the development discipline. I'll never be a partner architect because I just don't have the passion for (or the brain wired for) that level of super deep technical thought.
Fortunately, because of the diversity of responsibilities in the PM realm, I think I can be more effective, and far more engaged, to really make a mark on the company. This particular job is cool because I still need to "get" development, and will likely do some prototyping as well. It's a pretty exciting opportunity, even if it's largely a lateral move in terms of level and salary. The important thing is that I'll be a lot happier.
Interviewing from the inside is a different animal than coming from the outside. It's kind of an interesting scenario that you can't find in very many companies, because you can get a "new job" without changing who signs your check. A lot of people switch off every two years or so. It starts with informational meetings, just to get an idea of what a position is. It's like a bidirectional phone screen almost, so you can feel each other out. I did a lot of these, all over the company, except in Windows or Office, where I have no desire to be. Going through that process made the company feel much smaller, as I've talked to people all over the place, in other parts of DevDiv, the phone group, Xbox and Microsoft Game Studios. Never talked to people in Bing or the online areas, oddly enough, I guess because I just didn't get the hits on the job search app.
If you have a potentially good fit, you and/or the hiring manager may ask to do a formal or informal interview loop. The formal arrangement is a lot like it is from the outside, with the recruiter setting up stuff for a day of interviewing. The informal is less structured, and depending on the situation, may not even be anything more than a test for personality fit.
I did a total of three loops in my search. The first one, in January, was in the shared test org for Microsoft Game Studios, which was neat because it was a PM position that helped guide a dev group, who answered to a dev lead, who in turn reported to a director of test. Totally non-traditional Microsoft. This group makes tools that the various studios use for testing, as a central resource. It was a formal loop, and I got the stamp of approval from everyone, but still came in second place. The feedback from the manger was that if he had two positions, he would have hired me. The "cool factor" of working on Xbox stuff certainly had its appeal, so I was definitely disappointed, but the networking that came out of the experience was awesome. It's a very exciting part of the company.
In February, I did an informal loop with another group. I won't say which one, because as much as I believe in the product, and liked the people I talked with, they were slow to act on anything. There are parts of Microsoft that are plagued by that, and it bothers me. There's a bigger cultural problem where people often do not respect each others' time, whether it be for getting back to each other or showing up to meetings late or whatever. Truthfully, if they would have made an offer, I would have taken it, but after six weeks, that's too long.
This month, I did a quasi-informal loop in SQL Azure, and obviously I got the job. I even gave them a pre-game pitch (it's not the first time I've done something like this). I liked the people, I liked the project, and in a wild coincidence, two of the guys I worked with at Insurance.com are SDET's in the same group (one of which I scored a referral bonus for). Particularly in a formal loop, they end with a high-level "as appropriate" interviewer. If you didn't "win"in the rest of the loop, you don't talk to these people. For this one, I talked to a partner PM with a fascinating history of work at the company.
One of the things that all of the networking and exploration made me realize is how much change is underway. There is definitely an evolution between "old" and "new" Microsoft, and I think that's the reason that you see so much momentum in a lot of the product lines. Look at how quickly some of the stuff in DevDiv has evolved, like Silverlight and MVC. The Windows Phone "reset" to replace the crappy Windows Mobile happened in relatively short time. Kinect happened in a relatively short time, too. I think this occurs because agile development is being more widely embraced, and there's a higher concentration on delivering stuff quickly, and then iterating. It's a departure from the waterfall style of delivering shirk-wrapped products. Yes, the approach can scale in big companies.
I don't take the departure from Server and Tools Online lightly, either. The people there are my friends, and the core of my Seattle social circle. If there's any negative, it's that I won't see them every single working day, and that sucks. It's a very talented group of people there, and it's the tightest group of people I've worked with since the crew at Penton Media. If there would have been a suitable PM job in the org, I would have absolutely done my best to obtain it.
I had some pretty awesome opportunities in STO, in terms of development work. Working on the MSDN/TechNet forums was difficult at times (it had serious issues when we started working on it), but how often do you get to work on something that serves up tens of millions of pages every month? The best part of the job was working on the achievement and recognition system that's starting to roll out first in the galleries, and eventually forums and other properties. It's neat to build a cloud-based service intended to scale, and so far, so good.
This doesn't mean that I'm leaving hands-on programming behind. Obviously, my personal Web sites will always need to be fed and revised (CoasterBuzz is about due again). I'm really planning to invest time in POP Forums as well. Professionally, I need to stay engaged because being a highly technical PM has a lot of advantages if I intend to stay at the company.
And that's something I've thought a lot about... how long I want to stay at the company. This is the first one I've worked at in probably ten years where I actually see a future. Let's face it, the longevity bar is already pretty low, with my longest gig (City of Medina) at three years, and second place (ICOM) at 2.5 years. As long as I don't get too isolated in the Redmond bubble and oblivious to the rest of the world, there is limitless potential there. Unless of course I come up with a really great dotcom idea in the mean time. :)
So a new adventure starts soon. It'll be my seventh office move in 17 months!
I think we officially have a first word for Simon: "Hi!" We sort of think he's had "mom ma" and "dad da," but it hasn't been consistent or always in the right context. However, my mom bought him a toy cell phone for Christmas, and he very frequently puts it to his ear and says, "Hi!" There's no mistaking it. I've heard him do it toward us a few times, and once to one of the cats, so I think this is absolutely intentional and contextual speech on his part. Hooray!
It seems like he's doing a lot of things lately for the first time. He's started to assemble instead of just pull things apart. For example, the classic Fisher Price "plastic donut" toy, with the five different colored rings, is something he used to just pull apart and toss around. We've seen him put the rings on the cone in the last few days. He's taking one step between say, us and the couch, without a hand to hold on to. He'll put one rubber duck in the tub up on the handle so it won't float away, so he can inspect the other one. After showing him how, he knows how his snack cup works (with the rubber "blades" that he has to penetrate to pull something out). This morning, I finally saw him actually go from being on his back to a sitting position. Granted, he had me to lean on in the process, but it sure beats him flipping out because no one will lift him up.
It's fascinating to watch him figure this stuff out. It seems like just yesterday that he got frustrated when he was lying in the crib and his binky fell out of his mouth. Now he's able to do things on his own. It's weird how you take human development for granted, until you have a small human developing in front of you. It's also scary to consider that this is mostly nature doing its thing. The harder parts of growing up are things we need to help with.
I don't usually read anything that Robert Scoble says, because he's about as relevant to technology as my cats are, but the High Scalability blog linked to his asinine dissertation about why MySpace failed. Scoble thinks it was because of the platform and the location, or perhaps because people starting trendy companies don't use .NET. Pick a ridiculous reason, he probably has it.
I'll make the usual disclaimer that as someone who works for Microsoft, I might be biased toward the products it makes. I would add that I'm not shy about being critical of the company either. Naturally, my first urge is to defend the platform. Microsoft.com is the 9th most visited domain on the Interwebs, according to Quantcast, and it's clearly running on our platform. But the more I think about it, the more I think about how the platform is irrelevant.
MySpace has been in a death spiral because it sucks. It always sucked. Before Facebook opened its doors beyond universities, I was lucky enough to see it via much younger friends who were still in school. I immediately saw how useful it was. The day it opened to everyone, I knew MySpace was history unless they could be more like Facebook.
And we know how that turned out. If Scoble would have made one pass at his own piece, he would've seen that he had the core engineering problem related to their failure: "...They can’t change their technology to really make new features work or make dramatically new experiences." That's a sign of a tightly coupled system, and that's poor design. You can fail in this way using any platform.
The other reason for their failure is likely a people problem. That problem is obviously platform agnostic as well. My first exposure to MySpace from an engineering perspective was at Mix06, where they passed out invites to a big party, and one of the senior people/execs got up on the bar and encouraged people to apply for the army of .Net developers they were hiring. It was a pretty diverse crowd at that conference, but I can't say that I encountered many people running to sign up. That was hardly a great recruiting strategy. I was working for a startup myself at that point, and there was nothing compelling about what they were doing.
I consider myself a technology enthusiast, and I love how we constantly see new ideas hit the Web. I'm also realistic about what I see in front of me. The very honest truth is that most tech Startups go nowhere, or at best, have short lifespans. Things like Google, Facebook and Amazon are the rarest of exceptions. The most exciting stories to me are about smaller companies that solve some problem, even if it is a niche problem, and they build a sustainable business around it. There is no end game around selling or going public, they just do what they do. The best part is that their barrier to entry was much lower than it would have been 20 years ago, because of the Internet.
People in the tech bubble just don't understand this. People like Scoble gauge interest starting with location (is it in Silicon Valley?) and how they're funded (what round are they on?). It annoys me to no end. For all of the toxicity hurled at the 37signals guys for sounding like arrogant dicks, perhaps some of it deserved, they're absolutely right for focusing on the practice of building sustainable businesses, not taking investors money and seeing how much cash they can burn. I respect that.
Tonight I uploaded the second beta of my rewritten forum app. It's already running on MouseZoom. At this point, it's "feature complete," or at least has reached parity with the old version running on CoasterBuzz and PointBuzz.
I'm feeling accomplished, even though it's an achievement that most people wouldn't understand or care about. If you look at the version history, you can see that it has been with me for a very long time. It's kind of my curse, in a lot of ways, but it's also the one thing that I've been able to consistently call my own. There aren't many things you get to do as a developer that fall into that category. It's also a good feeling when you have sites where most of the code is your own instead of a patchwork of free apps.
Because it has been about seven years since the last true rewrite, and this version is on a new framework, the thing I find most fascinating is the change in the nature of the code. Seven years might as well be a lifetime in skill development. I was horrified to see some of the stuff in the old version. Sure, it has performed pretty reliably over the years, but it wasn't easy to maintain. I feel like I really sucked at this back in the day. So here are some interesting comparisons...
v7-v8.x (2003) | v9 (2011) | |
---|---|---|
Framework | ASP.NET Webforms | ASP.NET MVC3 |
Lines of code | 13,000 | 10,500 |
Lines of test code | 1,450 | 8,300 |
Code files | 135 | 198 |
Open source | None | Ninject, jQuery, NUnit, Moq |
Repo check-ins | 230 (v8.x only) | 335 |
I don't have numbers, but I'm positive that I spent way less time on v9 so far.
It's funny how the way we develop Web apps today is "closer to the metal" of the Web, and yet there's far less friction. The frameworks and tools we used even five years ago were supposed to abstract away a lot of that friction, but generally did the opposite.
I'm glad to be offering this as a true open source app this time around. I've become quite a fan of some of the open source projects that do fundamental things in a high quality way. I hope I can contribute to that scene, especially in the .NET realm, where we've not had a really solid open source forum. This one definitely needs some evolution to get there, but that will be a lot easier with the fresh start.
Release candidate and RTW coming very soon!
Simon is, for the most part back to his normal self, after battling what we think was roseola. It was really strange to see him so lethargic and inactive. Don't get me wrong, I loved the cuddling he wanted to do while he passively watched TV, but it was so unlike him.
The temporary absence of his personality made me appreciate just how much he has. Sure, he's had some bits of personality since birth, as all kids do, but seeing it every day, you don't realize just how much it develops. He has the best laugh ever, and he has all of these expressions and sounds that he makes. The diversity of them is really surprising. Like I said, I just didn't realize it until they were gone for a few days.
Human development is fascinating. As a grownup, you take for granted how much you changed as a child. For me, this has been one of the best parts of parenthood. As I've reconciled the reasons for some of my own personality traits over the years, good and bad, I have an increasingly high appreciation for how the most basic influences can shape a developing mind. I hope this awareness serves me (and Simon) well going forward.
Everyone else is doing it. Honestly, I've shot photos of the moon before, and this doesn't strike me as larger or brighter.
I tend to write a lot about various gadgets that I buy now and then, but I don't always follow up on them. This particular time of the year, I seem to have anniversaries for acquiring certain things, but instead of individual posts, here's a super update.
I'll start with the big one: The Prius. I've had it for almost a year, and it's easily my favorite car. Granted, I've had a whole lot of cheap cars, so that's not a difficult bar to hit. I generally enjoy driving it, playing "the Prius game" to squeeze out more efficiency, and using the power mode when dodging Washingtonians who can't drive. That was clever of Toyota, because driving in standard mode helps you hit the advertised 51 mpg, but power mode shows just how much the car has some balls. It's very comfortable, I love the XM and the cargo room is surprisingly huge. I really like having a hatch back. On my old commute, I could flirt with 60 mpg every tank of gas, but living in a higher elevation, it tends to hang around 45. Still a huge win over conventional cars.
If I wanted to be picky, I would say that the controls on the center console suck. Putting a few things on the steering wheel was a good idea, but the console is just a mess of buttons. When I change the heat, I want a knob that I can feel, instead of looking over, finding the "mode" button, and then looking again to see if I have it set how I want it. That's a surprisingly uncharacteristic ergonomic fail for Toyota. I can only imagine what it's like on the touch screen models.
Meanwhile, I mentioned a couple of weeks ago that I put a solid state drive in my two-year-old laptop. As I suspected, it's like having a new laptop. What a huge difference it makes. Everything is noticeably faster, especially when working in a Windows VM. You never even see the loading boot screen. Of course, now it makes me want to get one for my desktop computer as well. That 27" iMac is already pretty sweet, and isn't as slow anyway because it has a real desktop hard drive on it. Still, when bonus/vesting season rolls around, I might think about it. SSD's rule.
I've had the baby Canon S95 now for about six months now. Truthfully, I haven't used it as much as I would like, in part because I've been religiously keeping my 5D and 7D out so I regularly have great photos of Simon. I do plan to use it at certain morale events at work soon, and I'll take it to Vegas for Mix, too. I had it for our two Midwest/coaster trips, and I'm really thrilled with the quality of what I got. It really has the control freak goodness of an SLR in a tiny package. Obviously the big thing you give up is low light capability with certain lenses, but it's a fantastic camera. It's not hard to see why I'm such a Canon fanboy.
I've had my Windows Phone, the Samsung Focus, for a little over four months now, and I'm pretty happy with it. Diana likes hers, too. There are actually two angles to this. The first is that I didn't quite realize how not a big deal a smart phone is. I used to wonder how anyone could use an Android phone, or anything not an iPhone, but for us at least, it seems like a lateral move. It doesn't really matter. Tech nerds and pundits have their panties in a bunch about the slow updating process, and I agree there are a ton of things that need to improve (namely the camera software), but overall it's mostly adequate most of the time. It does the core things that it should exceptionally well.
There are some wins though. Call quality is surprisingly better, and I don't get many dropped calls. Some of the apps are better than their iPhone versions, especially IMDB and Weather Channel. The biggest win for me has been the games. They've done an amazing job with games, and I've bought more for this phone than the entire time I was using the iPhones. Admittedly, part of it is the Xbox Live integration, because I'm an achievement whore. I'm really thrilled with the cross-platform chip sharing on the new Full House Poker. That is a cool feature (your bankroll crosses over from the Xbox to the phone, and vice versa).
Less neat-o, but worth mentioning, is the newer Xbox I got for Christmas. No more jet engine in the living room, and enough hard drive space to install all of the games we play for faster loading. Totally worth it, especially with employee pricing. Right now, we're also enjoying it for a new feature we're beta testing that I don't think we're supposed to talk about. Loads of awesome goodness there.
Thinking about this stuff, it's amazing now how infrequent we buy things that don't meet our needs. It's so easy to find out what other people think of a product that it's rare to make expensive mistakes.
Watching the "Good Night Show" on Sprout has become kind of an evening wind-down ritual for Simon lately. When he's really getting tired, he seems to pay attention and relax, at least for a few minutes. One of the things we often see is the Pajanimals, singing this very cute song, "La-La-Lullaby." It's really well done, with the harmonies and such. It's always refreshing to see stuff for kids that isn't crap. Simon absolutely loves this, and hangs on to every note.
XM dedicated one of their channels to Irish music today, and it was awesome. I'm not much of a fan of the really folky stuff, but I do love the more "rock-n-roll" Irish stuff. Lots of pipes and fiddles and what not, you know?
I was really surprised at how much stuff they played that flirted with alternative radio around the turn of the century (or at least, was played on 107.9, The End, WENZ in Cleveland at the time). I heard stuff I hadn't thought of in awhile, like the Dropkick Murphys and Ashley MacIsaac. I was into it.
Also brings back a good memory of visiting the Irish Festival at the Cuyahoga County Fairgrounds. We had one of our earlier dates there, and I ran into one of my favoritest volleyball kids, Katie Reece, there and introduced Diana as my "girlfriend in training." Good times. Was happy to run into her in subsequent festivals as well, with her family. So much good live music at those things. Turns out there is one in Seattle... last week. Looks like it was kinda small.
There's always Off Kilter next time we're at Epcot, I suppose.
My boy is literally a hot mess. When I got home today, he was whiney and had that restless "I'm not comfortable" thing going on. It didn't help that he's constipated again. So we got him into a nice hot bath, which fortunately cooled him off and made him more comfortable. So comfortable in fact that he squeezed out a deuce in the tub. After refilling, we gave him some more time in there.
He didn't care for getting out of the bath, probably because he started to get the shivers. We parked in front of the TV to watch sprout, and I covered him up again in his blanket. He hadn't been eating well all day (mostly liquid), but Diana gave him a little puree stuff, which he seemed happy to eat. He was drinking some water too, which made me happy, because I worry about him staying hydrated.
The send of panic came shortly after he ate, which I unfortunately did not read correctly. His dinner came back, in my lap. It was actually fairly well contained compared to yesterday's spill, but even then I couldn't believe how much of it there was. I just felt so bad for him. We both recall childhood memories about how much it sucks to yack.
So it was another early bed time for him, and he's already been up twice. Diana pulled off his sleep sack the first time, as he was 101, and he was still very warm when I picked him up the second time. Fortunately, he was willing to drink cold water, and seemed to feel better immediately. He did some babbling, did a quick clap, and even a little giggle when mommy peek-a-boo'd around the burp rag he was inspecting. It was the first time I've seen him happy since Tuesday.
I suspect it may be another long night. I got up with him around 1 last night, and Diana did I think around 4. I really have a hard time seeing him like this. One of the best times of any day is when I see him for the first time in the morning or after work, and right now he's just not his normal happy self.
We've got our first bona fide fever illness with Simon tonight. He's had a stomach flu, which was the thing that we both had (somehow he escaped fever in that one), and several colds, but nothing like this.
Apparently it started this afternoon, when he insisted on napping early and didn't want to eat. Diana described him as being "not right." Just as I got home, I entered the kitchen to find a set of four eyes, filled with fear, and an awful smell. Once I got around to see the other side of Diana holding Simon, I could see that he had had an epic protein spill. It was pretty awful.
I changed clothes in record time, and got him upstairs while Diana stripped off the mess. Just getting him naked was a challenge, because he didn't want to be put down. I fired up the bath, hotter than I typically would for him, and got him in. He seemed to feel better instantly, but you could tell he had a fever.
After the bath, we cuddled in front of the TV. That's what made it obvious... he isn't much of a cuddler until he's really tired, not to mention this was normally his evening play time. I kept him covered up with his favorite blanket, and Diana got his tiger and binky. His temperature was 100.6, which we read isn't that terrible. I got him to drink a little water, which made me feel better at least because I'm worried about him being dehydrated.
He went to bed early, before 7, appearing so sad and miserable. It really got to me. When he's just bitching and moaning because he can't figure out how to sit up, I just tune him out, but this really made me feel terrible for him. I just wanted to crawl into bed with him.
A little over an hour after he went down, I checked on him, and he's clearly uncomfortable, and still quite warm. It sucks. I hate seeing him uncomfortable.
I've really let my filmmaking desire take a backseat to most of life in the last year, which is probably not surprising to anyone who has procreated. On the plus side, I'm surprised at how often script ideas come to mind, and how carefully I note the writing structure and technique in movies and TV shows I watch. What I really want right now is to find is a short that someone else wrote, and run with that. Shoot this summer.
The question of gear still comes up all of the time. My HVX has been an awesome tool for shooting proper video, and the results have been pretty great. The run-and-gun ENG-style stuff I shot at Cedar Point for several years worked pretty well, if you ignore my lack of tripodedness. In late 2009, I bought a second Canon body, the 7D, because it was an SLR that did video, with all of the goodness that comes from using the amazing lenses I have, namely the shallow depth-of-field. About a year ago, I bought a rig to use it on my shoulder, which is a step in the right direction for sure, but still ergonomically weird. Still, the 7D does an OK job with image quality, and I made a fish market kinda dark and grungy on a sunny day. That was only my first attempt.
I enjoy documentary-style shooting, and for still photos I've done it a lot, especially since Simon was born. I'd shoot more video, but I always feel like it's impossible awkward compared to the days I was shooting with a shoulder-mounted pro camera. The HVX gets me pretty close, but it's so much of a traditional video lens that I can't get that look (people call it a "film" look, but that seems like an obsolete term) with the shallow depth.
What I should do is try to sell the HVX, since I don't think I've used it since I moved. It was my pride and joy, and I got some great use out of it over the last five years. Granted, if I sold it, I'd probably want to buy the new Panasonic that you can mount SLR lenses on. It's like a proper video camera, only with a big ass sensor, proper XLR audio, metering, scopes, neutral density filters, a hand grip, and best of all, it records on cheap SD cards. The only negative is that you have to buy a lens adapter for Canon lenses (to the tune of $700 or so), but that's cheaper than buying thousands of dollars of new lenses.
Anyway, I got to thinking today about how I haven't shot much video lately, and it's time that I did.
While I decided awhile ago to make my forum app open source, I'm reaching a point now, closer to its finish, that I have to pay more attention to what that means. The biggest issue is that I have to find ways to truly decouple it from any other stuff living in the same Web site, and that has been trickier than I expected.
I spent some time on figuring that out tonight. My motivation is actually two-fold: I'm going to show it at the Open Source Fest at Mix next month, and I need to make it less brittle and prone to breaking other stuff in MouseZoom when I make changes. In a perfect world, you could just drop it in a Web site and would magically work, but I don't think I can quite get it to that point. The next best thing is to reduce friction enough that there aren't config sections and initialization code all over the place. The biggest problem I have right now is that I'm stuck forcing the same dependency injection container on the whole site, which doesn't bother me, but it might be problematic for use in someone else's. That might end up being a future enhancement.
I'm almost at feature parity with the old Webforms version, and that's a good feeling. The amount of code is probably half what I had in the old, if you don't count tests. With tests, it's way up in the five figure range, so there's an awful lot of time invested over the last year and a half. It's sometimes frustrating that most people will never know or understand how much work goes into something like that.
I've been having a hard time wrapping my head around what went down in Japan. The earthquake destruction by itself isn't nearly as disturbing as the tsunami waves taking out coastal towns. They keep saying on the news that there isn't a place in the world as prepared for earthquakes, and certainly when you compare it to the destruction in Haiti, you can see how that's true. The scope of the human tragedy is still terrible to think about.
It's not surprising that I've been thinking about what would happen if we were to experience a major quake, now that we live in a place where it's certainly possible. There are fault lines running all over the Puget Sound region, and a huge line that runs off-shore in the Pacific from BC down to California. That big one could produce a quake similar to the one in Japan, and likely generate a tsunami that would take out a lot of coastal towns. The big cities, Vancouver, Seattle and Portland, are fortunately all inland, so the quake is a bigger concern than waves for the biggest population centers. There are a couple of inland quakes that could produce small tsunamis in the Puget Sound, and those would likely blast the Seattle waterfront and some of the near-sea level areas on the islands.
To me, the scarier possibility is around the volcanos. If Mt. Rainier ever decided to become active, it's game over for much of the south sound. It's not the lava and ash you have to worry about, it's the lahars, which are giant mudflows with the consistency of concrete. Apparently the likely flow, made worse by all of the glaciers on the mountain, would slide its way down toward the southern tip of Lake Washington and Puget Sound west of there. It would effectively cut off much of the population from going anywhere south, and take out SEATAC.
Fortunately, I work in relatively modern buildings, higher than 100 feet above sea level, and I live even higher than that. I assume that housing construction is meant to survive an earthquake, but I don't know if "survive" means "inhabitable" afterward. A major natural disaster here would probably make a lot of things pretty miserable for awhile, particularly if it disrupts any of the major infrastructure, especially the bridges in and out of Seattle.
So when you think the snow is inconvenient in the Midwest, or that the highly unlikely hit of a tornado is scary, I think you've got it easy, as far as natural disasters go.
I think if you were to plot the times where Simon gets up and goes to be, you'd see a very (very) slight upward trend over the last few months. But even then, 6:30 to bed and 6 to rise sucks because I don't get to spend much time with him after work, and Diana has to get up early. Lately, we've had some successful down at 7, up at 6:30 cycles, but they're still inconsistent.
So you can imagine that we've actually been looking forward to the "spring ahead" time change, in the hope that we could move him along. This morning he got up at 7:30 or so, but we really had to push him to keep his afternoon nap starting later. We're crossing our fingers for a him to wake up at 5, and keep him up until 8. It will be a win all around if he can conform.
You would think that because he doesn't tell time, that he'd fall in line based strictly on daylight, but he seems to take cues from us or something. In Orlando, he managed to adapt fairly well to the time zone change, and he seemed to stay a little closer to Pacific time, though definitely not the full three hours.
Sometimes I feel bad that we're trying to manipulate him into a schedule that's more convenient for us, but we're certainly not denying him necessary sleep or anything. We're not pissing him off either (he does that on his own when he doesn't get his way in terms of help sitting/standing).
...about how little I've been writing the last few months. I'm internalizing too much. I feel like a pressure cooker.
I had Insurance.com on the brain today. Earlier in the day, I received e-mail from a former co-worker looking to apply to the company and answer some questions about titles. Naturally I was happy to submit his resume internally. I'd like to go 2 for 2 on referral bonuses!
I've been looking around the company for a different job now that I've been there for awhile, to find something that more closely aligns with career goals and my own interests. So today I had an informational meeting with a guy about a really interesting gig, and around the corner from his office were two of the guys I worked with on my dev sub-team at ICOM, 2,000 miles away. How crazy is that? I referred one of them, but the other started around the same time. It would be a really insane coincidence if we ended up working on the same or closely related projects.
So many good memories of that place. It should never have tanked the way it did. It's even a little disheartening that a building full of smart people can have their efforts undermined by some really poor decisions at the top. Oh well. I think most of us went on to better things.
Simon got to visit Dr. Cargo Pants today (and she didn't let us down, and was in fact sporting the pants). He's still 80th percentile for weight, 90th for height, but he's generally healthy and doing well.
One of the things I really like about this doctor is that she asks a lot of questions about development. She asked a series of questions about what he did (pointing, clapping, eye contact, eating with his finger and thumb, etc.), including one about "cruising," which we just assumed was her being clever about crawling around really fast. Of course, he's not doing that, so she suggested that he be evaluated for possible therapy to help him along. That seemed a little odd to me, not because I'm biased and think he's perfect (I'm all for promoting development), but because the rapid progress he's made in a lot of areas just in the last few weeks leads me to believe he's kicking ass. So I told her that he had no problem walking around against the couch, or the bench in the waiting room, and apparently that's what "cruising" is. She said he was fine. So there you go, now you new parent friends of mine know how to answer that question.
I think the walking is getting close now, and I wouldn't be even a little surprised if he did it before he crawled. Not only can he walk around the L-shaped couch on his own, but as long as he has something to grab, he has no issue pulling himself up to a standing position. It's annoying that he can't figure out how to sit up, but he'll go from his belly to standing up against your leg no problem. He's also showing motivation to move between the couch and you if you're not particularly close to it. Right now this means falling, but I think he's putting it together.
Looking at the photos and video of Tyler and Beth's little Nolan really brings home how much change there is in a year. They posted video of him rooting around when you touch his lips, and I nearly forgot that Simon ever did that. The changes are more gradual after the first three or four months, but looking at them over a year, it's really insane. I look ahead at how his three-year-old cousin Nina, who we first met in her first few months, can now sit and color and mold Play-doh into stuff, and it blows my mind that Simon will do that before we know it. Not to mention talk, ride a bike and graduate from college.
I have to say that I feel like I'm enduring a little too much chaos right now. I've been pursuing a new gig at work, launching a new Web site, Diana had a car accident last week (everyone's fine), I'm eating out of control, I'm trying to change realtors, taxes are due soon... it's just a lot to take in. I'm starting to get feel the physical manifestation of anxiety, which is never good.
It's funny how life never works with you in a steady balance of awesome and crap. It tends to throw more of one or the other at you. I don't mind life being challenging at all, I could just do without the challenges coming in waves. I suppose the thing to keep in mind is that waves do in fact fizzle out, and return to the sea.
The passage of time is always an interesting thing to observe as you're growing up, with the years seeming to pass by faster when you're older. But remember when you were a child, how a year seemed much longer? Having a child seems to bring back that sense, at least, in the context of the baby. For me, the last year simultaneously went slowly (with Simon) and quickly (with work).
Our little guy is now a year old. The memories of his delivery are still so vivid (as many terrifying memories are). That first month was hard, and the first three or four were hard for Diana after I went back to work. Everything is new, and advice is only valuable to the extent that your kid is like other kids. But we've been fortunate that he has generally been healthy, if a little on the huge side, and his development has been a lot of fun to watch.
The physical development is particularly interesting. As a volleyball coach, I've spent a lot of time breaking down fundamental skills as a series of actions, and now I see myself doing it for the most basic actions that Simon tries to perform. He's teaching me how to pull yourself up to a standing position. It's fascinating to see the trial and error that goes into doing the most basic things. He isn't walking just yet, or even crawling, but it seems like the walking could begin at any moment.
Simon's personality development has been a joy to watch as well. He seemed to start that very early, with this hilarious double fist shake with scrunched up shoulders when he was excited. It only lasted the first month, and I hate that we never got it on video. But since then, he's had his "talking" routines, his "reading," tickle fights, and what not. His laugh is completely amazing. He's generally a happy kid.
It hasn't all beeng giggles, of course. Because his teething was so intense, I don't think he ever had just one tooth in progress, he spent a lot of time being unhappy. When the pain would subside, or he was medicated, he was like a different kid, the happy one we know now. Fortunately, he finished up with that around ten months or so, and he's been significantly happier ever since. And he doesn't need a drool bib all of the time!
The current challenge is sleep, which he isn't doing as consistently as we'd like during the day. His overnight has been kind of hit or miss too, sometimes waking up in the late evening, or early morning for a brief amount of time, until he gets a snack. We're hoping that the forthcoming time change in particular shifts him to more of an 8 to 7 schedule. We have to remind ourselves that we've come a long way since the three hour sleep sprints of a newborn!
Having a baby really changes your perspective on the world, that's for sure. For me, I have greater awareness of the way I interact with all people, and my priorities are carefully considered. I think I'm more financially responsible than I've ever been, thinking of my family.
The thing I like most about having Simon is coming home to him and Diana. It's really the best part of the day. Monday mornings are hard because I hate to leave after spending the weekend with my little family. When we took our first "real" vacation to Orlando in January, it was perfect. Being on the plane with him wasn't exactly fun, but we had such a good time with him in the theme parks and at the hotel (in part because of Diana's excellent planning).
Simon's second year will be interesting I'm sure, as he learns to walk, and starts to talk. I love my little guy!
Walt and I did a soft launch today for MouseZoom, our Disney World photo fan site. What a relief it is to finally see that site in production, even if it is, at the moment, a work in progress. I flipped the switch around 9:30 this morning, my time, and it mostly worked. The problems became pretty obvious pretty quickly.
The first problem was a bug where an auth filter mixed with a cache filter caused a conflict, and that tanked the home page and RSS feeds. Whoops. There were minor problems here and there with the photo stuff, but I was able to fix those issues pretty quickly. That the DeepZoom stuff works feels like a miracle now, because when I go back and look at the math involved to make it work right, I have no idea what the hell I did. That's work I started almost two years ago!
The forum was the big unknown, and naturally caused the most trouble. That was, after all, almost 10k lines of code that had never been exercised before outside of unit testing. I didn't test everything I should have, so stuff slipped through the cracks. But really, for one guy with no QA department, frankly I think it went pretty well. The two things that used to be really hard were less hard this time around: text parsing and session tracking. It was easier because of the testing.
The biggest weirdness started with the e-mail verification for new accounts. Some default encoding issues seemed to cause problems with the URL's, and some e-mail software messed them up. That was annoying. There was also a bug in redirecting to the newest post of a topic, which was caused by a test I didn't think to write. The funniest bug was one around session tracking, but found in the context of mixing the forum with the rest of the site. So for much of the day, the online user count on the home page said zero.
I've still got one major big to fix, and I'll try to sneak that in at some point tomorrow. Then perhaps Sunday I'll start going through my photo collection and really put some effort into adding photos. As time rolls on, we'll add new photos to keep it fresh.
Performance looks OK so far. It's hard to say how that will go if there's only a little bit of load (I think we peaked at around 40 simultaneous users today, which was more than enough). That was kind of the point of doing a soft launch, on a Friday. I didn't want to get slammed. Once things settle in terms of code, then we'll work to promote it harder. The forum is the biggest moving target, but it's only a few items away from feature parity to v8.x (that's what's running on CoasterBuzz and PointBuzz).
Overall, I'm pretty happy with how it went, and glad I took the day off for it. I think we even made $7 for the day! If this keeps up, once Walt and I split the profit, I'll be able to treat myself to a burrito!
Simon turns one year old in about nine hours, and coincidentally, it was about time for his first haircut. It was starting to get kinda long in the back, and while he might have been conceived in Ohio, a mullet just isn't acceptable.
So we took him to the Great Clips down the street, and wow did he flip out. I think the first problem was just the cover. He didn't care for that at all. We bribed him with snacks during, and he pushed through it. Wow, was it awful though. I kind of remember myself how scary this sort of thing was, so I guess I can't blame him. I'm starting to remember all kinds of things that were scary when I was little, and I have no idea how to make them less scary for Simon!
I was there to document the whole thing, of course...
Around the time we moved a couple of towns over, I guess it was October, I decided that it was important for me to make some meaningful progress on the various projects that I started and left to float around, stagnant. I have, for the most part, been following through on that, but it also makes me fully realize that my hobbies are sometimes a little too much like work. I mean, literally, what I do in my spare time is what I do at work, and that can make me dull and bored. I wish the coaching gig would not have fallen through, because that would have certainly balanced me out. I'll have to write more, especially that damn screenplay.
But I'm pleased to say that my projects, existing and future, are starting to take real shape. That's exciting. Here's what was already in motion:
So in the last four months, I feel like I've done quite a bit. It's hard to say what the financial reward might be (part of the hobby is in fact making extra money to fund my technology habit), but honestly there's so much satisfaction in delivering stuff.
So what's next in the queue? I have some ideas...
I definitely need to engage in some non-programming projects though. I want to compile some blog posts and see if there's a self-help book in that, perhaps shop it around. People react surprisingly strongly to some of the things I write. I want to shoot more photos, and video. I discovered last summer how much I still enjoyed it, and I've got the gear. I wouldn't mind if this was the year I finally got a short together, though I'd still prefer to get a screenplay from someone else.
Overall, I'm feeling accomplished lately in my leisure time pursuits. That's important to me. It makes me more at ease for family time, and more confident at work.
Apple announced the second generation iPad today. The tech press is participating in a great deal of inappropriate touching over it, and really it got ridiculous within hours of the announcement. I remember when the first one was announced, I thought, "Gosh, that's neat, I'll buy one." Once it was released, Simon had been born, and I just kind of decided it wasn't a priority in any way. Now that the second version is out, I still feel that way. For a guy who has owned five Macs, two iPhones, two iPods and the original Apple TV, that might sound odd, but it just doesn't fill any particular need.
That doesn't mean I don't want one. The Garage Band software, of all things, seemed really interesting to me. But I just spent the price of an iPad on a new SSD for my laptop. The laptop is the reason I don't feel like I can justify an iPad. It's always in the place where I might use the iPad. That, and I also have a work laptop, which has proven excellent for travel. My phone (current Windows Phone or the iPhone, it wouldn't matter), also meet the time-and-place for an iPad.
It's funny though how Apple can instill this "must have" feeling for their products. I call it shiny object syndrome, but it's not like they're making non-functional crap that isn't useful. Touch interfaces obviously encourage different kinds of interaction, and that's what makes tablets so interesting and engaging. I don't blame people for wanting one, and they're definitely more than just toys.
For me, I can see in the long term having my desktop computer be the place where I do development work, a small laptop (perhaps a MacBook Air?) the thing I take with me that can get by doing dev stuff, and a slate device for the living room. It sounds almost ridiculous to say that out loud, when ten years ago we had machines tied to phone lines and CRT's that weighed 50 pounds.
A year from now, I think the slate device story will be very different.