AI and the Ghost in the Machine

The concept of artificial intelligence dates back far before the advent of modern computers — even as far back as Greek mythology. Hephaestus, the Greek god of craftsmen and blacksmiths, was believed to have created automatons to work for him. Another mythological figure, Pygmalion, carved a statue of a beautiful woman from ivory, who he proceeded to fall in love with. Aphrodite then imbued the statue with life as a gift to Pygmalion, who then married the now living woman.

chateau_de_versailles_salon_des_nobles_pygmalion_priant_venus_danimer_sa_statue_jean-baptiste_regnault
Pygmalion by Jean-Baptiste Regnault, 1786, Musée National du Château et des Trianons

Throughout history, myths and legends of artificial beings that were given intelligence were common. These varied from having simple supernatural origins (such as the Greek myths), to more scientifically-reasoned methods as the idea of alchemy increased in popularity. In fiction, particularly science fiction, artificial intelligence became more and more common beginning in the 19th century.

But, it wasn’t until mathematics, philosophy, and the scientific method advanced enough in the 19th and 20th centuries that artificial intelligence was taken seriously as an actual possibility. It was during this time that mathematicians such as George Boole, Bertrand Russel, and Alfred North Whitehead began presenting theories formalizing logical reasoning. With the development of digital computers in the second half of the 20th century, these concepts were put into practice, and AI research began in earnest.

Over the last 50 years, interest in AI development has waxed and waned with public interest and the successes and failures of the industry. Predictions made by researchers in the field, and by science fiction visionaries, have often fallen short of reality. Generally, this can be chalked up to computing limitations. But, a deeper problem of the understanding of what intelligence actually is has been a source a tremendous debate.

Despite these setbacks, AI research and development has continued. Currently, this research is being conducted by technology corporations who see the economic potential in such advancements, and by academics working at universities around the world. Where does that research currently stand, and what might we expect to see in the future? To answer that, we’ll first need to attempt to define what exactly constitutes artificial intelligence.

Continue reading “AI and the Ghost in the Machine”

Hacking the Aether: How Data Crosses the Air-Gap

It is incredibly interesting how many parts of a computer system are capable of leaking data in ways that is hard to imagine. Part of securing highly sensitive locations involves securing the computers and networks used in those facilities in order to prevent this. These IT security policies and practices have been evolving and tightening through the years, as malicious actors increasingly target vital infrastructure.

Sometimes, when implementing strong security measures on a vital computer system, a technique called air-gapping is used. Air-gapping is a measure or set of measures to ensure a secure computer is physically isolated from unsecured networks, such as the public Internet or an unsecured local area network. Sometimes it’s just ensuring the computer is off the Internet. But it may mean completely isolating for the computer: removing WiFi cards, cameras, microphones, speakers, CD-ROM drives, USB ports, or whatever can be used to exchange data. In this article I will dive into air-gapped computers, air-gap covert channels, and how attackers might be able to exfiltrate information from such isolated systems.

Continue reading “Hacking the Aether: How Data Crosses the Air-Gap”

Early Electromechanical Circuits

In the days before semiconductor diodes, transistors, or even vacuum tubes, mechanical means were used for doing many of the same things. But there’s still plenty of fun to be had in using those mechanical means today, as [Manuel] did recently with his relay computer. This post is a walk through some circuits that used those mechanical solutions before the invention of the more electronic and less mechanical means came along.

Continue reading “Early Electromechanical Circuits”

Everyone Should Build At Least One Regenerative Radio Receiver

When we build an electronic project in 2016, the chances are that the active components will be integrated circuits containing an extremely large amount of functionality in a small space. Where once we might have used an op-amp or two, a 555 timer, or a logic gate, it’s ever more common to use a microcontroller or even an IC that though it presents an analog face to the world does all its internal work in the digital domain.

Making A Transistor Radio, 2nd edition cover. Fair use, via Internet Archive.
Making A Transistor Radio, 2nd edition cover. Fair use, via Internet Archive.

There was a time when active components such as tubes or transistors were likely to be significantly expensive, and integrated circuits, if they even existed, were out of the reach of most constructors. In those days people still used electronics to do a lot of the same jobs we do today, but they relied on extremely clever circuitry rather than the brute force of a do-anything super-component. It was not uncommon to see circuits with only a few transistors or tubes that exploited all the capabilities of the devices to deliver something well beyond that which you might expect.

One of the first electronic projects I worked on was just such a circuit. It came courtesy of a children’s book, one of the Ladybird series that will be familiar to British people of a Certain Age: [George Dobbs, G3RJV]’s Making A Transistor Radio. This book built the reader up through a series of steps to a fully-functional 3-transistor Medium Wave (AM) radio with a small loudspeaker.

Two of the transistors formed the project’s audio amplifier, leaving the radio part to just one device. How on earth could a single transistor form the heart of a radio receiver with enough sensitivity and selectivity to be useful, you ask? The answer lies in an extremely clever circuit: the regenerative detector. A small amount of positive feedback is applied to an amplifier that has a tuned circuit in its path, and the effect is to both increase its gain and narrow its bandwidth. It’s still not the highest performance receiver in the world, but it’s astoundingly simple and in the early years of the 20th century it offered a huge improvement over the much simpler tuned radio frequency (TRF) receivers that were the order of the day.

