Linked List: April 2014

Cézanne in the Studio Still Life in Watercolors

One of 250 PDF books freely downloadable from the Getty Museum. The Metropolitan Museum of Art also has free books online. Via Emily Donegan.

Starship Enterprise Computer Getting Closer

Parsing English with 500 lines of Python.

SSH Kung Fu

Public-Key Cryptography

This is kind of a prerequisite for supercharging ssh usage. It’s a pretty straightforward concept:

  • Generate a public key and private key. The private key can prove ownership of a public key
  • Place the public key on any servers you need to log in to
  • No more password prompts

Sound good? Let’s do it:

$ ssh-keygen -t rsa
$ cat ~/.ssh/
... your public key here ...

Paste that into the ~/.ssh/authorized_keys file of any server account you need to log in to, then any subsequent

$ ssh user@host

Will be automatic. Now you’re prepared to really make ssh useful.

And the lightweight proxy trick is great.

See also: SSH Tunnel - Local and Remote Port Forwarding Explained With Examples.

Help Kill Software Patents

Answer questions and help find prior-art in Ask Patents.

On Manufactured Opportunities

…long walks invariably pay for the time they cost in many ways: health, mental well-being, increased fitness and maybe best of all, a steady stream of ideas.

Matthew Carter My Life in Typefaces

If you’ve used the internet (or a phone book in English-speaking countries) you’ve seen Matthew’s work.

The part about the effect of tools on form is particularly interesting. The tools you use affect the things you make.

…the spark of life from the human hand that the machine, or the program can never capture.

Highlight, Copy and Translate Text From Any Image From Your Web Browser

Project Naptha. Currently only works with Chrome, but impressive.

Instant WayBack URL

You can now push a page to the WayBack Machine and instantly get a permanent WayBack URL for that page.

What is Money?

See also ‘otherwiseyep’s’ answer to the ‘Where has all the money in the world gone?’ question on Reddit, and HN comments on ’Free Money for Everyone’, particularly lukifer’s:

I believe that basic income would unlock a lot of hidden wealth:

  1. Many more people would try their hand at entrepreneurship, and/or re-enter education, if they are freed from the obligation to work to survive.

  2. There would be little need for minimum wage laws; unskilled labor can become primarily for earning a little more spending money, or about social roles within a group or community. The incentive for high-end labor would remain.

  3. Much more non-profit activity, such as political engagement and volunteer labor, would become feasible (including the immeasurable wealth of more time spent raising children).

  4. Let’s face it: there are a lot of quasi-useless laborers out there, who are a drag co-efficient on productivity. The people who do the bare minimum to survive contribute more to the economy by staying home.

There are deep macroeconomic and budgetary challenges to such a policy, and the socioeconomic effects are hard to predict. It certainly wouldn’t be revenue-neutral, though it could be offset by other reductions in the welfare state (not to mention the prison-industrial complex).

One way or another, the value and negotiating leverage of human labor is declining. As globalization spreads, domain-specific AI improves, and software continues to “eat the world”, this trend will only progress. If we don’t want to revert to a world of lords and serfs, basic income is the best way to preserve Adam Smith’s humanistic vision of capitalism. And in the Western world, we are damn sure rich enough to afford it.

Microsoft Sharepoint is Terrible Software


Space Colony Art from the 1970s

Don Davis, one of the illustrators whose work appears here, was part of the team of artists gathered to provide the visual effects for Cosmos.

Some of his recollections of working with Sagan.

Improve Developer Habits by Showing Time Cost of Database Queries

Good advice.

CSS Vocabulary

Would be great to have something like this for programming languages such as Python, Ruby, etc.

Quantum Mysteries Disentangled

Ron Garret’s paper showing that observation (measurement) and quantum entanglement are the same things. Linked to from this HN discussion (emphasis mine):

It turns out that by thinking of measurement and entanglement as related phenomena we can shed quite a bit of light (so to speak) on the nature of physical reality. In fact, it can help us comprehend that which Einstein found most incomprehensible: the comprehensibility of the Universe.

The Universe is comprehensible because large parts of it are consistent. This consistency allows us to understand our experiences in terms of stories whose explanatory power endures from one moment to the next. (When these stories are told using mathematics we call them scientific theories.) Some of these stories, like the idea of a material object, are hardwired into the human brain. Other stories, like the idea of a chemical or electricity, are not innate. One of the triumphs of the human species is that we are able to communicate these stories, so that a new story once constructed can be propagated without having to be encoded into our DNA.

Extrasomatic knowledge — books, libraries — are one of our species’ great achievements.

The best I can offer as an answer to that question is a Zen koan from Douglas Hofstadter:

Two monks were arguing about a flag. One said, “The flag is moving.” The other said, “The wind is moving.” The sixth patriarch, Zeno, happened to be passing by. He told them, “Not the wind, not the flag. Mind is moving.”

Or as Jiddu Krishnamurti put it, the thinker is the thought, the observer is the observed.

Comics Are a Good Medium for Communicating Complex Concepts

Polymath Randall Munroe explains the Heartbleed bug.

The Death of a Saab

Amber’s wonderful piece about the demise of our 2005 road trip ride in The American Magazine.

