A Jaw-Dropping Demo In Only 256 Bytes

“Revision” is probably the Olympics of the demoscene. The world’s best tiny graphics coders assemble, show off their works, and learn new tricks to pack as much awesome into as few bytes as possible or make unheard-of effects on limited hardware. And of course, there’s a competition. Winning this year’s 256-byte (byte!) competition, and then taking the overall crowd favorite award, was [HellMood]’s Memories.

If you watch it in the live-stream from Revision, you’ll hear the crowd going (virtually) wild, and the announcer losing his grip and gasping for words. It’s that amazing. Not only are more effects put into 28 bytes than we thought possible, but there’s a full generative MIDI score to go with it. What?!?

But almost as amazing is [HellMood]’s generous writeup of how he pulled it off. If you’re at all interested in demos, minimal graphics effects, or just plain old sweet hacks, you have your weekend’s reading laid out for you. [HellMood] has all of his references and influences linked in as well. You’re about to go down a very deep rabbit hole.

Continue reading “A Jaw-Dropping Demo In Only 256 Bytes”

The Game That Launched 1,000 Hackers

John Conway passed away this week. Even if you don’t know much about mathematics, you will probably know nearly everyone’s favorite cellular automata ruleset: Conway’s “Game of Life”. It’s so much a part of our cultural history, that proto-hacker Eric Scott Raymond suggested using the glider as the hacker emblem.

The idea that a very simple set of rules, applied equally and everywhere, could result in “life” was influential in my growth as a young hacker, and judging from the comments on our article about Conway, I’m not alone. But I won’t lie: I was a kid and thought that it could do much more than make pretty patterns on the screen. I was both right and wrong.

Although amazingly complex machines can be built in Conway’s Life, just check out this video for proof, in the end no grand unifying theory of cellular automata has emerged. As a research topic Conway’s chosen field of mathematics, cellular automata is a backwater. It didn’t really go anywhere. Or did it?

Implementing Conway’s Life in BASIC on a Tandy Color Computer was one of the first things that launched me on my geeky path. It ranks with MENACE: the matchbox-based machine learning algorithm from the 1960’s and an introduction to Markov Chains in the form of a random text generator in my young algorithmic life, all of which I incidentally read about in Martin Gardner’s column in “Scientific American”. Conway’s Life, along with some dumb horse-race game, also taught me about bad random-number generators: the screen would populate the same “randomly” every time on the old CoCo.

So maybe Conway didn’t want to be remembered just for his “Life” because it was a bit of a mathematical dead-end. But in terms of its impact on the world, an entire generation of hackers, and my own personal life, it was able to fill up significantly more than a screen full of pixels. Here’s to Conway, his “Life”, and everyone else who is inspiring the next. You’re not just gliders, you’re glider guns!

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 200+ weeks. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter.

Want this type of article to hit your inbox every Friday morning? You should sign up!

[Game of Life example shown in this article is John Conway’s Game of Life – 1.0 written in Python by Nick Jarvis and Nick Wayne]

Google And Apple Reveal Their Coronavirus Contact Tracing Plans: We Kick The Tires

Google and Apple have joined forces to issue a common API that will run on their mobile phone operating systems, enabling applications to track people who you come “into contact” with in order to slow the spread of the COVID-19 pandemic. It’s an extremely tall order to do so in a way that is voluntary, respects personal privacy as much as possible, doesn’t rely on potentially vulnerable centralized services, and doesn’t produce so many false positives that the results are either ignored or create a mass panic. And perhaps much more importantly, it’s got to work.

Slowing the Spread

As I write this, the COVID-19 pandemic seems to be just turning the corner from uncontrolled exponential growth to something that’s potentially more manageable, but it’s not clear that we yet see an end in sight. So far, this has required hundreds of millions of people to go into essentially voluntary quarantine. But that’s a blunt tool. In an ideal world, you could stop the disease globally in a couple weeks if you could somehow test everyone and isolate those who have been exposed to the virus. In the real world, truly comprehensive testing is impossible, and figuring out whom to isolate is extraordinarily difficult due to two factors: COVID-19 has a long incubation period during which it is nonetheless transmissible, and some or even most people don’t know they have it. How can you stop what you can’t see, and even when you can detect it, it’s a week too late?

One promising approach is to isolate those people who’ve been in contact with known cases during the stealth contagion period. To do this is essentially to keep a diary of everyone you’ve been in contact with for the last week or two, and then if you eventually test positive for COVID-19, alert them all so that they can keep from infecting others even before they test positive: track and trace. Doctors can do this by interviewing patients who test positive (this is the “contact tracing” we’ve been hearing so much about), but memory is imperfect. Enter a technological solution. Continue reading “Google And Apple Reveal Their Coronavirus Contact Tracing Plans: We Kick The Tires”

