VCF East: The Desktop ENIAC

The ENIAC, or Electronic Numerical Integrator and Computer, is essentially the Great Great Grandfather of whatever device you’re currently reading these words on. Developed during World War II for what would be about $7 million USD today, it was designed to calculate artillery firing tables. Once word got out about its capabilities, it was also put to work on such heady tasks as assisting with John von Neumann’s research into the hydrogen bomb. The success of ENIAC lead directly into the development of EDVAC, which adopted some of the now standard computing concepts such as binary arithmetic and the idea of stored programs. The rest, as they say, is history.

But ENIAC wasn’t just hugely expensive and successful, it was also just plain huge. While it’s somewhat difficult for the modern mind to comprehend, ENIAC was approximately 100 feet long and weighed in at a whopping 27 tons. In its final configuration in 1956, it contained about 18,000 vacuum tubes, 7,000 diodes, 70,000 resistors, 10,000 capacitors, and 6,000 switches. All that hardware comes with a mighty thirst for power: the ENIAC could easily suck down 150 kW of electricity. At the time this all seemed perfectly reasonable for a machine that could perform 5,000 instructions per second, but today an Arduino would run circles around it.

This vast discrepancy between the power and size of modern hardware versus such primordial computers was on full display at the Vintage Computer Festival East, where [Brian Stuart] demonstrated his very impressive ENIAC emulator. Like any good vintage hardware emulator, his project not only accurately recreates the capabilities of the original hardware, but attempts to give the modern operator a taste of the unique experience of operating a machine that had its heyday when “computers” were still people with slide rules. Continue reading “VCF East: The Desktop ENIAC”

Great Beginnings for Vintage Computing in Seattle; VCF PNW

The pitch to my wife was simple: “Feel like spending the weekend in Seattle?” That’s how I ended up at the inaugural Vintage Computer Festival Pacific Northwest last weekend, and I’m glad we made the five-hour drive into The Big City to check it out. Hackaday is a VCF sponsor, after all, so it seemed like a great excuse to make the trip. That it ended up being two consecutive days of great Seattle weather was only icing on the cake of being able to spend time with fellow retro computer aficionados and their dearest bits of old hardware, in a great museum dedicated to keeping computer history alive and accessible.

The fact that Seattle, home of Microsoft, Amazon, and dozens of other tech companies, has until now been left out of the loop in favor of VCF East in New Jersey and VCF West in Mountain View seems strange, but judging by the reception, VCF PNW is here to stay and poised to grow. There were 20 exhibitors for this go around, showing off everything from reanimated PDP-11 and Altair 8800 control panels to TRS-80s from Model 1 through to the CoCo. Almost every class of reasonably transportable retro hardware was represented, as well as some that pushed the portability envelope, like a working PDP-8 and a huge Symbolics 3640 LISP workstation.

Continue reading “Great Beginnings for Vintage Computing in Seattle; VCF PNW”

34C3: Ultimate Apollo Guidance Computer Talk

While it might not be as exciting as the Saturn V rocket itself, the Apollo Guidance Computer (AGC) was one of the most important developments of the entire Apollo program. While comically underwhelming compared to modern hardware, the AGC was nothing short of revolutionary when it was developed in the 1960’s. Before the AGC, the smallest computers were about the size of a refrigerator and consumed hundreds of watts; both big problems if you’re trying to pack them into a relatively tiny space capsule with limited resources. Not only did the AGC get humanity to the Moon and back, but it also redefined the state of the art for microcomputers, paving the way for the desktop systems of the 1970’s.

That said, the design and operation of the AGC is downright bizarre to modern eyes; it comes from a time of limitations we can hardly fathom. With this in mind, [Michael Steil] and [Christian Hessmann] put together “The Ultimate Apollo Guidance Computer Talk” for 34C3.

This hour-long presentation walks viewers through every aspect of not only the AGC itself, but how it interacted with the Saturn V rocket and the overall lunar mission. Even if you aren’t enough of a vintage computing aficionado to appreciate the complexities of core rope memory, the presentation gives a fascinating look at the gritty details of one of humanity’s greatest achievements.

Though very slick and easy to understand graphics, [Michael] and [Christian] break down the alien world of the AGC. Even if a lot of this part of the presentation goes over your head, just listen for the sounds of laughter or applause from the audience: that’s when you’re looking at something really off-the-wall.

