Getting A Laser Eye Injury And How To Avoid It

Most people love lasers, because they can make cats chase, read music from a shiny disc, etch and cut materials, and be very shiny in Hollywood blockbusters, even when their presence makes zero sense. That said, lasers are also extremely dangerous, as their highly focused nature and wide range of power levels can leave a person dazzled, blinded or dead from direct and indirect exposure. A lapse in laser safety was how [Phil Broughton] ended up with part of his retina forever marked, as he describes his adventures with an overly enthusiastic laser company sales person.

Quanta Ray PRO350 with frequency doubling, emitting a 532nm beam – Sales brochure image from Quanta Ray, unknown date
Quanta Ray PRO350 with frequency doubling, emitting a 532 nm beam – Sales brochure image from Quanta Ray, unknown date

It didn’t take much, just this sales person who made a really poor decision while trying to please some customers and nearly ended with multiple adults, a local school, pilots at a nearby airfield getting their retinas blasted out due to an absolutely harebrained idea to use a fairly high-powered Quanta-Ray Nd:YAG laser on reflective surfaces in the open.

This was in 1999, and fortunately [Phil] only suffered some fairly minor damage to his retina from the laser beam reflection. What happened to the customers (who wore argon laser safety glasses) or the sales critter (who left soon after) is not described, but both may have received some bad news when they had their eyes checked shortly after at the ophthalmologist.

These kind of stories are a stark reminder that laser safety is not optional. Lasers producing a visible (400 – 700 nm) wavelength above Class 2 should only be operated in a fully secured environment, with safety glasses for the appropriate laser wavelength. Class 2 lasers producing a non-visible wavelength can cause permanent damage because the blink reflex of the eye does not offer any protection here.

As even some dodgy laser pointers are being (illegally) sold online are actually Class 2, this should make it clear that laser eye injury can happen to anyone, and it only takes a second to change someone’s life forever.

Illustrative models of collinear ferromagnetism, antiferromagnetism, and altermagnetism in crystal-structure real space and nonrelativistic electronic-structure momentum space. (Credit: Libor Šmejkal et al., Phys. Rev. X, 2022)

Altermagnetism In Manganese Telluride And Others: The Future Of Spintronics?

Magnetic materials are typically divided into ferromagnetic and antiferromagnetic types, depending on their magnetic moments (electron spins), resulting in either macroscopic (net) magnetism or not. Altermagnetism is however a recently experimentally confirmed third type that as the name suggests alternates effectively between these two states, demonstrating a splitting of the spin energy levels (spin-split band structure). Like antiferromagnets, altermagnets possess a net zero magnetic state due to alternating electron spin, but they differ in that the electronic band structure are not Kramers degenerate, which is the feature that can be tested to confirm altermagnetism. This is the crux of the February 2024 research paper in Nature by [J. Krempaský] and colleagues.

Specifically they were looking for the antiferromagnetic-like vanishing magnetization and ferromagnetic-like strong lifted Kramers spin degeneracy (LKSD) in manganese telluride (MnTe) samples, using photoemission spectroscopy in the UV and soft X-ray spectra. A similar confirmation in RuO2 samples was published in Science Advances by [Olena Fedchenko] and colleagues.

What this discovery and confirmation of altermagnetism means has been covered previously in a range of papers ever since altermagnetism was first proposed in 2019 by [Tomas Jungwirth] et al.. A 2022 paper published in Physical Review X by [Libor Šmejkal] and colleagues details a range of potential applications (section IV), which includes spintronics. Specific applications here include things like memory storage (e.g. GMR), where both ferromagnetic and antiferromagnetics have limitations that altermagnetism could overcome.

Naturally, as a fairly new discovery there is a lot of fundamental research and development left to be done, but there is a good chance that within the near future we will see altermagnetism begin to make a difference in daily life, simply due to how much of a fundamental shift this entails within our fundamental understanding of magnetics.

Heading image: Illustrative models of collinear ferromagnetism, antiferromagnetism, and altermagnetism in crystal-structure real space and nonrelativistic electronic-structure momentum space. (Credit: Libor Šmejkal et al., Phys. Rev. X, 2022)

Programming Ada: Implementing The Lock-Free Ring Buffer

In the previous article we looked at designing a lock-free ring buffer (LFRB) in Ada, contrasting and comparing it with the C++-based version which it is based on, and highlighting the Ada way of doing things. In this article we’ll cover implementing the LFRB, including the data request task that the LFRB will be using to fill the buffer with. Accompanying the LFRB is a test driver, which will allow us to not only demonstrate the usage of the LFRB, but also to verify the correctness of the code.

This test driver is uncomplicated: in the main task it sets up the LFRB with a 20 byte buffer, after which it begins to read 8 byte sections. This will trigger the LFRB to begin requesting data from the data request task, with this data request task setting an end-of-file (EoF) state after writing 100 bytes. The main task will keep reading 8-byte chunks until the LFRB is empty. It will also compare the read byte values with the expected value, being the value range of 0 to 99.

Continue reading “Programming Ada: Implementing The Lock-Free Ring Buffer”

A Look Inside The Super Nintendo Cartridges And Video System