Can Solid Save The Internet?

We ran an article on Solid this week, a project that aims to do nothing less than change the privacy and security aspects of the Internet as we use it today. Sir Tim Berners-Lee, the guy who invented the World Wide Web as a side project at work, is behind it, and it’s got a lot to recommend it. I certainly hope they succeed.

The basic idea is that instead of handing your photos, your content, and your thoughts over to social media and other sharing platforms, you’d store your own personal data in a Personal Online Data (POD) container, and grant revocable access to these companies to access your data on your behalf. It’s like it’s your own website contents, but with an API for sharing parts of it elsewhere.

This is a clever legal hack, because today you give over rights to your data so that Facebook and Co. can display them in your name. This gives them all the bargaining power, and locks you into their service. If instead, you simply gave Facebook a revocable access token, the power dynamic shifts. Today you can migrate your data and delete your Facebook account, but that’s a major hassle that few undertake.

Mike and I were discussing this on this week’s podcast, and we were thinking about the privacy aspects of PODs. In particular, whatever firm you use to socially share your stuff will still be able to snoop you out, map your behavior, and target you with ads and other content, because they see it while it’s in transit. But I failed to put two and two together.

The real power of a common API for sharing your content/data is that it will make it that much easier to switch from one sharing platform to another. This means that you could easily migrate to a system that respects your privacy. If we’re lucky, we’ll see competition in this space. At the same time, storing and hosting the data would be portable as well, hopefully promoting the best practices in the providers. Real competition in where your data lives and how it’s served may well save the Internet. (Or at least we can dream.)

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 200+ weeks. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter.

Want this type of article to hit your inbox every Friday morning? You should sign up!

COVID-19 Statistics: Reading The Tea Leaves

If you’ve been tracking the spread of the COVID-19 pandemic around the world, as we have, you’ve doubtless seen a lot of statistics. The raw numbers look shocking, and in many cases they are, but as always it’s crucially important to ask yourself what the numbers mean.

For instance, our own Tom Nardi put together a counter that displays the total number of COVID-19 cases in the US. It’s a cool project that puts together some web-scraping, a nice OLED screen, and a 3D-printed network display. When this is all over, it can be easily re-trained to show some other statistic of interest, and it’s a great introduction to a number of web APIs. However, it’s looking at the wrong number.

Let me explain. Diseases spread exponentially: the more people who have it, the more people are spreading it. And exponential curves all look the same when you plot out their instantaneous values — the raw number of COVID-19 cases. Instead, what distinguishes one exponential from another is the growth parameter, and this is related to the number of new cases per day, or more correctly, to the day-to-day change in new cases.

If left unchecked, and especially in the early stages of spread, the number of new cases grows every day. But as control efforts, mainly social distancing, take effect, the rate at which the number of new cases can slow, or even go negative. That’s the plan, anyway.

As is very well explained by this video from 3 Blue, 1 Brown, if this were a naturally spreading epidemic, the point at which the new cases just starts to decline marks the halfway point in the course of the disease. Here, we’re hoping that particularly strict quarantining procedures will cut this run even shorter, but if you’re interested in how the disease is spreading, the point when daily new infections turns around is what you’re looking for.

Why not put the daily difference in new cases on your desktop, then? These numbers are noisy, and the difference jumps all around. To be serious, you would probably want to put a moving average on the new cases figure, and look at that difference. Or simply show the new cases instead and look for it to drop for a few days in a row.

Still, this won’t be a perfect measure. For starters, COVID-19 seems to incubate for roughly a week without symptoms. This means that whatever numbers we have, they’re probably a week behind the actual situation. We won’t see the effects of social distancing for at least a week, and maybe more.

Further complicating things is the availability of tests, human factors like weekends when more people get tested but fewer government reporting offices are open, timezones, etc. (What happened on Feb. 13?)

I’m not going to go so far as to say that the COVID-19 stats that we see are useless — actually far from it. But if you’re going to armchair quarterback this pandemic, do it right. Plot out the daily new cases, maybe apply a little smoothing, at least in your head, and realize that whatever you’re seeing now probably represents what happened last week.

When you finally see the turning point, you may celebrate a little, because that means the halfway point was a week ago. We’ve seen it happen in China around Feb 2, and I’m looking forward to it happening here. I hope it happens wherever you are, and soon.

We will get through this. Stay safe, all. And keep yourself uninfected to keep others uninfected.

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 212 weeks or so. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter.

Want this type of article to hit your inbox every Friday morning? You should sign up!

Supercon Talk: Mike Szczys Runs Down The State Of The Hackaday 2019

