2025-12-09 11:00:03

Although most people manage to navigate roads without major issues during the day, at night we become very reliant on the remaining navigational clues. The painted marks on the asphalt may not be as obvious in the glare of headlights, not to mention scuffed up and/or covered by snow and hidden by fog. This is where cat’s eyes are a great example of British ingenuity. A common sight in the UK and elsewhere in Europe, they use retroreflectors embedded in the road. Best of all, they are highly durable and self-cleaning, as [Mike Fernie] details in a recent video on these amazing devices.
Invented in the 1930s by [Percy Shaw], cat’s eyes feature a sturdy body that can take the abuse of being driven over by heavy trucks, along with a rubber dome that deforms to both protect the reflectors and wipe them clean using any water that’s pooled in the area below them. They also provide an auditory clue to the driver when they pass the center line, which can be very useful for night-time driving when attention may be slipping.
In the video the cat-squishing cleaning process is demonstrated using an old cat’s eyes unit that seems to have seen at least a few decades to road life, but still works and cleans up like a charm. Different color cat’s eyes are used to indicate different sections of the road, and modern designs include solar-powered LEDs as well as various sensors to monitor road conditions. Despite these innovations, it’s hard to beat the simplicity of [Percy]’s original design.
2025-12-09 08:00:52

These days, Internet connectivity is ubiquitous, so you can look up live weather data on just about any device around you. Regardless, [Jozerworx] wanted a simple, clean, independent weather display, and came up with this simple design.
The build is based on the Lilygo T5 EPD devboard, which combines an ESP32-S3 microcontroller with a nice 4.7-inch e-paper display. This display has the benefit that it only uses power when it’s being updated, making it particularly suitable to run off a battery for extended periods of time. Meanwhile, the ESP32 and its inbuilt Wi-Fi connectivity allow it to query the internet for updated weather forecasts. Weather data is sourced via the OpenWeather API, which [Jozerworx] notes comes with the caveat of requiring an API key. It’s a little fussy, but if you want good weather data, there are few easier ways to get it. The display shows a forecast for the next five days, while also showing graphs of ambient temperature and humidity along with useful information like the sunset and sunrise schedule.
Files are on Github for those eager to learn more. [Jozerworx] also notes that getting started with the display is particularly easy with the inclusion of a setup mode. This allows the display to act as a Wi-Fi access point with a web page that you use enter your home Wi-Fi connection details.
We’ve featured a great many charming weather displays over the years, too. If you’re working to plot, chart, or even predict the weather—don’t hesitate to show us your cool projects over on the tipsline!
2025-12-09 05:00:49

The Nintendo Switch dock set a new bar for handheld docking user experience – just plug your console in to charge it, output image to your monitor, and keep it working with any USB peripherals of your choice. What if a 3DS is more your jam? [KOUZEX] shows off a Switch-style dock design for his gorgeous yellow 3DS, with Switch Pro controller support, and this dock wasn’t just a 3D printing job – there’s a fair bit of electronics to show, too.
While the 3DS looks stock at a glance, it has already been upgraded internally – there’s a USB-C capture card built in, half-ticking the “monitor output” requirement, and a Raspberry Pi board turns that output into HDMI. Building a charging dock is also pretty simple, with just two contacts on the side that desire 5V. Now, the pro controller support was a fair bit harder – requiring an internal modchip for emulating buttons, and trying out receiver boards for the Switch controller until a well-functioning one was found.
The build video is quite satisfying to watch, from assembling some QFNs onto tiny OSHPark boards using a hotplate and soldering them into the 3DS, to planning out, building, and dremeling some prints to create a true slide-console-into-dock experience, same way the Switch pulled it off. It even has the same USB-C and HDMI arrangement as the Switch dock, too! Want a simpler dock for your 3DS? Don’t forget that you can build a charger dock for yours with just a 3D print and a few wires.
2025-12-09 03:30:09

We love a good clock project, and [byeh_ in] has one with a design concept we don’t believe we have seen before. The Trace Line Clock has smooth lines and a clean presentation, with no sockets or visible mechanical fixtures.
Reading the clock is quite straightforward once one knows what is going on. At its heart, the unmarked face is much like any other analog clock face, and on the inside is a pretty normal clock movement. The inner recessed track on the face represents hours, and the outer is minutes. The blue line connects the two, drawing a constantly changing line.

