crime
Traced in the summer skies
Yes, it was the hour when, a long time ago, I was perfectly content. What awaited me back then was always a night of easy, dreamless sleep. And yet something had changed, since it was back to my cell that I went to wait for the next day…as if familiar paths traced in summer skies could lead as easily to prison as to the sleep of the innocent.
Putting the streets to use
Tad Friend writes, if you build “nine hundred miles of sinuous highway and twenty-one thousand miles of tangled surface streets” in one city alone, then you’re going to find at least a few people who want to put those streets to use. This suggests that every city blooms with the kinds of crime most appropriate to its form.
Every heist is a counterdesign
Heists obsess people because of what they reveal about architecture’s peculiar power: the design of new ways of moving through the world. Every heist is thus just a counterdesign—a response to the original architect.
To commune with the space
...having realized long ago that the best way to commune with an architectural space was by breaking into it.
Bandits
A FilmA Burglar's Guide to the City
A Book by Geoff ManaughAuthorisation vs. Consent
An Article by Terence EdenI recently read this interesting, and distressing, story of a man who was drugged and robbed. A form of crime which has been going on for centuries. But the 21st Century twist is that the thieves forced him to transfer large sums of money via his phone's banking apps.
While under the influence, the victim used his usernames, passwords, PINs, and biometrics to send money to the criminal's accounts.
Is there a "technological" way to stop this? His banks initially refused to refund the stolen money. Only once the press stepped in did they relent. One bank, Revolut, said:
This was an unusual case where the payments were authorised by the customer but, as is now clear, without his consent.
Picking locks with audio technology
An ArticleThe series of audible, metallic clicks made as a key penetrates a lock can now be deciphered by signal processing software to reveal the precise shape of the sequence of ridges on the key's shaft. Knowing this, a working copy of it can then be 3D printed.
The small web is beautiful
I believe that small websites are compelling aesthetically, but are also important to help us resist selling our souls to large tech companies. In this essay I present a vision for the “small web” as well as the small software and architectures that power it.
Why aim small?
Why aim small in this era of fast computers with plenty of RAM? A number of reasons, but the ones that are most important to me are:
- Fewer moving parts. It’s easier to create more robust systems and to fix things when they do go wrong.
- Small software is faster. Fewer bits to download and clog your computer’s memory.
- Reduced power consumption. This is important on a “save the planet” scale, but also on the very local scale of increasing the battery life of your phone and laptop.
- The light, frugal aesthetic. That’s personal, I know, but as you’ll see, I’m not alone.
Features and complexity
Niklaus Wirth of Pascal fame wrote a famous paper in 1995 called A Plea for Lean Software. His take is that “a primary cause for the complexity is that software vendors uncritically adopt almost any feature that users want”, and “when a system’s power is measured by the number of its features, quantity becomes more important than quality”.
Solving the problem of software bloat
But instead of just complaining, how do we actually solve this problem? Concretely, I think we need to start doing the following:
- Care about size: this sounds obvious, but things only change when people think they’re important.
- Measure: both your executable’s size, and your program’s memory usage. You may want to measure over time, and make it a blocking issue if the measurements grow more than x% in a release. Or you could hold a memory-reduction sprint every so often.
- Language: choose a language that has a chance.
- Remove: cut down your feature set. Aim for a small number of high-quality features. My car can’t fly or float, and that’s okay – it drives well.
- Say no to new features: unless they really fit your philosophy, or add more than they cost over the lifetime of your project.
- Dependencies: understand the size and complexity of each dependency you pull in. Use only built-in libraries if you can.
Raw size isn't enough
A few months ago there was a sequence of posts to Hacker News about various “clubs” you could post your small website on: the 1MB Club, 512KB Club, 250KB Club, and even the 10KB Club. I think those are a fun indicator of renewed interested in minimalism, but I will say that raw size isn’t enough – a 2KB site with no real content isn’t much good, and a page with 512KB of very slow JavaScript is worse than a snappy site with 4MB of well-chosen images.
...[Instead, it's about] an “ethos of small”. It’s caring about the users of your site: that your pages download fast, are easy to read, have interesting content, and don’t load scads of JavaScript for Google or Facebook’s trackers.