Mysterious Files PH

Tuesday, March 24, 2026

Age-Verification and the World Before Social Media

March 24, 2026 0
Age-Verification and the World Before Social Media

Although it may be hard to believe for current generations, there was a time when the Internet and the World Wide Web were not as integrated into society as it is today. The only forms of online ‘social media’ that existed came in the form of IRC, forums, BBSes, newsgroups and kin, while obtaining new software for your PC involved generally making your way over to a physical store to buy a boxed copy, at least officially.

In this era – and those before it – age-verification already existed, with various goods ranging from tobacco and alcohol to naughty adult magazines requiring you to pass some form of age check. Much like how movies also got age-gated, so did video games, with a sales clerk taking a very good look at you before selling you that naughty puzzle game or boxed copy of Quake 3.

Today we’re seeing a big fuss being made about online age-verification, with the claim being that it is ‘for the children’, but as any well-adjusted adult can attest to, this is essentially a big bucket of hogwash.

Pearl Clutching

The concept of restricting certain types of drugs, entertainment, and the operating of automobiles and trucks to specific age groups is a popular one. The general reasoning is that you have to set a limit somewhere because you cannot have toddlers driving lifted 4x4s, smoking a big fat cigar, and chugging down a cold one. As for where set this limit, there is rarely more than scarce evidence for a particular age past childhood being more reasonable than any other, with claims of harm often being dubious at best.

Definitely not for kids: “Negroni Cocktails” by [NwongPR]
To be fair, there is no ‘safe age’ for substances that are actively harmful to the body, such as the inhalation of tobacco smoke and the consumption of ethanol in alcoholic drinks. Consequently the age where for example imbibing ethanol is suddenly legal differs wildly, from 15 or younger to 25 or older, with 18 being a popular age. Here one line of reasoning pertains to when the individual in question can be considered to be mature enough to drink responsibly, thus preventing driving under influence and other irresponsible behavior.

In the case of exposing children to ‘harmful content’, whether in the form of video games or audiovisual entertainment, things get if possible even fuzzier, as proving that such content is indeed harmful is a tough ask. Realistically what we should primarily focus on as responsible adults and parents is the prevention of childhood trauma, as any reasonable person ought to be able to agree that inflicting trauma on a child is a certifiably Bad Thing.

In addition to this, there is also the importance of teaching children why certain types of behavior and excesses are bad, such as why you cannot drink soft drinks exclusively, why you need to eat your vegetables, why torturing small animals to death is absolutely not okay, and that Being Nice to Others is totally something to strive for.

Because children since time immemorial have sought to escape the suffocating hold of age restrictions, this raises the question of whether we can prove that this is in fact traumatic or in any way affects their behavior in a negative manner.

Dodging Restrictions

Although in the case of the pre-digital-everything age, sales clerks and adults had a lot more insight into what content you consumed, nobody really believed that with the right contacts you couldn’t get access to all the dirty magazines, violent video games and Parental Guidance (PG) or Adult Only (AO) rated movies.

The reason that I was playing Doom, Doom 2, Duke Nukem 3D and similar titles as a kid in the 1990s wasn’t due to me somehow passing as a certified adult or having an adult purchase it for me in a store, but because a computer-enthusiastic older cousin would copy them zipped up with ARJ across a bunch of floppy disks for me and my younger brother to enjoy. Think warez, but with a personal touch.

This kind of black market culture has always been pretty strong, from 1980s mix tapes and copy parties to buying copied audio CDs off someone at school by the late 90s, whether filled to the brim with explicit lyrics or not. This made ‘age restrictions’ mostly limited by one’s technological means and in how far one’s parents were aware of your illicit activities. Having your own TV and VHS/DVD player or multimedia-capable PC in your bedroom really broadened one’s horizons.

Considering that as a child I was also reading adult literature of the (mostly) non-nekkid variety, including the works of Stephen King and Jan Wolkers, as well as Lord of the Rings, there were many things that I did back then that were age-inappropriate. The main question remains whether any of that harmed or benefited me. This is a highly subjective question to ask, of course, but we do have some science to provide a more objective take on this subject.

