Newton’s Cradle Isn’t Really Perpetual

If any astute Hackaday reader saw [dongvua90]’s Newton’s cradle go on without human intervention all day long, they’d probably suspect the truth: there’s a battery and a magnet involved. But it is a nice desk piece, and you might be able to fool your less enlightened friends that you’ve discovered perpetual motion. Watch the resulting faux perpetual motion machine in action in the video below.

The trick is to sense the ball’s travel and inject a little electromagnetic pulse at just the right time. No problem for an ESP32 and a proximity sensor like the ones you find on some 3D printers. In fact, there’s very little custom circuitry. Everything is a module, and even the Newton’s cradle is cut out of a premade toy. A printed case and some software are really the heart of the design.

We can imagine this might be an interesting science demonstrator. Show the class the cradle with the electronics turned off, then subtly turn it on and ask the class what changed. You could even make the point by having students do it normally, while only you can get it to keep going forever, and challenge them to deduce what’s going on.

You might correctly imagine that this isn’t the first one of these we’ve seen. You can also build one that is sort of simulated.

Continue reading “Newton’s Cradle Isn’t Really Perpetual”

Musing On AI From 1964

[Irving John Good] was at Trinity College, Oxford back in 1964. His paper, “Speculations Concerning the First Ultraintelligent Machine” could have been a topic for today, as we deal with machines that aren’t really ultraintelligent, but appear smart and think they are even smarter. He starts off with a bold thesis: “The survival of man depends on the early construction of an ultraintelligent machine.”

He also admits that we’ll need to understand more about the human brain and human thought to make a breakthrough. This is still true today. However, we still don’t fully understand how our brains work, but it seems unlikely that we are just super-large LLMs. Not that [Good] anticipated the modern chatbot. Perhaps his comments will apply more to a future AI software that actually thinks like a human, if there will ever be such a thing.

Then again, there are many parallels. One theme in the paper is that a smart machine will design a smarter machine. Unless, of course, it is afraid of being replaced. If a machine were actually sentient, what are the ethics of turning it off and tearing it apart?

Continue reading “Musing On AI From 1964”

Robot Dog In Browser

You’ve doubtlessly seen the current crop of robot dogs and, if you are like us, thought about getting one to play with. The problem is that the cheap ones are toys, and the serious ones cost serious money. But now you can experiment with a mid-range cost one for free in your browser. The sponsor will be happy to sell you a robot in kit or assembled form, although it is the OpenCat robot (we’ve covered it before), so you could simply build a real one yourself if you wanted to.

The code is all in a Web-based IDE, and the main file is deceptively simple. However, the real work is in read_serial (in the src/moduleManager.h file, for some reason) and reaction in the aptly-named src/reaction.h file. If you just want to play, you can use the buttons in the simulator or enter serial commands (documented elsewhere). For example, ksit will make the dog sit down.

Continue reading “Robot Dog In Browser”

A Brief History Of The Crazy Old 7-Segment Display

How old is the seven-segment display? Surely it is a product of the 1970s. After all, calculators started showing up, and the height of junior high humor was plugging 7734 into your calculator and showing it to someone upside down. Of course, for it to go mainstream, maybe they really originated in the 1960s, but no earlier than that, right? Actually, no. Sure, the LED seven-segment display had to wait for LEDs. But the actual idea is much older than that.

The concept of building numbers from a small set of reusable segments predates LED displays by decades. In fact, the basic idea appears in patents from the early 1900s and may have roots in even older mechanical signs and printing techniques.

The history isn’t entirely straightforward. Unlike vacuum tubes or transistors, segmented displays evolved gradually through a series of practical ideas rather than one defining invention.

Blacking out the Eight

While looking into the history of segmented displays, I was reminded of something I’d seen years ago in retail stores: reusable price tags printed with rows of eights.

Rather than printing every possible price, the clerk simply used a marker to black out portions of each figure, transforming an 8 into whatever digit was needed. Cover a few strokes, and the eight becomes a three. Remove a different set, and it becomes a zero or a five. It was, in essence, a manual segmented display.

Finding the exact origin of these price tags is akin to finding out where Romans bought sponges. They were inexpensive commercial supplies, not the sort of products that historians carefully documented. My recollection is from the middle of the twentieth century, but the underlying concept is almost certainly older.

Continue reading “A Brief History Of The Crazy Old 7-Segment Display”

Linux Fu: The Local Phonebook

I’ll admit it: I miss the simplicity of /etc/hosts. There was something elegant about it. You wanted laserprinter to mean 192.168.1.40, so you opened a text file and wrote:

192.168.1.40 laserprinter

Done. No cloud account, no discovery daemon, no dashboard with material-themed icons. Just a name and an address. The trouble, of course, is that /etc/hosts is only simple when you have one machine. The moment you have a desktop, a laptop, a Raspberry Pi, a NAS, a test box, and a phone or two, every little network change becomes a tiny distributed-database problem. Which copy of /etc/hosts is authoritative? Did you update the laptop? What about the machine you only boot once a month?

One Solution

Modern LANs solved this with mDNS, using Avahi on Linux. It resolves addresses that end in .local. Instead of asking a central DNS server “who is thing.local?”, a machine sends a multicast query on the local network: “who has thing.local?” The device that owns the name answers. This is why your Linux box named spock and usually be reached as spock.local on your LAN.

There are limits. mDNS is link-local; it is meant for the local LAN, not the whole Internet and shouldn’t route across subnets. Each device is supposed to publish its own name. That works fine when the device cooperates. But what about devices that do not publish mDNS? Or little embedded things that barely even have an IP address?

That is where I wanted the best of both worlds: keep a small authoritative /etc/hosts file on one Linux box, but publish selected entries onto the LAN using mDNS.

Continue reading “Linux Fu: The Local Phonebook”

He Comes To Bury Segmented Memory, Not To Praise It

[BillPg] has been designing a fantasy 1980s-era home computer. As part of the exercise, he’s reevaluating all the assumptions that have grown organically over time in the small computer landscape. Hindsight is, so they say, 20/20, but sometimes hindsight can also be colored by modern thinking. Sometimes an idea that seems stupid today made sense in the context of its time. In particular, [Bill] has thoughts on the much-maligned 8086 memory segments.

If you haven’t run into it before, the 8086/8088 had a problem. It wanted to be more or less conceptually software compatible with the 8080 and Z80 computers, which had 16-bit addresses, leading to a limit of 64K of memory. When Intel was designing the next generation of chips, it knew that 64K had to go, but telling developers that code would require huge reengineering was a non-starter. So the idea was to provide multiple 64K spaces broken up into segments.

Continue reading “He Comes To Bury Segmented Memory, Not To Praise It”

Hackaday Podcast Episode 376: Modern Retro Projects, Retro Modern Projects, And The Teen Years For 3D Printing

Hackaday’s Elliot Williams and Al Williams were in a retro mood this week. There was a new ‘486 computer, a new mechanical TV, and a USB stick with a magnetic personality. Can you watch YouTube on a Game Boy? Maybe.

For the can’t miss articles, this week, Elliot and Al reflected on the awkward phase of 3D printers when they transformed from being expensive commercial machines, to where they are now. Meanwhile, Al was interested in how airplanes know how fast they are going. Along the way, there were musical hacks, precision machine tools, and a quantum 8 ball.

Check out the links if you want to follow along, and as always, tell us what you think about this episode in the comments! Or write or record something for our mailbag segment.

Direct download in authentic retro DRM-free MP3.

Continue reading “Hackaday Podcast Episode 376: Modern Retro Projects, Retro Modern Projects, And The Teen Years For 3D Printing”