Despite being effectively sold as a toy in the 1990s, the Super Nintendo Entertainment System (SNES) was pretty bleeding-edge as far its computing chops were concerned. This was especially apparent with its cartridges, such as in this excellent summary article by [Fabien Sanglard].

In addition to the mask ROM that stored the game data and (optionally) battery-backed SRAM to store save data, a wide range of enhancement processors existed that upgraded the base SNES system with additional processors for more CPU performance, enhanced graphics and so on. Imagine sticking a game cartridge in a PlayStation 4 today that boosted CPU speed by 5x and gave it a much better GPU, this was the world of SNES games.

On the other side of the video game cartridges was the video output system, which seems easy enough in today’s world of digital HDMI and DisplayPort output. In the 90s video output did however mean NTSC and SECAM/PAL, which means playing nice with frequencies, different resolutions (lines) and squeezing as much as possible into a single frame in a way that works with the game console’s rendering pipeline. As a result of this the PAL version of Super Mario World has a larger vertical resolution than the NTSC version (240 vs 224 lines), even if it’s still squashed into the same 4:3 format. For the physical video output side, European gamers were spoiled with an AV connector to (RGB) SCART output, while the rest of the world dealt with some variety of RF composite or S-video.

Although the SNES’s successor in the form of the N64 would not take cartridges to the same extremes, it was this flexible architecture that gave the SNES such an amazing game library.

Making An Aluminium Foil Glider To Prototype Hydroforming

Hydroforming is a very effective way to turn a ductile metal like aluminium or stainless steel into a specific shape, either using a die or by creating a closed envelope in which the hydraulic fluid is injected. While trying to think of ways to create a hydroformed airplane without spending big bucks on having it done professionally – or learning to weld sheet metal together with waterproof welds along the seams – [Adrian Perez] decided that using plain aluminium foil as found in the average kitchen might be a good way to get his feet wet here. When stuck together with double-sided tape, the foil is both strong and light enough to be inflated like a party balloon and still fly better than a lead balloon (which do fly, albeit poorly).

The basic design for the initial Luma glider that he assembled is based around a Kline-Fogleman (KA) airfoil. This type of airfoil is mostly characterized by the simplicity of construction, having been devised in the 1960s for paper airplanes. It uses a stepped approach rather than a continuous airfoil and has seen mostly attention in hobby circles. Even if this Luma glider brings to mind the ill-fated Goodyear Inflatoplane, a hydroformed version of these foil prototype gliders would not have to rely on being inflated to function.

For small-scale prototypes, using low-cost aluminium foil or similar to test out shapes before committing to a design to be welded and hydroformed does seem like a useful approach.

Continue reading “Making An Aluminium Foil Glider To Prototype Hydroforming”

Programming Ada: Designing A Lock-Free Ring Buffer

Ring buffers are incredibly useful data structures that allow for data to be written and read continuously without having to worry about where the data is being written to or read from. Although they present a continuous (ring) buffer via their API, internally a definitely finite buffer is being maintained. This makes it crucial that at no point in time the reading and writing events can interfere with each other, something which can be guaranteed in a number of ways. Obviously the easiest solution here is to use a mutual exclusion mechanism like a mutex, but this comes with a severe performance penalty.

A lock-free ring buffer (LFRB) accomplishes the same result without something like a mutex (lock), instead using a hardware feature like atomics. In this article we will be looking at how to design an LFRB in Ada, while comparing and contrasting it with the C++-based LFRB that it was ported from. Although similar in some respects, the Ada version involves Ada-specific features such as access types and the rendezvous mechanism with task types (‘threads’).

Continue reading “Programming Ada: Designing A Lock-Free Ring Buffer”

Building The Unreleased Lemmings Arcade Cabinet From 1991

Back in the early 90s the world was almost graced with an arcade version of Lemmings, but after a few board revisions it was abandoned in 1991. Now the folk over at UK-based [RMC – The Cave] on YouTube have managed to not only get their mitts on a nearly finished prototype board, but have also designed and built a period-appropriate cabinet to go with it. This involved looking at a range of arcade cabinets created by Data East and picking a design that would allow both for the two-player mode of the game, and fit the overall style.

The finished Lemmings arcade cabinet. (Credit: RMC – The Cave, YouTube)

Arcade cabinets came in a wide range of cabinet styles and control layouts, largely defined by the game’s requirements, but sometimes with flourishes to distinguish the cabinet from the hundred others in the same arcade.

In this particular case the typical zig-zag (Z-back) style was found to be a good fit as on the Data East Night Slashers 1993-era cabinet, which then mostly left the controls (with two trackballs) and cabinet art to figure out. Fortunately there is plenty of inspiration when it comes to Lemmings art, leading to the finished cabinet with the original mainboard, the JAMMA wiring harness with MultiPi JAMMA controller, a 19″ CRT monitor and other components including the 3D printed controls panel.

With more and more new arcades popping up in the US and elsewhere, perhaps we’ll see these Lemmings arcade cabinets appear there too, especially since the ROMs on the prototype board were dumped for convenient MAME-ing.

Continue reading “Building The Unreleased Lemmings Arcade Cabinet From 1991″