Doomed To Violence

Violent crime in the United States between 1960 and 2022. (Source: Wikipedia)
Violent crime in the United States between 1960 and 2022. (Source: Wikipedia)

Back in the 1990s the idea that violent video games were causing children to become more violent got a lot of traction, mostly due to fighting games and first person shooters like Doom entering the scene. To some people, the premise that playing these games in which you use a variety of weapons and techniques to violently turn pixelated monsters and opponents into pixelated piles of viscera would not have any effect on the developing brain of children and teenagers seemed inconceivable.

The 1993-1994 US Senate hearings on video games came in the wake of the release of controversial games like Night Trap, Mortal Kombat, and by the 1994 hearing, also Doom. Effectively this is where video game ratings became an integral part of this new kind of media, with the Entertainment Software Rating Board (ESRB) being established for the US and Canada.

Yet despite the premise being that exposure to violence and pornography at a young age causes individuals to perform criminal behavior, the crime statistics do not bear this out. In fact, there was a much sharper rise since the 1950s in violent crime across the US, peaking at around 1990, when incidentally lead in the form of tetraethyl lead as a gasoline additive was phased out. This lends credence to the hypothesis that exposure to significant amounts of lead from a young age in one’s environment impaired cognitive development and resulted in said crime wave.

The cyclical process of ADHD and video games use. (Credit: Virginia Lérida-Ayala et al., 2023, Children)
The cyclical process of ADHD and video games use. (Credit: Virginia Lérida-Ayala et al., 2023, Children)

In a 2023 systematic review article by Virginia Lérida-Ayala et al. the causes of behavioral disorders in children and teenagers within the context of internet and video games are considered. Of note is that Internet Gaming Disorder (IGD) is featured in the DSM-5, involving compulsive use of video games to the point that it impairs one’s ability to function.

This negative aspect is of course also contrasted with the positive effects of video games when it comes to things like socializing, cognitive skills and improved self-esteem.

In the review article it is found that playing a very large number of hours of video games per day is correlated strongly with negative effects, yet with the caveat that it’s important not to confuse the order of causality. A strong connection is found between ADHD and escaping into video games, in order to avoid the complexities of emotional and social interactions.

Much like with other types of addictions and substance abuse, they can often act as an escape from reality, in which case the solution does not lie in technological solutions like age restrictions or forcefully limiting the number of hours that a user can play as doing so would merely force the individual to find other forms of escape.

Yet even in these extreme cases of IGD the result is generally not violent or even criminal behavior, but rather a withdrawal from society. This contrasts with the final point being raised, with that of aggression and other forms of dysfunctional behavior, which when left uncontrolled can result in negative feedback from the child or teen’s environment. Yet here too underlying psychological issues such as OCD, depression, social anxiety disorder and so on would seem to be generally present.

In short, it would appear that violent and otherwise age-restricted content do not reprogram a child or teenager’s brain, but it can provide a coping mechanism for those who are dealing with certain mental and psychological issues. Or in other words, when a child or teen is feeling generally happy and content, there should be no negative effects from them indulging in video games and movies, even if they may be deemed to be not quite age-appropriate.

Traces Of Trauma

There are many ways in which a child can suffer trauma, but the primary question is whether exposure to age-restricted content can actually induce trauma. This somewhat goes back to the previous section where it’s important to not confuse the order of causality, as after all often trauma can precede problematic behavior rather than be caused by it.

Child's Play movie poster. Not really a children's movie.
Not really a children’s movie.

Yet if we look at the list of the types of trauma, it’s not immediately obvious in what way voluntarily opting to listen to explicit lyrics, play violent or erotic video games, would in any way be ‘traumatic’. When contrasted with the list of childhood traumas, such a thing would seem to be rather benign as it’s done out of curiosity tinged with a hint of adventure due to it being ‘for adults’ or at least much older children.

