Why You Need To Finish

Mike and I were talking about an interesting smart-glasses hack on the podcast. This was one of those projects where, even if you don’t need a pair of glasses with LEDs on them to help you navigate around, you just couldn’t help but marvel at a lot of the little design choices made throughout.

For instance, I love the way the flex PCB is made to do double duty by wrapping around the battery and forming a battery holder. This struck me as one of those quintessential hacks that only occurs to you because you need it. Necessity is the mother of invention, and all that. There was a problem, how to fit a battery holder in the tiny space, and a set of resources that included a flex PCB substrate. Cleverly mashing that all together ended up with a novel solution. This wouldn’t occur to you if you were just sitting at the beach; you’d have to be designing something electronic, space-constrained, and on a flex PCB to come up with this.

Mike made an offhand comment about how sometimes you just need to finish a project for the good ideas and clever solutions that you’ll come up with along the way, and I think this battery holder example drives that point home. I can’t count the number of my projects that may or may not have been dumb in retrospect, but along the way I came up with a little trick that I’ll end up using in many further projects, outliving the original application.

Finishing up a project on principle is a reasonable goal just on its own. But when the process of seeing something to conclusion is the generator of new and interesting challenges and solutions, it’s even more valuable. So if you’re stuck on a project, and not sure you want to take it all the way, consider if the journey itself could be the destination, and look at it as an opportunity to come up with that next long-lasting trick.

Bad News: Arecibo

If you read the newsletter last week, you heard me wondering aloud if the damage to Arecibo Observatory had crossed the threshold into where it’s no longer economically viable to keep it running, and the sad news has just come in and the battle for Arecibo has been lost. We said we’d shed a tear, and here we are. Sic transit gloria mundi. Here’s hoping something cooler replaces it!

Ask Hackaday: What Tools Do You Really Need For A Life On The Road?

How do you dispose of an old hard drive? Inventive stories about heat and flame or industrial shredders will no doubt appear in the comments, but for me I just dismantle them and throw the various parts into the relevant scrap bins at my hackerspace. The magnets end up stuck to a metal door frame, and I’m good to go. So a week or so ago when I had a few ancient drives from the 1990s to deal with, I sat down only to find my set of Torx and Allen drivers was missing. I was back to square one.

What A Missing Tool Tells You About Necessities

Clint Eastwood always seemed to have just what he needed, why can I never manage it! Produzioni Europee Associati, Public domain.
Clint Eastwood always seemed to have just what he needed, why can I never manage it! Produzioni Europee Associati, Public domain.

Life deals an odd hand, sometimes. One never expects to find oneself homeless and sofa-surfing, nearly all possessions in a container on a farm somewhere. But here I am, and somewhere in one of those huge blue plastic removal crates is my driver set, alongside the other detritus of an engineer scribe’s existence. It’s all very well to become a digital nomad with laptop and hotspot when it comes to writing, but what has the experience taught me about doing the same as a solderer of fortune when it comes to hardware? My bench takes up several large removal crates and there is little chance of my carrying that much stuff around with me, so what makes the cut? Evidently not the tools for hard drive evisceration, so I had to borrow the set of a hackerspace friend to get the job done. Continue reading “Ask Hackaday: What Tools Do You Really Need For A Life On The Road?”

Hackaday Podcast 094: Fake Sun, Hacked Super Mario, Minimum Viable Smart Glasses, And 3D Printers Can’t Do That

Hackaday editors Elliot Williams and Mike Szczys traverse the hackerscape looking for the best the internet had to offer last week. Nintendo has released the new Game & Watch handheld and it’s already been hacked to run custom code. Heading into the darkness of winter, this artificial sun build is one not to miss… and a great way to reuse a junk satellite dish. We’ve found a pair of smartglasses that are just our level of dumb. And Tom Nardi cracks open some consumer electronics to find a familiar single-board computer doing “network security”.

Take a look at the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Direct download (~60 MB)

Places to follow Hackaday podcasts:

Continue reading “Hackaday Podcast 094: Fake Sun, Hacked Super Mario, Minimum Viable Smart Glasses, And 3D Printers Can’t Do That”

This Week In Security: SAD DNS, Incident Documentation Done Well, And TCL Responds

