A superior Linux experience with Awesome

Awesome actually lives up to its name. Short and sweet, here’s why you should try it:

  • It’s instantaneous. Always.
  • Exactly one word which is confusing to newbies: “Tags”, collections of windows, marked on top of the screen with numbers 1 through 9. Think of them as Delicious/Flickr/Twitter tags for your windows, because that’s exactly what they are. These are central to the genius of Awesome.
  • Automatically resizes windows to fit the screen without overlap. This is a truly powerful little time saver.
  • Intuitive keyboard shortcuts:
    • Windows + f to toggle fullscreen.
    • Windows + m to toggle maximize.
    • Windows + number to show only that tag number.
    • Windows + Left and Windows + Right to switch tags. And yes, it rolls around.
    • Windows + Enter to run a command.
    • Many more for those who want to use the keyboard.
  • Intuitive mouse controls:
    • Left click a tag to show the windows with that tag.
    • Right click a tag to toggle a tag. This means that in a single click you can show or hide the browser window when working with your editor.
    • Windows + left click on a tag to move the current window there.
    • Windows + right click on a tag to add/remove the current window there.
    • Windows + left click and drag to move windows.
    • Windows + right click and drag to resize windows. This is extra cool with many windows, since they all resize at the same time.
  • One set of tags per monitor. Of course you can drag windows between them.

Even so, as a beginner a few tricks are worth keeping in mind:

  • Configuration:
    • Lua code means enormous flexibility, but can be daunting if you’re not a programmer. However, Lua is relatively easy to learn.
    • Verify your changes work by running awesome --check before restarting Awesome. Don’t worry, if it doesn’t work you’ll just get the default configuration (unless you created an infinite loop :).
    • You don’t have to log out to try a new configuration; simply press Windows + Ctrl + r.
    • The wiki has lots of tips and tricks.
    • The evolution of a working configuration can be instructive (even if it’s from a newbie).
  • The keyboard and mouse buttons have unfamiliar names in the documentation, for historical and technical reasons. A glossary:
    • Button1 = Left mouse
    • Button2 = Right mouse
    • Button3 = Middle mouse
    • Mod4 = Windows

Review: Liars and Outliers by Bruce Schneier

tl;dr An enormously important book about understanding and optimizing security in the 21st century.

On the Internet, nobody knows you’re a dog. I don’t know Bruce Schneier, and he certainly doesn’t know me. Even so, when he announced a heavily discounted signed edition of Liars and Outliers he was effectively testing the main hypothesis of the book: That in any society it is reasonable to uphold a non-zero level of trust even in complete strangers:

  • Schneier trusted 100 (or at least many enough to make a net gain) random strangers to reciprocate the offer by writing and publishing a review of the book.
  • 100 random people trusted him to sign copies of the book and send it to the correct addresses upon receipt of the money.
  • All 101 of us trusted essentially the rest of the human race not to interfere in the transaction, even when interference could mean easy money with virtually no chance of retribution.

Schneier goes on to explain, with his famous lucidity and reference to much contemporary research, why this trust is essential to all human interchange, how trustworthiness is highly dependent on the situation and not just the person, how a society with 100% conformity is not just a terrible goal but literally impossible, the human and artificial pressures to cooperate or not, how more severe punishments are often ineffective or even counter-effective, and how social and technological evolution is too fast for democracy to stabilize the overall level of trust.

[At this point I wanted to double-check the scribbled-down criticisms below, but the book is 3,000 km away with a nephew. Please take the following with a grain of salt. And now that I’ve lowered your expectations, let’s continue!]

In some very few places I found the wording misleading. For example, the iTunes store doesn’t allow you to buy music, merely to license it for your personal use. As far as I understand from what very little I’ve read of this, when iTunes shuts down, there are many jurisdictions where you would not be allowed to download songs which are audibly indistinguishable from what you had paid for.

The graphs are generally informative, but sometimes confusing. For example (pages 72-73):

  • Traits/Tendencies and natural defenses are both in the social pressures box, while the text says neither is a social pressure.
  • There’s an incentives line and a separate box.
  • Why are some of the lines double? If they’re strong, a thick line would be clearer.

One note is terrifying: On average, 7% of terrorists’ policy objectives are achieved? What method could conceivably be considered more effective than 7% for a (usually) tiny group of what is often foreigners? Compare it to normal bureaucratic channels, where usually only billionaire citizens or corporations have the slightest chance to change policy within a reasonable time.

Conclusion: I wish this had been compulsory reading at high school. With entertaining anecdotes, scary implications of human nature, and scientifically grounded careful optimism it’s the most dangerous book everyone should read.

Social contract – Fulfilled!

Ubuntu Unity 3D first impressions

Today, for the first time ever, one of my computers was able to start Ubuntu Unity “standard.” I guess it had to happen sometime – I only had to try 11.04, 11.10 and 12.04, with open source and AMD proprietary drivers, on four different computers before the magic happened and I actually got a functional desktop (that is, not just garbage graphics, crashes back to the login screen or a crash so bad even the Magic SysRq key sequence didn’t work). I’ve no idea what they just updated to fix it, but let’s see what’s in the box…

Useful features:

  • Quick access to frequently used applications. Nice. Welcome to the 20th century.
  • The top panel. Straight out of GNOME.
  • Login screen with WM selector. Awesome!

Annoying features which I could fix/disable:

Annoying features which have no obvious way to disable them:

  • One keyboard click and two mouse clicks (with mystery meat navigation) to get to a list of all installed software.
  • No categorized list of installed software.
  • The format of the displayed date/time. One solution worked only halfway – It enabled display in my home country format, but not a custom format.
  • Top panel duplicated on every screen. I just want one main screen, please. No wasted space. According to one source this will not be fixed in 12.04.
  • Names for applications on the launcher.
  • Special folders which I never ever use, like ~/Desktop.
  • Really bad aliasing when showing application windows next to each other. Open up two windows of any app, then click on the icon in the launcher to see the result.
  • The Workspaces and media shortcuts in the launcher.
  • Minimize, maximize and close window buttons done even worse than OS X. OK, so you got the big hitboxes, tiny icons and ridiculous proximity, but making them visually almost completely indistinguishable (at least for a background window) was a stroke of … Oh, forget it. It’s too easy a target.

In summary, thank you from the bottom of my heart for making the first really user friendly and simple to configure desktop Linux (Ubuntu 8 through 10), and please, please, please, get your act together on this Unity monstrosity. Can’t you see it’s not even close to the usability of KDE or GNOME? Maybe those aren’t “cool” anymore, but Unity is just bad. Well, Unity 2D is stable and gets the job done, but the 3D one should be labeled “bleeding edge.” I get the feeling complaints like this are rejected as signs that users are shy of change, but does anyone need to be reminded of the practically universally approved Compiz and GNOME 2, even though both introduced massive changes?