When I look back upon my own experiences playing those violent games – with an occasional stop to pass a stripper in DN3D a few bucks to have them show me some very naughty pixels – it fills me more with a feeling of nostalgia rather than an overwhelming urge to acquire firearms or frequent a strip club.

I will admit that catching that the scene from Child’s Play where Chucky has been thrown into the lit hearth and comes walking out whilst on fire caused child me to fear walking into the dark garage later on. I would fortunately quickly get over that, though I’m still not a fan of snuff-type films like the Saw ones.

Ultimately, when it comes to childhood trauma, this doesn’t appear to be much of a reason to age-restrict certain types of content.

Anonymity Is Good

Since the arrival of so-called ‘social media’ the central tenet of never giving out your personal information which was front and center during the 1990s and 2000s got quite literally flipped around. Suddenly we had massive corporations practically begging you to give every last scrap of your personal information, every intimate detail of your daily life and with it every last second of your attention span. They even made an ‘everything device‘ for it in the form of a smartphone that practically ensures that you’ll never be alone with your thoughts again.

The upshot of this reversal is that instead of a mostly comfortable anonymous experience, suddenly every second that you’re awake has been turned into the equivalent of a schoolyard during recess, the watercooler banter at the office and similar social interactions. Along with this comes social anxiety, real-life bullying, and worse, with multiple studies indicating the real harm to children and teenagers in particular, but also to adults.

A recent response to this has been the introduction of social media bans for under-16 year olds, which by itself sounds like a good idea, but this fails to address the many problems that this introduces: from illicit access as demand remains, to the privacy nightmare that ensues as suddenly access to social media requires more stringent identification than accessing a pornographic website.

This raises many questions, such as whether ‘social media’ and the FOMO it introduces is a legitimate addiction, and whether we shouldn’t make being online more anonymous rather than enforce a rather dystopian ‘real name’ policy onto the populace. Contrast this to the old ‘don’t trust strangers’ adage that used to get hammered into the minds of young children, to prevent them from taking up offers from overly friendly people with candy-filled vans.

Modern-Day Safety

Credit: Chun Fei Lung
Credit: Chun Fei Lung

In how far do children today understand the dangers of the Internet? In a 2019 research article by Jun Zhao et al. a group of UK school children aged 6 – 10 were asked a range of questions in focus groups to see how they see these risks. Now that many children are practically raised by iPads and equivalents, it’s more relevant than ever that the adults in their environment teach them to be safe and to reinforce good online privacy behavior.

The paper was also summarized in an article by Chun Fei Lung, for those whose attention spans are beginning to drift at this point. A major take-away is that children will generally recognize situations that feel ‘scary’ or ‘annoying’, and they agreed that they should ask one of their parents about it before doing anything else.

Perhaps the scariest part is how trusting these children were when it came to platforms they were familiar with. We have seen issues recently pertaining to platforms like Roblox where such trust was exploited by unscrupulous adults, leading to age verification being implemented through the services of Persona. This same identity verification company has also been hired by Discord and has seen its services used in the UK and Australia for their respective online safety legislation.

This then gets us to the crux of modern day online safety, where online anonymity has been replaced with identify verification through private companies. It’s hard to shake the feeling that parental involvement and education campaigns by governments wouldn’t be significantly more effective here. As well as pose a significantly lower risk of having your identity stolen.

Of course, none of this is an easy issue to solve, and there will always be unscrupulous folk around, but treating age verification as some kind of technological silver bullet to a societal issue will always end in tears.


Building a Monitor Light Bar for Better Productivity

March 24, 2026 0

If you’re intending to work at your desk for long periods of time, good lighting is a must, as it can help stave off eye strain and mental fatigue. It was a desire for more comfortable productivity that drove [Jade] to whip up a monitor-mounted lighting system for her workstation.

The build uses an ESP32 to run the show, with a rotary encoder for manual control and firmware that allows the monitor light to be neatly integrated with Home Assistant. The light itself comes from light strips that feature both warm white and cold white LEDs. Simple MOSFETs are used to control the brightness of the LEDs and which of the warm and cold LEDs are activated at any time. Everything is wrapped up in a 3D printed housing that neatly sits on top of the monitor with the aid of a simple printed clamp. The LED strips also have a nice soft glow thanks to a strip of diffuser material that [Jade] snatched from an old television.