To make the blue segment move without breaking the lines of the clock, [byeh_ in] uses magnets. The inside end moves around the inner ring with the hour hand, while the rest of the blue segment follows the minute hand. Since the length between these two points is not constant, [byeh_ in] cleverly designed one of the magnets to be floating. By keeping the magnet captive in a channel on the underside of the blue segment, the whole thing moves smoothly, no matter how the two ‘hands’ align.
Speaking of smooth, it’s important for the parts to move together with minimal friction. To achieve this [byeh_ in] uses something we think is under-utilized in 3D printed parts: candle wax. Wax is non-greasy, sticks well to 3D printed parts simply by rubbing, slides easily, and doesn’t make a mess. Directions and 3D models are available should you wish to try making your own.
We’re always delighted by the amazingly different ways people can re-imagine a clock. From clocks with hands but void of a face to clocks made out of clocks, we love to see ’em so if you’ve got a favorite, drop us a tip!
2025-12-09 02:00:12

NVMe solid state disk drives have become inexpensive unless you want the very largest sizes. But how do you get the most out of one? There are two basic strategies: you can use the drive as a fast drive for things you use a lot, or you can use it to cache a slower drive.
Each method has advantages and disadvantages. If you have an existing system, moving high-traffic directories over to SSD requires a bind mount or, at least, a symbolic link. If your main filesystem uses RAID, for example, then those files are no longer protected.
Caching sounds good, in theory, but there are at least two issues. You generally have to choose whether your cache “writes through”, which means that writes will be slow because you have to write to the cache and the underlying disk each time, or whether you will “write back”, allowing the cache to flush to disk occasionally. The problem is, if the system crashes or the cache fails between writes, you will lose data.
For some time, I’ve adopted a hybrid approach. I have an LVM cache for most of my SSD that hides the terrible performance of my root drive’s RAID array. However, I have some selected high-traffic, low-importance files in specific SSD directories that I either bind-mount or symlink into the main directory tree. In addition, I have as much as I can in tmpfs, a RAM drive, so things like /tmp don’t hit the disks at all.
There are plenty of ways to get SSD caching on Linux, and I won’t explain any particular one. I’ve used several, but I’ve wound up on the LVM caching because it requires the least odd stuff and seems to work well enough.
This arrangement worked just fine and gives you the best of both worlds. Things like /var/log and /var/spool are super fast and don’t bog down the main disk. Yet the main disk is secure and much faster thanks to the cache setup. That’s been going on for a number of years until recently.
I recently decided to give up using KDE Neon on my main desktop computer and switch to OpenSUSE Tumbleweed, which is a story in itself. The hybrid caching scheme seemed to work, but in reality, it was subtly broken. The reason? SELinux.
Tumbleweed uses SELinux as a second level of access protection. On vanilla Linux, you have a user and a group. Files have permissions for a specific user, a specific group, and everyone else. Permission, in general, means if a given user or group member can read, write, or execute the file.
SELinux adds much more granularity to protection. You can create rules that, for example, allow certain processes to write to a directory but not read from it. This post, though, isn’t about SELinux fundamentals. If you want a detailed deep dive from Red Hat, check out the video below.
The problem is that when you put files in SSD and then overlay them, they live in two different places. If you tell SELinux to “relabel” files — that is, put them back to their system-defined permissions, there is a chance it will see something like /SSD/var/log/syslog and not realize that this is really the same file as /var/log. Once you get the wrong label on a system file like that, bad, unpredictable things happen.
There is a way to set up an “equivalence rule” in SELinux, but there’s a catch. At first, I had the SSD mounted at /usr/local/FAST. So, for example, I would have /usr/local/FAST/var/log. When you try to equate /usr/local/FAST/var to /usr/var, you run into a problem. There is already a rule that /usr and /usr/local are the same. So you have difficulties getting it to understand that throws a wrench in the works.
There are probably several ways to solve this, but I took the easy way out: I remounted to /FAST. Then it was easy enough to create rules for /var/log to /FAST/var/log, and so on. To create an equivalence, you enter:
semanage fcontext -a -e /var/log /FAST/var/log
So what did I wind up with? Here’s my current /etc/fstab:
UUID=6baad408-2979-2222-1010-9e65151e07be / ext4 defaults,lazytime,commit=300 0 1 tmpfs /tmp tmpfs mode=1777,nosuid,nodev 0 0 UUID=cec30235-3a3a-4705-885e-a699e9ed3064 /boot ext4 defaults,lazytime,commit=300,inode_readahead_blks=64 0 2 UUID=ABE5-BDA4 /boot/efi vfat defaults,lazytime 0 2 tmpfs /var/tmp tmpfs rw,nosuid,nodev,noexec,mode=1777 0 0 <h1>NVMe fast tiers</h1> UUID=c71ad166-c251-47dd-804a-05feb57e37f1 /FAST ext4 defaults,noatime,lazytime 0 2 /FAST/var/log /var/log none bind,x-systemd.requires-mounts-for=/FAST 0 0 /FAST/usr/lib/sysimage/rpm /usr/lib/sysimage/rpm none bind,x-systemd.requires-mounts-for=/FAST 0 0 /FAST/var/spool /var/spool none bind,x-systemd.requires-mounts-for=/FAST 0 0
As for the SELinux rules:
/FAST/var/log = /var/log /FAST/var/spool = /var/spool /FAST/alw/.cache = /home/alw/.cache /FAST/usr/lib/sysimage/rpm = /usr/lib/sysimage/rpm /FAST/alw/.config = /home/alw/.config /FAST/alw/.zen = /home/alw/.zen
Note that some of these don’t appear in /etc/fstab because they are symlinks.
A good rule of thumb is that if you ask SELinux to relabel the tree in the “real” location, it shouldn’t change anything (once everything is set up). If you see many changes, you probably have a problem:
restorecon -Rv /FAST/var/log
Was it worth it? I can certainly feel the difference in the system when I don’t have this setup, especially without the cache. The noisy drives quiet down nicely when most of the normal working set is wholly enclosed in the cache.
This setup has worked well for many years, and the only really big issue was the introduction of SELinux. Of course, for my purposes, I could probably just disable SELinux. But it does make sense to keep it on if you can manage it.
If you have recently switched on SELinux, it is useful to keep an eye on:
ausearch -m AVC -ts recent
That shows you if SELinux denied any access recently. Another useful command:
systemctl status setroubleshootd.service
Another good systemd “stupid trick.” Often, any mysterious issues will show up in one of those two places. If you are on a single-user desktop, it isn’t a bad idea to retry any strange anomalies with SELinux turned off as a test: setenforce 0. If the problem goes away, it is a sure bet that something is wrong with the SELinux system.
Of course, every situation is different. If you don’t need RAID or a huge amount of storage, maybe just use an SSD as your root system and be done with it. That would certainly be easier. But, in typical Linux fashion, you can make of it whatever you want. We like that.
2025-12-09 00:30:08

