This comment from my coworker, PeteE:

Wait just 1 second...since when do YOU get any "me time". Back to work slave!

So fitting, because I just came back to work after putting in a pretty full 9 hours already :(

I sometimes wonder when people say they work 50 hours weeks, whether those are action-packed hours, or if some of it's just "killing time." I feel those hours shouldn't count. When I say I work 50 hours, it's generally a very full 50 hours.

In any case, why do I find myself back in the office tonight? Well, my parents just went to bed (they're visiting, by the way!) cause they can't deal with the three-hour difference ("It's midnight on the East Coast," they say as they go to bed at 9pm...). ANNNNNNNDD MindTouch has yet another product in the pipeline. I don't think I'm allowed to say what it is, but if I were to errantly link to an old press release and continue linking (in a cavalier fashion) random sites, I'm sure you guys could figure out what 's in the pipeline. Of course, I could simply requote something from PeteE's blog:

... It was a good week in San Diego. I wasted about 2 days doing support, which I loathe, but the last two days were very productive. RoyK and I worked late Thursday night and got a TON of work done. We're preparing for the relaunch of our wiki farm and got all of our storage migrated to Amazon's S3 (which is a killer service, btw). Roy and I work well together and it was amazing to see what we could get done in such a short amount of time. Oh, and if AaronF or SteveB are reading this, whatever you're paying roy, it isn't enough. ;)

I guess making that second point BIG-ed might be a bit unnecessary, but I think not. Russian brides cost a lot of money!

Ha ha. Niceeee.

In any case, I've been busting my ass trying to get this up. (That's what she said ... haha double nice) To understand exactly what I've been working on, understand the context of our old wiki farm software.

DekiWiki was never intended to run multiple instances. The decision for one-installation was a deliberate one made early on - it let us cut corners during the early stages of development, and it worked out well for us. Well, until we were asked to power I'm still not sure how it happened, but we pulled together's backend in 3 days. All of us worked around the clock to make it work ... but boy was the whole thing a mess.

I won't get too into details about the pains of our product, but there are a lot. And when you have to deal with a scalable infrastructure ... I mean, wow. Things compound very quickly.

The first task (as Pete and I saw), was fixing up the backend of the old customers. We were assigning accounts to specific servers, because settings and files were stored locally. This would cause major scalability issues (each request would have to be parsed, then redirected to the proper server; if a site on one popular server got too big, then the rest of the accounts would go down in flames). So the first step was moving away from local storage, to my personal favorite site ... Amazon S3. That took a while (20gigs of files, and hacking our old source code to deal with S3 storage as opposed to local storage was a project in itself ... ), but it got done. The next step was then localizing all the specific site settings (like your site name) into a database location, instead of the LocalSettings.php file that was stored with each account.

Once those two were moved, this allowed us to scale our product - we can buy any number of cheap front-end servers, all which could process a request for any given site! Yay!

Of course, that was just the precursor steps in dealing with launching a new Dekifarm. The old registration code was pretty much useless, since we completely revamped the way sites were created ... so I rewrote that. Then I worked with the designer (we have a designer now! I don't have to do that! Yay!) in getting his designs up and running.

It's been a bit hectic, but we've done alright. To think, we only really started working on this about a week and a half ago? I've gone through this process of releasing/launching so many times now that the feeling of gratification and accomplishment are gone (I guess I've gone numb to that!)

So tonight, I find myself wrapping up a bunch of technical loose ends with our new release ...

The funniest thing to me is that previous customers will look at our launch and go, "What's changed?" And really, nothing has really changed. At all. I added maybe one feature (which was a really easy 20 minute); the codebase is still running the old version from! (We've had one version release since then, and are smack in the middle of the second release) It really is a testament to how difficult software engineering is - although feature-wise, it's difficult to list what changes have been made ... so many things changed that are invisible to the end user.

In any case, there is much work to be done tonight, so I will shut up and get on it.

Next few days: Driving up to LA with the 'rents tomorrow, hanging out with rents on Sunday, and flying out to Vegas early Monday morning! I'll be back in SD on Wednesday, where I can hopefully catch my breath.

Posted by roy on March 9, 2007 at 10:46 PM in Web Development, MindTouch | Add a comment

Related Entries

Want to comment with Tabulas?. Please login.