2019 was a great year for Hackaday. It marked the fifteenth year of the hacker community’s hive-brain, which is essentially forever in Internet Years, and we’re still laser-focused on bringing you the hacks that inspire you to create the hacks that inspire someone else to create the hacks of tomorrow. We’re immensely proud that Hackaday remains a must-read in the worldwide community of folks doing creative things with technology.

At the Superconference, our editor-in-chief Mike Szczys covered the best new developments here at Hackaday HQ in 2019: new weekly columns, mobile-friendly formats for both Hackaday’s front page and the mobile app for Hackaday.io, our podcast, some great new contests, and a ton of great in-depth original articles from our crew of writers. And that’s just what was new last year.

The part of Mike’s talk that I enjoyed the most, though, was his look back fifteen years ago to when Hackaday was just born. In the intervening 5,545 days, we’ve written more than 34,718 articles. (So much for “hack-a-day”, he says, doing the math.) We’re nearing our millionth comment. That’s a lot of Hackaday. So it’s fun to ask what has changed over this time, and track it through the memory of a hardware hacker.

Dig the old image styling! Groovy.

Back in 2008, Hackaday was a spry four-year-old, and we were featuring robot hacks where the brains and Internet connectivity were provided by WRT-54G routers, SMS connectivity was provided by hacking into a Nokia 3100, and the battery weighed more than the motors yet only lasted fifteen minutes. Today’s hacks toss in an ESP32, any old cheap SMS module, and an off-the-shelf Li-Ion battery pack and will run for days. Don’t even get me started on 3D printers. Or the ease of writing software for any of these machines. We’ve never lived in better times!

But that doesn’t mean that every project has to be a superconducting supercollider either; it’s equally important to showcase our simpler projects too, to give new people a foothold into the hacking scene. And it’s similarly crucial to show people how you failed, tried, and tried again before declaring victory. If all of our finished projects look like they were conjured out of thin air, it hides all of the learning that went into them, and that’s where a lot of the real gold is buried.

While we add features, media come and go, and the cutting edge becomes less and less distinguishable from magic, one thing remains constant: showing each other what we’re up to, sharing our best tips and tricks, and pushing forward the hacker state of the art. Long live Hackaday!

Continue reading “Supercon Talk: Mike Szczys Runs Down The State Of The Hackaday 2019”

Living In Corona Times

This week the new coronavirus has spread like wildfire. The good news last week has been the success with which China, Taiwan, and Singapore have handled the epidemic, and that western nations are just beginning to emulate their approach of reducing person-to-person interactions as much as possible to slow the rate of infection. The bad news, however, is that countries like Italy currently have a number of cases that is overwhelming their health system, and that the disease seems to be spreading rapidly in other countries. It’s going to get a lot worse before it gets better.

Our sincerest thanks go out to all of the medical professionals who are providing care in this difficult situation. But also to those who are providing public infrastructure in less obvious ways: the cashiers who subject themselves to hundreds of contacts per day just so that you and I can buy toothpaste, for instance. The rest of us are staying at home as much as possible, washing our hands, and slowing the spread as much as possible simply by not catching or passing on the virus.

The original part, left, with its 3D-printed counterpart.

Of course, everyone wants to help, and there have been some heroic hacks. The fablabs and hackerspaces in Italy who’ve been 3D printing respirator parts for instance, have directly and obviously helped save lives. With respirators being the limiting factor in many hospitals, we’ve also seen an effort to design an open source ventilator, adapt one to serve multiple patients, and even a start towards converting a CPAP fan into a ventilator for emergencies.

But most of us don’t have medical expertise. If you have spare CPU cycles, consider donating them to the folding@home effort to simulate the proteins in the virus. And any hack to make the lives of those stuck in voluntary quarantine more “normal” is perhaps as important in the long run. I made a simple clock to help my son who’s stuck at home and can’t yet tell time, adjust to his new daily routine. Others have made more obviously whimsical devices. We like this computer-vision face-touching alarm. If it makes people smile while slowing down one transmission vector, it’s a win.

If you have the expertise, consider helping out your local schools with telepresence and online education. While a number of colleges are already geared up for distance learning, it’s uncharted territory for primary education most everywhere. I’m sure you can also think of other ways to help out locally. If so, don’t hesitate to tell us your success stories.

For the rest: simply washing your hands, staying healthy, and not passing the virus on to others is a quietly heroic act that we think shouldn’t be overlooked. Thanks.

This article is part of the Hackaday.com newsletter, delivered every seven days for each of the last 212 weeks or so. It also includes our favorite articles from the last seven days that you can see on the web version of the newsletter.

Want this type of article to hit your inbox every Friday morning? You should sign up!