Great Badge Concept: A “Geiger Counter” For WiFi Deauthentication Frames

[Nick Price] had a wonderful concept for a DEFCON badge: a device that worked a lot like a directional Geiger counter, but chirped at detecting WiFi deauthentication packets instead of radiation. That’s a wild idea and it somehow slipped past us last year. Why detect such a thing? Well, the WiFi deauth attack is a kind of invisible toxicity, effectively jamming wireless communications by forcing users to be constantly tied up with authentication, and this device would detect it.

A few things were harder than expected, however. To make the device directional, [Nick] designed and built a PCB Yagi antenna but it wasn’t practical. Not only was it far too big, it would also have required going to four layers on a PCB that was already expensive. The solution he settled on — inspired by a friend’s joke about just dropping the badge into a Pringles can — was to surround the PCB omni antenna with a copper pipe end cap from the plumbing section of any hardware store. [Nick] figured that soldering that to the ground plane should result in a simple, cheap, and attractive directional antenna mod. Did it work? We’ll all have to wait and see.

Sadly, [Nick] wasn’t able to finish in time for last year’s DEFCON. Hardware revisions mounted, and fabrication times for his specialized PCB were longer than usual. Worse news is that this year’s is cancelled, or rather is going virtual, which means he’s going to have to deauth himself. The good news is that now he’s got another 12-month extension. Watch the brief video of the functional prototype, embedded below.

Continue reading “Great Badge Concept: A “Geiger Counter” For WiFi Deauthentication Frames”

Seeing Code: The Widescreen Rant

A couple of weeks ago, Linus Torvalds laid down the law, in a particularly Linusesque sort of way. In a software community where tabs vs. spaces can start religious wars, saying that 80-character-wide code was obsolete was, to some, utter heresy. For more background on how we got here, read [Sven Gregori]’s history piece on Hackaday, and you’ll learn that sliced bread and the 80-character IBM punch card both made their debut in July, 1928. But I digress.

When I look at a codebase, I like to see its structure, and I’m not alone. That’s one of the reasons for the Linux Kernel style guide’s ridiculously wide 8-character tabs. Combined with a trend for variable names becoming more and more descriptive, which I take to be a good thing, and monitors’ aspect ratios growing seemingly without end, which I don’t, the 80-column width seems like a relic from the long-gone era of the VT-220.

Hazeltine TerminalIn Linus’ missive, we learn that he runs terminals at 100 x 50, and frequently drags them out to a screen-filling 142 x 76. (Amateur! I write this to you now on 187 x 48.) When you’re running this wide, it doesn’t make any sense to line-wrap argument lists, even if you’re using Hungarian notation.

And yet, change is painful. I’ve had to re-format code to meet 73-column restrictions for a book, only to discover that my inline comments were too verbose. Removing even an artificial restriction like the 80-column limit will have real effects. I write longer paragraphs, for instance, on a wider screen.

I see a few good things to come out of this, though. If single thoughts can be expressed on single lines, it makes the shape of the code better reflect its function. Getting rid of pointless wrapping takes up less vertical space, which is at a premium on today’s cinematic monitors. And if it makes inline comments better (I know, another holy war!) or facilitates better variable naming, it will have been worth it.

But any way you slice it, we’re no longer typing on the old 80-character Hazeltine. It’s high time for our coding style and practice to catch up.

Smartglove Helps Cyclists Be Seen

Cyclists share the road with other vehicles, often leading to problems when drivers fail to see or respect the rider’s space. To try and alleviate these issues, [Matlek] built the Smartglove to help cyclists communicate their intentions to other road users.

The project consists of a glove fitted with an Arduino Nano 33 BLE sense, featuring Bluetooth and motion sensing on board. Combined with TinyML machine learning code, the Arduino is able to sense hand gestures from the rider. These gestures are then interpreted, and relevant messages displayed on an LED screen worn on the rider’s back. Flicking the wrist left and right flashes indicators that the user is about to change direction, while a rearward flick flashes a warning that the user is braking.

It’s a tidy way to integrate vehicle-style lighting into a simple interface for cycling. This has benefits, particularly at night, for allowing other road users to see a cyclist and understand their intentions on the road. Of course, if you really want to be noticed, this bike boombox could also be a big help. Video after the break. Continue reading “Smartglove Helps Cyclists Be Seen”

