Monthly Archives: October 2013

Why I Plan to Ditch Ubuntu

Throughout the years I’ve used Slackware, Debian, Red Hat, Debian again, Ubuntu, Linux Mint and Ubuntu again. Except for that brief stint with Linux Mint, Ubuntu has been my distribution of choice since Feisty Fawn but lately I’ve been thinking about ditching it. Canonical has made a number of terrible decisions that have damaged Ubuntu’s value. In this post, I’m going to go over the issues I have with Ubuntu. Continue reading

WTF ECMA?

Ok, so apparently the following is valid JavaScript:

var undefined = "blah";

Yes, you’ve read that right. What I’m doing there is redefining the undefined symbol to “blah”.

I learned from Angus Croll that this is something ECMA added to ECMA 3. Presumably, in earlier versions you could not do something as pants-on-head stupid as this but someone someone thought that adding this capability would be an improvement. How did that work exactly? “Hey! JavaScript is not sucky enough. Let’s allow undefined to be redefined to arbitrary values.”

Here’s how an intelligently designed language handles this kind of nonsense:

$ python
Python 2.7.4 (default, Jul  5 2013, 08:21:57) 
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> None = "blah"
  File "", line 1
SyntaxError: cannot assign to None
>>>

Angus points out that ECMA 5 disallows assignments to undefined so I guess one of the ECMA luminaries had an epiphany.