Continue reading “Everyone Should Build At Least One Regenerative Radio Receiver”

Get to Know 3½ Digit ADCs with the ICL71xx

Riffling through my box of old projects, I came upon a project that I had built in the 80’s — an Automotive Multimeter which was published in the Dutch/British Elektor magazine. It could measure low voltage DC, high current DC, resistance, dwell angle, and engine RPM and ran off a single 9V battery. Besides a 555 IC for the dwell and RPM measurement and a couple of CMOS gate chips, the rest of the board is populated by a smattering of passives and a big, 40 pin DIP IC under the 3½ digit LCD display. I dug some more in my box, and came up with another Elektor project from back then — a True RMS digital Wattmeter with a 3½ digit LCD display that could measure up to 2kW. It had the same chip too. Some more digging, and I found a digital panel meter. This had a 7 segment LED display, but the chip was again from the same family.

ICL7107 LED version
ICL7107 LED version

Look under the hood of any device with a 3½ or 4½ digit, 7 segment, LCD or LED from the ’80’s or ’90’s and you will likely spot this 40-pin DIP with the Intersil logo (although it was later also manufactured by many other fabs; Harris and Maxim among others). The chip doing all the heavy-lifting was likely to be the ICL7106 or ICL7107. These devices were described as high performance, low power, 3½ digit A/D converters containing seven segment decoders, display drivers, voltage reference and clock. In short, everything you needed to take a DC analog signal and display it. Over time, a whole series of devices were spawned:

  • 7106 – 3½ digit, 7 segment LCD
  • 7107 – 3½ digit, 7 segment LED
  • 7116 – 3½ digit, 7 segment LCD, with display HOLD (freeze)
  • 7117 – 3½ digit, 7 segment LED, with display HOLD (freeze)
  • 7126 – improved 7106
  • 7136 – improved 7126
  • 7135 – 4½ digit, 7 segment LCD

There were many similar devices available, but the ICL71xx series was by far one of the most popular, due to its easy of use, low parts count and single chip implementation. Here are several parts (linking to PDF datasheets) to illustrate my point: the TC14433/A needed several peripheral devices, ES5107 (a clone of a clone — read below), CA3162 (which has BCD output, and needs the CA3161 or similar to interface to a display), or the AD2020 (which too needed a lot of support circuitry).

The ICL71xx was the go-to device for a reason. Let’s take a look at the engineering and business behind this fascinating chip.

Continue reading “Get to Know 3½ Digit ADCs with the ICL71xx”

Increase The Range Of An ESP8266 With Duct Tape

For the longest time now, I’ve wanted to build a real, proper radio telescope. To me, this means a large parabolic reflector, a feed horn made of brass sheet, coat hanger wire, and at least for the initial experiments, an RTL-SDR dongle. I’ve done the calculations, looked at old C-band antennas on Craigslist, and even designed a mount or two that would make pointing the dish possible. I’ve done enough planning to know the results wouldn’t be great. After months of work, the best I could ever hope for is a very low-resolution image of the galactic plane. If I get lucky, there might be a bright spot corresponding to Sagittarius A.

There are better ways to build a radio telescope in your back yard, but the thought of having a gigantic parabolic dish out back, peering into the heavens, has stuck with me. I’ve even designed a dish that can be taken apart easily and transported because building your own dish is far cooler than buying a West Virginia state flower from a guy on Craigslist.

Recently, I was asked to come up with a futuristic, space-ey prop for an upcoming video. My custom-built, easily transportable parabolic antenna immediately sprang to mind. The idea of a three-meter diameter parabolic dish was rejected for something a little more practical and a little less expensive, but I did go so far as to do a few more calculations, open up a CAD program, and start work on the actual design. As a test, I decided to 3D print a small model of this dish. In creating this model, I inadvertently created the perfect WiFi antenna for an ESP8266 module using nothing but 3D printed parts, a bit of epoxy, and duct tape.

Continue reading “Increase The Range Of An ESP8266 With Duct Tape”

Forth: The Hacker’s Language

Let’s start right off with a controversial claim: Forth is the hacker’s programming language. Coding in Forth is a little bit like writing assembly language, interactively, for a strange CPU architecture that doesn’t exist. Forth is a virtual machine, an interpreted command-line, and a compiler all in one. And all of this is simple enough that it’s easily capable of running in a few kilobytes of memory. When your Forth code is right, it reads just like a natural-language sentence but getting there involves a bit of puzzle solving.

robot_forth_had-colors
From Thinking FORTH (PDF)

Forth is what you’d get if Python slept with Assembly Language: interactive, expressive, and without syntactical baggage, but still very close to the metal. Is it a high-level language or a low-level language? Yes! Or rather, it’s the shortest path from one to the other. You can, and must, peek and poke directly into memory in Forth, but you can also build up a body of higher-level code fast enough that you won’t mind. In my opinion, this combination of live coding and proximity to the hardware makes Forth great for exploring new microcontrollers or working them into your projects. It’s a fun language to write a hardware abstraction layer in. Continue reading “Forth: The Hacker’s Language”