Hackaday editors Elliot Williams and Mike Szczys riff on the hardware hacks that took the Internet by storm this week. Machining siege weapons out of aluminum? If they can throw a tennis ball at 180 mph, yes please! Welding aficionados will love to see the Hero Engine come together. We dive into the high-efficiency game of hypermiling, and spin up the polarizing topic of the Sun Cycle. The episode wouldn’t be complete without hearing what the game of Go sounds like as a loop sequencer, and how a variable speed cassette player can be abused for the benefit of MIDI lovers the world over.
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!
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!
GitHub has enabled free code analysis on public repositories. This is the fruit of the purchase of Semmle, almost exactly one year ago. Anyone with write permissions to a repository can go into the settings, and enable scanning. Beyond the obvious use case of finding vulnerabilities, an exciting option is to automatically analyse pull requests and flag potential security problems automatically. I definitely look forward to seeing this tool in action.
The Code Scanning option is under the Security tab, and the process to enable it only takes a few seconds. I flipped the switch on one of my repos, and it found a handful of issues that are worth looking in to. An important note, anyone can run the tool on a forked repo and see the results. If CodeQL finds an issue, it’s essentially publicly available for anyone who cares to look for it.
Simpler Code Scanning
On the extreme other hand, [Will Butler] wrote a guide to searching for exploits using grep. A simple example, if raw shows up in code, it often signals an unsafe operation. The terms fixme or todo, often in comments, can signal a known security problem that has yet to be fixed. Another example is unsafe, which is an actual keyword in some languages, like Rust. If a Rust project is going to have vulnerabilities, they will likely be in an unsafe block. There are some other language-dependent pointers, and other good tips, so check it out.
In the 1850s British railway companies started introducing a single standard time to make their timetables consistent. Before that, every city would set its own clock based on the observation of the position of the sun. Nowadays, precise time standards are not only needed so people don’t miss their trains but also make modern communication technologies and satellite navigation work.
Generally, there are two methods of defining time, one is based on the local passage of time as measured by atomic clocks, while the other relies on the exact measurement of Earth’s rotation. The latter is not an easy exercise that involves extragalactic radio sources or huge laser-based gyroscopes. The constant survey of the Earth’s spin tells us that days are constantly getting longer, but surprisingly, severe earthquakes and weather phenomena can also take little discrete bites out of the planet’s supply of rotational kinetic energy.
How do we keep our ultra precisely measured time, the rotation of the Earth, and our position in the heavens in line?
When the Prusa i3 MK3 was released in 2017, it was marketed as being “bloody smart” thanks to the impressive number of sensors that had been packed into the printer. The update wasn’t really about improving print quality over the MK2, but rather to make the machine easier to use and more reliable. There was a system for resuming prints that had stopped during a power outage, a thermometer so the firmware could compensate against thermal drift in the inductive bed sensor, RPM detection on all of the cooling fans, and advanced Trinamic stepper drivers that could detect when the printer had slipped or gotten stuck.
The optical filament sensor of the Prusa i3 MK3.
But the most exciting upgrade of all was the new filament sensor. Using an optical encoder similar to what you’d find in a mouse, the Prusa i3 MK3 could detect when filament had been inserted into the extruder. This allowed the firmware to pause the print if the filament had run out, a feature that before this point was largely unheard of on consumer-grade desktop 3D printers. More than that, the optical encoder could also detect whether or not the filament was actually moving through the extruder.
In theory, this meant the MK3 could sense problems such as a jammed extruder or a tangle in the filament path that was keeping the spool from unrolling. Any other consumer 3D printer on the market would simply continue merrily along, not realizing that it wasn’t actually extruding any plastic. But the MK3 would be able to see that the filament had stalled and alert the user. The capabilities of the optical filament sensor represented a minor revolution in desktop 3D printing, and combined with the rest of the instrumentation in the MK3, promised to all but eradicate the heartbreak of failed prints.
Fast forward to February of 2019, and the announcement of the Prusa i3 MK3S. This relatively minor refresh of the printer collected up all the incremental tweaks that had been made during the production of the MK3, and didn’t really add any new features. Though it did delete one: the MK3S removed the optical encoder sensor used in the MK3, and with it the ability to sense filament movement. Users would have to decide if keeping the ability to detect clogs and tangles was worth giving up all of the other improvements offered by the update.
But why? What happened in those three years that made Prusa Research decide to abandon what promised to be a huge usability improvement for their flagship product? The answer is an interesting look at how even the cleverest of engineering solutions don’t always work as expected in the real-world.
With Sony and Microsoft still a month away from the public release of their next-generation game consoles, you’d expect technical details of their respective systems to still be under a veil of secrecy. But both companies look to be taking things a bit differently this generation, as it becomes increasingly clear that modern consumers are interested in what makes their devices tick. Today, Sony really threw down the gauntlet by beating the tech media to the punch and posting their own in-depth teardown on the new PlayStation 5.
Unsurprisingly, the video after the break is almost entirely in Japanese. But even if you don’t know the language, there’s plenty of interesting details to be had. For one thing, the heatsink and fan that cools the PS5’s AMD CPU and GPU are collectively so massive that they appear to take up most of the console’s internal volume.
In fact, the heatsink itself is so large that the motherboard is actually mounted to it instead of the other way around. So if you want to take out the board, you have to unbolt it from the heatsink and remove it first. In the process you’ll expose the unique liquid metal thermal compound that Sony apparently developed specifically for this application. Good luck to you if any dust gets in that expensive-looking goop.
It’s also interesting to note that, unlike the previous two generations of Sony consoles, the PS5 has no discrete hard drive. Instead, onboard flash with a custom controller is used to provide 825 GB of storage for software. Hopefully Sony has put the requisite amount of R&D into their wear leveling, as a shot flash chip will mean a whole new motherboard. That said, gamers with extensive collections will be happy to see there appears to be an expansion bay where you can install your own M.2 drive.
The Android phone that you carry in your pocket is basically a small computer running Linux. So why is it so hard to get to a usable Linux environment on your phone? If you could run Linux, you could turn your cell phone into an ultra-portable laptop replacement.
Of course, the obvious approach is just to root the phone and clean-slate install a Linux distribution on it. That’s pretty extreme and, honestly, you would probably lose a lot of phone function unless you go with a Linux-specific phone like the PinePhone. However, using an installer called AnLinux, along with a terminal program and a VNC client, you can get a workable setup without nuking your phone’s OS, or even having root access. Let’s see what we can do. Continue reading “Linux Fu: The Linux Android Convergence”→
It’s really beginning to feel as though the problem of climate change is a huge boulder rolling down a steep hill, and we have the Sisyphean task of trying to reverse it. While we definitely need to switch as much of the planet over to clean, green energy as soon as possible, the deployment should be strategic. You know, solar panels in sunny places, and wind turbines in windy places. And for the most part, we’re already doing that.
A test unit in Okinawa, Japan. Image via Challenergy
In the meantime, there are also natural disasters to deal with, some of which are worsened by climate change. Eastern and Southeast Asian countries are frequently under the threat of typhoons that bring strong, turbulent winds with them. Once the storms pass, they leave large swaths of lengthy power outages in their wake.
Studies have shown that these storms are gaining strength over the years, leading to more frequent disruption of existing power systems in those areas. Wind power is the ideal solution where storms have come through and knocked out traditional power delivery all over a region. As long as the turbines themselves can stand up to the challenge, they can be used to power micro-grids when other delivery is knocked out.
Bring On the Typhoons?
Unfortunately, the conventional three-bladed wind turbines you see dotting the plains can’t stand up to the awesome power of typhoons. But vertical axis wind turbines can. Though they have been around for many years, they may have finally found their niche.