Refilling Single-Use Miele Dishwasher AutoDos Detergent Dispensing Disks

As part of [Erich Styger]’s recent kitchen overhaul with more power-efficient machines, he came across the ‘AutoDos’ feature of the new Miele G 27695-60 dishwasher. These are essentially overpriced containers of dishwashing powder that go into a special compartment of the machine, from which the dishwasher can then dispense the powder as needed. The high price tag and purported single-use of these containers led to the obvious question of whether they can be refilled.

With a cost of over $10 per PowerDisk container, each containing 400 grams of powder that suffice for ~20 cycles, it should be obvious that this is not a cheap system. Fortunately, each PowerDisk is just a foil-covered plastic container with no real special components. This meant that one hole and some funnel action later, [Erich] had refilled an empty PowerDisk with fresh powder, with the Miele dishwasher happily purring away and none the wiser that it wasn’t using Genuine Miele PowerDisk Dishwasher Powder™.

How well this system holds up long-term is uncertain, as the containers were not designed for constant reuse, but it offers the perspective of some creative 3D printing to create an (ABS-based?) container alternative. Having a automatic powder or liquid dosing system in a dishwasher is a pretty useful feature, but when it gets tied to what is clearly a cash grab, it rather ruins the deal.

(Thanks to [Christian] for sending this one in)

Making The Case For COBOL

Perhaps rather unexpectedly, on the 14th of March this year the GCC mailing list received an announcement regarding the release of the first ever COBOL front-end for the GCC compiler. For the uninitiated, COBOL saw its first release in 1959, making it with 63 years one of the oldest programming language that is still in regular use. The reason for its persistence is mostly due to its focus from the beginning as a transaction-oriented, domain specific language (DSL).

Its acronym stands for Common Business-Oriented Language, which clearly references the domain it targets. Even with the current COBOL 2014 standard, it is still essentially the same primarily transaction-oriented language, while adding support for structured, procedural and object-oriented programming styles. Deriving most of its core from Admiral Grace Hopper‘s FLOW-MATIC  language, it allows for efficiently describing business logic as one would encounter at financial institutions or businesses, in clear English.

Unlike the older GnuCOBOL project – which translates COBOL to C – the new GCC-COBOL front-end project does away with  that intermediate step, and directly compiles COBOL source code into binary code. All of which may raise the question of why an entire man-year was invested in this effort for a language which has been declared ‘dead’ for  probably at least half its 63-year existence.

Does it make sense to learn or even use COBOL today? Do we need a new COBOL compiler?

Continue reading “Making The Case For COBOL”

Ultra Light VORON X-Beam Milled From Aluminium Tube Stock

Voron X/Y carriage overview.
Voron X/Y carriage overview.

When it comes to 3D printing using fused deposition modeling (FDM) technology, there are two main groups of printers: Cartesian and CoreXY, with the latter being the domain of those who wish to get the fastest prints possible, courtesy of the much more nimble tool head configuration. Having less mass in the X/Y carriage assembly means that it can also move faster, which leads to CoreXY FDM enthusiasts to experiment with carbon fiber and a recent video by [PrimeSenator] in which an X-beam milled out of aluminium tube stock that weighs even less than a comparable carbon fiber tube is demonstrated.

As the CoreXY FDM printer only moves in the Z-direction relative to the printing surface, the X/Y axes are directly controlled by belts and actuators. This means that the faster and more precise you can move the extruder head along the linear rails, the faster you can (theoretically) print. Ditching the heavier carbon fiber for these milled aluminium structures on a Voron Design CoreXY printer should mean less kinetic inertia, with the initial demonstrations showing positive results.

The interesting thing about this ‘speed printing’ community is that not only the raw printing speeds, but also that in theory CoreXY FDM printers are superior in terms of precision (resolution) and efficiency (e.g. build volume). All of which makes these printers worthy of a look next time one is shopping for an FDM-style printer.

Continue reading “Ultra Light VORON X-Beam Milled From Aluminium Tube Stock”

Knowing Your Place: The Implications Of GPS Spoofing And Jamming

