Gimp is now a native Mac app (no X11 needed)

The free image editing program Gimp has been available on Mac OS X for a while. But you always needed to install the X11 window environment to run it. That has changed: It can now be donwloaded as a native application. Tips:


The Zen of Python

The “Zen of Python” is a mini style guide for Python code that is also interesting if you don’t program Python. Its abstract reads:
Long time Pythoneer Tim Peters succinctly channels the BDFL's [Benevolent Dictator For Life, a nickname of Python creator Guido van Rossum] guiding principles for Python's design into 20 aphorisms, only 19 of which have been written down.


Firefox 15 tip: enable the built-in PDF viewer

Firefox 15 has been released. It comes with a built-in PDF viewer that is written in pure JavaScript (no plugins!) whose name is “pdf.js” [1].


What object is not an instance of Object?

Question: What object is not an instance of Object? Or, put differently: What value v makes the following three expressions true?
    typeof v === "object"
    v !== null
    !(v instanceof Object)


A guide to 2ality’s posts on the JavaScript language

This blog post gives an overview of the 2ality posts on language aspects of JavaScript. All of those posts have the label jslang. Consult the sitemap for a list of all guides.


A shirt that cools better than sweat

It is difficult to cool the body better than sweat (without involving a machine). Quoting “The First Shirt That Lowers Your Body Temperature” (by Berne Broudy for Popular Science):


Reload a web browser when a file changes (Node.js, Grunt, Mac)

2012-08-24: JSReload now also supports Chrome/Mac.

This blog post explains how to use Node.js to reload a tab in Safari whenever a file changes. Alas, this solution only works on a Mac, because it relies on AppleScript to remotely control Safari. You can download it as project JSReload on GitHub.


Chrome: click to play Flash

This blog post explains how to switch on “click to play” for Flash content in Chrome.


Distributed social networks, an alternative to Facebook and Twitter

Are you looking for an alternative to Facebook and Twitter? Do you think they should work more like email, with multiple servers, multiple apps, and the ability to move and back up your content? Then distributed social networks may interest you.


DOM: element IDs are global variables

Several tweets mentioned that in order to display an element in Chrome’s JavaScript console, you only have to type its ID. @johnjbarton pointed out that that is because all element IDs are global variables. This blog post explains a few more details.


A closer look at _.extend and copying properties

Underscore.js is a useful complement to JavaScript’s sparse standard library. This blog post takes a closer look at its extend function. Along the way, it will give a detailed explanation of how to best copy properties in JavaScript. This post requires basic knowledge of JavaScript inheritance and prototype chains (which you can brush up on at [1]), but should be mostly self-explanatory.


Get notifications of updated 2ality content via email

Let’s give this thing another try. While there was very little demand for a weekly email newsletter with 2ality’s content, I think a variant of it might make sense. If you follow this blog via a feed (RSS, Atom) then you don’t get notifications when existing content is changed (as you would via Twitter or Google+). That changes with the new “2ality updates” mailing list: expect 0-5 emails per month, notifying you of such occurrences. Subscribe here if you are interested.

Thank you for your attention,


Twitter’s future: cards

This blog post describes how Twitter sees its future: richer tweet content via “cards” and no more third-party clients.


Properties in JavaScript: definition versus assignment

Did you know that defining a property is not the same as assigning to it? This blog post explains the difference and its consequences. It has been triggered by an email from Allen Wirfs-Brock on the es-discuss mailing list.


Mars Science Laboratory – interesting links

“Curiosity” is the name of the Mars rover that landed successfully today. “Mars Science Laboratory” (MSL) is the mission name and describes what the rover is: A car-sized mobile lab. NASA launched the MSL spacecraft from Cape Canaveral, Florida, on Nov. 26, 2011. That is, it took Curiosity over 8 months to land on Mars. Here are a few links with more information on Curiosity:


ECMAScript.next: TC39’s July 2012 meeting

TC39 (Technical Committee 39) works on the upcoming ECMAScript.next [1] standard. They have several meetings per year and in July, there was another one. This blog post summarizes the most important decisions. It is based on the following minutes by Rick Waldron:


Newspapers: more money from subscribers, less from ads

The newspaper landscape has been changing for quite a while: Print subscriptions decline and while digital subscriptions increase, newspapers compete with free content on the web. One interesting recent development is that newspapers are increasingly funded by subscribers and less by ads.