We love a good lighting build, from the work-focused to the creative and beautiful.


Monday, March 23, 2026

Acoustic Drone Detection On the Cheap with ESP32

March 23, 2026 0
Acoustic Drone Detection On the Cheap with ESP32

We don’t usually speculate on the true identity of the hackers behind these projects, but when [TN666]’s accoustic drone-detector crossed our desk with the name “Batear”, we couldn’t help but wonder– is that you, Bruce? On the other hand, with a BOM consisting entirely of one ESP32-S3 and an ICS-43434 I2S microphone, this isn’t exactly going to require the Wayne fortune to pull off. Indeed, [TN666] estimates a project cost of only 15 USD, which really democratizes drone detection.

It’s not a tuba–  Imperial Japanese aircraft detector being demonstrated in 1932. Image Public Domain via rarehistoricalphotos.com

The key is what you might call ‘retrovation’– innovation by looking backwards. Most drone detection schema are looking to the ways we search for larger aircraft, and use RADAR. Before RADAR there were acoustic detectors, like the famous Japanese “war tubas” that went viral many years ago. RADAR modules aren’t cheap, but MEMS microphones are– and drones, especially quad-copters, aren’t exactly quiet. [TN666] thus made the choice to use acoustic detection in order to democratize drone detection.

Of course that’s not much good if the ESP32 is phoning home to some Azure or AWS server to get the acoustic data processed by some giant machine learning model.  That would be the easy thing to do with an ESP32, but if you’re under drone attack or surveillance it’s not likely you want to rely on the cloud. There are always privacy concerns with using other people’s hardware, too. [TN666] again reached backwards to a more traditional algorithmic approach– specifically Goertzel filters to detect the acoustic frequencies used by drones. For analyzing specific frequency buckets, the Goertzel algorithm is as light as they come– which means everything can run local on the ESP32. They call that “edge computing” these days, but we just call it common sense.

The downside is that, since we’re just listening at specific frequencies, environmental noise can be an issue. Calibration for a given environment is suggested, as is a foam sock on the microphone to avoid false positives due to wind noise. It occurs to us the sort physical amplifier used in those ‘war tubas’ would both shelter the microphone from wind, as well as increase range and directionality.

[TN] does intend to explore machine learning models for this hardware as well; he seems to think that an ESP32-NN or small TensorFlow Lite model might outdo the Goertzel algorithm. He might be onto something, but we’re cheering for Goertzel on that one, simply on the basis that it’s a more elegant solution, one we’ve dived into before. It even works on the ATtiny85, which isn’t something you can say about even the lightest TensorFlow model.

Thanks to [TN] for the tip. Playboy billionaire or not, you can send your projects into the tips line to see them some bat-time on this bat-channel.


Build This Open-Source Graphics Calculator

March 23, 2026 0
Build This Open-Source Graphics Calculator

Graphics calculators are one of those strange technological cul-de-sacs. They rely on outdated technology and should not be nearly as expensive as they are, but market effects somehow keep prices well over $100 to this day. Given that fact, you might like to check out an open-source solution instead.

NumOS comes to us from [El-EnderJ]. It’s a scientific and graphic calculator system built to run on the ESP32-S3 with an ILI9341 screen. It’s intended to rival calculators like the Casio fx-991EX ClassWiz and the TI-84 Plus CE in terms of functionality. To that end, it has a full computer algebra system and a custom math engine to do all the heavy lifting a graphic calculator is expected to do, like symbolic differentiation and integration. It also has a Natural V.P.A.M-like display—if you’re unfamiliar with Casio’s terminology, it basically means things like fractions and integrals are rendered as you’d write them on paper rather than in uglier simplified symbology.