Artificial satellites have transformed the world in many ways, not only in terms of relaying communication and for observing the planet in ways previously inconceivable, but also to enable incredibly accurate navigation. A so-called global navigation satellite system (GNSS), or satnav for short, uses the data provided by satellites to pin-point a position on the surface to within a few centimeters.

The US Global Positioning System (GPS) was the first GNSS, with satellites launched in 1978, albeit only available to civilians in a degraded accuracy mode. When full accuracy GPS was released to the public under the 1990s Clinton administration, it caused a surge in the uptake of satnav by the public, from fishing boats and merchant ships, to today’s navigation using nothing but a smartphone with its built-in GPS receiver.

Even so, there is a dark side to GNSS that expands beyond its military usage of guiding cruise missiles and kin to their target. This comes in the form of jamming and spoofing GNSS signals, which can hide illicit activities from monitoring systems and disrupt or disable an enemy’s systems during a war. Along with other forms of electronic warfare (EW), disrupting GNSS signals form a potent weapon that can render the most modern avionics and drone technology useless.

With this in mind, how significant is the threat from GNSS spoofing in particular, and what are the ways that this can be detected or counteracted?

Continue reading “Knowing Your Place: The Implications Of GPS Spoofing And Jamming”

Silence Of The IPods: Reflecting On The Ever-Shifting Landscape Of Personal Media Consumption

On October 23rd of 2001, the first Apple iPod was launched. It wasn’t the first Personal Media Player (PMP), but as with many things Apple the iPod would go on to provide the benchmark for what a PMP should do, as well as what they should look like. While few today remember the PMP trailblazers like Diamond’s Rio devices, it’s hard to find anyone who doesn’t know what an ‘iPod’ is.

Even as Microsoft, Sony and others tried to steal the PMP crown, the iPod remained the irrefutable market leader, all the while gaining more and more features such as video playback and a touch display. Yet despite this success, in 2017 Apple discontinued its audio-only iPods (Nano and Shuffle), and as of May 10th, 2022, the Apple iPod Touch was discontinued. This marks the end of Apple’s foray into the PMP market, and makes one wonder whether the PMP market of the late 90s is gone, or maybe just has transformed into something else.

After all, with everyone and their pet hamster having a smartphone nowadays, what need is there for a portable device that can ‘only’ play back audio and perhaps video?

Continue reading “Silence Of The IPods: Reflecting On The Ever-Shifting Landscape Of Personal Media Consumption”

Bare-Metal STM32: Using The I2C Bus In Master-Transceiver Mode

As one of the most popular buses today for on- and inter-board communication within systems, there’s a good chance you’ll end up using it with an embedded system. I2C offers a variety of speeds while requiring only two wires (clock and data), which makes it significantly easier to handle than alternatives, such as SPI. Within the STM32 family of MCUs, you will find at least one I2C peripheral on each device.

As a shared, half-duplex medium, I2C uses a rather straightforward call-and-response design, where one device controls the clock, and other devices simply wait and listen until their fixed address is sent on the I2C bus. While configuring an STM32 I2C peripheral entails a few steps, it is quite painless to use afterwards, as we will see in this article. Continue reading “Bare-Metal STM32: Using The I2C Bus In Master-Transceiver Mode”

Data Alignment Across Architectures: The Good, The Bad And The Ugly

Even though a computer’s memory map looks pretty smooth and very much byte-addressable at first glance, the same memory on a hardware level is a lot more bumpy. An essential term a developer may come across in this context is data alignment, which refers to how the hardware accesses the system’s random access memory (RAM). This and others are properties of the RAM and memory bus implementation of the system, with a variety of implications for software developers.

For a 32-bit memory bus, the optimal access type for some data would be a four bytes, aligned exactly on a four-byte border within memory. What happens when unaligned access is attempted – such as reading said four-byte value aligned halfway into a word – is implementation defined. Some hardware platforms have hardware support for unaligned access, others throw an exception that the operating system (OS) can catch and fallback to an unaligned routine in software. Other platforms will generally throw a bus error (SIGBUS in POSIX) if you attempt unaligned access.

Yet even if unaligned memory access is allowed, what is the true performance impact? Continue reading “Data Alignment Across Architectures: The Good, The Bad And The Ugly”