Linux Fu: The Great Power of Make

Over the years, Linux (well, the operating system that is commonly known as Linux which is the Linux kernel and the GNU tools) has become much more complicated than its Unix roots. That’s inevitable, of course. However, it means old-timers get to slowly grow into new features while new people have to learn all in one gulp. A good example of this is how software is typically built on a Linux system. Fundamentally, most projects use make — a program that tries to be smart about running compiles. This was especially important when your 100 MHz CPU connected to a very slow disk drive would take a day to build a significant piece of software. On the face of it, make is pretty simple. But today, looking at a typical makefile will give you a headache, and many projects use an abstraction over make that further obscures things.

In this article, I want to show you how simple a makefile can be. If you can build a simple makefile, you’ll find they have more uses than you might think. I’m going to focus on C, but only because that’s sort of the least common denominator. A make file can build just about anything from a shell prompt.

Continue reading “Linux Fu: The Great Power of Make”

This Is The Year Conference Badges Get Their Own Badges

Over the last few years, the art and artistry of printed circuit boards has moved from business cards to the most desirable of all disposable electronics. I speak, of course, of badgelife. This is the community built on creating and distributing independent electronic conference badges at the various tech and security conferences around the globe.

Until now, badgelife has been a loose confederation of badgemakers and distributors outdoing themselves each year with ever more impressive boards, techniques, and always more blinky bling. The field is advancing so fast there is no comparison to what was being done in years past; where a simple PCB and blinking LED would have sufficed a decade ago, now we have customized microcontrollers direct from the factory, fancy new chips, and the greatest art you’ve ever seen.

Now we have reached a threshold. The badgelife community has gotten so big, the badges are getting their own badges. This is the year of the badge add-on. We’re all building tiny trinkets for our badges, and this time, they’ll all work together. We’re exactly one year away from a sweet Voltron robot made of badges.

Continue reading “This Is The Year Conference Badges Get Their Own Badges”

Make A Natural Language Phone Bot Like Google’s Duplex AI

After seeing how Google’s Duplex AI was able to book a table at a restaurant by fooling a human maître d’ into thinking it was human, I wondered if it might be possible for us mere hackers to pull off the same feat. What could you or I do without Google’s legions of ace AI programmers and racks of neural network training hardware? Let’s look at the ways we can make a natural language bot of our own. As you’ll see, it’s entirely doable.

Continue reading “Make A Natural Language Phone Bot Like Google’s Duplex AI”

Teardown: Box of Pain (Gom Jabbar Sold Separately)

I immediately felt uncomfortable when I realized this thing is called the “Breo iPalm520 Acupressure Hand Massager”. You’re supposed to stick your hand into it, and through unknown machinations it performs some kind of pressure massage complete with heating action. It’s like one of those pain boxes from Dune. It’s all the more disturbing when you realize the red button on the thing is an emergency release. That’s right, once your hand is in this contraption you can’t take it out until the thing has had its way with you or you tap out.

Press to administer the Gom Jabbar

At least once a week I try to get to the local thrift store to look for interesting things. I’d like to be more specific than “interesting things”, but truth be told, I never really know what I’m looking for until I see it. Sure there’s the normal consumer electronics kind of stuff, but I’ve also found some very nice laboratory equipment, computer parts, software, technical books, etc. You just have to go regularly and keep an eye out for the occasional needle amongst the hay.

I want you to know, Dear Readers, that I did briefly summon the courage to put my hand into this thing and turn it on. Now I am not what one might call an overly brave man, and perhaps that might explain my personal experience. But when it started to hum and heat up, constricting around my hand to the point I couldn’t move my fingers, I screamed like a child and mashed the emergency button as if I was a pilot trying to eject from a mortally wounded aircraft. As far as Frank Herbert is concerned, I’m no human at all.

In an effort to better understand this torture device, lets open it up and see what lurks beneath that futuristic exterior.

Continue reading “Teardown: Box of Pain (Gom Jabbar Sold Separately)”

Federico Faggin: The Real Silicon Man

While doing research for our articles about inventing the integrated circuit, the calculator, and the microprocessor, one name kept popping which was new to me, Federico Faggin. Yet this was a name I should have known just as well as his famous contemporaries Kilby, Noyce, and Moore.

Faggin seems to have been at the heart of many of the early advances in microprocessors. He played a big part in the development of MOS processors during the transition from TTL to CMOS. He was co-creator of the first commercially available processor, the 4004, as well as the 8080. And he was a co-founder of Zilog, which brought out the much-loved Z80 CPU. From there he moved on to neural networking chips, image sensors, and is active today in the scientific study of consciousness. It’s time then that we had a closer look at a man who’s very core must surely be made of silicon.

Continue reading “Federico Faggin: The Real Silicon Man”

What is Our Martian Quarantine Protocol?

If you somehow haven’t read or watched War of the Worlds, here’s a spoiler alert. The Martians are brought down by the common cold. You can argue if alien biology would be susceptible to human pathogens, but if they were, it wouldn’t be surprising if aliens had little defense against our bugs. The worrisome part of that is the reverse. Could an astronaut or a space probe bring back something that would ravage the Earth with some disease? This is not science fiction, it is both a historically serious question and one we’ll face in the near future. If we send people to Mars are they going to come back with something harmful?

A Bit of News: Methane Gas Fluctuations on Mars

What got me thinking about this was the mounting evidence that there could be life on Mars. Not a little green man with a death ray, but perhaps microbe-like life forms. In a recent press release, NASA revealed that they not only found old organic material in rocks, but they also found that methane gas is present on Mars and the amount varies based on the season with more methane occurring in the summer months. There’s some dispute about possible inorganic reasons for this, but it is at least possible that the variation is due to increased biological activity during the summer.

Continue reading “What is Our Martian Quarantine Protocol?”

Buttery Smooth Fades with the Power of HSV

In firmware-land we usually refer to colors using RGB. This is intuitively pleasing with a little background on color theory and an understanding of how multicolor LEDs work. Most of the colorful LEDs we are use not actually a single diode. They are red, green, and blue diodes shoved together in tight quarters. (Though interestingly very high end LEDs use even more colors than that, but that’s a topic for another article.) When all three light up at once the emitted light munges together into a single color which your brain perceives. Appropriately the schematic symbol for an RGB LED without an onboard controller typically depicts three discrete LEDs all together. So it’s clear why representing an RGB LED in code as three individual values {R, G, B} makes sense. But binding our representation of color in firmware to the physical system we accidentally limit ourselves.

The inside of an RGB LED

Last time we talked about color spaces, we learned about different ways to represent color spatially. The key insight was that these models called color spaces could be used to represent the same colors using different groups of values. And in fact that the grouped values themselves could be used to describe multidimensional spacial coordinates. But that post was missing the punchline. “So what if you can represent colors in a cylinder!” I hear you cry. “Why do I care?” Well, it turns out that using colorspace can make some common firmware tasks easier. Follow on to learn how!

Continue reading “Buttery Smooth Fades with the Power of HSV”