If you’ve ever wanted a graphics calculator that you could really tinker with down to the nuts and bolts, this is probably a great place to start. With that said, don’t expect your local school or university to let you take this thing into an exam hall. They’re pretty strict on that kind of thing these days.

We’ve seen some neat hacks on graphics calculators before, like this TI-83 running CircuitPython. If you’re doing your own magic with these mathematical machines, don’t hesitate to notify the tips line.


Linux Fu: UPNP A Port Mapping Odyssey

March 23, 2026 0
Linux Fu: UPNP A Port Mapping Odyssey

If you’ve ever run a game server or used BitTorrent, you probably know that life is easier if your router supports UPnP (Universal Plug and Play). This is a fairly old tech — created by a standards group in 1999 — that allows a program to open an incoming port into your home network. Of course, most routers let you do this manually, but outside of the Hackaday universe, most people don’t know how to log into their routers, much less how to configure an open UDP port.

I recently found myself using a temporary setup where I could not access the router directly, but I needed some open ports. That got me thinking: if a program can open a port using UPnP, why can’t I? Turns out, of course, you can. Maybe.

Caveats

The first thing, of course, is that you need your firewall open, but that’s true no matter how you open up the router. If the firewall is in the router, then you are at the mercy of the router firmware to realize that if UPnP opens something up, it needs to open the firewall, too.

You might think, “Of course it will do that.” However, I’ve found there is a lot of variation in the firmware from different vendors, and if you aren’t in control of the router, it is more likely to have buggy firmware.

The other caveat is that the router needs UPnP enabled; if it isn’t and you have to get into it anyway, you might as well set up port forwarding in the usual way. I was in luck. The router I was behind had UPnP turned on.

In Theory

There are several libraries aimed at working with UPnP and many of them come with simple test clients. I decided to install miniupnpd, which has the upnpc utility. You don’t have to be root to run it. In theory, it should be very simple to use. You can use -l to list all the router’s current UPnP ports. The -a option adds a port, and -d deletes it. There are a few other options, but that covers most of the common use cases.

So, to open external port 2222 to port 22 on 192.168.1.133 you should be able to say:

upnpc -e 'HaD Test' -a 192.168.1.133 22 2222 tcp 3600

The -e option lets us make up a creative title for the mapping. The 3600 is the number of seconds you need the port open. Easy, right? Well, of course not.

Under the Hood

UPnP covers several different areas, including IP assignment and streaming media. However, the part of it we are using is for NAT traversal. Your router identifies as an Internet Gateway Device that other UPnP-aware programs can locate.

Unfortunately, there are two versions of the gateway device specification, and there are many compatibility problems. You are also at the mercy of the vendor’s correct interpretation of the spec.

UPNP has been known to be a security risk. In 2011, a tool appeared that let some UPnP devices map ports when asked from outside your network. Easy to imagine how that could be a bad thing.

UPNP devices advertise services that others can use, and, hopefully, your router advertises that it is a gateway. The advertisement itself doesn’t tell you much. But it does let you fetch an XML document that describes the device.

For example, part of my XML file looks like this:

11urn:schemas-upnp-org:device:InternetGatewayDevice:1OpenWRT routerOpenWRT
http://www.openwrt.org/OpenWRT routerOpenWRT router1
http://www.openwrt.org/00000000uuid:00000000-0000-0000-0000-000000000000
urn:schemas-upnp-org:service:Layer3Forwarding:
1urn:upnp-org:serviceId:L3Forwarding1/L3F.xml/ctl/L3F/evt/L3Furn:
schemas-upnp-org:device:WANDevice:1WANDeviceMiniUPnPhttp://miniupnp.free.fr/WAN DeviceWAN Device20260105
...

In Practice

There are a few strange things about the way upnpc works. First, when you do a list, you’ll get an error at the end. Apparently, that’s normal. The program simply asks for entry zero, one, two… until it gets an error (a 713 error).

However, when I tried to add an open port to this particular router, it always failed, giving me an error that implied that the port was already in use. Of course, it wasn’t.

