tempest in a teacup

the pointless musings of a strange recluse

Archive for the 'Work' Category

I haven’t done anything for the last six months

Or so it would seem!

I was tempted to make this a blog post about ‘games I’ve been playing’. Then I looked at my last ten posts and decided against that. Instead I’m going to talk about something a bit more technical.

Starting in June of last year I took up a position that was a new thing for me – client-side web development. Up to that point I had mostly been doing backend stuff – writing backend services, maintenance scripts, that sort of thing. The last time I had done any client-side work was all the way back in 1999, when I was designing websites for school clubs and the like.

So it was a return to something I had done and enjoyed before, but at the same time it was mostly new because 15-year old me used frames and tables liberally and had no idea how DIV tags or CSS worked. Not to mention my main use of Javascript was looking up stuff online and copy-pasting it into my HTML without really trying to figure out how it worked.

So how did 27-year old me take this on? Well, with some trepidation and a lot of help from Stack Overflow. Not to mention looking at other people’s code, and talking to the actual client experts on my team.

And it’s been fun! Well, sort of.

The one thing you learn immediately is that there is a whole new set of problems you need to grapple with. The two biggest ones are:

  1. Browser differences
    This is mostly down to IE-related issues, although I’ve seen some weirdness in my code because of Chrome and Firefox as well. Because the Web pretty much grew as organically as it did, and because MS took over the browser market back in the 90s and then spent the better part of a decade sitting on its ass doing nothing with Internet Explorer, a lot of JS and CSS has to be written with old versions of IE in mind. My sense of it is that IE9 is sort of better in this regard and IE10 closes the gap even more, but there are still lots of people out there running IE7 and 8 for whom special code needs to be written to handle stuff like..calculating offsets of page elements (and probably other things, but that’s the first thing that sprung to mind).

    Granted, there are now frameworks in place to help deal with this kind of problem (yay for jQuery) but I’m not always able to use them for various reasons. As such, it’s a challenge, but it’s also something I’ve found interesting to dig into (and make notes on, to save myself some time spent investigating in the future). Thank goodness for Quirksmode.

  2. Javascript limitations and quirks
    Javascript is yet another thing that seems to have more or less grown organically, yet it’s surprising how primitive it feels compared to other scripting languages I’ve used in the past. It doesn’t really have proper objects (although it has something called prototypes that you can twist to sort of use in the same way), it’s single-threaded (so no real background/asynchronous tasks unless you’re using HTML5 features) and because of the nature of interaction with web pages, a lot of your code ends up being event-driven.

    In fact, it only just recently occurred to me how absurd it is having a language that’s explicitly single-threaded (implying synchronicity) and yet has an event-handling model (implying the exact opposite) This realisation mostly came about because I was trying to write some code that needed to wait for something to happen, and was trying to see if there was some way to block Javascript execution without locking up the browser. As it turns out, there isn’t.

    I haven’t done a whole lot of UI programming which is probably why this feels a little odd to me, but even then I kind of know that you generally want to have a separate thread for UI vs actual program logic to prevent your program from becoming unresponsive while other stuff is going on. The Javascript implementations I’ve seen in all browsers don’t seem to do this, for what I’m sure are completely valid reasons, but which I do end up ramming my face into a lot of the time.

Still, I’m having fun, for now. I have dipped into the jQuery/HTML5 pool a little bit and want to see what else I can do there, although right now my work projects don’t seem to be taking me in that direction. Perhaps it’s time for a side project of some sort…


Water, water everywhere

The snow stopped just around the time I returned, but instead now it’s raining all the time. This would not normally be an issue (this is Seattle after all) but this rain is accompanied by some pretty strong wind, making walking to and from work a bit of a chore.

Oh well, I suppose I need the exercise.

Somehow it slipped my mind throughout the entire return flight that I was to be on call this week. I literally realised this the day before I returned to work. No matter, though – I find my on call weeks to be a decent break between the usually hectic (and sometimes tedious) pace of everyday development work. Although I am looking forward to what I’ll get to work on next week.

