It’s Pronounced GIF

As the holiday season is upon us and a Hackaday scribe sits protected from the incoming Atlantic storms in her snug eyrie, it’s time for her to consider the basics of her craft. Writing, spelling, and the English language; such matters as why Americans have different English spellings from Brits, but perhaps most important of them all for Hackaday readers; is it “gif”, or is is “jif”? This or the jokey sentence about spellings might be considered obvious clickbait, but instead they’re a handle to descend into the study of language. Just how do we decide the conventions of our language, and should we even care too much about them?

Don’t Believe Everything You Read in School

A picture of an American classroom in 1004
Not everything you learn here is worth holding on to. Harrison Keely, CC BY 4.0.

We are sent to school to Learn Stuff. During that time we are deprived of our liberty as a succession of adults attempt year after year to cram our heads with facts. Some of it we find interesting and other parts not so much, but for the majority of it, we are discouraged from thinking for ourselves and are instead expected to learn by rote a set of fixed curricula.

Thus while writers have to discover for themselves that English is a constantly evolving language through which they can break free of these artificial bounds that school has imposed upon them, far too many people remain afraid to put their head above the linguistic parapet.

The result is that perceived deviations from the rules are jumped upon by those afraid to move with the language, and we even find our own linguistic Holy Wars to fight. The one mentioned above about “gif” versus “jif” is a great example, does it really matter that much whether you pronounce it with a hard “G” because that’s how most people say it, or as though it were a “J” because the creator of the file format said it that way? Not really, because English is an evolving language in the hands of those who speak it, not those of the people who write school books. Continue reading “It’s Pronounced GIF”

2023: As The Hardware World Turns

We’ve made it through another trip around the sun, and for the first time in what feels like far too long, it seems like things went pretty well for the hackers and makers of the world. Like so many, our community suffered through a rough couple of years: from the part shortages that made building even the simplest of devices more expensive and difficult than it should have been, to the COVID-mandated social distancing that robbed us of our favorite meetups. But when looking back on the last twelve months, most of the news was refreshingly positive.

Pepperoni costs ten bucks, but they can’t activate Windows on their registers…

Oh sure, a trip to to the grocery store can lead to a minor existential crisis at the register, but there’s not much we at Hackaday can do about that other than recommend you some good hydroponics projects to help get your own home farm up and running.

As has become our New Year tradition, we like to take this time to go over some of the biggest stories and trends that we picked up on from our unique vantage point. Some will be obvious, but there’s always a few that sneak up on us. These posts tend to make for interesting reading in the future, and if you’ve got the time, we’d recommend going back and reading the previous entries in this series and reminiscing a bit.

It’s also a good time to reflect on Hackaday itself — how we’ve grown, the things that have changed, and perhaps what we can do better going forward. Believe it or not we do read all of the feedback from the community, whether it’s in the comments of individual posts or sent into us directly. We couldn’t do this without readers like you, so please drop us a line and let us know what you’re thinking.

So before we get any farther into 2024, let’s wind back the clock and revisit some of the highlights from the previous year.

Continue reading “2023: As The Hardware World Turns”

Don’t Give Up

I’m at Chaos Communication Congress this weekend, and it’s like being surrounded by the brightest, most creative, and being honest, nerdiest crowd imaginable. And that’s super invigorating.

But because of the pandemic, this is the first in-person conference in four years, and it’s been a rather unsettling time in-between. There are tons of unknowns and issues confronting us all, geeks or otherwise, at the moment. I know some people who have fallen prey to this general malaise, and become more or less cynical.

Especially in this context, watching a talk about an absolutely bravado hack, or falling into a conversation that sparks new ideas, can be inspiring in just the right way to pull one out of the slump. Every talk is naturally a success story — of course they are, otherwise they wouldn’t be up there presenting.

But all of the smaller interactions, the hey-why-didn’t-I-think-of-that moments or the people helping each other out with just the right trick, that give me the most hope. That’s because they are all around, and I’m sure that what I’m seeing is just the tip of the iceberg. So stick together, nerds, share your work, and don’t give up!

Hackaday Podcast Episode 250: Trains, RC Planes, And EEPROMS In Flames

