Language Selection

English French German Italian Portuguese Spanish

Login

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

More in Tux Machines

Keyboard Hacks With Raspberry Pi and Arduino

  • Turn On Sarcasm With the Flip Of a Switch

    Sarcasm is notoriously difficult to distinguish in online communities. So much, in fact, that a famous internet rule called Poe’s Law is named after the phenomenon. To adapt, users have adopted several methods for indicating implied sarcasm such as the /s tag, but more recently a more obvious sarcasm indicator has appeared that involves random capitalization througout the sarcastic phrase. While this looks much more satisfying than other methods, it is a little cumbersome to type unless you have this sarcasm converter for your keyboard. The device, built by [Ben S], is based around two Raspberry Pi Pico development boards and sits between a computer and any standard USB keyboard. The first Pi accepts the USB connection from the keyboard and reads all of the inputs before sending what it reads to the second Pi over UART. If the “SaRcAsM” button is pressed, the input text stream is converted to sarcasm by toggling the caps lock key after every keystroke.

  • Reverse engineering an '80s NeXT keyboard | Arduino Blog

    Working with vintage computer technology can feel a bit like the digital equivalent of archeology. Documentation is often limited or altogether absent today — if it was ever even public in the first place. So you end up reverse engineering a device’s functionality through meticulous inspection and analysis. Spencer Nelson has a vintage NeXT keyboard from the ’80s and wanted to get it working with modern computers via USB. To make that happen, he reverse engineered the protocol and used an Arduino as an adapter. NeXT was a computer company founded by Steve Jobs in the ’80s, in the period after he left Apple. A little over ten years later, Apple bought NeXT and Jobs rejoined the company. NeXT only released a few computers, but they are noteworthy and desirable to collectors. This particular keyboard is from 1988 and worked with the first generation NeXT Computer. Unlike modern keyboards that share the USB protocol, keyboards from this era utilized proprietary protocols. This particular model had an enigmatic protocol that Nelson became obsessed with deciphering.

  • Reverse Engineering The NeXT Computer Keyboard Protocol | Hackaday

    The NeXT computer was introduced in 1988, with the high-end machine finding favor with universities and financial institutions during its short time in the marketplace. [Spencer Nelson] came across a keyboard from one of these machines, and with little experience, set about figuring out how it worked. The keyboard features a type of DIN connector and speaks a non-ADB protocol to the machine, but [Spencer] wanted to get it speaking USB for use with modern computers. First attempts at using pre-baked software found online to get the keyboard working proved to be unreliable. [Spencer] suspected that the code, designed to read 50 microsecond pulses from the keyboard, was miscalibrated.

KDE Plasma 5.24 Will Be the Next LTS Release Receiving Support Until KDE Plasma 6

KDE Plasma 5.24 (currently in public beta testing) is set to be the next LTS release of the acclaimed and widely used desktop environment for GNU/Linux distributions, replacing the KDE Plasma 5.18 LTS series, which reached end of life in October 2021. Set to arrive on February 8th, 2022, two years after the release of Plasma 5.18 LTS, the Plasma 5.24 LTS series promises cool new features like support for fingerprint readers to unlock the screen or authenticate in apps that require administration password or with sudo on the command-line. Read more