One of the big stories from the past few days is the return of DNS cache poisoning. The new attack has been dubbed SADDNS, and the full PDF whitepaper is now available. When you lookup a website’s IP address in a poisoned cache, you get the wrong IP address.

This can send you somewhere malicious, or worse. The paper points out that DNS has suffered a sort of feature creep, picking up more and more responsibilities. The most notable use of DNS that comes to mind is LetsEncrypt using DNS as the mechanism to prove domain ownership, and issue HTTPS certificates.

DNS Cache poisoning is a relatively old attack, dating from 1993. The first iteration of the attack was simple. An attacker that controlled an authoritative DNS server could include extra DNS results, and those extra results would be cached as if they came from an authoritative server. In 1997 it was realized that the known source port combined with a non-random transaction ID made DNS packet spoofing rather trivial. An attacker simply needs to spoof a DNS response with the appropriate txID, at the appropriate time to trick a requester into thinking it’s valid. Without the extra protections of TCP connections, this was an easy task. The response was to randomize the txID in each connection.

I have to take a moment to talk about one of my favorite gotchas in statistics. The Birthday paradox. The chances that two randomly selected people share a birthday is 1 in 365. How many people have to be in a room together to get a 50% chance of two of them sharing a birthday? If you said 182, then you walked into the paradox. The answer is 23. Why? Because we’re not looking for a specific birthday, we’re just looking for a collision between dates. Each non-matching birthday that walks into the room provides another opportunity for the next one to match.

This is the essence of the DNS birthday attack. An attacker would send a large number of DNS requests, and then immediately send a large number of spoofed responses, guessing random txIDs. Because only one collision is needed to get a poisoned cache, the chances of success go up rapidly. The mitigation was to also randomize the DNS source port, so that spoof attempts had to have both the correct source port and txID in the same attempt. Continue reading “This Week In Security: SAD DNS, Incident Documentation Done Well, And TCL Responds”

Easy IoT Logging Options For The Beginner

If a temperature sensor takes a measurement in the woods but there’s nobody around to read it, is it hot out? 

If you’ve got a project that’s collecting data, you might have reasons to put it online. Being able to read your data from anywhere has its perks, after all, and it’s key to building smarter interconnected systems, too. Plus, you can tell strangers the humidity in your living room while you’re out at the pub, and they’ll be really impressed.

Taking the leap into the Internet of Things can be daunting however, with plenty of competing services and options from the basic to the industrial-strength available. Today, we’re taking a look at two options for logging data online that are accessible to the beginner. Continue reading “Easy IoT Logging Options For The Beginner”

How To Get Into Cars: Offroading Mods

While plenty of automotive enthusiasts are all about carving corners at the local track days, it’s a special breed that leaves tarmac behind for the dusty trail ahead. If your chosen ride is of the four-wheelin’ variety, here’s how you can modify it to dominate the dirt and mud.

Handling The Terrain

Building a good offroad rig requires a very different focus than building a car for street performance. A screaming high-performance engine is of no use when your tires are spinning in the air because you’re stuck in deep sand or on top of a pointy rock. Instead, four wheelers are concerned with a whole different set of parameters. Ground clearance is key to getting over obstacles without getting stuck, and good articulation is key to keeping your wheels on the ground and pushing you forward in deep ruts and on crazy angles. You’ll also want plenty of low-down torque, and tyres that can grip up in all conditions without snagging a puncture. It’s a whole different ballgame, so read on!

Continue reading “How To Get Into Cars: Offroading Mods”

Bare-Metal STM32: From Power-Up To Hello World

Some may ask why you’d want to program a Cortex-M microcontroller like the STM32 series using nothing but the ARM toolchain and the ST Microelectronics-provided datasheet and reference manual. If your first response to that question wasn’t a panicked dive towards the nearest emergency exit, then it might be that that question has piqued your interest. Why, indeed?

Definitely, one could use any of the existing frameworks to program an STM32 MCU, whether the ST HAL framework, plain CMSIS, or even something more Arduino-flavored. Yet where is the fun in that, when at the end of the day one is still fully dependent on that framework’s documentation and its developers? More succinctly, if the contents of the STM32 reference manuals still look like so much gibberish, does one really understand the platform?

Let’s take a look at how bare-metal STM32 programming works, and make the most basic example run, shall we? Continue reading “Bare-Metal STM32: From Power-Up To Hello World”