Hackaday editors Mike Szczys and Elliot Williams march to the beat of the hardware hacking drum as they recount the greatest hacks to hit the ‘net this week. First up: Casio stepped in it with a spurious DMCA takedown notice. There’s a finite matrix of resistors that form a glorious clock now on display at CERN. Will a patio paver solve your 3D printer noise problems? And if you ever build with copper clad, you can’t miss this speedrun of priceless prototyping protips.
Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!
We’ll be honest right up front: there’s nothing new in [David Cambridge]’s brushless motor and controller build. If you’re looking for earth-shattering innovation, you’d best look elsewhere. But if you enjoy an aimless use of just about every technique and material in the hacker’s toolkit employed with extreme craftsmanship, then this might be for you. And Nixies — he’s got Nixies in there too.
[David]’s build started out as a personal exploration of brushless motors and how they work. Some 3D-printed parts, a single coil of wire, and a magnetic reed switch resulted in a simple pulse motor that performed surprisingly well. This morphed into a six-coil motor with Hall-effect sensors and a homebrew controller. This is where [David] pulled out all the stops on tools — a lathe, a plasma cutter, a welder, a milling machine, and a nice selection of woodworking tools went into making parts for the final motor as well as an enclosure for the project. And because he hadn’t checked off quite all the boxes yet, [David] decided to use the 3D-printed frame as a pattern for casting one from aluminum.
The finished motor, with a redesigned rotor to deal better with eddy currents, joined the wood and metal enclosure along with a Nixie tube tachometer and etched brass control plates. It’s a great look for a project that’s clearly a labor of self-edification and skill-building, and we love it. We’ve seen other BLDC demonstrators before, but few that look as good as this one does.
Researchers at the NCCGroup have been working on a 5-part explanation of a Windows kernel vulnerability, targeting the Kernel Transaction Manager (KTM). The vulnerability, CVE-2018-8611, is a local privilege escalation bug. There doesn’t seem to be a way to exploit this remotely, but it is an interesting bug, and NCCGroup’s work on it is outstanding.
They start with a bit of background on what the KTM is, and why one might want to use it. Next is a handy guide to reverse engineering Microsoft patches. From there, they describe the race condition and how to actually exploit it. They cover a wide swath in the series, so go check it out.
Left4Dead 2
Just a reminder that bugs show up where you least expect them, [Hunter Stanton] shares his story of finding a code execution bug in the popular Valve game, Left4Dead 2. Since the game’s code isn’t available to look at, he decided to go the route of fuzzing. The specific approach he took was to fuzz the navigation mesh data, part of the data contained in each game map. Letting the Basic Fuzzing Framework (BFF) run for three days turned up a few possible crashes, and the most promising turned out to have code execution potential. [Hunter] submitted the find through Valve’s HackerOne bug bounty program, and landed a cool $10k bounty for his trouble.
While we’re still far away from returning to a pre-Corona everyday life, people seem to have accepted that toilet paper will neither magically cease to exist, nor become our new global currency. But back at the height of its madness, like most of us, [Jelle Vermandere] found himself in front of empty shelves, and the solution seemed obvious to him: creating a lifelike toilet paper chasing game in hopes to distract the competition.
Using Unity, [Jelle] created a game world of an empty supermarket, with the goal to chase after distribution tubes and collect toilet paper packs into a virtual cart. Inspired by the Wii Wheel, he imitated a shopping cart handle built from — as it appears — a sunshade pole that holds an Arduino and accelerometer in a 3D-printed case as game controller. For an even more realistic feel, he added a sound sensor to the controller, and competing carts to the game, which can be pushed out of the way by simply yelling loud enough. You can witness all of this delightful absurdity in his build video after the break.
From racing shopping carts to racing bicycles
But that’s not all. With the toilet paper situation sorted out, [Jelle] found himself in a different dilemma: a cloud foiled his plans of going for a bicycle ride. In the same manner, he ended up building a cycling racing game, once again with Unity and Arduino. From a 3D-scanned model of himself and his bicycle, to automatically generating tracks on the fly and teaching an AI to ride a bike, [Jelle] clearly doesn’t joke around while he’s joking around.
However, the best part about the game has to be the controller, which is his actual bicycle. Using a magnetic door sensor to detect the speed, and a potentiometer mounted with an obscure Lego construction to the handlebar, it’s at least on par with the shopping cart handle — but judge for yourself in another build video, also attached after the break. The only thing missing now is to level up the difficulty by powering the Arduino with the bicycle itself.
Like everyone lately, [Matt] has been spending more time doing video conferencing lately. The problem is you naturally want to look at the screen, but that means you aren’t looking at the camera and, thus, you aren’t making eye contact. If you use a laptop, there is a relatively easy fix, although it isn’t particularly stylish. [Matt] built a black shroud out of foam board and put in two-way mirror. How does that help? Well, with the set up, you can put a very thin black web camera pointing up towards the mirror. Because the shroud is dark, you can see the screen through the mirror, but the camera sees you.
Where do you get a thin black web camera? You make one from an old laptop camera. They are tiny and easy to repurpose, a trick [Matt] has shared before. As a bonus, the post shows an easy way to take an LED strip and make a diffused light for lighting up your webcam call.
We like to talk about how most of our computers today would have been mainframes a scant 40 or 50 years ago. Because of that, many people who want to run IBM mainframes such as the IBM 360 or 370 use the Hercules emulator to run the big iron on their PCs. However, mainframe IBM computers used an odd style of terminal and emulating it on a PC isn’t always as satisfying. At least, that’s what [lowobservable] thought, so he decided to get a 3270 terminal working with Hercules.
Back in the bad old days of computing, there were two main styles of terminals. Some companies, for example DEC, essentially used terminals as a “glass teletype.” That is, the screen was an analog of a roll of paper — more or less — and the keyboard immediately sent things to the remote system. However, companies like IBM and HP favored a different approach. Their terminals dealt with screens full of data. The terminal was smart enough to let you fill in forms, edit text on the screen, and then you’d send the entire screen in one gulp. Both systems had pros and cons, but — as you might expect — the screen-oriented terminals were more complex.
Most of us have computers on our desk that would have been considered supercomputers not long ago. We always wonder how many of them get any actual workout other than decoding video. If you want to simulate circuits you may very well start chewing up significant CPU time, so you might consider Xyce, an open source high-performance analog circuit simulator from Sandia National Labs. As you’d expect from a giant government lab it is able to support large scale parallel computing, but will also work on common desktop systems. On Linux, it will do what they call “small-scale parallelism.” In addition, it can deal with simulations of things as diverse as neural networks and power grids.
The code is open source, but oddly you do have to register to download it. Xyce has been around for a bit, but version 7.0 just arrived in April. Many of the changes are to improve compatibility with other Spice programs, notably HSpice.