Programming Leftovers: LibreOffice, KDE, and More

  • Nibble Stew: Building a part of LibreOffice on Windows using only Meson and WrapDB

    In earlier posts (starting from this one) I ported LibreOffice's build system to Meson. The aim has not been to be complete, but to compile and link the main executables. On Linux this is fairly easy as you can use the package manager to install all dependencies (and there are quite a few of them). [...] It does on my machine. It probably won't do so on yours. Some of the deps I used could not be added to WrapDB yet or are missing review. If you want to try, the code is here. The problematic (from a build system point of view) part of compiling an executable and then running it to generate source code for a different target works without problems. In theory you should be able to generate VS project files and build it with those, but I only used Ninja because it is much faster.

  • Regression fix: Missing lines in docx

    Interoperability is a very important aspect of the LibreOffice. Today, LibreOffice can load and save various file formats from many different office applications from different companies across the world. But bugs (specially regression bugs) are inevitable parts of every software. There are situations where the application does not behave as it should, and a developer should take action and fix it, so that it will behave according to the expectation of the user. What if you encounter a bug in LibreOffice, and how does a developer fix the problem? Here we discuss the steps needed to fix a bug. In the end, we provide a test and make sure that the same problem does not happen in the future. [...] The bug reporter should carefully describe the “actual results” and why it is different from the “expected results”. This is also important because the desired software’s behavior is not always as obvious as it seems to be for the bug reporter. Let’s talk about a recently fixed regression bug: The “NISZ LibreOffice Team” reported this bug. The National Infocommunications Service Company Ltd. (NISZ) has an active team in LibreOffice development and QA.

  • Beginning with Season of KDE 2022 - post #1

    I usually learn something between semesters when I have holidays. During September - October 2021, I tried learning some Qt and looking around codebase for KDE apps. But something just didn't work out. I suspect my leaning style wasn't correct.

  • KDE Gear 22.04 release schedule finalized

    It is available at the usual place https://community.kde.org/Schedules/KDE_Gear_22.04_Schedule Dependency freeze is in six weeks (March 10) and Feature Freeze a week after that, make sure you start finishing your stuff!

  • Python sets, frozensets, and literals

    A Python "frozenset" is simply a set object that is immutable—the objects it contains are determined at initialization time and cannot be changed thereafter. Like sets, frozensets are built into the language, but unlike most of the other standard Python types, there is no way to create a literal frozenset object. Changing that, by providing a mechanism to do so, was the topic of a recent discussion on the python-ideas mailing list. [...] In the end, this "feature" would not be a big change, either in CPython, itself, or for the Python ecosystem, but it would remove a small wart that might be worth addressing. Consistency and avoiding needless work when creating a literal frozenset both seem like good reasons to consider making the change. Whether a Python Enhancement Proposal (PEP) emerges remains to be seen. If it does, no major opposition arises, and the inevitable bikeshed-o-rama over its spelling ever converges, it just might appear in an upcoming Python—perhaps even Python 3.11 in October.

  • Terraform For Each Loop Examples - buildVirtual

    The Teraform for each meta argument allows you to use a map or a set of strings to deploy multiple similar objects (such as virtual machines) without having to define a separate resource block for each one. This is great for making our Terraform plans more efficient! Note: for_each was added in Terraform 0.12.6, and support for using it with Terraform modules was added in 0.13. Let’s go straight into looking at some examples of how to use Terraform for each loops.

  • Strange Computer Languages: A Hacker’s Field Guide | Hackaday

    Why do we build radios or clocks when you can buy them? Why do we make LEDs blink for no apparent purpose? Why do we try to squeeze one extra frame out of our video cards? We don’t know why, but we do. That might be the same attitude most people would have when learning about esolangs — esoteric programming languages — we don’t know why people create them or use them, but they do. We aren’t talking about mainstream languages that annoy people like Lisp, Forth, or VBA. We aren’t talking about older languages that seem cryptic today like APL or Prolog. We are talking about languages that are made to be… well… strange.

  • Perl Weekly Challenge 149: Fibonacci Digit Sum and Largest Square
  • My Favorite Warnings: precedence | Tom Wyant [blogs.perl.org]

    Perl possesses a rich and expressive set of operators. So rich, in fact, that other adjectives can come to mind, such as prolix, or even Byzantine. Requests for help navigating Perl's operator space appear repeatedly on outlets such as PerlMonks. These seem to me to involve two sorts of confusion: precedence (discussed here) and functionality (string versus numeric -- maybe another blog post). The precedence warnings category has some help here, though as of Perl 5.34 there are only two diagnostics under it:

  • Niko Matsakis: Panics vs cancellation, part 1

    One of the things people often complain about when doing Async Rust is cancellation. This has always been a bit confusing to me, because it seems to me that async cancellation should feel a lot like panics in practice, and people don’t complain about panics very often (though they do sometimes). This post is the start of a short series comparing panics and cancellation, seeking after the answer to the question “Why is async cancellation a pain point and what should we do about it?” This post focuses on explaining Rust’s panic philosophy and explaining why I see panics and cancellation as being quite analogous to one another.

Linux Foundation and OSI Leftovers (Openwashing PR)

  • Why you want labels for software, just like for food

    Here is my own synthesis, as simple as possible, of a much geekier post about a very geeky concept that, in an age where so much depends on how software is used AROUND you, becomes every year more important for everybody. A Software Bill of Materials (SBOM) is becoming an increasingly expected requirement from software releases. Reading through blog posts and social media, there still seems that some confusion persists about what an SBOM can/could do for your project.

  • The Linux Foundation makes record progress in addressing talent shortages

    The Linux Foundation summarises the progress made in 2021 towards its goal of ensuring anyone can start an open-source technology career.

  • EV charging software goes open source with Project Everest [Ed: There is no such this as "the Linux open-source foundation"; this is greenwashing and openwashing all-in-one]

    The development and expansion of the EV charging software ecosystem is a critical component to the mainstream adoption of electric vehicles. However, the industry has become complex and fragmented, with multiple isolated solutions and inconsistent technology standards. This slows and threatens the adoption of EVs. In response, PIONIX has developed a project called EVerest, an open-source software stack designed to establish a common base layer for a unified EV charging ecosystem. EVerest has gained some serious cred in the developer world, with its biggest support LF Energy (the Linux open-source foundation for the power systems sector). I spoke to the project’s brainchild, Dr. Marco Möller, managing director of PIONIX, to find out more.

  • Spotlight on Libre Space Foundation, OSI Associate Member

    Did you know that one of OSI’s members is leading the effort to take open source to infinity and beyond?! Libre Space Foundation (LSF) is a non-profit foundation registered in Greece whose vision is “an Open and Accessible Outer Space for all.” The organization works to promote, advance and develop free and open source technologies and knowledge for space. Recently, Libre Space Foundation, on behalf of the OpenSatCom.org activity of the European Space Agency, partnered with Inno3 to investigate open source development models in the satellite communications industry and share their findings in a report. As the authors explain, “..the SATCOM industry has been traditionally multiple vertical ecosystems and moved towards some standardization (through efforts like CCSDS, ECSS, DVB, etc.) on various of its parts. Yet it is far from an Open Ecosystem and specific actions should be taken to explore this direction for the benefit of the SATCOM industry.”