Who’s Afraid Of Assembly Language?

This week, [Al Williams] wrote a great thought piece about whether or not it was worth learning an assembly language at all anymore, and when. The comments overflowed, and we’re surprised that so many people basically agree with us: yes. Of course, it’s a Hackaday crowd, but I still didn’t expect the outpouring of love for the most primitive of languages.

Assembly language isn’t really one language, though. Every chip speaks its own dialect. Of course there are similarities: every CPU has an add function, right? But almost no CPU has just one add – there are variants with and without carry, storing and reading from working registers or RAM. And once you start talking about memory access, direct or indirect, the individual architectures of the chips demand different assembly languages.

But still, although the particular ways that CPUs do what they do can be incompatible from a strictly language perspective, they are a lot more similar in terms of the programming idioms that you’ll pick up along the way. Just as learning a set of solid algorithms will help you no matter which higher-level language you use, learning the concepts behind crafting loops and simple memory structures out of raw assembly language will serve you no matter which CPU you choose.

I have only written assembly language for a handful of CPUs, and not much of it at that, but I’ve found the microcontrollers to be the friendliest. So if you want to dip your toes in that water, pick up an AVR or an MSP430. Or maybe even the new hotness – a RISC-V. You’ll find the instruction sets small enough that you have to do most of the work yourself. And that is, after all, the point of learning an assembly language: learning to think like the silicon. If you treat it like a fun puzzle to solve, you’ll probably even enjoy the experience.

[Al]’s original question was when you should learn an assembly language: before or after a higher-level language. For 99% of our readers, I’d say the answer is right now.

Ask Hackaday: What’s Linux Anyway?

Any time we mention Linux, it is a fair bet we will get a few comments from people unhappy that we didn’t refer to it as GNU/Linux or with some other appellation. To be fair, they aren’t wrong. Linux is a kernel. Much of what we think of as a Linux desktop OS is really from other sources, including, but not limited to, GNU. We thought about this after reading a report from [The Register] that Linux has nearly half of the desktop OS Linux market. Wait, what?

If you are like us, you probably think that’s a typo. It isn’t. But the more you think about it, the less sense it makes. You know that half of the world’s desktops don’t run Linux. But maybe they mean Unix? Nope. So how can Linux have almost half of the Linux market? That’s like saying nearly half of Hackaday readers read Hackaday, right?

Continue reading “Ask Hackaday: What’s Linux Anyway?”

Sweet Hacks

While talking about a solar powered portable Bluetooth speaker project on the podcast, I realized that I have a new category of favorite hacks: daily-use hacks.

If you read Hackaday long enough, you’ll start to categorize everything. There are the purely technical hacks, beautiful hacks, minimalist hacks, maximalist hacks, and then the straight-up oddball hacks. Sometimes what strikes us is the beauty of the execution. Sometimes it’s clever choice of parts that were designed to do exactly the right thing, and simply watching them do their job well is satisfying, and other times we like to see parts fooled into doing something they have no right to.

While I really like the above speaker build because it’s beautiful, and because it uses a clever choice of audio amplifier to work with the supercapacitors’ wild voltage swings, what really struck me about the project is that [Jamie Matthews] has been using it every day for the last nine months. It’s on his desk and he uses it to listen to music.

That’s a simple feat in a way, but it’s a powerful one. Some of my absolutely favorite projects of my own are similar – they are ones that I use all the time. Not the cliche “life hack”, which are usually like a clever way to peel a grapefruit, but rather hacks that become part of daily life. So look around you, and if you’re anything like me, you’ll find a number of these “daily driver” hacks. And if you do, celebrate them.

(And maybe even send ’em in to the tips line to share!)

Ask Hackaday: Learn Assembly First, Last, Or Never?

A few days ago, I ran into an online post where someone pointed out the book “Learn to Program with Assembly” and asked if anyone had ever learned assembly language as a first programming language. I had to smile because, if you are a certain age, your first language may well have been assembly, even if it was assembly for machines that never existed.

