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%.
Measure. Don't tune for speed until you've measured, and even then don't unless one part of the code overwhelms the rest.
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
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
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:
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) if our business or assets …
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 distribution …read more
I use Alfred 2 a lot on OS X in order to get things done. It doesn't completely change how I use the operating system, but it comes close. However, one of my pet peeves about it has always been that the built-in calculator is pretty terrible (even with the "advanced" equals-sign calculator). I realized this morning that I could fix this, and, lo, the dc alfred workflow was born.
It just takes its input and runs it through the
dc command-line utility, giving you a fully-programmable
RPN calculator. It's not quite as great as PCalc, but it's just a …