Beating the Compiler

Posted Sat 28 February 2015 14:33 under category programming

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.

— Donald Knuth

Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.

— Rob Pike

We spend a lot of our time in the modern, web services-driven technology industry ignoring performance issues. What's the point of micro-optimizing a 3ms function call when each request spends 8 or 9 seconds inside the SQLAlchemy ORM? Well, sometimes it's nice to practice those optimizion skills anyway, and today I'm going to walk you through micro-optimizing a simple problem and we'll see just how much better we can do than a naive solution... even though we probably normally shouldn't.

read more

"DevOps" is a dumb word

Posted Wed 25 February 2015 08:37 under category tech

Until recently1, my job was to synthesize a deep understanding of operating systems, networking, system administration, and my company's application and to use that synthesis to fix our existing systems and design better ones. A lot of folks in the technology industry (particularly in the bubble of Greater San Francisco) use the word "DevOps" when putting out job postings for roughly those tasks, and I just wanted to briefly write about why this word is somewhere between inaccurate and offensive and why you shouldn't use it.

read more

some old hardware

Posted Sun 28 September 2014 14:42 under category tech

My fiancée persuaded me to go through my drawer of old electronics and I thought I'd post a picture of some of the (working) portable computers that we went through today:

Included:

  • Apple Newton MessagePad 2100
  • Apple iPhone 3G
  • Nokia 770 (running Internet Tablet OS 2006)
  • Sony Cliè PEG NX-80V
  • Handspring Visor Edge
  • HP TouchPad

Combined, they might have as much computing power as the iPhone 6 I recently acquired. Probably not, though. It certainly is interesting to look at what has and hasn't changed over the last 20 years.

Also poked at today (but not pictured)

  • Toshiba ...
read more

iPhone 6

Posted Fri 19 September 2014 19:38 under category tech

iPhone 6

Hello friends. As you may remember from a few years ago, I am an iPhone user. Like several million of you, I decided to upgrade to the iPhone 6 this year. I thought I'd share some really brief impressions:

  • The 6 is gigantic. I have no idea how anyone is using the 6+. The photo above shows my 5s (which was already quite large) looking dwarfed by the 6. It still doesn't have anything on the iPad, though.
  • The curved edges of the front really do feel a lot better for the forward/backward swipe gestures in iOS ...
read more

Thoughts on the Moves Privacy Policy

Posted Mon 05 May 2014 11:07 under category tech

For a while, I've been using the Moves app for iOS. It's a little application that uses the accelerometer and GPS data from your phone to tell you where you've been and how many steps you've taken and so on and so forth. I've been using it in no small part because of their strong third-party privacy policy, which said:

We do not disclose an individual user’s data to third parties unless (1) you have given explicit consent to each such disclosure, (2) we are required to comply with a legal obligation or (3 ...

read more

TeX is Huge

Posted Tue 15 April 2014 10:47 under category tech

I was installing MacTeX on my MacBook Pro today and had an amusing realization. First, some background: for those of you who don't know, TeX is a phenomenal family of typesetting programs originally written in 1978 by two of the giants of 20th Century computer science, Don Knuth and Guy Steele. Most people now use it in conjunction with a slightly more modern set of extensions called LaTeX released in 1981 or so. I used TeX/LaTeX to typeset several thousand pages of homework and other assignments in college.

Now, in early 2014, the download for the OS X ...

read more