Through experimentation, I figured out that the UPnP service on the router (the one I can’t get into) isn’t running as root. So any port number less than 1,024 is unmappable in either direction. Of course, this may not be a problem for you if you have a sane router. You could argue whether this is a bug or not, but it certainly didn’t give a good error message.

Testing, One, Two…

Just to do a simple test, I issued the following command. (with my firewall off, just for testing):

upnpc -e HADTEST -a 192.168.1.133 8022 8023 tcp 3600

I verified the port opening using the -l option. Then I stood up a really dumb telnet-style server on the local port (8022):

socat readline TCP-LISTEN:8022,reuseaddr,fork

From a machine on another network, I issued a telnet command to my public IP (198.37.197.21):

telnet 198.37.197.21 8023

Of course, I could have used 8022 for both ports, but I wanted it to be clear which argument was which. At this point, typing some things on the remote machine should show right up on the local machine, punching through the firewall.

In case you forgot, you can escape out of Telnet using Control-] and then a “q” will close the program. You can also just terminate the socat program on the local side.

More Than One Way

It is a bummer I couldn’t open up an ssh port using this method, although you can run sshd on a high port and get there that way. But it is better than nothing. Better still would have been to replace the router, but that wasn’t an option in this case.

There are other tools out there if you are interested. NAT-PMP is easy to use from Python, for example. There’s also something called PCP (not the performance co-pilot, which is something else). Many routers don’t support either of these, and we hear that implementations are often buggy, just like UPnP.

For the record, NAT-PMP didn’t give me a better error message, either. So the moral is this: if you can, just punch a hole in your router the old-fashioned way. But if you can’t. Linux almost always gives you another option.


A Simple Switch for Simply too much Current

March 23, 2026 0

A switch is simple: connect two pieces of metal together and bam! Except, it’s not that simple at high currents. How much current? Just about 400 car batteries worth would certainly cause some issues. This is the issue that [Technology Hobby] hoped to fix with his clever switch design.

While many content creators are great at finding or making high-current sources (looking at you, Styropyro), their switches can’t always hold up to the abuse. [Technology Hobby] found that many of the switches used by these creators had issues based on an inconsistent and limited contact area. Making a bigger contact patch is always fairly easy; keeping those contacts from skipping can be a bit more difficult.

[Technology Hobby] found success in making a V-shaped channel formed from separated contacts where a matching contact would bridge the gap between, completing the circuit. The construction of the high-current switch was simply done with a 3D printed frame filled with concrete for stiffness.

There’s a lot of fun with high current, but sometimes you need something more practical. For those needing some practical current supply, check out this retro-modern power supply!


Sunday, March 22, 2026

The 3DFX Voodoo Lives Again In An FPGA

March 22, 2026 0
The 3DFX Voodoo Lives Again In An FPGA

The 3DFX Voodoo was not the first dedicated 3D graphics chipset by any means, but it became the favourite for gamers among the early mass-market GPUs. It would be found on a 3D-processing-only PCI card that sat on the feature connector of your SVGA card. The Voodoo took any game that supported its Glide API into the world of (for the time) smooth and beautiful 3D. They’re worth a bit now, but if you don’t fancy forking out for mid-’90s silicon in 2026, there’s another option. [Francisco Ayala Le Brun] has implemented the 3DFX Voodoo 1 in SpinalHDL for FPGAs.

The write-up goes into the Voodoo’s architecture. Where the parts of a modern GPU are programmable for the various functions it can do, in this part they are dedicated hardware functions for the various graphics tricks the chip can perform. Implementing such an architecture on an FPGA led to bugs and timing problems, and the write-up deals with that in detail.

The whole thing can be found in a GitHub repository if you’re curious, and is definitely worth a read for anyone interested in 1990s retrocomputing. 3DFX themselves would eventually be swallowed by Nvidia, a rival whose offerings would overtake them at the end of the ’90s, but they still represent a somewhat special moment. Don’t forget, if you have the real thing, you can probably upgrade its memory.

Header image: Konstantin Lanzet, GFDL.