Videogames and Physics Education
Orbital Mechanics. —[Orbital Mechanics]( by Randall Munroe

The game that taught me orbital mechanics was Space War.

LocalForage Easier HTML Offline Storage

Library from Mozilla that makes storing data offline in any browser an easier task.

I’ve Lost Track of Everyone Who’s Spent Me Over The Years, But Some Faces Still Shine Out

Wonderful story through drawings by Chris Ware.

The Importance of Working-Method Goals
Ed Snowden Uses Tails OS

More from the Tails website:

Tails is a live operating system, that you can start on almost any computer from a DVD, USB stick, or SD card. It aims at preserving your privacy and anonymity, and helps you to:

  • use the Internet anonymously and circumvent censorship; all connections to the Internet are forced to go through the Tor network;
  • leave no trace on the computer you are using unless you ask it explicitly;
  • use state-of-the-art cryptographic tools to encrypt your files, emails and instant messaging.
Writing Is Thinking

But you’re not a writer, so this isn’t your problem, right? Well, the thing is, writing is not some mystic art. It’s a practical skill—particularly since most of our online communication is text-based to begin with. When you write about your work, it makes all of us smarter for the effort, including you—because it forces you to go beyond the polite cocktail-party line you use to describe what you do and really think about the impact your work has.

Done well, it means you’re contributing signal, instead of noise.

Clear writing is good web design.


Instead of dropping in a block of markup to render as a demo, then copying and pasting it into a pre/code block, then escaping it—then going back and updating both the rendered code and the escaped code should something change: now you just wrap the code you’re rendering in a div and it generates a copy/pastable source snippet.

Creating Style Guides

Document the code, markup and visual language of your website design. From A List Apart, which is now open source.

Huginn System for Building Agents That Perform Automated Tasks for You Online

…two ravens named Huginn and Muninn sit on Odin’s shoulders. The ravens tell Odin everything they see and hear. Odin sends Huginn and Muninn out at dawn, and the birds fly all over the world before returning at dinner-time. As a result, Odin is kept informed of many events.

Open source. For installation on your own server.

Earth to Mozilla Come Back to Us

Excellent article on the state of Mozilla by Doc Searls, one of the authors of World of Ends and The Cluetrain Manifesto.

The Grand Budapest Hotel

Beautiful, subtly deep and layered film. Highly recommended.

If Moonrise Kingdom was about the 01960–01970s, the Grand Budapest is about the 01930s–01940s. Both speak of the human condition.

There was an elderly woman sitting next to me in the cinema. She was crying as the credits rolled.

Simplifying Django

Simple is nice.

A Homage to the Windows XP Wallpaper Image

Taken in another wine country.

Escape From XP

Microsoft is changing, thankfully, finally, for the better. I hope.

Years of Living Dangerously

More of this type of communication is needed for people to wake up. One thing we can do right now is avoid buying things that contain palm oil. More in this story.

Deciphering Django’s Class-Based Views


EFF Why the Web Needs Perfect Forward Secrecy More Than Ever
Everything You Need to Know About the Heartbleed SSL Bug

Troy Hunt, in a piece which includes advice for sysadmins, developers and people running online services:

There’s a whole range of things that need to fall into place for an attack to have been successful (see the final section of this blog) but nonetheless, it’s going to leave a lot of companies in a very tricky position when they know that both the potential for exploit and the knowledge of how to do it were both out there. Take Yahoo for example – what should they do in light of Mark’s documented example? Force everyone to reset their passwords? Tell customers their data may have been compromised? It’s a very, very dicey situation for them to find themselves in.

iPhone Battery Life Guide Includes Note for Obsessive-Compulsives

One thing I found in my Genius Bar experience is that people that are anxious about their iOS device battery life are constantly checking it to see the percentage and how much it has dropped from the last time they checked it. So if you check your device twice as much, simply to check on the battery life, you are essentially halving the time your device will last.

Starting a Django 1.6 Project the Right Way

Brushing up on current Django best-practices before beginning a new project.

Not a Bug Splat

Giant art installation targets predator drone operators.

Free Programming Books

Plenty of Python / Django.

Heartbleed Busy Day for Sysadmins

More in this HN discussion. See also, Hynek Schlawack’s excellent Hardening Your Web Server’s SSL Cyphers. For an example of how this vulnerability can be used for evil, see Hijacking User Sessions With the Heartbleed Vulnerability.

See also: Troy Hunt’s breakdown.

Min Tiny CSS Framework

Perhaps the web technology pendulum is beginning to swing back to simplicity and speed.

Comic Neue

It’s perfect as a display face, for marking up comments, and writing passive aggressive office memos.

Free for a limited time.

RegExr Learn, Build, & Test Regular Expressions

Source code available on GitHub.

Command Line Utility for Generating Books and Exercises Using GitHub/Git and Markdown

Could be useful for what people call ’e-learning’ at work.

Digitizing Photos of Whiteboards Using the Command Line
  1. Make sure you have ImageMagick installed.

  2. Save the following somewhere such as ~/code/ and don’t forget to make it executable with chmod +x ~/code/

    :::bash #!/bin/bash convert $1 -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 $2

  3. Add an alias to the above in your ~/.bashrc:

    :::bash alias wbclean="~/code/"

  4. To convert photo of a whiteboard to a cleaner diagram of the same you can now do:

    :::bash cd /location/of/photo.jpg wbclean photo.jpg diagram.png

Novena Open Laptop

Open source hardware.

Override Django Template Blocks
# base.html
        {% block header %}{% include "header.html" %}{% endblock %}

# header.html
<div id="header">
    <img src="logo.png">
    {% include nav_tmpl|default:"navigation.html" %}

# special_page.html (uses other navigation)
{% extends "base.html" %}
{% block header %}
    {% include "header.html" with nav_tmpl="special_nav.html" %}
    # you might also want to wrap the include in an 'if' tag if you don't want anything
    # included here per default 
{% endblock %}
Why Hand-Drawn Graphs Are Important

Also one of the reasons I like chalk and chalkboards.