Programming a State Machine

  • Adding an Assertion Macro in Objective-C
  • MongoDB: The Definitive Guide 2nd Edition is Out!
  • First Two Weeks at Google
  • Stock Option Basics
  • Recruiting in all the wrong places
  • Programming a State Machine
  • Mad Art Skillz
  • Finished The Definitive Guide
  • Databases & Dragons
  • Guide to Tech Interviews
  • Goodbye 10gen, Hello Google
  • Intro to Fail Points
  • MongoDB Puzzlers #1
  • Humans are difficult
  • Introducing Noodlin – A Brainstorming App
  • MongoDB changing default: now write errors are reported
  • TDG Update
  • Got any advice?
  • How MongoDB’s Journaling Works
  • Go Get a Hot Water Bottle
  • ––thursday #7: git-new-workdir
  • How to Make Your First MongoDB Commit
  • A Neat C Preprocessor Trick
  • Call for Schemas
  • Git for Interns and New Employees
  • Controlling Collection Distribution
  • Summer Reading Blogroll
  • Replica Set Internals Part V: Initial Sync
  • Good Night, Westley: Time-To-Live Collections
  • The Snail Crawls On…
  • ––thursday #6: using git over ssh
  • Replica Set Internals Bootcamp Part III: Reconfiguring
  • 10 Kindle Apps for the Non-Existent Developer API
  • ––thursday #5: diagnosing high readahead
  • Replica Set Internals Bootcamp Part IV: Syncing
  • Night of the Living Dead Ops
  • ––thursday #4: blockdev
  • ––thursday #3: a handy git prompt
  • Debugging Sexism
  • ––thursday #2: diff ‘n patch
  • ––thursday #1: screen
  • Replica Set Internals Bootcamp: Part II – Creating a Set
  • git-oh-$#!†
  • The Comments Conundrum
  • Hacking Chess: Data Munging
  • Hacking Chess with the MongoDB Pipeline
  • And now, for something completely different
  • Replica Set Internals Bootcamp: Part I – Elections
  • Popping Timestamps into ObjectIds
  • SQL to MongoDB: An Updated Mapping
  • On working at 10gen
  • Getting Started with MMS
  • More PHP Internals: References
  • Playing with Virtual Memory
  • PHP Extensions Made Eldrich: Classes
  • PHP Extensions Made Eldrich: PHP Variables
  • PHP Extensions Made Eldrich: Hello, World!
  • PHP Extensions Made Eldrich: Installing PHP
  • PS1++
  • Mongo in Flatland
  • NoSQL vs. the world
  • A finite simple group of order two
  • Simulating Network Paritions with mongobridge
  • Trying Out Replica Set Priorities
  • The Scripting Language of Databases
  • Lorenz University: I can has degree?
  • Implementing Replica Set Priorities
  • “Scaling MongoDB” Update
  • Resizing Your Oplog
  • Enchiladas of Doom
  • My Life is Awesome
  • A Short eBook on Scaling MongoDB
  • Why Command Helpers Suck
  • How to Use Replica Set Rollbacks
  • How to Choose a Shard Key: The Card Game
  • Wireless dongle review
  • Setting Up Your Interview Toolbox
  • How I Became a Programmer
  • Firesheep: Internet Snooping made Easy
  • Bending the Oplog to Your Will
  • How not to get a job with a startup
  • Getting to Know Your Oplog
  • Replication Internals
  • Scaling, scaling everywhere
  • Writing MongoDB: The Definitive Guide
  • Choose your own adventure: MongoDB crash recovery edition
  • Oh, the Mistakes I’ve Seen
  • A Quick Intro to mongosniff
  • Return of the Mongo Mailbag
  • History of MongoDB
  • If it quacks like a RDBMS…
  • Buying an Mahattan Co-op
  • Sharding and Replica Sets Illustrated
  • Part 3: Replica Sets in the Wild
  • Replica Sets Part 2: What are Replica Sets?
  • Replica Sets Part 1: Master-Slave is so 2009
  • MongoDB backups & corn on the cob in 10 minutes
  • Managing your Mongo horde with genghis-khan
  • I Never Thought I’d Be On a Book
  • Large Hadron Collider Using MongoDB
  • With a name like Mongo, it has to be good
  • There must be 50 ways to start your Mongo
  • Once and Future Presentations
  • Sharding with the Fishes
  • Happy Belated Ada Lovelace Day!
  • MapReduce – The Fanfiction
  • Bug Reporting: A How-To
  • Sleepy.Mongoose: A MongoDB HTTP Interface
  • MongoDB Survey Results
  • “Introduction to MongoDB” Video
  • St. Clementine’s Day
  • Mongo Mailbag #2: Updating GridFS Files
  • FOSDEM: Some Pictures
  • FOSDEM
  • Mongo Mailbag: Master/Slave Configuration
  • Washington DC
  • MongoDB PHP Driver 1.0.3 Release
  • Upcoming Talks
  • Mongo Just Pawn in Game of Life
  • Public Speaking: The Prequel
  • NoSQL Trolls
  • Public Speaking
  • Installing Linux on a MacBook Air
  • Five Worst Places for Mosquito Bites
  • Foz do Iguacu
  • Replacing $ in the MongoDB PHP Driver
  • Testing MongoDB Replica Pairs with Perl
  • Final Days in CA
  • Reading in San Francisco
  • Adventures in Ramen
  • I’m going to Brazil!
  • OSCON
  • Soccer: No Slimy GirlS Allowed!
  • How do you make the web reliable?
  • CouchDB vs. MongoDB Benchmark
  • Because we are the Mutha Flippin Win
  • Revisionist history
  • PHP Extension Wiki
  • From Russia with Bugs
  • Get on the bus, Gus
  • Got Mongo Working on Hostmonster!
  • VM of Death and Doom from Hell
  • Another comic
  • Zen and the Art of Sewing Machine Matinence
  • Slug Sex
  • #1 Google Result!
  • Soup and Circus
  • And an irrational number of closets
  • RSS Idea
  • New comic up!
  • phpdoc hell
  • Pain in my CVS
  • Nifty Flash Thing
  • Downloading the Archives
  • Archive for the 'Programming' Category

    Programming a State Machine

    Saturday, March 23rd, 2013

    My attempts at game programming usually turn into impenetrable spaghetti code: “If the player walks through this door, then have him talk to the princess, unless he’s killed a guard, in which case the guards attack, or if he comes out of the secret passage…” The game I’m working on now is pretty simple, but [...]

    ––thursday #7: git-new-workdir

    Thursday, September 13th, 2012

    Often I’ll fix a bug (call it “bug A”), kick off some tests, and then get stuck. I’d like to start working on bug B, but I can’t because the tests are running and I don’t want to change the repo while they’re going. Luckily, there’s a git tool for that: git-new-workdir. It basically creates [...]

    A Neat C Preprocessor Trick

    Friday, August 24th, 2012

    I’ve been looking at Clang and they define lexer tokens in a way that I thought was clever. The challenge is: how do you keep a single list of language tokens but use them as both an enum and a list of strings? Clang defines C token types in a file, TokenKinds.def, with all of [...]

    Git for Interns and New Employees

    Friday, August 10th, 2012

    My interns are leaving today and I think the most important skill they learned this summer was how to use git. However, I had a hard time finding concise references to send them about my expectations, so I’m writing this up for next year. How to Create a Good Commit A commit is an atomic [...]

    ––thursday #3: a handy git prompt

    Thursday, March 29th, 2012

    Everyone says to use git branches early and often, but I inevitably lose track of what branch I’m on. My workflow generally goes something like: Check out a branch Lunch! Get back to my desk and make an emergency bug fix Commit emergency fix Suddenly realize I’m not on the branch I meant to be [...]

    ––thursday #2: diff ‘n patch

    Thursday, March 15th, 2012

    I’m trying something new: every Thursday I’ll do a short post on how to do something with the command line. I always seem to either create or apply patches in the wrong direction. It’s like stalagmites vs. stalactites, which I struggled with until I heard the nemonic: “Stalagmites might hang from the ceiling… but they [...]

    ––thursday #1: screen

    Thursday, March 8th, 2012

    I’m trying something new: every Thursday I’ll go over how to do something with the command line. Let me know what you think. If you are using a modern-ish browser, you probably use tabs to keep multiple things open at once: your email, your calendar, whatever you’re actually doing, etc. You can do the same [...]

    git-oh-$#!†

    Thursday, February 23rd, 2012

    I’ve learned a lot about git, usually in a hurry after I mess up and have to fix it. Here are some basic techniques I’ve learned that may help a git beginner. Fixing your ungood code Let’s say you’re a clerk working for an Orwellian Ministry of Truth and you find out the new chocolate [...]

    And now, for something completely different

    Tuesday, January 17th, 2012

    Probably only relevant to a limited portion of my audience, but Silicon Valley Ryan Gosling is awesome. I have never seen anything like and I’m not sure what the point is, but I know I’m a fan. Go forth and be sexy and supportive for the female programmers you know.

    More PHP Internals: References

    Wednesday, September 7th, 2011

    By request, a quick post on using PHP references in extensions. To start, here’s an example of references in PHP we’ll be translating into C: <?php   // just for displaying output function display($x) { echo "x is $x\n"; }   // pass in an argument by making a copy of it function not_by_ref($arg) { [...]

    kristina chodorow's blog