Who Is Thinking About Open Source Firmware?

Yesterday, we ran a post on NVIDIA’s announcement of open-source drivers for some of its most recent video cards. And Hackaday being huge proponents of open-source software and hardware, you’d think we’d be pouring the champagne. But it’s trickier than that.

Part of the reason that they are able to publish a completely new, open-source driver is that the secrets that they’d like to keep have moved into the firmware. So is the system as a whole more or less open? Yeah, maybe both.

With a more open interface between the hardware and the operating system, the jobs of people porting the drivers to different architectures are going to be easier. Bugs that are in what is now the driver layer should get found and fixed faster. All of the usual open-source arguments apply. But at the same time, the system as a whole isn’t all that much more transparent. The irony about the new NVIDIA drivers is that we’ve been pushing them to be more open for decades, and they’ve responded by pushing their secrets off into firmware.

Secrets that move from software to firmware are still secrets, and even those among us who are the most staunch proponents of open source have closed hardware and firmware paths in our computers. Take the Intel Management Engine, a small computer inside your computer that’s running all the time — even while the computer is “off”. You’d like to audit the code for that? Sorry. And it’s not like it hasn’t had its fair share of security relevant bugs.

And the rabbit hole goes deeper, of course. No modern X86 chips actually run the X86 machine language instructions — instead they have a microcode interpreter that reads the machine language and interprets it to what the chip really speaks. This is tremendously handy because it means that chip vendors can work around silicon bugs by simple pushing out a firmware update. But this also means that your CPU is running a secret firmware layer at core. This layer is of course not without bugs, some of which can have security relevant implications.

This goes double for your smartphone, which is chock-full of multiple processors that work more or less together to get the job done. So while Android users live in a more open environment than their iOS brethren, when you start to look down at the firmware layer, everything is the same. The top layer of the OS is open, but it’s swimming on top of an ocean of binary blobs.

How relevant any of this is to you might depend on what you intend to do with the device. If you’re into open source because you like to hack on software, having open drivers is a fantastic resource. If you’re looking toward openness for the security guarantees it offers, well, you’re out of luck because you still have to trust the firmware blindly. And if you’re into open source because the bugs tend to be found quicker, it’s a mix — while the top level drivers are made more inspectable, other parts of the code are pushed deeper into obscurity. Maybe it’s time to start paying attention to open source firmware?

Will We Ever Shake The Polaroid Picture?

Today, most of us carry supercomputers in our pockets that happen to also take instantly-viewable pictures.This is something that even the dumbest phones do, meaning that we can reasonably draw the conclusion that photographic capability has become a basic feature of everyday carry, a necessity of 21st century life.

Despite the unwashed masses of just-plain-bad photographs clouding the digital landscape, photography itself remains as important as ever so we can retain and disseminate information as history unfolds. In a sense, the more instant, the better — unless it comes at the cost of image quality. The invention of photography is on par with the printing press or with language itself in that all three allow us to communicate within our own time as well as preserve The Way Things Were in frozen silence. And no invention made vivid preservation more convenient than the instant camera.

Continue reading “Will We Ever Shake The Polaroid Picture?”

Learning Obsolete Technology

Tom Nardi and I were talking about his trip to the Vintage Computer Festival on the podcast, and he admitted to not having been a retrocomputer aficionado before his first trip. But he ended up keying some binary machine code into some collection of archaic silicon, and he got it. In the same episode, the sound of the week was a Strowger switch — the old electromechanical “brain” of telephone switching centers of old. The sample I used was from Sam of Look Mum No Computer on YouTube, who got one for his museum and thinks it’s just awesome.

Why do people like this kind of old (obsolete?) tech? It’s certainly not because it’s overwhelmingly capable — the giant old switch is replaced easily by a stack of silicon, and don’t even get me started on the old blinkenlights computer that Tom was keying on. In both of these cases, the people are significantly younger than the tech they’re playing around with, so that rules out nostalgia. What’s left?

I think it’s that sometimes the older technology is more immediate, more understandable, more tangible, and that resonates with people. In a time when we all have wonder devices that can do anything, programmed in languages that are pleasant, using libraries that are nothing short of magical in terms of making difficult things easy, understanding how things work down to the ground is a rare commodity.

But it’s a strange position to find ourselves in, technologically, where there’s almost necessarily a trade-off between the usefulness and functionality of a device with the ability to understand fundamentally how it works.

A Minimal Motoring Manifesto

