284 karma · joined August 7, 2009
1. server loads the data from S3 on start (sessions are sticky to a particular server)
2. user data gets mutated on that server for the lifetime of the session
3. the data gets written back to S3 on session end
How are failures handled in 2? If a box goes down, do you not only lose the open connections but also any data that has been changed in that session? If these are game sessions it seems like they'll be long-lived; do you periodically dump back to S3?
CLRS, TAOCP, and Gang of Four are all books I haven't read in their entirety, but have been indispensable for certain topics. I still recommend them to people all the time, and feel perfectly justified doing so.
http://www.amazon.com/Data-Intensive-Processing-MapReduce-Sy...
Here's the pdf of it: http://www.umiacs.umd.edu/~jimmylin/MapReduce-book-final.pdf
So, I wouldn't say that them avoiding it suggests anything sinister like some of the posters are mentioning... they're probably just playing it safe.
We're Amazon's platform team for media content. We own the systems for uploading, storing, and serving images/video/js/css/etc. across Amazon.com and partner sites.
Small blurb about the team: http://wap-jobs.amazon.com/jobs.html#media Full job description: https://us-amazon.icims.com/jobs/157798/job
Feel free to email me if you've got any questions!
BDB certainly has its problems, but I still haven't found a better alternative.
Kindle Fire doesn't even have 3G. They probably should've spent more time researching first.
Nearly every team in the Website Application Platform org is currently hiring. We build the backend components that power amazon.com and many of the subsidiaries/affiliates. We solve difficult problems involving scalable, performant distributed systems and have a direct effect on customer experience. If that sounds like you're cup of tea, it might be worth checking out!
Also, arcade cabinets, nerf gun fights, and free cereal. It's a good place to be. :)
I might just switch more code over to Scala...
I like offlineimap because it does a bidirectionaly sync, meaning I can keep a local backup of mail, but still use the web client when I need to (without a ton of old mail sitting around).
I started using esmpt because it handles local mail delivery when paired with procmail, allowing me to get the infrequent messages to root without having to run a full MTA on my laptop. There's also a script to allow mail queuing, but I haven't ever bothered with it.
I eventually settled on paying ~$20 a year to Tuffmail. The features (Bayes classifier, sieve filtering, company who actually cares about my mail, etc.) made the marginal price worthwhile for me. If I were to go back to a free account, it'd probably be Gmail; I haven't seen anything better than it yet.
I had a physics professor that did an amazing job of teaching problem solving; even though the class wasn't directly to my major, it was probably the single most useful class I ever took. Next semester I read How To Solve It and realized that the way he taught followed closely to what Polya lays out.
Actually, Twitter's backend is Scala now.
I've been meaning to read Godel, Escher, Bach (Hofstadter) for awhile now, but I'm not sure if/when I'll get around to it. Next on my list are some introductory number theory texts.
When I started with emacs, there were some bindings that would make my hands ache after a day of use, usually from the transition between difficult keybindings, not any one key combination in isolation. One of the first things I did was add in the ergoemacs bindings, and I never regretted it. It's not as if doing so made me suddenly forget what the old bindings were, although I am slower during the rare cases when I'm on the normal keybindings. But it's a small price to pay for not having my fingers hate me.
Editors are meant to be customized to your workflow and what works best for you.
Which is not to say that Google doesn't offer excellent services or that people shouldn't use them, but I think many people put far too much trust in a single provider without planning for things going wrong. Stories like this make me slightly apprehensive about all the buzz surrounding Google Wave.