2025-12-04 11:00:32

Ever heard of MUMPS? Both programming language and database, it was developed in the 1960s for the Massachusetts General Hospital. The goal was to streamline the increasingly enormous timesink that information and records management had become, a problem that was certain to grow unless something was done. Far from being some historical footnote, MUMPS (Massachusetts General Hospital Utility Multi-Programming System) grew to be used by a wide variety of healthcare facilities and still runs today. If you’ve never heard of it, you’re in luck because [Asianometry] has a documentary video that’ll tell you everything.
MUMPS had rough beginnings but ultimately found widespread support and use that continues to this day. As a programming language, MUMPS (also known simply as “M”) has the unusual feature of very tight integration with the database end of things. That makes sense in light of the fact that it was created to streamline the gathering, processing, and updating of medical data in a busy, multi-user healthcare environment that churned along twenty-four hours per day.
It may show its age (the term “archaic” — among others — gets used when it’s brought up) but it is extremely good at what it does and has a proven track record in the health care industry. This, combined with the fact that efforts to move to newer electronic record systems always seem to find the job harder than expected, have helped keep it relevant. Have you ever used MUMPS? Let us know in the comments!
And hey, if vintage programming languages just aren’t unusual enough for you, we have some truly strange ones for you to check out.
2025-12-04 08:00:53

If you exclude certain companies like Peloton, the world of cycling technology is surprisingly open. It’s not perfect by any means, but there are enough open or open-ish standards for many different pieces of technology from different brands to interoperate with each other, from sensors and bike computers and even indoor trainers to some extent. This has also made it possible for open source software to exist in this realm as well, and the GoldenCheetah project has jumped in for all of us who value FOSS and also like to ride various bicycles from time to time.
GoldenCheetah focuses on gathering data from power meters, allowing cyclists to record their rides and save them in order to keep track of their training performance over time. It works well with sensors that use the ANT+ protocol, and once it has that data it can provide advanced analytics such as power curves, critical power modeling, and detailed charts for power, heart rate, and cadence. It can display and record live indoor-training data, and in some situations it can even run interval workouts, although not every indoor trainer is supported. There are no social features, subscriptions, or cloud requirements which can be refreshing in the modern world, but is a bit of a downside if you’re used to riding with your friends in something like Zwift.
All in all, though, it’s an impressive bit of software that encourages at least one realm of consumer electronics to stay more open, especially if those using bike sensors, computers, and trainers pick ones that are more open and avoid those that are proprietary, even if they don’t plan to use GoldenCheetah exclusively. And if you were wondering about the ANT+ protocol mentioned earlier, it’s actually used for many more things that just intra-bike wireless communications.
2025-12-04 05:00:25

Back during WWII, Chrysler bodged five inline-6 engines together to create the powerful A57 multibank tank engine. [Maisteer] has some high-revving inline-4 motorcycle engines he’s trying to put together too, but unlike 1940s Chrysler, he also has a trombone… and a lot more RPMs to deal with.
The Chrysler flatheads were revving at a few thousand RPM– their redline was almost certainly in the three-thousand range. [Maisteer] is working at 15,000 RPM, which is where the real challenge of this build lies: the trombone in the image is just for fun. He wanted to use a heavy chain to link the crankshafts, but at that rotational speed, a heavy chain becomes really heavy— or at least, it feels a force many times its weight due to centrifugal force. The lietmotief of this video is a quote by an automotive engineer to the effect that chains don’t work over 10,000 RPM.
That leads to a few problems for the intrepid “not an engineer” that take most of the video to deal with and ultimately doom the engine linkage– for now. Not before he gets an iconic 8-cylinder sound out (plus some fire) out of a trombone, though. Of particular note is the maker-type workflow Hackaday readers will appreciate: he 3D scans the engines, CADs up parts he needs and sends away to have them CNC’d and SLS printed.
Hacking motorcycle engines into cars is nothing new. Hacking them together into franken-engines is something we see less often.
Thanks to [Keith Olson] for the tip! Remember, if you want to toot your own horn– or toot about someone else’s project, for that matter–the tips line is always open.
2025-12-04 03:30:07

This week Jonathan chats with Konstantinos Margaritis about SIMD programming. Why do these wide data instructions matter? What’s the state of Hyperscan, the project from Intel to power regex with SIMD? And what is Konstantinos’ connection to ARM’s SIMD approach? Watch to find out!
Did you know you can watch the live recording of the show right on our YouTube Channel? Have someone you’d like us to interview? Let us know, or have the guest contact us! Take a look at the schedule here.
Direct Download in DRM-free MP3.
If you’d rather read along, here’s the transcript for this week’s episode.
Theme music: “Newer Wave” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
2025-12-04 02:00:41