A couple of years ago, Hackaday published an article, “Electric Vehicles Continue the Same Wasteful Mistakes That Limit Longevity“, in which we took a look at the way the car industry, instead of taking the move to electric traction as an opportunity to simplify their products, was instead making their electric offerings far more complex. It touched a nerve and received a very large comment volume, such that now it is our 19th most commented story of all time.

It’s something brought back to the fore by seeing a The Drive piece bemoaning the evolution of the automobile as a software receptacle governed by end-user licenses rather than a machine under the control of its owner. In turn that’s posed the question: Just what do you really need for a car, and what is superfluous? Time to provide an answer to that question, so here it is: a minimal motoring manifesto. Continue reading “A Minimal Motoring Manifesto”

New Tech And The Old Ways

This week on Hackaday, we featured a project that tickled my nostalgia bone, and proved that there are cool opportunities when bringing new tech to old problems. Let me explain.

[Muth] shared a project with us that combines old-school analog photography printing with modern LCD screens. The basic idea is to use a 4K monochrome screen in place of a negative, making a contact print by placing the screen directly on top of photographic paper and exposing it under a uniform light source. Just like the old ways, but with an LCD instead of film.

LCD exposure animationBut what’s the main difference between a screen and film? You can change the image on the LCD at will, of course. So when [Muth] was calibrating out exposures, it dawned on him that he could create a dynamic, animated version of his image and progressively expose different portions of the paper, extending the available dynamic range and providing him the ability to control the slightest nuances of the resulting image contrast.

As an old photo geek, this is the sort of trick that we would pull off manually in the darkroom all the time. “Dodging” would lighten up a section of the image by covering up the projected light with your hand or a special tool for a part of the exposure time. With [Muth]’s procedure, he can dodge the image programmatically on the per-pixel level. We would have killed for this ability back in the day.

The larger story here is that by trying something out of the box, applying a new tool to an old procedure, [Muth] stumbled on new capabilities. As hackers, we’re playing around with the newest tech we can get our hands on all the time. When you are, it might be that you also stumble on new possibilities simply afforded by new tech. Keep your eyes open!

Research: It’s Like Cheating, But Fair

My niece’s two favorite classes in high school this year are “Intro to AI” and “Ethical Hacking”. (She goes to a much cooler high school than I did!) In “Hacking”, she had an assignment to figure out some bug in some body of code. She was staring and staring, figuring and figuring. She went to her teacher and said she couldn’t figure it out, and he asked her if she’d tried to search for the right keywords on the Internet.

My niece responded “this is homework, and that’d be cheating”, a line she surely must have learned in her previous not-so-cool high school. When the teacher responded with “but doing research is how you learn to do stuff”, my niece was hooked. The class wasn’t abstract or academic any more; it became real. No arbitrary rules. Game on!

But I know how she feels. Whether it’s stubborn independence, or a feeling that I’m cheating, I sometimes don’t do my research first. But attend any hacker talk, where they talk about how they broke some obscure system or pulled off an epic trick. What is the first step? “I looked all over the Internet for the datasheet.” (Video) “I found the SDK and that made it possible.” (Video) “Would you believe this protocol is already documented?” In any serious hack, there’s always ample room for your creativity and curiosity later on. If others have laid the groundwork for you, get on it.

If you have trouble overcoming your pride, or NIH syndrome, or whatever, bear this in mind: the reason we share information with other hackers is to give them a leg up. Whoever documented that protocol did it to help you. Not only is there no shame in cribbing from them, you’re essentially morally obliged to do so. And to say thanks along the way!

Mobile-Focused Windows 11 Leaves Taskbar Stuck Along The Bottom

Yeah, I’ll admit it: I’m a Windows person. Two years ago this summer, I traded in an overworked Windows 7 laptop that was literally screaming in pain for a SFF Windows 10 box as my main machine. But 10 might mean the end for this scribe, who has used Windows since the late 1980s. Admittedly, it’s for a fairly petty reason — Microsoft have gotten rid of alternate-location taskbar support in Windows 11. As in, you can have the taskbar anywhere you want, as long as it’s the bottom of the screen.

Years ago, I switched my taskbar to the top for various reasons. For one, it just made more sense to me to have everything at the top, and nothing at the bottom to interrupt visual flow while reading a web page or a document. Plenty of people move it to one of the sides or hide it when not in use for the same reason. More importantly, I thought moving the taskbar to the top would help with my neck/shoulder strain issues, and I believe that it has. So oddly enough, this one little thing may be the dealbreaker that gets me to switch after thirty-something years to Linux, where top-aligned taskbars are more or less the norm.

Continue reading “Mobile-Focused Windows 11 Leaves Taskbar Stuck Along The Bottom”