Simulating UAVs In Unreal Engine

When it comes to building real-world flying vehicles, testing can be arduous and expensive. You have to find somewhere to fly, then you have to contend with environmental conditions and the possibility of damaging your craft if things go wrong. Simulation is a great solution to this, allowing testing without so much risk. To that end, [AlexanderRex] whipped up a platform for testing UAVs from the comfort of your computer desk.

PteroSim is intended as a comprehensive test bench for simulating autonomous aerial vehicles. It can run PX4, ArduPilot, and Betaflight binaries right in the simulator. The autopilot code is given simulated sensor data, and in turn responds with actuator commands, just as it would in a real craft. The simulator runs the flight dynamics using JSBSim, and the resulting scene is rendered in Unreal Engine 5.

If you’ve ever wanted to quickly road test different autopilot settings without heading out to the field or risking hardware, this is a great way to do so. It’s hard to beat the speed of iteration that is possible when testing on the computer on your desk. We’ve featured similar work before, too.

Continue reading “Simulating UAVs In Unreal Engine”

Wikipedia On A Cheap Yellow Display

The Cheap Yellow Display (CYD) is a board carrying a slightly older ESP32 variant, a display with a resistive touchscreen, an SD card, and not much else. It’s often used for straightforward microcontroller applications that need a user interface, but that’s not the limit of its possibilities. [Alun Morris] has a CYD on which you can brows an entire offline Wikipedia.

The trick is to take the offline Wikipedia builds from the Kiwix project, and process them further into a custom format suited for a browser firmware on the ESP32. A modern SD card can hold so much data that a full Wikipedia is well within its abilities even with images included.

We like this idea, because it takes the knowledge away from the center of the network to its edge. We expect to see it gaining a following among enthusiasts for offline living, because all that knowledge without a network can only be useful. If you recognize [Alun]’s work, it might be because of his ESP32 web browser.

Self-Hosting Offline Websites

If there’s one thing that’s guaranteed in the tech world it’s that nothing is guaranteed. From AOL, Netscape, Yahoo, and MySpace, every tech empire seems to eventually fall to ruin. One method to reliably maintain information or online experiences that are lost to whims of computer users and markets is to backup, preserve, and host that information on one’s own computers, and the Kiwix project aims to help make offline backups of favorite websites.

The open-source tool started as a way for users to make their own offline backups of Wikipedia but eventually expanded into having the ability to backup many other sites as well. Wiki-type sites are generally the easiest, but it can also create backups of other sites like StackExchange so that when the Internet goes down or the site vanishes from the world, the information is preserved for use. There are plenty of guides online for setting up Kiwix as well, with it running easily on most Linux systems with or without the help of Docker, as well as versions available for Windows, Android, and Apple platforms.

Although the Kiwix software hosts the website backups, creating the backups needs to be done with another tool called Zimit to create the .zim files Kiwix uses. The Kiwix organization also hosts pre-downloaded .zim files of common websites so each user is not independently crawling Wikipedia on their own, a task that could take months on limited consumer hardware. As for what hardware to ultimately host it on, we might recommend an armageddon-proof machine like this one.

Compress Links For Optimal QR Codes

Link shorteners have been a staple of the online world for over two decades now, but they’ve got some issues– for one thing, it’s totally non-transparent where the link actually goes, leaving you open to all sorts of shenanigans, of which RickRolling is probably the best case. For two, your traffic is going through an external service who may have their own nefarious intent. [PortalRunner] had an idea: don’t shorten the link, but compress it.

You see, a traditional URL shortener like tinyurl just generates a random code and associates that with your original link in its database. That’s fine, but you’re relying on a third party database. The alternative is to take the URL, encode it in some way, and apply some compression algorithm to the data. If the encoding and compression are open-source– which [Portal ]’s absolutely are— then you can check yourself before following the link, and/or self-host the whole thing for piece of mind. As a bonus [Portal]’s Ha.mr– that’s pronounced Hammer– also gives you a QR code optimized for easy scanning. QR codes have a specific alphanumeric character set built in, and it isn’t the full UTF-8– if you naively use random text, you’re in byte mode, which needs a lot more QR real estate. Or inverting that, the fewer bits it has to store, the easier a qr code is to scan at the same size. The text version of the compressed links can use UTF-8– including emoticons– but they don’t have to.

