When Pano Logic went out of business in 2012, their line of unique FPGA-based thin clients suddenly became a burden that IT departments didn’t want anything to do with. New and used units flooded the second-hand market, and for a while you could pick these interesting gadgets up for not much more than the cost of shipping. Thanks to considerable interest from the hacking community the prices for these boxes have climbed a bit on eBay, but they’re still a great way to get your feet wet with FPGA hacking.
Especially now, as Pano Logic fanatic [Skip Hansen] has figured out how to flash a new firmware on them without having to crack open the case and break out the JTAG or SPI programmer. For the seasoned hardware hacker that might not seem like a big deal, but if you’re new to the game or just more interested in the software side of the equation, this trick makes things considerably more accessible. Having an external programmer is still a good idea if things go south, but if you’re just looking to flash some demos and see what the hardware is capable of this is a huge quality of life improvement.
Even if you aren’t interested in fiddling with the orphaned products of a defunct Bay Area startup, the write-up is a fascinating look at practical software reverse engineering. As it turns out, [Skip] didn’t create this new firmware update tool from scratch. He actually opened up the official Linux update utility from Pano Logic in Ghidra and was able to figure out where the firmware image actually lived inside the program. He then wrote his own tool in C which will patch the update tool with a user-supplied firmware image.
After patching, all you need to do is follow the official update procedure, which Pano Logic helpfully documented in the YouTube video after the break. [Skip] mentions he didn’t find any clear license information in the official software he was fiddling with, and of course with the company out of business it’s not too likely anyone is going to come knocking down his door anyway. Still, he says the downloads for the Pano Logic updater are still floating around on the tubes out there for you to find, so he’s not distributing anyone’s code but his own in this project.
When it comes to mathematics, the average person can probably get through most of life well enough with just basic algebra. Some simple statistical concepts would be helpful, and a little calculus couldn’t hurt. But that leaves out a lot of interesting mathematical concepts that really do have applications in everyday life and are just plain fascinating in their own right.
Chief among these concepts is the Fourier transform, which is the key to understanding everything from how JPEGs work to how we can stream audio and video over the Internet. To help get your mind around the concept, [Jez Swanson] has this interactive Fourier transform visualizer that really drives home the important points. This is high-level stuff; it just covers the basic concepts of a Fourier transform, how they work, and what they’re good for in everyday life. There are no equations, just engaging animations that show how any function can be decomposed into a set of sine waves. One shows the approximation of a square wave with a slider to control to vary the number of component sine waves; a button lets you hear the resulting sound getting harsher as it approaches a true square wave. There’s also a great bit on epicycles and SVGs, and one of the best introductions to encoding images as JPEGs that we’ve seen. The best part: all the code behind the demos is available on GitHub.
As we’ve seen time and time again, the word “hacker” takes on a different meaning depending on who you’re talking to. If you ask the type of person who reads this fine digital publication, they’ll probably tell you that a hacker is somebody who likes to learn how things work and who has a penchant for finding creative solutions to problems. But if you ask the average passerby on the street to describe a hacker, they might imagine somebody wearing a balaclava and pounding away at their laptop in a dimly lit abandoned warehouse. Thanks, Hollywood.
Naturally, we don’t prescribe to the idea of hackers being digital villains hell-bent on stealing your identity, but we’ll admit that there’s something of rift between what we call hacking versus what happens in the information security realm. If you see mention of Red Teams and Blue Teams on Hackaday, it’s more likely to be in reference to somebody emulating Pokemon on the ESP32 than anything to do with penetration testing. We’re not entirely sure where this fragmentation of the hacking community came from, but it’s definitely pervasive.
Two of these talks which should particularly resonate with the Hackaday crowd were Charles Sgrillo’s An Introduction to IoT Penetration Testing and Ham Hacks: Breaking into Software Defined Radio by Kelly Albrink. These two presentations dealt with the security implications of many of the technologies we see here at Hackaday on what seems like a daily basis: Bluetooth Low Energy (BLE), Software Defined Radio (SDR), home automation, embedded Linux firmware, etc. Unfortunately, the talks were not recorded for the inaugural WOPR Summit, but both presenters were kind of enough to provide their slides for reference.
Getting into the weeds of operating systems is daunting work. Especially when the operating system involved is a fully featured modern PC operating system with millions of lines of code all working together to integrate hardware and software seamlessly. One such operating system “weed” is figuring out how to handle simultaneous tasks when the processor can only really handle one thing at time. For that, you’ll be looking at the difference between spinlocks and mutexes.
Both of these are methods of making sure that the processor completes a task sufficiently before moving on to the next task. Modern computers are so fast (even ignoring multiple cores) that it seems as if they are doing many things at once. In order to maintain this illusion, tasks need ways of locking the processor to that specific task for a certain amount of time. Of course the queue for performing the next task can get complicated as there are often many tasks waiting to use processor time. Spinlocks are a simple way of holding the processor and mutexes are a slightly more complicated way, but which one is the most efficient use of system resources isn’t that straightforward.
If you’ve ever been interested in operating system details, this one goes deep into the intricacies of features most of us have never even considered the existence of. It’s definitely worth a read, though, and is very well written by someone who is clearly an expert. If you want an operating system challenge, you can build your own operating system as well.
If you’re reading Hackaday, you’ve probably heard of OpenBuilds. Even if the name doesn’t sound familiar, you’ve absolutely seen something on these pages that was built with their components. Not only is OpenBuilds a fantastic place to get steppers, linear rails, lead screws, pulleys, wheels, and whatever else you need to make your project go, they’re also home to an active forum of people who are passionate about developing open source machines.
As if that wasn’t enough reason to head over to the OpenBuilds website, [Peter Van Der Walt] recently wrote in to tell us about some new free and open source software he and the team have been working on that’s designed to make it easier than ever to get your creations cutting, lasing, milling, and whatever else you could possibly imagine. If you’ve got a machine that moves, they’ve got some tools you’ll probably want to check out.
“OpenBuilds CAM” is a web-based tool which imports SVG and DXF files and creates toolpaths for all sorts of cutting, whether your machine does the business using a beam of angry photons or a simple drag knife. The resulting GCode can then be plugged into “OpenBuilds CONTROL”, which as you may have guessed, does the actual controlling of the piece of hardware connected to your computer. There’s no worries about vendor lock in here either, CONTROL will talk to any Grbl-compatible board.
But what if you don’t have a board? Well, it just so happens that OpenBuilds offers a very slick new piece of gear they’re calling the BlackBox. This beefy CNC controller includes a laundry list of features that [Peter] says the team is very excited about, including stepper drivers powerful enough to run NEMA 23 motors. As an interesting note, they’ve actually made the enclosure for the BlackBox out of cleverly solder masked PCBs; a fantastic trick we don’t see often enough.
It’s a thankless task, searching for a job. You send off your CV, or resume, and it joins a thousand other destined for the round file. What on earth can you do to make your career stand out, and catch the eye of the recruiter?
If you are [Pablo Jiménez Mateo], the answer is straightforward enough. Simply combine the document as a PDF with an x86 bootloader, to make a readable document that will also boot an x86 computer system. He can do this relatively easily by prepending the bootloader file to the PDF, as long as the “%PDF” header of the CV remains within the first 1024 bytes it will remain a readable document. Which it does, though as our GitHub screenshot shows, not in all PDF readers.
A bootable PDF is pretty cool and we have to salute his effort in getting it in front of us in the hope of career boost, but it would be fair to admit that it’s a trick that has been done before. So it’s time to turn attention to the bootloader itself, whose code comes in the form of an extremely well-commented assembly file that loads some sprites and a border to a VGA screen that looks as though it might be the first room in a top-down adventure game. Through the code we can gain an appreciation of just how simple a bootloader can be, and that in itself makes this project worth a second look.
We see a lot of weird and esoteric stuff here at Hackaday, but even by our standards, Bell Lab’s Plan 9 operating system is an oddball. Named after the science fiction film Plan 9 from Outer Space, it was designed to extend the UNIX “everything is a file” mentality to the network. It envisioned a future where utilizing the resources of another computer would be as easy as copying a file. But as desktop computers got more powerful the idea seemed less appealing, and ultimately traditional operating systems won out. Of course, that doesn’t mean you still can’t play around with it.
Logically to make use of a distributed operating system you really need something to distribute it on, but as [Andrew Back] shows, today that’s not nearly the challenge it would have been back then. Using the Raspberry Pi, he builds a four-node Plan 9 cluster that’s not only an excellent way to explore this experimental operating system, but looks cool sitting on your desk. Even if you’re not interested in drinking the Bell Lab’s Kool-Aid circa 1992, his slick desktop cluster design would work just as well for getting your feet wet with modern-day distributed software stacks.
The enclosure for the cluster is built from laser cut acrylic panels which are then folded into shape with a hot wire bending machine. That might seem like a tall order for the home hacker, but we’ve covered DIY acrylic benders in the past, and the process is surprisingly simple. Granted you’ll still need to get access to a beefy laser cutter, but that’s not too hard anymore if you’ve got a hackerspace nearby.
[Andrew] uses short extension cables and female panel mount connectors to keep everything tidy, and with the addition of some internal LED lighting the final product really does look like a desktop computer from a far more fashionable future. Combined with the minimalist keyboard, the whole setup wouldn’t look out of place on the set of a science fiction movie. Perhaps that’s fitting, giving Bell Lab’s futuristic goals for Plan 9.