This week in the Podcast, Elliot Williams is off at Chaos Communication Congress, hearing tales of incredible reverse engineering that got locomotives back up and running, while Al Williams is thinking over what happened in 2023. There’s a lot of “how things work” in this show, from data buoys to sewing machines to the simulated aging of ICs.

Whether you’re into stacking bricks, stacking Pi Picos, or stacking your 3D prints to make better use of precious bed space, this episode is for you. Enjoy.

This is your last chance to download a new podcast this year. Take it!

Continue reading “Hackaday Podcast Episode 250: Trains, RC Planes, And EEPROMS In Flames”

This Week In Security: Triangulation, ProxyCommand, And Barracuda

It’s not every day we get to take a good look inside a high-level exploit chain developed by an unnamed APT from the western world. But thanks to some particularly dedicated researchers at Kaspersky, which just happens to be headquartered in Moscow, that’s exactly what we have today. The name Operation Triangulation was picked, based off part of the device fingerprinting code that rendered a yellow triangle on an HTML canvas.

The entire talk is available, given this week at the 37th Chaos Communication Congress, 37c3. The exploit starts with an iMessage attachment, delivered silently, that exploits an undocumented TrueType font instruction. Looking at the source code implies that it was a copy-paste error where a programmer didn’t quite get the logic right for a pointer calculation. That vulnerability gives a memory write primitive that pivots into code execution. What’s particularly interesting is that Apple silently fixed this bug January 2023, and didn’t make any public statements. Presumably there were an uptick of crash logs that pointed to this problem, but didn’t conclusively show attempted exploitation.

The exploits then moves to using NSExpression as a next stage. NSExpression is an ugly way to write code, but it does allow the exploit chain to get to the next stage, running JavaScript as an application, without Just In Time compilation. The JS payload is quite a beast, weighing in at 11,000 lines of obfuscated code. It manages to call native APIs directly from JS, which then sets up a kernel exploit. This is multiple integer overflow flaws that result in essentially arbitrary system memory reads and writes. Continue reading “This Week In Security: Triangulation, ProxyCommand, And Barracuda”

Linux Fu: Preprocessing Beyond Code

If you glanced at the title and thought, “I don’t care — I don’t write C code,” then hang on a minute. While it is true that C has a preprocessor and you can notoriously do strange and — depending on your point of view — horrible or wonderful things with it, there are actually other options and you don’t have to use any of them with a C program. You can actually use the C preprocessor with almost any kind of text file. And it’s not the only preprocessor you can abuse this way. For example, the m4 preprocessor is wildly complex, vastly underused, and can handle C source code or anything else you care to send to it.

Definitions

I’ll define a preprocessor as a program that transforms its input file into an output file, reacting to commands that are probably embedded in the file itself. Most often, that output is then sent to some other program to do the “real” work. That covers cpp, the C preprocessor. It also covers things like sed. Honestly, you can easily create custom preprocessors using C, awk, Python, Perl, or any other programming language. There are many other standard programs that you could think of as preprocessors, for example, tr. However, one of the most powerful is made to preprocess complex input files called m4. For some reason — maybe because of its complexity — you don’t see much m4 in the wild.

Continue reading “Linux Fu: Preprocessing Beyond Code”

Keeping Watch Over The Oceans With Data Buoys

When viewed from just the right position in space, you’d be hard-pressed to think that our home planet is anything but a water world. And in all the ways that count, you’d be right; there’s almost nothing that goes on on dry land that isn’t influenced by the oceans. No matter how far you are away from an ocean, what’s going on there really matters.

But how do we know what’s going on out there? The oceans are trackless voids, after all, and are deeply inhospitable to land mammals such as us. They also have a well-deserved reputation for eating anything that ventures into them at the wrong time and without the proper degree of seafarer’s luck, and they also tend to be places where the resources that run our modern technological society are in short supply.

Gathering data about the oceans is neither cheap nor easy, but it’s critically important to everything from predicting what the weather will be next week to understanding the big picture of what’s going on with the climate. And that requires a fleet of data buoys, outnumbering the largest of the world’s navies and operating around the clock, keeping track of wind, weather, and currents for us.

Continue reading “Keeping Watch Over The Oceans With Data Buoys”