Color 3D printing has gone mainstream, and we expect more than one hacker will be unpacking one over the holidays. If you have, say, a color inkjet printer, the process is simple: print. Sure, maybe make sure you tick the “color” box, but that’s about it. However, 3D printers are a bit more complicated.
There are two basic phases to printing color 3D prints. First, you have to find or make a model that has different colors. Even if you don’t make your own models (although you should), you can still color prints in your slicer.
The second task is to set the printer up to deal with those multiple colors. There are several different ways to do this, and each one has its pros and cons. Of course, some of this depends on your slicer, and some depends on your printer. For the purposes of this post, I’ll assume you are using a Slic3r fork like Prusa or OrcaSlicer. Most of the lower-priced printers these days work in roughly the same way.
In theory, there are plenty of ways to 3D print in color. You can mix hot plastic in the nozzle or use multiple nozzles, each loaded with a different color. But most entry-level color printers use a variation of the same technique. Essentially, they are just like single-nozzle FDM printers, but they have three extra pieces. First, there is a sensor that can tell if filament is in the hot end or not. There’s also a blade above the hot end but below the extruder that can cut the filament off cleanly on command. This usually involves having the hot end ram some actuator that pushes the spring-loaded knife through the filament.
The third piece is some unit to manage moving a bunch of filaments in and out of the hot end. Everyone calls this something else. Bambu calls it an AMS while Flashforge calls it an IFS. Prusa has an MMU. Whatever you call it, it just moves cold filament around: either pushing it into the extruder or pulling it out.
Every filament change starts with cutting the filament below the extruder. That leaves the stringy melted part down in the nozzle. Then the extruder can pull the rest up until the management unit can take over and pull it totally out of the hot end/extruder assembly. That’s why there’s a sensor. It pulls until it sees that the extruder is empty or it times out and throws an error.
Then it is simple enough to move another filament back into the extruder. Of course, the first thing it has to do is push the leftover filament out of the nozzle. Most printers move to a bin and extrude until they are sure the color has changed. However, there are other options.
Even if you push out all the old filament, you may want to print a little waste piece of the new filament before you start printing, and this is called a purge block. Slicers can also push purge material into places like your infill, for example. Some can even print objects with the purge, presumably an object that doesn’t have to look very nice. Depending on your slicer, printer, and workflow, you can opt to print without a purge block, which can work well when you have a part where each layer is a solid color. Some printers will let you skip the discharge step, too, which is often called “poop.”
One caveat, of course, is that all this switching logic takes time and generates waste. A good rule of thumb is to try to print many objects at one time if you are going to switch filament, because the changes are what take time and generate waste. Printing dozens of objects will generate essentially the same amount of waste as printing one. Of course, printing a dozen objects will take longer than a single one, but the biggest part of the time is filament changes, which doesn’t change no matter how many or few you print.

We’ve talked before about creating your own color objects. We’ve even seen how to do it in TinkerCad. Of course, you can also load designs that already have color in them. However, there are several different ways to put color into an otherwise monochrome print.
First, you can take a regular print and use your slicer’s paint function to paint areas with different colors. That works, but it is often tedious, and for complex shapes, it is error-prone. Another downside is that you can’t really control the depth easily, so you get strange filament shifts inside the object if you do it that way.
In Orca, you can select an object in the Prepare screen and then use N, or the toolbar, to bring up the paint color dialog. From there, you can pick a brush shape, pen size, and color. Then it is easy to just paint where you like by left-dragging. You can remove paint by pressing Shift while clicking or dragging. Press the little question mark at the bottom left to see other options.
Once you make a color print, the slicer will automatically place a purge block for you unless you turn it off. Assuming you use it, it is a good idea to drag it on the build plate to be closer to the print, which can shave a few minutes of travel time.
Possibly the easiest way, other than not printing in color, of course, is to have each part of the model that needs to be one color as a separate STL file, as we talked about in the previous post. You tell the slicer which part goes with which filament, and you are done.
In Orca, the best way to do this is to import several STL models at one time. The software will ask you: “Load these files as a single object with multiple parts?” If you agree, you get one object made of individual pieces.
The resulting object won’t look much different until you go to “Process”, on the left-hand side of the screen, and switch from the default Global to Objects. From there, you’ll see the objects and their components. At first, each one will be set to the same color, but by clicking on the color box, you can assign different colors. In the screenshot, you’ll see two identical objects, each with two parts. Each part has a different color. The number is the extruder that holds that color.

There is another way, though. You can avoid almost all of the waste generation and extra time if your model is designed so that each layer is a single color. People have done this for years, where you put a pause in your G-code and then switch filament manually. The idea is the same but the printer can switch for you. For example, the Christmas Tree ornament uses two filament changes to print white, then green, then white again. This works great for lettering and logos and other simple setups where you simply need some contrast.
In Orca, you’ll want to slice your model once and switch to the preview tab. Using the vertical slider on the right-hand side, adjust the view until it shows you where you want the filament change. Then right-click and select “Change Filament.” This is the same way you add a pause if you want to change filament manually, for example.
If you use this method, remember to turn off the purge block. You don’t really need it.
So now, when you unwrap that shiny new multimaterial printer, you have a plan. Get a color model or color one yourself. Then you can decide if you need color changes or full-blown, and waste-prone, color printing. Either way, have fun!
2025-12-04 00:30:47

An unlikely hit of the last few months’ consumer hardware has been a power bank branded by the German confectionery company Haribo. It first gained attention in backpacking circles because of its high capacity for a reasonable weight, and since then has been selling like the proverbial hot cakes. Now Amazon have withdrawn it from their store over “A potential safety or quality issue”. The industrial imaging company Lumafield have taken a look at the power bank with a CT scanner, to find out why.
As you might imagine, the power bank is all battery inside, with pouch type lithium ion cells taking up all of the space. Immediately a clue appears as to why Amazon withdrew them, as the individual layers of the cells are misaligned, laying open a risk of failure. They also take a look at a set of earbuds from the same source and find something even more concerning — torn electrodes. Thus neither device can be regarded as safe, and the backpackers will have to haul around a little bit more in the future.
You’ll not find the Wrencher on a power bank, but you can be sure if you did, we’d make sure there was an element of quality control at play. Meanwhile we feel slightly sorry for the branding executive responsible at Haribo, who we are guessing has had a bad day. We’ve featured Lumafield’s work here before quite a few times, most recently looking at similar defects in 18650 cells.