My new laptop is plugged into a power socket right in front of the TV. I’m not sure what I want to use it for just yet, although a Media Center PC seems most likely since it runs Vista and has a convenient HDMI output for my TV. Said HDMI output also lets me play stuff like Outrun 2006 in 1360×768 on a nice big screen. Quite nice, I have to say…pity the graphics card seems to have some issues rendering the game at its proper speed.

Speaking of computer issues, this news has me interested a fair bit. I’m not usually one to install pre-release versions of operating systems, but I’ve heard almost nothing but positive impressions about Windows 7 (as opposed to Vista which was sending mixed signals even when it was in alpha). Kagura is about due for a format anyway, so I think I’ll delete my unused Linux partition and create one for trying out Windows 7.

1 comment

I’ve been a little busy

This past week I was on call for my team. This past week was also Thanksgiving, and since I work for a company that is in the business of selling things to people, it was more than a little hectic for me.

In other words, being on call for a critical service at Amazon + Black Friday = PAIN.

I’ve been paged more times this week than any week I’ve worked at Amazon so far, and I spent most of the week working on an urgent fix requested by another team, one which necessitated that I load test our software to make sure that the fix didn’t affect performance adversely, and then spend hours on Saturday deploying the fix to our production boxes. On top of that I’ve had to attend early morning conference calls for high-velocity sales events (some of which you may have heard of). So yeah, I’m pretty worn out.

Still, while it does sound like I’m whining, I’m pretty happy that I was able to get through the week without any major problems on the site. The Amazon philosophy is to have all employees think like owners of the company, and given that we got through Black Friday without any major problems, as an owner, an employee and someone interested in customer experience I’m pretty happy.

I would be happier if we could ensure that sort of thing without driving the on call engineer nuts, though…

On a somewhat related note, I did manage to score 4GB of Corsair DDR800 RAM for the awesome price of $50 plus a $30 mail-in-rebate, and a copy of the PC version of Fallout 3 for $30 (both off Amazon, of course). I haven’t finished the first Fallout yet, but it’s already pretty clear that the third game is a vastly different beast from the first (and I’m not sure if it’s in a good way, either).


Heads up, and something to look at

Amazon is going to be having PS3 deals all day today (August 27th), starting at 12am PST for the big daily deal and then lightning deals every four hours starting at 6am PST. Just a heads up in case there’s some PS3 game or accessory that you’ve been on the lookout for.

And no, I don’t know what the deals are going to be in advance, so don’t bother asking. You can usually make a pretty good guess from the clues on the Gold Box page anyway.

EDIT: The list of deals is up – the daily deal is Gran Turismo 5 Prologue. The lightning deals haven’t been revealed yet, but here are my educated guesses:

6AM: Resistance: Fall of Man
10AM: Ridge Racer 6
12PM: Ratchet & Clank Future
2PM: Uncharted: Drake’s Fortune
4PM: Devil May Cry 4
6PM: Warhawk

Looks like either games I have no interest in or that I already own. Urgh…

And now to pad out this post a little more, here’s what my desktop currently looks like (click to view full-sized version).

Why yes, I am rather obsessed with sandviches at the moment.


A year of lessons

A year and twelve hours ago today, I stepped into the lobby of Pacific Medical Center in Beacon Hill, ready to begin my first real job at Amazon.com. I’ve really come a long way since my first time on call when I accidentally did software deployments in the middle of the day, I think…in particular there’s a lot of stuff that I’ve learned.

  1. Your pager is most definitely not your friend.
  2. Perl is actually quite readable if you squint at it really hard.
  3. Eating lunch at your desk while a dog is in the vicinity is asking for trouble.
  4. Do not bite the hand that provides the free beer and snacks every Friday.
  5. Resist going out for Brazilian food as much as possible.

Obviously, I’m kidding. But I have really learned a lot in the last year…I can’t wait to see what the next will bring.

No comments

Odds and Ends

Not much in particular I want to talk about…just dealing with various things that have been happening recently.

