A few weeks ago I asked people a question on Twitter:

I got many interesting responses, but one of them asked if I had any recommendations for books on compilers.

Oh gosh. Books? Books about computer science? I’m actually not very well-read: while I’ve been programming since I was a kid, I “only” have an undergraduate formal education. That means the set of books I’ve read about CS is rather haphazard. But I suppose I do have a few things that come to mind.

Nibblesort: Adventures in Optimization

A few months ago compiler researcher John Regehr held a low-level optimization contest for a silly problem: sort the nibbles in an arbitrary 64-bit number:

The problem is to sort the 4-bit pieces of a 64-bit word with (unsigned) smaller values towards the small end of the word. The nibble sort of 0xbadbeef is 0xfeedbba000000000. The function you implement will perform this sorting operation on a buffer of 1024 64-bit integers.

AlterConf SF/Oakland

A few weeks ago I attended AlterConf SF/Oakland, a conference focusing on diversity-related issues in the tech industry. The dozen or so talks were extremely varied both in topics and in style, but nearly all of them had a story.

I should note that I am a non-marginalized developer and a person with a lot of privilege, including being white, cis, and male. These are not my stories and not issues I have to struggle with on a day-to-day basis, and therefore my interpretation and commentary may have large holes or something dangerously wrong. Nevertheless, these are my impressions and opinions, and I both support every speaker being able to have a voice and agreed with nearly all of them.

Older Posts

  1. 2015-01-24 “Skip the FFI”
  2. 2012-12-08 How to Write a Checker in 24 Hours
  3. 2012-10-02 Git Tricks
  4. 2012-05-16 Big News
  5. 2012-04-26 Keyboard Adventures
  6. 2012-04-10 Mail Aliases
  7. 2011-08-14 Header Anchors: A Safari Extension
  8. 2011-08-10 "Little Big Details"
  9. 2011-07-29 Weak Linking
  10. 2011-07-25 Using Clang from SVN in Xcode
  11. 2011-07-22 rm vs. Time Machine
  12. 2011-07-14 Priorities
  13. 2011-06-30 Quick Look in TextMate
  14. 2011-06-27 git add
  15. 2011-06-20 Automatic Reference Counting
  16. 2011-06-16 Dealing with "Sandwich Code"
  17. 2011-06-05 gdba
  18. 2011-06-03 Chrome vs. Safari
  19. 2011-05-31 User-Side Troubleshooting
  20. 2011-05-30 Auspicious Continuation
  21. 2009-07-22 Scripting Bridge
  22. 2009-07-08 What Happened to Dockyard?
  23. 2009-06-26 Garbage Collectors and Stack Drawers
  24. 2009-06-21 Z shell
  25. 2009-05-22 “Several New Features”
  26. 2009-05-06 C++ Templates are Turing-Complete
  27. 2009-04-21 [Meme] How Many HTML Elements Can You Name in 5 Minutes?
  28. 2009-04-16 Safer Plugin Categories
  29. 2009-04-02 Hacking Safari 4...for Great Convenience
  30. 2009-03-27 Const Correctness
  31. 2009-03-19 Categories and +load
  32. 2009-03-15 Subversion Checksum Problems
  33. 2009-03-06 JavaScript Tetris
  34. 2008-09-04 Objective-J and Objective-C
  35. 2008-08-28 HTTPS and Name-based Virtual Hosting
  36. 2008-03-08 Alerts Without Apps (or nibs)
  37. 2008-01-14 NSNumber, CFNumber, and CFBoolean
  38. 2007-12-13 GenericToolbar and IB3
  39. 2007-10-27 Performance Optimization: Why We Can't Use valueForKeyPath:
  40. 2007-09-01 Short Xcode Tip: Plugins
  41. 2007-07-15 Port 25 Blocked?
  42. 2007-06-27 GenericToolbar Icon
  43. 2007-04-14 The Symbolism of Pretty URLS
  44. 2007-03-07 Flexible PHP
  45. 2007-01-12 Inauspicious Beginnings