People enjoy retrocomputing for a wide variety of reasons – sometimes it’s about having a computer you could fully learn, or nostalgia for chips that played a part in your childhood. There’s definitely some credit to give for the fuzzy feeling you get booting up a computer you built out of chips. Old technology does deteriorate fast, however, and RAM chip failures are especially frustrating. What if you got a few hundred DRAM chips to go through? Here’s a DRAM chip tester by [Andreas]/[tops4u] – optimized for scanning speed, useful for computers like the ZX Spectrum or Oric, and built around an ATMega328P, which you surely still have in one of your drawers.
The tester is aimed at DIP16/18/20 and ZIP style DRAM chips – [Andreas] claims support for 4164, 41256, 6416, 6464, 514256, and 44100 series RAM chips. The tester is extremely easy to operate, cheap to build, ruthlessly optimized for testing speed, sports a low footprint, and is fully open-source. If you’re ever stuck with a heap of RAM chips you want to quickly test one by one, putting together one of these testers is definitely the path to take, instead of trying to boot up your well-aged machine with a bunch of chips that’d take a while to test or, at worst, could even fry it.
[Andreas] includes KiCad PCB and Arduino source files, all under GPL. They also provide adapter PCBs for chips like the 4116. What’s more, there are PCB files to build this tester in full DIP, in case that’s more your style! It’s far from the first chip tester in the scene, of course, there are quite a few to go around, including some seriously featureful units that even work in-circuit. Not only will they save you from chips that failed, but they’ll also alert you to fake chips that are oh so easy to accidentally buy online!