Archive for December 12, 2014

Friday, December 12, 2014

CodeRunner 2

CodeRunner 2 has better syntax coloring and code completion, among lots of other improvements (via Gabe Weatherhead):

If you have purchased CodeRunner on the Mac App Store, you can choose to pay if you want, or you can get a copy of CodeRunner 2 for free. To get a free license, make sure you have the Mac App Store version on your computer before downloading CodeRunner 2. Then simply download CodeRunner 2 and follow the instructions in the licensing window. Don’t replace your Mac App Store copy of until after you’ve migrated.

Because of new Mac App Store restrictions, CodeRunner 2 is currently only available outside of the Mac App Store.

Drive Genius 4

Prosoft Engineering:

Get faster performance from your Mac while also protecting it with Drive Genius 4. The award-winning and improved DrivePulse® feature alerts you to hard drive issues before they become major problems. Optimized for OS X Yosemite, top features like Defrag and DriveSlim® will help keep your Mac running fast. The all-new BootWell™ tool lets you create a special bootable secondary drive to Defrag or Repair your main hard drive. You can also personalize and organize your Mac hard drive icons with IconGenius™.

The best new feature I see is that you can now run tools simultaneously on multiple drives—important because, with today’s drive sizes, simply checking for bad blocks can take more than a day. MacUpdate has a more complete list of the changes.

Papers, Please and App Content Ratings

John Gruber:

This case highlights the way Apple holds games (and apps in general) to a different standard than other iTunes content. Movies, music, and books are not held to the same PG-13-ish standards that apps are. I can buy A Clockwork Orange from iTunes, but if I made a game that showed the exact same things that are depicted in that film, it’d have little chance of being approved. Conversely, an R-rated movie version of Papers Please could depict this scene without a hitch when it comes to iTunes.

This has never made much sense to me. Apple has a more extensive system for rating the content of apps than it does for movies. And all apps must have ratings and be reviewed by Apple, whereas some movies are not rated at all. Yet, even with age-appropriate ratings, there are some types of app content that won’t be accepted at all.

Lucas Pope:

Just talked to Apple. The initial rejection for porn was a misunderstanding on their part. They suggested I resubmit with the nudity option.

Tearing Down Swift’s Optional Pyramid of Doom

Colin Eberhardt:

With Swift, pyramids become an issue when you have to unwrap multiple optional values before performing some logic […] In the above code, the println statement will only be executed if all three of the optional variable a, b, and c are non nil. The more optionals your code relies on, the deeper the nesting becomes.


It is actually quite a straightforward task to move the nested if-let statements into a utility function, where a given function is only invoked if all the optional parameters are non nil […] The above function unwraps the optional parameters and invokes the given function with the unwrapped results. Notice that the unwrapped variables have the same name, and shadow, the optional parameters, a naming convention proposed by Sam Davies, which I quite like.

This is still less than ideal, though, because now your code is running inside of an anonymous function. You can’t, for example, return out of the original scope. This is an example of where it would be helpful if Swift had macros, although I think this particular use case is important enough that the language should have a built-in syntax.

Update (2014-12-13): Tim Schmitz:

I think it's worth making some tweaks to how optional unwrapping works, and I have two suggestions.

Building Google Maps

Greg Miller (via John Gordon):

On a recent visit to Mountain View, I got a peek at how the Google Maps team assembles their maps and refines them with a combination of algorithms and meticulous manual labor—an effort they call Ground Truth. The project launched in 2008, but it was mostly kept under wraps until just a couple years ago. It continues to grow, now covering 51 countries, and algorithms are playing a bigger role in extracting information from satellite, aerial, and Street View imagery.


And as the data collected by Street View grew, the team saw that it was good for more than just spot-checking their data, says Manik Gupta, group product manager for Google Maps. Street View cars have now driven more than 7 million miles, including 99 percent of the public roads in the U.S. “It’s actually allowing us to algorithmically build up new data layers from information we’ve extracted,” Gupta said.


Yet satellites and algorithms only get you so far. Google employs a small army of human operators (they won’t say exactly how many) to manually check and correct the maps using an in-house program called Atlas. Few people outside the company have seen it in use, but one of the most prolific operators on the map team, Nick Volmar, demonstrated the program during my visit. (There’s also a fascinating demo in this video from Google’s 2013 developers conference).

Twitter Clients in 2014

Federico Viticci:

But 2014 Twitter is bigger than Twitterrific and Tweetbot. Today’s Twitter goes beyond text and a traditional display of the timeline – it encompasses native photos (and soon videos), interactive previews, advanced recommendation algorithms, photo tagging features, and a fully indexed search. I didn’t know how much I would come to rely on Twitter’s new features until I started using the official app and now, in spite of design details and advanced functionalities that I still prefer in third-party clients, I don’t feel like I want to switch back.

And that’s because the basic Twitter experience in 2014 is different. Twitter is split in Legacy Twitter and Modern Twitter, and it increasingly seems like users and developers of classic clients will have to stay in the past of the service. Perfectly functional (for now), beautiful in their delightful touches, but ultimately limited.

I’m perfectly happy using Legacy Twitter.

Why Digital Cameras Have a 30-Minute Video Recording Limit

Norman Chan (via John Gordon):

Back in 2006, the EU controversially decided to classify high-end digital cameras as video recorders, which attached a customs duty of 5-12% for digital cameras imported into Europe. The classification was decided not just based on digital cameras’ improving abilities to record video through its lens and sensor, but their ability to record direct input from external sources like televisions. A home video recorder tax would theoretically offset money lost from users recording movies off broadcast television or cable onto digital devices, though the EU has never been very clear on the tax’s intent. The tax’s consequence, though, has been felt in every digital camera user looking to use a DSLR in place of a camcorder, as camera manufactures would rather limit recording capability in software than raise the price of its cameras (or lower their margins).