The whole project has a “why isn’t everyone doing it this way” vibe about it. We’d probably want to self-host this if we were using it seriously– [Portal] put this together on a lark and makes no promises it will be online forever–but again, this is open source, so we can. [Portal] is using normal compression algorithms here, but if you really want to squeeze text, use a neural net. 

Continue reading “Compress Links For Optimal QR Codes”

More On Wave Overhangs For 3D Printing

We’ve heard of wave overhangs before. It is a new technique for printing horizontal overhangs with no supports. Building on some other techniques like arc overhangs. The idea is to teach the slicer not to try to draw overhangs in the middle of free space. Instead, when the slicer realizes there is a horizontal overhang, it tries to “grow” the overhang from the main part. You can see an overview in the video below.

For example, imagine printing a letter ‘T’ vertically. The stem of the T is no problem, but when you try to print the arms it will normally need support. But if you could just print the arms starting at the stem with slight overlapping, the arms could grow as they hang onto either the stem or the last overhang line.

That makes sense, but it only works for very simple cases. Arc overhangs can fill more complex cases, but suffer from little dimples at the center of each arc. The realization for wave overhangs is to replace the arcs with waves as you would see in a pond. The waves diffract around holes and corners.

Perfect? Not quite. They are still experimenting with settings, but there seems to be some increase in warping. If you want to experiment, you can download a fork of Orca and contribute your results to the community.

We looked at this technique earlier, but we haven’t seen much about it in practice yet. Let us know in the comments if you’ve tried it and how it worked for you. There are more details in the paper on the subject, or you can jump right to the software.

Continue reading “More On Wave Overhangs For 3D Printing”

The Code The British Government Doesn’t Want You To See (Any More)

Governments like to do things which at least sound open and honest. It makes them look like Thoroughly Good Eggs, when maybe the truth might be a little murkier. They also like to quietly roll back those things when it suits them, and so it is that [Jonty], of Electromagnetic Field fame, has assembled a list of code repositories quietly disappeared by the UK Government. Naturally, being thorough about such things, he’s also kept copies.

Now we’re always happy to reach for a mildly sensational title, but paging through the archive it’s more a collection of flotsam and jetsam than a trove of state secrets, after all these were all public GitHub repositories. There’s a lot of web stuff, some data analytics in R for those interminable government reports, odd bits of server code, and a whole load more. The Met Office Informatics Lab in particular has a fair bit of climate related code and data.

Should Brits with an interest in government openness be concerned here? In terms of the data and code deleted, probably not, but in terms of that which they might delete without notice in the future, it’s a slippery slope. We’re glad people like [Jonty] are there to make these things a little less easy to disappear.

This Filesystem Is Born To Fail

Sandboxing a Linux process usually means spending a lot of effort deciding what it isn’t allowed to see. You might put it in a mount namespace, bind-mount a few directories into place, hide some others, add a chroot, and generally construct a carefully restricted version of the filesystem. But a new Linux kernel feature is about to change all of that. Instead of carefully hiding most of the filesystem, why not just take the filesystem away?

That’s essentially the idea behind FailFS, a tiny pseudo-filesystem expected to land in Linux 7.3. As the name suggests, it doesn’t do very much. In fact, that’s the point: every operation that reaches FailFS returns EOPNOTSUPP, meaning “operation not supported.”

The interesting bit is what happens when a process uses FailFS as its root or current working directory. At that point, normal pathname lookup essentially ceases to work. Absolute paths fail. Absolute symbolic links fail. Relative paths using the normal current-directory mechanism fail. If the application tries to open /etc/passwd, there simply isn’t a useful /etc to find.

Continue reading “This Filesystem Is Born To Fail”