I got a new video card recently – a GeForce 8800GTS 512MB from EVGA. It was a bit of a pain getting it into my case…it’s pretty much the same length as my motherboard, so it was a pretty snug fit (it’s nestled right up against my SATA connectors). Performance-wise, though, it’s a dream. I get anti-aliasing in Mass Effect now (as well as a much better frame rate), and games like Half-Life 2 Episode Two that would chug a bit on my old card now run smooth as butter.

Of course, as luck would have it, the same week I decide to upgrade, nVidia drops the 9800GTX to $200, and ATI comes out with brand new cards that keep up pretty well with nVidia’s current offerings. Such are the travails of the PC gamer :p

In the meantime, work has been…not really as interesting as it could be. After the problems we had on the site a few weeks ago, my team has dropped what we were working on before and has been working full steam on mitigation measures. This is kind of annoying for me since I was just getting my first taste of real software engineering(requirements gathering, writing technical specs, getting them reviewed, the whole lot) when this happened. I can’t complain too much though – the site is what keeps us running, and we’re beholden to the customers to make sure it stays up.

(And if you’re still waiting for me to tell you what actually happened…forget it. I like my job too much to risk it like that. If you must know something, get our official position from Jeff Bezos’ radio interview on KUOW this past week)

Speaking of work, in a couple of weeks, I’ll have spent a year at Amazon.com. I might have been in India by this point had it not been for the interim regulation that lets me stay here until my work visa starts on October 1st. Still, one year…what a year it’s been. There have been low points, but the good has outweighed the bad by a significant margin.

I really should do a proper retrospective before I forget.

In the shorter term, though, I was thinking of watching a movie this weekend since I don’t really have anything better to do, and the release of a Pixar movie is always reason to celebrate. Both Wall-E and Get Smart are looking like good candidates for my dollar…any recommendations?

A big news story I’ve been following recently is Bill Gates’ departure from Microsoft. I can’t help but wonder what will become of the company after his departure…Microsoft is hardly the powerhouse it used to be back in the 90s, and has ceded a lot of ground this decade. I found a vitriolic blog post from a (now former) stockholder, who has used the occasion of Gates’ departure to dump all his Microsoft stock. It makes for very interesting reading.

Given the occasion, I’m wondering if I should pick up Microsoft 2.0 by ZDNet’s Mary Jo Foley. I’m in the mood for some insight on where the world’s largest software company is going, and where it might be going wrong.

Speaking of Microsoft, I’m actually writing this blog post in Microsoft Windows Live Writer. Aside from the cumbersome name, it’s a really nice blog client that works with a wide variety of blog sites and services. Very cool, and easily the most impressive thing I’ve seen out of Windows Live so far.

On a final note, the Jun Senoue remix of Lee Brotherton’s Dreams of an Absolution is currently stuck in my head. Yes, I know it’s from the horrendous next-gen Sonic the Hedgehog – but this is one of the (very) few good things about that game. The others being the instrumental version of His World and this cutscene from Shadow’s story.

I sense my last.fm profile looks pretty messed up right now…

1 comment

In case anyone was wondering where I was yesterday

Monday was a repeat performance of Friday’s “awesomeness” at work (only worse), and I got home just in time for a wind storm to knock out all power for 5 hours.

So yeah, I was a little tied up.

That new 3G iPhone looks awesome, though.


How was your day?

Mine was pretty terrible.

I think I’ll go blow up some random douchebags in Team Fortress 2 to vent.


I really should be used to this by now

A couple of hours ago, after a pretty great Team Fortress 2 session and the ensuing post-game analysis between PenPen and I, I looked at the clock and decided it was time for me to go to bed. I signed off IRC, put my PC in standby mode, got myself a glass of water, stepped into my bedroom…

…and heard my pager go off.

I just got off the conference call a couple of minutes ago, after a good two hours of bleary-eyed log analysis and graph comparision.

I’ve only been working here for ten months, but I don’t recall ever being paged this often during my previous weeks on call…


Oh and one more thing

I got my H-1B visa today.

Just thought you would like to know.

No comments

Next Page »