Of particular note during this presentation is the explanation of how the astronauts actually interacted with the AGC. The AGC’s display and keyboard (referred to as DSKY) may seem rather obtuse even to those who used to hack on a VT100, but [Michael] and [Christian] explain how it’s not quite as complex as it seems. Comparing the input and output of the DSKY with what we would see on a more contemporary command line interface, the presentation makes the case that it’s actually a very straightforward way of talking to the computer.

There’s also a complete breakdown of the different phases of the Apollo mission from launch to landing, explaining what the AGC would be doing at any given time. The DSKY is overlaid on actual footage from the Apollo missions, giving a unique perspective as to what the astronauts would see on their computer during iconic moments such as stage separation or lunar touchdown.

If this presentation has you hungry for more Apollo-era computer technology, we’ve covered plenty of projects to keep you occupied. From building a replica DSKY to leisurely paging through the printed version of the AGC’s source code.

Disrupting The Computer Industry Before it Existed: Rear Admiral Grace Hopper

The feature of being easier to write than assembly is often seen as the biggest advantage of high-level programming languages. The other benefit that comes with them is portability. With high-level languages, algorithms can be developed independently from the underlying hardware. This allows software to live on once the hardware becomes obsolete.

The compiler was a concept that was met with resistance when it was first introduced. This was at a time when computers were custom-built machines bearing individual names like ENIAC, UNIVAC and Mark I. A time when the global demand for computers was estimated to be around five units by the CEO of IBM. In this scenario, it took a visionary to foresee a future where the number of computers would outgrow the number of programmers and hardware would evolve so much faster than software that a compiler would make sense. One visionary was [Grace Hopper].

Continue reading “Disrupting The Computer Industry Before it Existed: Rear Admiral Grace Hopper”

Beyond Conway: Cellular Automata from All Walks of Life

There’s a time in every geek’s development when they learn of Conway’s Game of Life. This is usually followed by an afternoon spent on discovering that the standard rule set has been chosen because most of the others just don’t do interesting things, and that every idea you have has already been implemented. Often enough this episode is then remembered as ‘having learned about cellular automata’ (CA). While important, the Game of Life is not the only CA out there and it’s not even the first. The story starts decades before Life’s publication in 1970 in a place where a lot of science happened at that time: the year is 1943, the place is Los Alamos in New Mexico and the name is John von Neumann.

Recap: What is a CA?

A cyclic CA making some waves

The ‘cellular’ part in the name comes from the fact that CAs represent a grid of cells that can be in a number of defined states. The grid can have any number of dimensions, but with three dimensions the visual representation starts to get into the way, and above that most human brains stop working, so two-dimensional grids are the most common — with the occasional one-dimensional surprise. The cells’ states are in most cases discrete but a subset of continuous CAs exists. During the operation of a CA the future state of every cell in the grid is determined from each cells state according to a set of rules which in most cases take into account the states of neighboring cells.

Continue reading “Beyond Conway: Cellular Automata from All Walks of Life”

History of Git

Git is one of those tools that is so simple to use, that you often don’t learn a lot of nuance to it. You wind up cloning a repository from the Internet and that’s about it. If you make changes, maybe you track them and if you are really polite you might create a pull request to give back to the project. But there’s a lot more you can do. For example, did you know that Git can track collaborative Word documents? Or manage your startup files across multiple Linux boxes?

Git belongs to a family of software products that do revision (or version) control. The idea is that you can develop software (for example) and keep track of each revision. Good systems have provisions for allowing multiple people to work on a project at one time. There is also usually some way to split a project into different parts. For example, you might split off to develop a version of the product for a different market or to try an experimental feature without breaking the normal development. In some cases, you’ll eventually bring that split back into the main line.

Although in the next installment, I’ll give you some odd uses for Git you might find useful, this post is mostly the story of how Git came to be. Open source development is known for flame wars and there’s at least a few in this tale. And in true hacker fashion, the hero of the story decides he doesn’t like the tools he’s using so… well, what would you do?

Continue reading “History of Git”

Make Logic Gates out of (Almost) Anything

Logic gates are the bricks and mortar of digital electronics, implementing a logical operation on one or more binary inputs to produce a single output. These operations are what make all computations possible in every device you own, whether it is your cell phone, computer, gaming console etc.  There are myriad ways of implementing logic gates; mechanically, electronically, virtually (think Minecraft), etc. Let’s take a look at what it takes to create some fun, out-of-the-ordinary gate implementations.

Continue reading “Make Logic Gates out of (Almost) Anything”