Growing Up With Computers

My son is growing up with computers. He’s in first grade, and had to list all of the things that he knows how to do with them. The list included things like mousing around, drawing ghosts with the paint program, and — sign of the times — muting and unmuting the microphone when he’s in teleconferences. Oh yeah, and typing emojis. He loves emojis.

When I was just about his age, I was also getting into computers. But home computers back then were in their early years as well. And if I look back, I’ve been getting more sophisticated about computers at just about the same pace that they’ve been getting more sophisticated themselves. I was grade school during the prime of the BASIC computers — the age of the Apple II and the C64. I was in high school for the dawn of the first Macs and the Amiga. By college, the Pentiums’ insane computational abilities just started to match my needs for them to solve numerical differential equations. And in grad school, the rise of the overclockable multi-cores and GPUs powered me right on through a simulation-heavy dissertation.

We were both so much younger then.

When I was a kid, they were playthings, and as a grownup, they’re powerful tools. Because of this, computers have never been intimidating. I grew up with computers.

But back to my son. I don’t know if it’s desirable, or even possible, to pretend that computers aren’t immensely complex for the sake of a first grader — he’d see right through the lie anyway. But when is the right age to teach kids about voice recognition and artificial neural networks? It’s a given that we’ll have to teach him some kind of “social media competence” but that’s not really about computers any more than learning how to use Word was about computers back in my day. Consuming versus creating, tweeting versus hacking. Y’know?

Of course every generation has its own path. Hackers older than me were already in high-school or college when it became possible to build your own computer, and they did. Younger hackers grew up with the Internet, which obviously has its advantages. Those older than me made the computers, and those younger have always lived in a world where the computer is mature and taken for granted. But folks about my age, we grew up with computers.

Wreck Your Mail Before You Check Your Mail

Every five years or so, I think it’s time to review my e-mail flow. (Oh no!) I run my own mail server, and you should too, but this means that I get to figure out managing and searching and archiving and indexing it all by myself. (Yippee!)

And I’ll be honest — sometimes I’m a bit of a luddite. I actually, literally have been using Mutt, or its derivative NeoMutt for maybe fifteen years, after a decade or so of mouse-intensive graphical mail readers. If e-mail is about typing words, and maybe attaching the occasional image, nothing beats a straight-up text interface. But what a lot of these simple mail clients lack is good search. So I decided to take that seriously.

Notmuch is essentially an e-mail database. It’s an e-mail searcher, tagger, and indexer, but it’s not much else. The nice thing is that it’s brutally fast. Searches and extraction of tagged subsets are faster than sending the same data back and forth to the Big G, and I have a ton more flexibility. It’s awesome. Of course good ol’ Mutt can work with Notmuch. Everything can. It’s Linux/UNIX. Continue reading “Wreck Your Mail Before You Check Your Mail”

Technical Audacity And The Phone Book

I often think we — or maybe the people who control our money — lack the audacity to take on really big projects. It is hard to imagine laying the transatlantic cable for the first time today, for example. When I want a good example of this effect, I usually say something like: “Can you imagine going to a boardroom of a major company today and saying, ‘We plan to run wire to every house and business in the world and connect them all together.'” Yet that’s what the phone company did. But it turns out, running copper wire everywhere was only one major challenge for the phone company. The other was printing phone directories. In today’s world, it is easy to imagine a computer system that keeps track of all the phone numbers that can spit out a printed version for duplication. But that’s a relatively recent innovation. How did big city phonebooks work before the advent of the computer?

Turns out, the Saturday Evening Post talked about how it all worked in a 1954 article. We aren’t sure there weren’t some computerized records by 1954, but the whole process was still largely manual. By that year, an estimated 60,000,000 directories went out each year in the United States alone. Some of these were small, but the Chicago directory — not including suburban directories — had over 2,100 pages. In New York City, the solution was to print a separate book for each borough. Even then. the Manhattan book was three inches thick and projected to grow to five inches by 1975.

Continue reading “Technical Audacity And The Phone Book”

IRC Will Never Die

The big kerfuffle in the open source world this week surrounds the biggest IRC server operator, Freenode. Wherever the dust settles, myriad important open source projects use Freenode’s IRC servers for their main channel of user feedback, and a number of vibrant communities call or called Freenode home. What you would call a 3D printer, and most of the software that drives it, for instance, was brainstormed up in Freenode’s #reprap. If you want help with a Linux distribution, you’ll be set straight within a few minutes in the relevant channel, because the people who wrote, packaged, or maintain it are probably on Freenode waiting to chat.

But suppose Freenode burns to the ground tomorrow, as some are suggesting. So what? My take is that is doesn’t matter. Freenode doesn’t own IRC, setting up an IRC server is essentially trivial, and what’s really important is the online community — they can just pick up and move somewhere else with very little hassle.

This is not to say that we don’t all benefit from the diligence that Freenode’s volunteer administrators and operators have donated to the cause over the years. IRC servers don’t run themselves, and Freenode’s admins fought and won an epic battle with spammers a couple years back. Keeping IRC running at scale is a different thing than setting up something for your friends, and so the Freenode folks definitely deserve our thanks.

But look, IRC is an old protocol and it’s a simple protocol. It’s so simple, in fact, that writing an IRC bot is just a few dozen lines in Python, using no external libraries. All you need to do is send plain text over a socket. You can do this — it makes a great networking hello world.

