Archive for September 6, 2013

Friday, September 6, 2013

Rewriting a Large Production System in Go

Matt Welsh:

My whole attitude changed when Michael Piatek (one of the star engineers in the group) sent me an initial cut at the core system rewrite in Go, the result of less than a week’s work. Unlike the original C++ based system, I could actually read the code, even though I didn’t know Go (yet). The #1 benefit we get from Go is the lightweight concurrency provided by goroutines. Instead of a messy chain of dozens of asynchronous callbacks spread over tens of source files, the core logic of the system fits in a couple hundred lines of code, all in the same file. You just read it from top to bottom, and it makes sense.

An Upgrade Is a New App

My conclusion in In The Gatekeeper and the Keymaster was that Apple doesn’t plan to offer upgrade pricing in the Mac App Store. Rich Siegel says Apple advises making version 2 a separate app. If that’s the case, Apple should focus on making that model smoother. Right now, unless you offer free updates forever, you eventually have to remove version 1 from the store and add version 2. The user experience for this is terrible. If the store and the OS understood that this is what was happening, there’s so much that it could do to make the process smoother. TUAW commenter chrismcs has a great list of some of the issues.

Intermission 1.0

Intermission, a cool new app from Rogue Amoeba:

Intermission lets you pause and rewind live audio on you computer. Streaming audio will never be the same!

With Intermission, you can jump back and replay something you missed, then resume live playback. Use it to pause any audio while you take a call, answer the door, or use the restroom. You can even pause streaming audio on services like Pandora, iTunes Radio, or Spotify to build a buffer, then skip right past the ads and songs you don't want to hear!