A picture for users of lesser OSs
All in all, GNU/Linuxes are pretty mundane operating systems. There is nothing too fancy about them - It's more or less a collection of operating systems good ideas (Andrew Tanenbaum will never read this, fortunately), rolled out as a kernel (Linux itself), with a very polished userland (GNU, plus other programs that particular distros select) on top of it.
Its roots date back to the 70s, to Unix - it was made to its image. Current versions of both are quite similar and a Linux user will be pretty much at home on OSX, BSD, Solaris or AIX.
But those 70's ideas do not mean Linux is an old-fashined OS that brought nothing new to the world of operating systems.
One of the nicest things GNU/Linux introduced is comprehensive software package dependency and update management. With it, if you want to install a program, you can pick it from a list and, like by magic, all libraries, resources and everything else the program depends, plus the program itself, are installed. No need to browse the web after an installer, no need to run programs as a super-user, nothing. Everything quick and simple. And then, when the time comes a new version of something in your computer becomes available, the machine warns you and prompts you to install it, regardless of where it came from, as long as its publisher is registered with the software management system (like the Chrome browser and the VirtualBox VM tools in the picture you see, as well as Skype, which you don't see in the picture because mine is up-to-date). Software components are neatly divided in packages that depend on each other. Need a DVD burner? Codecs will be downloaded with it.
And then, when something becomes unnecessary or obsolete, the machine offers to delete it and conserve disk space.
Other operating systems attempt to accomplish the same with a variety of tools, but none, perhaps with the exception of OpenSolaris (because they hired the guy who designed Debian's package management), has anything that comes even close.
Cool, isn't it?
An Emacs cheatsheet as a mindmap
I have been using Emacs for some time now. It has a very steep learning curve, but its power and elegance make it my editor of choice for just about everything. So, inspired by this article, I decided to create my own Emacs cheatsheet. There are many Emacs cheatsheets, but all of them use a tabular format that is not, in my noob opinion, the best way to convey such information: you can interpret the Emacs commands as a tree-like keystroke structure and many important commands use two or more steps.
I started a mind-map for the keystroke trees with the commands I use the most (and some of the ones I find the most amusing). The plan is to make a navigable cheat sheet like the Mercurial and Git ones you can get here and here, plus some tips on what to add to your ~/emacs.d/init.el file.
You can get the very, very early version of the mind-map (in Freemind format) here or just look into the image that follows.
All the heavy magic is also missing, like the "smart paste" Marco Baringer does about 1:45 into the What is Ajax screencast that relates to the David Crane's Ajax in Action book (that I still don't know how is done).
I would appreciate any advice from Emacs veterans and newbies alike, so, feel free to comment.
Gente Interessante
Os desajustados e revolucionários felizes e produtivos que dão o colorido ao ecossistema do software livre
Vendor Lock-In
Vendor lock-in é uma prática que torna o cliente dependente dos produtos de um determinado fornecedor. Apesar de repreensível, é uma prática comum em que o fornecedor torna os clientes "reféns" obrigando-os a comprar novas versões do seu produto ou arcar com substanciais custos para migrar seus dados e processos. Funciona tanto com software, quando ele mantém dados em formatos proprietários, como hardware, quando usa interfaces específicas de um fabricante (a IBM foi mestra dísso por décadas).