energy
Tracing Power Lines with the Pylon Appreciation Society
Pylons
Not all the towers along a transmission line are identical. Look closely at a tower where the line makes a sharp turn and you will likely find it is wider and beefier than other towers along the route. The added strength and weight are needed to resist the unbalanced pull of the conductors, which might overturn an ordinary tower. These special towers are called deviation or angle towers.
The transmission-line tower everybody knows is an Erector Set latticework of steel girders and diagonal braces. The techniques for designing and building these towers are the same ones used in constructing steel bridge trusses or crane booms. The individual pieces can be made cheaply from rolled steel and then bolted together on the site. This last point is more important than it might seem: transporting a fully assembled tower 100 feet tall is an awkward and expensive business.
A haunting, syncopated music
"Rappers" on the roof of the electrostatic precipitator knock the accumulated dust free, letting it fall into the storage hopper. Each rapper is the size and shape of a baseball bat. Inside is an electromagnet that pulls a steel plunger upward, then allows it to fall again, producing a sharp knock. The rappers are energized at seemingly random intervals, producing a haunting, syncopated music. (The rhythm seemed more modern jazz than rap.)
Safety cut rope axe man
In the first nuclear reactor, constructed by Enrico Fermi in 1942 under the bleachers of the University of Chicago football stadium, the control rods were held up by a manila rope. A man with an axe was told to cut the rope if the reactor got out of hand. This "safety cut rope axe man" is supposedly the origin of the term SCRAM for an emergency shutdown procedure.
Color coding
Telephone wires erupt in a multicolor cascade in a ground-level, pedestal-type splice case on a city street.
Dividing the set of 10 colors into two contrasting groups of 5 allows for exactly 25 combinations with one color from each group; thus, each pair in a bundle can be uniquely colored. A similar color code is applied to the ribbons that bind together all the pairs in a bundle, and to those of the superbundles. The result is highly festive! A specific wire might be identified as the blue-red conductor within the orange-black bundle within the brown-yellow superbundle.
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.