Hackability Matters

The Unix Way™ provides extreme hackability. The idea is that software should be written as tools to accomplish discrete tasks, and that it should be modular, extensible, and play well with others. It’s like software as a LEGO set — you can put the blocks together however you want, within limits, and make stuff that’s significantly cooler than any of the individual blocks alone.

Clearly this doesn’t work for all applications — things like graphics editors and web browsers don’t really lend themselves to being elegant tools that integrate well with others, right? It’s only natural that they’re bloaty walled gardens. What happens in the browser must stay in the browser, right?

But how sad is it that the one piece of software you use all day, your window into cyberspace, doesn’t play well with the rest of your system? I’d honestly never really been bothered by that fact until stumbling on TabFS. It’s an extension to Chrome that represents the tabs on your browser as if they were files on your local system — The Unix Way™. And what this means is that any other program that can read from or write to a file can open tabs, collect them, change webpages on the fly, and so on. It opens up the browser to you.

This is tremendously powerful. Don’t like the bookmarking paradigm of your particular browser? Writing your own would be a snap in Python — and you could do cleverer things like apply a little machine learning to handle putting them in categories. Want to pop open (or refresh) a set of webpages at a particular time every day? Cron, or its significantly more complicated counterpart systemd, and a couple lines of code will do that. Want to make a hardware button that converts dark mode to light mode and vice-versa for every website starting with “H”? Can do.

I’m picking on browsers, but many large pieces of software are inaccessible in the same way — even if they’re open source, they don’t open up channels for interaction with user code or scripts. (Everything “in the cloud” or “as a service”, I’m looking at you! But that’s a further rant for another day.) And that’s a shame, because most of these “big” pieces of software actually do the coolest things.

So please, if you’re working on a big software package, or even just writing a plug-in for one, do think about how you can make more of its abilities available to the casual scripter. Otherwise, it’s just plastic blocks that don’t fit with the rest of the set.

What Is Worth Saving?

When it rain, it pours. One of the primary support cables holding up the Arecibo Observatory dish in Puerto Rico has just snapped, leaving its already uncertain fate. It had been badly damaged by Hurricane Maria in 2017, and after a few years of fundraising, the repairs were just about to begin on fixing up that damage, when the cable broke. Because the remaining cables are now holding increased weight, humans aren’t allowed to work on the dome until the risk of catastrophic failure has been ruled out — they’re doing inspection by drone.

Arecibo Observatory has had quite a run. It started out life as part of a Cold War era ICBM-tracking radar, which explains why it can transmit as well as receive. And it was the largest transmitting dish the world had. It was used in SETI, provided the first clues of gravitational waves, and found the first repeating fast radio bursts. Its radar capabilities mean that it could be used in asteroid detection. There are a number of reasons, not the least of which its historic import, to keep it running.

So when we ran this story, many commenters, fearing the worst, wrote in with their condolences. But some wrote in with outrage at the possibility that it might not be repaired. The usual suspects popped up: failure to spend enough on science, or on infrastructure. From the sidelines, however, and probably until further structural studies are done, we have no idea how much a repair of Arecibo will cost. After that, we have to decide if it’s worth it.

Per a 2018 grant, the NSF was splitting the $20 M repair and maintenance bill with a consortium led by the University of Central Florida that will administer the site. With further damage, that might be an underestimate, but we don’t know how much of one yet.

When do you decide to pull the plug on something like this? Although the biggest, Arecibo isn’t the only transmitter out there. The next largest transmitters are part of Deep Space Network, though, and are busy keeping touch with spacecraft all around our solar system. For pure receiving, China’s FAST is bigger and better. And certainly, we’ve learned a lot about radio telescopes since Arecibo was designed.

I’m not saying that we won’t shed a tear if Arecibo doesn’t get repaired, but it’s not the case that the NSF’s budget has been hit dramatically, or that they’re unaware of the comparative value of various big-ticket astronomy projects. Without being in their shoes, and having read through the thousands of competing grant proposals, it’s hard to say that the money spent to prop up a 70 year old telescope wouldn’t be better spent on something else.

Seeing Code: The Widescreen Rant

A couple of weeks ago, Linus Torvalds laid down the law, in a particularly Linusesque sort of way. In a software community where tabs vs. spaces can start religious wars, saying that 80-character-wide code was obsolete was, to some, utter heresy. For more background on how we got here, read [Sven Gregori]’s history piece on Hackaday, and you’ll learn that sliced bread and the 80-character IBM punch card both made their debut in July, 1928. But I digress.

When I look at a codebase, I like to see its structure, and I’m not alone. That’s one of the reasons for the Linux Kernel style guide’s ridiculously wide 8-character tabs. Combined with a trend for variable names becoming more and more descriptive, which I take to be a good thing, and monitors’ aspect ratios growing seemingly without end, which I don’t, the 80-column width seems like a relic from the long-gone era of the VT-220.

Hazeltine TerminalIn Linus’ missive, we learn that he runs terminals at 100 x 50, and frequently drags them out to a screen-filling 142 x 76. (Amateur! I write this to you now on 187 x 48.) When you’re running this wide, it doesn’t make any sense to line-wrap argument lists, even if you’re using Hungarian notation.

And yet, change is painful. I’ve had to re-format code to meet 73-column restrictions for a book, only to discover that my inline comments were too verbose. Removing even an artificial restriction like the 80-column limit will have real effects. I write longer paragraphs, for instance, on a wider screen.