Of course, that was a long time ago. It is more likely, these days, if you are over 40, you might have learned BASIC first. Go younger, and you start skewing towards Java, Javascript, or even C. It got me thinking, though: should people learn assembly, and if so, when?

Continue reading “Ask Hackaday: Learn Assembly First, Last, Or Never?”

ITER Dreams And The Practical Reality Of Making Nuclear Fusion Work On Earth

Doing something for the first time is tough. Yet to replicate the nuclear fusion process that powers the very stars, and do it right here on Earth in a controlled and sustained fashion is decidedly at the top of the list of ‘tough’ first times. What further complicates matters is when in order to even get to this ‘first’ you also add in a massive, international construction project and a heaping of geopolitics, all of which is a far cry from past nuclear fusion experiments.

With the International Thermonuclear Experimental Reactor (ITER) as the most visible part of nuclear fusion research, it is perhaps little wonder that the recent string of delays and budget increases is leading some to proclaim doom and gloom over the entire sector. This ironically in contrast with the recent news from the US’s NIF and its laser-based inertial confinement fusion, which is both state-funded and will never produce commercial power.

In light of this, it feels pertinent to ask the question of whether ITER is the proverbial white elephant, or even the mausoleum of international science that a recent article in Scientific American makes it out to be. Is fusion research truly doomed to peter out amidst the seemingly never-ending work on ITER?

Continue reading “ITER Dreams And The Practical Reality Of Making Nuclear Fusion Work On Earth”

Podcast Feedback: Be Careful What You Ask For

I had one of those experiences yesterday that seem so common these days: the arrival of a mystery Amazon package. You know the kind — you get a shipping notice from UPS with the faux-excited “Your package is arriving today!” message, but you’re sure you haven’t ordered anything in a while. You check your Amazon order history, find nothing pending, and puzzle over who could be sending you a package. What could it be? A gift from a secret admirer, perhaps?

And so it was with me as I waited for the UPS driver to make her rounds of our neighborhood and drop the package off on our front steps. Surprised at its size, I hurriedly brought it inside, zipped open the box, and pulled away the packing to reveal…

Continue reading “Podcast Feedback: Be Careful What You Ask For”

Open Source And Giving Back

3D printing YouTuber [Thomas Sanladerer] made a fairly contentious claim in a video about the state of open source hardware and software: namely that it’s not viable “anymore”. You can watch his video for more nuance, but the basic claim is that there are so many firms who are reaping the benefits of open designs and code that the people who are actually doing the work can’t afford to make a living anymore.

[Thomas] then goes on to mention a few companies that are patenting their 3DP innovations, and presumably doing well by it, and he then claims that patenting is probably the right way forward from a business standpoint.

The irony that he says this with a Voron 3D printer sitting behind him was not lost on us. The Voron is, after all, a very successful open-source 3D printer design. It’s just rock solid, has lots of innovative touches, and an extensive bill of materials. They don’t sell anything, but instead rely on donations from their large community to keep afloat and keep designing.

At the same time, a whole bunch of companies are offering Voron kits – all of the parts that you’d have to source yourself otherwise. While not mass-market, these kit sales presumably also help keep some of the 3D printer enthusiast stores that sell them afloat. Which is all to say: the Voron community is thriving, and a number of folks are earning their livings off of it. And it’s completely open.

When [Thomas] complains that some players in the 3DP business landscape aren’t giving back to the open-source community effort, he’s actually calling out a few large-scale Chinese manufacturers making mass-market machines. These companies aren’t interested in pushing the state of the art forward anyway, rather just selling what they’ve got. And sure, there are a million Creality Enders for every Voron 2 out there. And yes, they reap the benefits of open designs and code. But they’re competing in an entirely different market from the real innovators, and I’m not sure that’s a bad thing.

Let us know what you think. (And if you’re reading this in the newsletter format, head on over to Hackaday on Saturday morning to leave us your comments.)