Language Selection

English French German Italian Portuguese Spanish


Enter your Tux Machines username.
Enter the password that accompanies your username.

More in Tux Machines

today's howtos

Mozilla: WireViz, Rust and TenFourFox

  • Testing WireViz

    Documentation is pretty limited, but looking through the tutorials and the data models you get a pretty good idea of what’s possible. I’m using the wiring diagrams from my guide to add an auxiliary audio input to a 2005 Subaru Outback, which is pretty simple, there’s an audio jack which connects to the Outback’s motherboard and the Outback’s FM audio module (and ground). The input is a YAML document with three sections: * connectors - A list of connectors and the information about their port. * cables - A list of wires (and their information, e.g. gauge). * connections - A lists of ports that should be connected via each cable.

  • security advisory

    Until recently, API keys for were generated using the PostgreSQL random function, which is not a cryptographically secure random number generator. This means that in theory, an attacker could observe enough random values to determine the internal state of the random number generator, and use this information to determine previously created API keys up to the last database server reboot. As part of the investigation for this, we also found that API keys were being stored in plain text. This would mean if our database were somehow compromised the attacker would be have API access for all current tokens.

  • This Week in Rust 347
  • TenFourFox FPR25b1 available

    TenFourFox Feature Parity Release 25 beta 1 is now available (downloads, hashes, release notes). Raphaël traced the the Twitch JavaScript crash we wallpapered over in FPR24 back to an issue with DOM workers not having sufficient memory allocated, so we widened that out. There still seems to be an endian issue Twitch is triggering, because it needs a huge amount of memory for its worker to finish and then can't spawn another thread because there's not enough memory to (but it reportedly works on Intel TenFourFox, so it's something specific about PowerPC). But hey! No crashes! Raphaël gets a second gold star for noticing that the gcc runtime we include with every copy of TenFourFox (because we build with a later compiler) is not itself optimized for the underlying platform, because MacPorts simply builds it for ppc rather than one of the specific subtypes. So he built four sets of runtime libraries for each platform and I've integrated it into the build system so that each optimized build now uses a C/C++ runtime tuned for that specific processor family (the debug build is still built for generic ppc so it runs on anything). This is not as big an improvement as you might think because JavaScript performance is almost overwhelmingly dominated by the JIT, and as I mentioned, JavaScript is one of the few areas TenFourFox has tuned and tested to hell. But other things such as DOM, graphics, layout and such do show some benefit, and scripts that spend more time in the interpreter than the JIT (primarily short one-offs) do so as well. There are no changes in the gcc runtime otherwise and it's still the same code, just built with better flags.

Raspberry Pi as a Penetration Testing Implant (Dropbox)

Sometimes, especially in the time of COVID-19, you can’t go onsite for a penetration test. Or maybe you can only get in briefly on a physical test, and want to leave behind a dropbox (literally, a box that can be “dropped” in place and let the tester leave, no relation to the file-sharing company by the same name) that you can remotely connect to. Of course, it could also be part of the desired test itself if incident response testing is in-scope – can they find your malicious device? In all of these cases, one great option is a small single-board computer, the best known of which is the Raspberry Pi. It’s inexpensive, compact, easy to come by, and very flexible. It may not be perfect in every case, but it gets the job done in a lot of cases. I’ll use this opportunity to discuss the setups I’ve done in the past and the things I would change when doing it again or alternatives I considered. I hope some will find this useful. Some familiarity with the Linux command line is assumed. Read more Also: Huawei 5G banned in the United Kingdom; must be removed by 2027

Open Hardware: Raspberry Pi, Arduino and More

  • Use an Inky wHAT display with Raspberry Pi

    Carefully line up your Inky wHAT over the GPIO header pins on Raspberry Pi (use the header booster that sits between the wHAT and the board if yours is a full-sized Raspberry Pi model) and press it into place. Connect Raspberry Pi’s mouse, keyboard, screen, and power on. As with using any new hardware, start by updating your Raspberry Pi. We advise using a fresh installation of Raspberry OS, which will suggest updating itself when it first boots up. Follow the prompts to check for and download any updates.

  • Personal Mediawiki with Raspberry PI and Docker

    MediaWiki is an open source collaboration and documentation platform used to share knowledge between people across Internet. It is at base of famous Wikipedia website. Licensed under GNU General Public License (GPL), it is extremely powerful, scalable and feature-rich. MediaWiki uses PHP for its front-end to display information to your browser and a number of databases variety (most common being MySQL). In this article I’m going to show you how to create your personal wiki with the cheap and powerful Raspberry PI. To simplify installation and setup, I’ll use Docker and docker-compose to deploy services with a single command line and a few configuration files. Instead of MySQL, our database will be built on custom MariaDB installation (fork of MySQL), which is performing better on Raspberry PI boards.

  • Go sailing with this stop-motion 3D-printed boat
  • DIY cable cam made from RC car and 3D-printed parts

    Everything is powered by a Tattu 650mAh 3S LiPo battery, while an Arduino Nano and an L298N dual H-bridge are used to control the motor (taken from an old HP printer) speed, adjustable between multiple settings by engaging the transmitter’s throttle switch. Final results come around the 13:40 minute mark in the video, and the footage looks fantastic!

  • STM32 IoT Discovery Kit Runs AWS-Ready FreeRTOS, Supports Arduino and Pmod Expansion Boards

    STMicroelectronics STM32 IoT Discovery Kit is supposed to ease software development for IoT nodes thanks to a qualified port of FreeRTOS integrated into the STM32Cube ecosystem, and ready to connect to Amazon Web Services (AWS). The hardware is comprised of an STM32L4+ Cortex-M4F microcontroller, various MEMS sensors, a secure element, and offers WiFi, Bluetooth 4.2, and NFC connectivity.