High Noon For Daylight Savings Time

The US Senate has approved the “Sunshine Protection Act”, a bill to make Daylight Saving time the default time and do away with the annual time changes. While I can get behind the latter half of this motion, redefining Daylight Saving time as Standard time is, in my opinion, nonsense.

It’s particularly funny timing, coming right around the Vernal Equinox, when the sun stands at its highest right at Noon Standard Time, to be debating calling this time “one PM” forevermore.

Right Idea, Wrong Time

Let’s do a quick overview of the good idea here — doing away with time changes. These are known to cause sleep disturbances and this leads not just to sleepy heads on Monday morning, but to an increased risk of heart attack and accidents in general. When researchers look into the data, it’s the “springing forward” that causes trouble. People who’ve slept one extra hour don’t seem to suffer as much as people who’ve lost one. Go figure.

So maybe it makes sense to stop changing times. If we’re going to settle on one standard time, do we pick Standard time or Daylight Saving time? Admittedly, this is a totally unfair way to pose the question, but there are a number of good reasons to prefer all-year Standard time. The biggest one is winter. Basically, it’s already tough enough to get up on a cold January morning when the sun is not due to rise for another hour or two. Add another hour of darkness on top, and you know why the two previous attempts to run all-year Daylight Saving were short-lived. And why the Swedes drink so much coffee.

France-002886 – Sundial” by archer10 (Dennis) CC BY-SA 2.0.

There’s also the fundamental logic behind our measurement of time that’s stood for centuries, and is embedded in most of our cultural references to time. Ante Meridian and Post Meridian. High Noon, when the hour hand on the clock points straight up, represents the sun itself. But even before clocks, the sun’s halfway point along its daily journey marked the halfway point of the day. That’s not only why we eat lunch when we do, it’s the origin of man’s time-telling itself.

If we change the definition of noon permanently, we’ve decoupled time from the sun. How will we explain time to future children? I’ll accept Daylight Saving time when we start reprinting analog watches with 1 o’clock at the top and start referring to 12 AM as the one that’s just before the sun reaches its peak. As soon as “one noon” replaces “twelve noon”, I’ll get on board. Midnight, when the clock strikes one, just doesn’t send the same shiver down my spine. Sorry, Dracula.

If culture and physics point to Standard Time, why would you want Daylight Saving to be the new normal? When people think of Daylight Saving, they naturally think of those nice long summer days that stretch out into the night. My personal bet is that many folks are confounding summertime with Summer Time. Heck, even the name of the bill proposes to protect sunshine itself, rather than just move the hands of the clock around. These are not good reasons.

Continue reading “High Noon For Daylight Savings Time”

Error Codes And The Law Of Least Astonishment

Do you know the law of least astonishment? I am not sure of its origin, but I first learned it from the excellent “Tao of Programming.” Simply put, it is the principle that software should always respond to the users in a way that least astonishes them. In other words, printing a document shouldn’t erase it from your file system.

Following the law of least astonishment, what should a program do when it hits a hard error? You might say that it should let the user know. Unfortunately, many systems just brush it under the rug these days.

I think it started with Windows. Or maybe the Mac. The thinking goes that end users are too stupid or too afraid of error codes or detailed messages so we are just leaving them out. Case in point: My wife’s iPhone wouldn’t upload pictures. I’m no expert since I carry an Android device, but I agreed to look at it. No matter what I tried, I got the same useless message: “Can’t upload photos right now. Please try again later.” Not only is this not very informative, but it also implies the problem is in something that might fix itself later like the network.

The real culprit? The iCloud terms of service had changed and she had not accepted the new contract. I have a feeling it might have popped up asking her to do that at some point, but for whatever reason she missed it. Until you dug into the settings and checked the box to agree to those terms, “later” was never going to happen.

Continue reading “Error Codes And The Law Of Least Astonishment”

Ask Hackaday: What Can Only A Computer Do?

It is easy to apply computers to improve things we already understand. For example, instead of a piano today, you might buy a synthesizer. It looks and works — sometimes — as a piano. But it can also do lots of other things like play horns, or accompany you with a rhythm track or record and playback your music. There’s plenty of examples of this: word processors instead of typewriters, MP3 players instead of tape decks, and PDF files instead of printed material. But what about something totally new? I was thinking of this while looking at Sonic Pi, a musical instrument you play by coding.

But back to the keyboard, the word processor, and the MP3 player. Those things aren’t so much revolutionary as they are evolutionary. Even something like digital photography isn’t all that revolutionary. Sure, most of us couldn’t do all the magic you can do in PhotoShop in a dark room, but some wizards could. Most of us couldn’t lay out a camera-ready brochure either, but people did it every day without the benefit of computers. So what are the things that we are using computers for that are totally new? What can you do with the help of a computer that you absolutely couldn’t without?

Continue reading “Ask Hackaday: What Can Only A Computer Do?”

Who Owns The Machine Anyway?

The story of the McDonalds’ frozen treat machine involves technology, trade secrets, inside business dealings, franchiser/franchisee friction, and an alleged NDA violation. In short: lots of money and lawyers. But it also involves something that matters to all of us hackers — what it means to own a machine.

Sad clown holding melted ice cream coneThe brief background is that McDonald’s requires its franchisees to buy a particular Taylor Soft Serve machine. The machine would enter pasteurizing mode and has opaque error codes that are triggered apparently without the owners or operators understanding, at which point Taylor service techs come in to fix them — and get paid for their service, naturally. A small hardware startup, Kytch, stepped into the mess with a device that man-in-the-middles the Taylor machine’s status codes, allowing the machine’s owners to diagnose and monitor it themselves. Heroes, right?

Taylor, naturally, wants to look at a Kytch device, but they’re locked up under NDAs that Kytch require users to sign in order to protect their trade secrets. So when Taylor gets their hands on one, Kytch takes them to court for, ironically, reverse engineering their device that they built to reverse Taylor’s protocols.

There are no good guys in this fight: it’s corporate secrecy fighting corporate secrets. None of which, by the way, is Hackaday particularly fond of. Why? Because these secrets rob the ostensible owners of the devices of their ability to inspect, fix, and operate their machines. This is akin to the “right to repair” idea, but it’s somehow even more fundamental — the right to know what your own devices are doing.

What this story needs is a Robin Hood. And as the devices we get sold become increasingly wrapped up in EULAs and NDAs, and full of secret sauce that’s out of our control, we’re going to need a lot more Robin Hoods. It’s McDonald’s frozen treat machines, but it’s also your smart thermostat and your inkjet printer and your — you name it. Have at it, Hackaday!

Robot Utopia

We see so many dystopian visions of automation, it’s time for us to do it right! The Redefine Robots round of the 2021 Hackaday Prize just started, and it’s your chance to build robots that respect the users. It doesn’t have to be the largest project in the world, but it does have to be automatic and helpful. Start your engines!

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”

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.