Key That Morse With Little More Than Your Laptop

If you look at the computer in front of you, it will have an array of input devices. A keyboard and mouse, a touch screen, maybe a microphone, or even a gamepad. Each of them will have its moment to shine, and you’ll probably have put some effort into their selection. But when it comes to a computer, almost anything connected to it can be an input device in some form, as long as it provides some form of machine readable parameter.

Consider your laptop: it knows when its lid is closed such that it can put itself to sleep. Even that can be used as an input device with a little ingenuity, as [veggiedefender] has done with “open and shut“, a Morse keyer using opening and closing the laptop lid as its key.

The software for GNU/Linux distributions is a surprisingly accessible set of shell scripts that attach themselves to ACPI events surrounding the lid switch. In use it seems a little cumbersome, but we suspect its real value is not in repeatedly slammin the lid to produce Morse text input. Instead with many lid switches being magnetic reed switches an operator could simply wear a ring with a magnet and tap out their text every bit as quickly as they could using a traditional key.

We like the idea, and could see it being popular among radio amateurs. It’s a theme we’ve visited before with a more traditional key, and if you’d love to try but don’t know any Morse then perhaps this may help you learn.

Thanks [Kickaxe] for the tip.

Header image: Raimond Spekking / CC BY-SA 4.0.

Plant’m If You Got’m And Keep’m Alive

Having a few plants around is a great way to liven up your living and/or working space. They look nice, you get to watch them grow and change, and some types of plants can actively improve the room’s air quality. But let’s face it — even the easy ones require a baseline level of care that can easily fall by the wayside. After all, the poor things can’t scream out for water or get up and find a sunnier spot for themselves.

[Ine Hocedez] was tired of watching her plants die and not knowing why. The two main culprits involve water and light, though there can be other issues like soil pH and bugs. It’s easy to get the balance wrong, so why not automate everything?

Plant’m is a complete, portable package that [Ine] designed for a school project. A soil moisture sensor dictates the watering schedule via Raspberry Pi, and water is automatically pumped from an elevated tank.

The lamp is meant to supplement the sunlight, not replace it. But that’s the real beauty of this botanical box — [Ine] can just pick it up and try a different spot if the plant droops or shows burnt spots.

Got the sunlight part down for your plant, but can’t remember to water it? Re-purpose an old Keurig and give it an automatic drip.

Learn Quantum Computing With Spaced Repetition

Everyone learns differently, but cognitive research shows that you tend to remember things better if you use spaced repetition. That is, you learn something, then after a period, you are tested. If you still remember, you get tested again later with a longer interval between tests. If you get it wrong, you get tested earlier. That’s the idea behind [Andy Matuschak ‘s]and [Michael Nielsen’s] quantum computing tutorial. You answer questions embedded in the text. You answer to yourself, so there’s no scoring. However, once you click to reveal the answer, you report if you got the answer correct or not, and the system schedules you for retest based on your report.

Does it work? We don’t know, but we have heard that spaced repetition is good for learning languages, among other things. We suspect that like most learning methods, it works better for some people than others.

Continue reading “Learn Quantum Computing With Spaced Repetition”

Scanning Analog Film For The Last Time

Film cameras are capable of great resolution, and for a long time were superior in this regard to their digital successors. However, it’s now possible to store digital copies of analog images in superior detail, so [Jan] built a rig to scan their photos for the last time.

The general idea is to take a high enough resolution scan of film negatives or slides, such that there is no need to rescan the images when technology moves forward. To achieve this, [Jan] decided to employ a DSLR to photograph the materials in question. To do this quickly and accurately, with minimal fuss, special lens hoods were 3D printed to hold slides in perfect register in front of the lens. With a flash to provide even light, the results are excellent. Film negatives proved harder, requiring a carefully designed transport mechanism to avoid damaging the fragile materials. With some perseverance, the final tool worked well.

It’s a tidy way of digitally archiving analog photos, and with the resolution of modern cameras, one needn’t worry about lost resolution. We’ve seen mechanised builds for handling other formats too, such as this 8mm scanner. Video after the break.

Continue reading “Scanning Analog Film For The Last Time”