IRC is fun for hackers, but if you want a user-friendly GUI client, you ridiculously many to choose from. There are even no-install web clients if you just want to dip your toes in. Heck, you could install your own server in an hour or so.

So saying that the demise of Freenode is the end of IRC is a lot like saying that the end of Hotmail was the end of e-mail. In the grand scheme of things, almost nobody actually uses IRC — Freenode has 78,000 users while Slack has 10 million — and IRC users are very savvy, if not full-on geeky. These are the sort of people who can probably find the server field in a menu and change it from irc.freenode.net to irc.whatever.org.

In addition to our traditional #hackaday channel on irc.freenode.net, there’s also a channel set up on irc.libera.chat as well. There isn’t much action in either — IRC tends to be a slow conversation, so don’t freak out if someone responds to you an hour later — but if you want to swing by, we’re there. IRC will never die!

2021 Hackaday Prize Begins!

If you missed our announcement, this year’s Hackaday Prize is on! We’ve all had a rough year and a half, and it’s lead a lot of us to think seriously about our world. How would you want to change it going forward? Fifty entrants will rethink, refresh, and rebuild their way into $500, and the Grand Prize is $25,000. Get hacking!

Do You Really Own It? Motorcycle Airbag Requires Additional Purchase To Inflate

If you ride a motorcycle, you may have noticed that the cost of airbag vests has dropped. In one case, something very different is going on here. As reported by Motherboard, you can pick up a KLIM Ai-1 for $400 but the airbag built into it will not function until unlocked with an additional purchase, and a big one at that. So do you really own the vest for $400?

Given the nature of the electronics and computer business lately, we spend a good bit of time thinking of what it means to own a piece of technology. Do you own your cable modem or cell phone if you aren’t allowed to open it up? Do you own a piece of software that wants to call home periodically and won’t let you stop it?  Sometimes it makes sense that you are paying for a service. But there have been times where, for example, a speaker company essentially bricks devices that could work fine on their own even though you — in theory — own the device.

Continue reading “Do You Really Own It? Motorcycle Airbag Requires Additional Purchase To Inflate”

Should I Automate This?

The short answer to the question posed in the headline: yes.

For the long answer, you have to do a little math. How much total time you will save by automating, over some reasonable horizon? It’s a simple product of how much time per occurrence, times how many times per day it happens, times the number of days in your horizon. Or skip out on the math because there’s an XKCD for that.

What’s fun about this table is that it’s kind of a Rorschach test that gives you insight into how much you suffer from automatitis. I always thought that Randall was trying to convince himself not to undertake (fun) automation projects, because that was my condition at the time. Looking at it from my current perspective, it’s a little bit shocking that something that’ll save you five seconds, five times a day, is worth spending twelve hours on. I’ve got some automating to do.

To whit: I use pass as my password manager because it’s ultimately flexible, simple, and failsafe. It stores passwords on my hard drive, and my backup server, encrypted with a GPG key that I have printed out on paper in a fireproof safe. Because I practice good cookie hygiene, I end up re-entering my passwords daily. Because I keep my passwords separate from my browser, that means entering username and password by cut-and-paste. There’s your five seconds, five times per day. Maybe two seconds, ten times, but it’s all the same. It shouldn’t take me even as long as twenty minutes to whip up a script that puts username and password into selection and clipboard for one-click pasting. Why haven’t I done this yet? I’m going to get on it as soon as I’m done with this newsletter.

But the this begs the question. If you spend up to twelve hours on every possible 25-second-per-day savings, when will you ever get your real work done? Again, math gives us the answer. One eight-hour workday * 25 seconds * 12 hours (pessimistically) of labor = 1.58 years before everything that needs automating will be. Next week’s newsletter might be a little bit delayed.

What do you see in the XKCD “Is it worth the time” table? Automate more, or step back from the cliff edge?

Reinventing The Wheel

You’ve got a perfectly working software library to do just exactly what you want. Why aren’t you using it? Some of you are already yelling something about NIH syndrome or reinventing the wheel — I hear you. But at least sometimes, there’s a good enough reason to reinvent the wheel: let’s say you want to learn something.

Mike and I were talking about a cool hack on the podcast: a library that makes a floppy drive work with an Arduino, and even builds out a minimalistic DOS for it. The one thing that [David Hansel] didn’t do by himself was write the FAT library; he used the ever-popular FatFS by [Elm-ChaN]. Mike casually noted that he’s always wanted to write his own FAT library from scratch, just to learn how it works at the fundamental level, and I didn’t even bat an eyelash. Heck, if I had the time, I’d want to do that too!

Look around on Hackaday, and you’ll see tons of hacks where people reinvent the wheel. In this superb soundbar hack, [Michal] spends a while working on the IR protocol by hand until succumbing to the call of IRMP, a library that has it all done for you. But if you read his writeup, he’s not sad; he learned something about IR protocols. This I2C paper tape reader is nothing if not a reinvention of the I2C wheel, but isn’t that the best way to learn?

Yes it is. Think back to the last class you took. The teacher or professor certainly explained something to you in reasonable detail — that’s the job after all. And then you got some homework to do by yourself, and you did it, even though you were probably just going over the same stuff that the prof and countless others have gone through. But by doing it yourself, even though it was “reinventing the wheel”, you learned the material. And I’d wager that you wouldn’t have learned it without.

Of course, when the chips are down and the deadline is breathing hot down your neck, that might be the right time to just include that tried-and-true library. But if you really want to learn something yourself, you have every right to reinvent the wheel.