FAQ of the Day

From Dar.fm’s FAQ:

Q: Wait – is it $39.95/year or $40/year?
A: Officially it’s $39.95 because some MBA student showed us a spreadsheet explaining how there are people out there who if they see “$40” will say, “No way – that’s much too expensive!” But if they see $39.95 they’ll round down to $30 and think “Man, that’s barely more than a Starbucks coffee, what a great deal!” and then type their credit card into the system. We think he’s crazy but his Dad put some money into the company so we’re humoring him.

Actually looks like a cool service, and something I’ve pondered writing myself for years. Might need to sign up.

Emacs Tip: Make CSS mode sane

The default CSS mode in emacs does very funny things with indentation if you like leaving the brace on the same line as the definition. As with everything in emacs, this is fixable with a few lines of config. In this case:

 ;;; Fixes totally weird default css formatting.
 (require 'css-mode)
 (setq cssm-indent-level 4)
 (setq cssm-newline-before-closing-bracket t)
 (setq cssm-indent-function #'cssm-c-style-indenter)
 (setq cssm-mirror-mode t)

I can’t remember where I found this on the internet, but here it is, repeated again, so more folks can find it.

Ubuntu upgrade: solving the unresolvable package issue

I’m doing my 3rd and 4th upgrade of machines to Ubuntu 11.10 today. The early results on my laptop have been very good (Unity seems way less crashy now), so I’m upgrading a number of other systems I’ve got.

When first trying to upgrade my home server, which has gone through a series of upgrades, I got an error like this about not being able to resolve some packages for upgrade:

E:Error, pkgProblemResolver::Resolve


It turns out that one of my past upgrades probably wasn’t done cleanly, so there were some really old packages on this system. The upgrade logs will be stored in /var/log/dist-upgrade/main.log. In that file, you’ll find an analysis of your packages that will include references to “Foreign” and “Obsolete” packages that were found.

Take the list of everything in Obsolete and run “aptitude remove” on them. As soon as it is done you can kick off the upgrade again, and all will be good.


They said it couldn’t be done, and he did it

From a great post about Dennis Ritchie, that puts the magnitude of his contribution in perspective:

… A high-level, portable, efficient systems programming language.

How silly. Everyone knew it couldn’t be done.

C is a poster child for why it’s essential to keep those people who know a thing can’t be done from bothering the people who are doing it. (And keep them out of the way while the same inventors, being anything but lazy and always in search of new problems to conquer, go on to use the world’s first portable and efficient programming language to build the world’s first portable operating system, not knowing that was impossible too.)


RIP Dennis Ritchie

The man that invented the C programming language and co-invented UNIX, has passed. When you think about impacts of individuals on the world, it’s hard to find people that had quite the same impact.

C issued in the era of portable computer programs, ones that could compile on multiple types of servers, which was really a new concept at the time. UNIX issued in the era of network connected servers, using commodity protocols. Without UNIX the ARPANET project, which became the internet, would not have succeeded.