I see a few good things to come out of this, though. If single thoughts can be expressed on single lines, it makes the shape of the code better reflect its function. Getting rid of pointless wrapping takes up less vertical space, which is at a premium on today’s cinematic monitors. And if it makes inline comments better (I know, another holy war!) or facilitates better variable naming, it will have been worth it.

But any way you slice it, we’re no longer typing on the old 80-character Hazeltine. It’s high time for our coding style and practice to catch up.

Megabots, Colliders, Rockets, Tunnels Underground, And Other Big Dumb Ideas Will Save Us

Humanity is a planetwide force. We have the power to change our weather. We have the power to change the shape of the land. We have the power to selectively wipe a species from this earth if we choose.  We’ve had this power for a while and we’re still coming to terms with it. Many of us even deny it.

With such power, what do we do? We have very few projects which are in line with our ability. Somewhere in the past few years, I feel like most of us have lost our audacity. We’ve culturally come to appreciate the safe bet too much. We pull the dreamers and doers down. We want to solve the small problems first, and see if we have time for the big problems later. We don’t dream big enough, and there is zero reason for this hesitation. We could leverage our planetwide power for planetwide improvements. Nothing is truly stopping us. No law, no government, nothing.

To put it simply, as far as technology goes, everything is still low-hanging fruit. We’ve barely done anything. Even some of our greatest accomplishments can happen randomly in nature. We’ve not left our planet in any numbers or for any length of time. Our cities are disorganized messes. In every single field today, the unexplored territory is orders larger than the explored. Yet despite this vast territory, there are very few explorers. People want to optimize the minutia of life. A slightly faster processor for a slightly smaller phone. It’s okay.

Yet that same small optimization applied to a larger effort could have vast positive impact. Those same microprocessors could catalog our planet or drive probes into space. The very same efforts we spend on micro upgrades could be leveraged if we just look at the bigger picture then get out of our own way. All that is lacking is ambition. Money, time, skill, industry, and people are all there, waiting. We have the need for and have the resources to support ten thousand Elon Musks, not just the one.

Big projects make us bigger than our cellphones and Facebook. When you see a rocket launch into the sky, suddenly, “the world” becomes, simply, “a world.” Order of magnitude improvements reduce the order of our perception of previously complex problems. They should be our highest goal. Whatever field you’re in, you should be trying to be ten times better than the top competitor.

However, there are some societal changes that have to occur before we can.

Continue reading “Megabots, Colliders, Rockets, Tunnels Underground, And Other Big Dumb Ideas Will Save Us”

Path To Craftsmanship: Don’t Buy Awful Safety Gear

A while back I tried to make a case for good safety disciple as a habit that, when proactively pursued, can actually increase the quality of your work as a side effect. In those comments and in other comments since then I’ve noticed that some people really hate safety gear. Now some of them hated them for a philosophical reason, “Ma granpap didn’t need ’em, an’ I don’t neither”, or ,”Safety gear be contributin’ to the wuss’ness of the modern personage an’ the decline o’ society.” However, others really just found them terribly uncomfortable and restricting.

In this regard I can help a little. I’ve spent thousands of terrible long hours in safety gear working in the chemical industry. I was also fortunate to have a company who frequently searched for the best safety equipment as part of their regular program. I got to try out a lot.

Continue reading “Path To Craftsmanship: Don’t Buy Awful Safety Gear”

A Realistic Look At The Death Of A Standard

A bit ago I wrote an article called, “Death To The 3.5mm Audio Jack, Long Live Wireless.” A few readers were with me, a few were indifferent, many were vehemently against me, and there was a, not insubstantial, subset in a pure panic about the potential retirement of a beloved connector. Now I used a lot of opinionated language dispersed with subjectively evaluated facts to make a case that the connector is out. Not today maybe, but there is certainly a tomorrow not so far off where there are more wireless headsets at the electronics store than wired ones.

I think I saw a laserdisc player in operation exactly once.
I think I saw a Laserdisc player in operation exactly once.

So what happens when a standard dies? What happens when technology starts to move on? Let’s take a look at the CD-ROM.  Continue reading “A Realistic Look At The Death Of A Standard”

Death To The 3.5mm Audio Jack, Long Live Wireless

There’s been a lot of fuss over Apple’s move to ditch the traditional audio jack. As for me, I hope I never have to plug in another headphone cable. This may come off as gleeful dancing on the gravesite of my enemy before the hole has even been dug; it kind of is. The jack has always been a pain point in my devices. Maybe I’ve just been unlucky. Money was tight growing up. I would save up for a nice set of headphones or an mp3 player only to have the jack go out. It was a clear betrayal and ever since I’ve regarded them with suspicion. Is this the best we could do?

I can’t think of a single good reason not to immediately start dumping the headphone jack. Sure it’s one of the few global standards. Sure it’s simple, but I’m willing to take bets that very few people will miss the era of the 3.5mm audio jack once it’s over. It’s a global episode of the sunk cost fallacy.

In the usual way hindsight is 20/20, the 3.5mm audio jack can be looked at as a workaround, a stop over until we didn’t need it.  It appears to be an historic kludge of hack upon hack until something better comes along. When was the last time it was common to hook an Ethernet cable into a laptop? Who would do this when we can get all the bandwidth we want reliably over a wireless connection. Plus, it’s not like most Ethernet cables even meet a spec well enough to meet the speeds they promise. How could anyone reasonably expect the infinitely more subjective and variable headphone and amplifier set to do better?

But rather than just idly trash it, I’d like to make a case against it and paint a possible painless and aurally better future.

Continue reading “Death To The 3.5mm Audio Jack, Long Live Wireless”