Archive for March 12, 2014

Wednesday, March 12, 2014



Objective-Smalltalk is an evolution of Smalltalk based on the Objective-C runtime.

It adds angle brackets for type annotations, both for optional static type checking and to designate C types such as <int> or <double> for interoperating with C and Objective-C. Generic raw pointers are not supported, wrapper objects and bulk collections are preferred.

The other syntactic addition to Smalltalk is that identifiers are generalized to URIs. This addresses interoperability with the Unix filesystem and Web Resources, as well as subsuming Objective-C properties and Keyed Value Coding and making keyed storage such as dictionaries much less necessary and visible.


Objective-Smalltalk is built on top of the Objective-C runtime, as a peer to Objective-C, and uses the host platform’s C ABI and calling conventions, thus being fully integrated (e.g. callable) from other peers on the platform. It does not require a VM or an image.

Marcel Weiher:

While Objective-Smalltalk would not require shipping source code with your applications, due to the native compiler, it would certainly allow it, and in fact my own BookLightning imposition program has been shipping with part of its Objective-Smalltalk source hidden its Resources folder for about a decade or so.


Open Source should be more about being able to tinker with well-made apps in useful ways, rather than downloading and compiling gargantuan and incomprehensible tarballs of C/C++ code.

He also has some interesting comments on Hacker News.

Lots of good ideas here. I think a runtime-compatible Objective-C–without-the-C is where we are headed. But, and I hate to say this, I’ve never liked Smalltalk syntax. I like the way Smalltalk works, and I like the Objective-C bracket syntax, but to my eyes Smalltalk has too many spaces to be easily readable. I feel like I am forever parsing it and mentally inserting parens.

Third-Party Add-ons for Google Docs

Rachel King (via Hacker News):

The tools and APIs for add-ons are available to everyone. The Google Apps team only steps in ahead of final publication to the store.

From there, developers can submit working prototypes of add-ons to Google Apps for admission. At launch, Google has 25 add-on partners. Add-ons will do everything from print labels to customize emails. For instance, PandaDoc is an add-on that allows you to create legally binding documents with digital signatures, notations and other features.

Saurabh Gupta:

You use Google Docs and Sheets to get all sorts of stuff done—whether you’re staying up late to finish that final paper or just getting started on a new project at the office. But to help take some of that work off your shoulders, today we’re launching add-ons—new tools created by developer partners that give you even more features in your documents and spreadsheets.

Dan Lazin:

Docs and Sheets add-ons are powered by Google Apps Script, a server-side JavaScript platform that requires zero setup.

It seems odd that we’re now at the point where Web apps are more customizable than desktop ones.



Pono’s mission is to provide the best possible listening experience of your favorite music. We want to be very clear that PonoMusic is not a new audio file format or standard. PonoMusic is an end-to-end ecosystem for music lovers to get access to and enjoy their favorite music exactly as the artist created it, at the recording resolution they chose in the studio. We offer PonoMusic customers the highest resolution digital music available.

Dave Mark:

To me, the Pono (pronounced Poe-No) Player looks funky and old-school, as if someone built it from spare parts taken from older devices. But it’s all about the music, right? Given what the critics are saying, I don’t see the win here against existing standards. But I would wager that all that criticism is paper analysis and does not come from hearing the Pono Player itself.


There is a reason why every iPod and iPhone has been a flat device. So it can fit in your pocket! So Pono decided to make their new music player a triangle shape.

Kirk McElhearn:

They’re making their calculations based on compressed MP3 files (using 256 kbps) and uncompressed high-resolution files. All of the 24/96 files I have in my iTunes library come in at about 2,000 – 3,000 kbps, because they are compressed, as are the FLAC files that are mentioned above. That’s about half the actual bit rate, because FLAC compresses about 50%. But if the Pono people quote uncompressed bit rates, yet still say these are FLAC files, they’re simply lying. (For example, 1411 kbps is the bit rate of uncompressed CD quality files, in either WAV or AIFF format, not in FLAC format as the Pono FAQ says.)

I agree with the Pono folks that we now have the technology to provide a much better listening experience. However, in my view the bulk of the problem is not the quality of 256 kbps AAC. It’s the loudness war that causes those files to be mastered poorly. Remaster the compressed files with more dynamic range, and they would sound much better. Create high-resolution FLAC files with the same bad process, and they would still sound bad.

Update (2014-03-13): Kirk McElhearn:

However, if someone really wants to provide “music as it was intended to be heard,” they’d do a lot better to look at the mastering process that’s been destroying music in recent decades. Colloquially known as “the loudness wars,” music producers, prodded by record labels, use dynamic compression to increase the overall volume of music, making it sound horrendous. Since, in general, louder sounds better, or brighter, when you compare two songs, producers have been cranking up the volume to make their songs stand out. But string together an albums worth of overly loud tracks, and it’s fatiguing. But it’s a war of attrition, and our ears are the losers. No high-resolution files will make this music sound better, ever.

Update (2014-08-24): Kirk McElhearn:

This Guardian article reads like an advertorial. Lazy journalists didn’t want to take the time to examine the questions around high-resolution music files objectively, so they got a company who sells the product they’re reporting on, and pimped that company’s products[…]