8080 has a very simple, pretty regular machine language so hand-translating between ASM and octal bytes isn't hard. I had a Heathkit H-8, which included a marvelous single-page 8080 instruction table arranged in octal order. After a while, you can do most of the translations from memory. The PDP-8 and PDP-11 are even easier because of better regularity. In constrast, ARM instruction bits are all over the place in the later versions. Hand-assembling ARM would easily beat out your brother in the crazy department.
ETmax: one of the ferrrite core based computers the FCC at ICT to which I made minor design contributions had delay lines as well as ferrite data and program stores; as a young lad I was seconded to its developement team. (aside max the magnificant will remember that one I'm sure). Below the stacks of ferrite cores was a box with connections to the core matrices. As a newbie nobody wanted to tell me what was in the box as it was a secret. So one night when working alone I unscrewed the lid for a look see. Very disappointed all that was inside were lots of coils of coax. I later discovered that this was a series of delay lines of different length driven from a single pulse to provide the sequence of pulses to scan the x-y drive for the core matrix. I think one of the engineers had worked on the UK nuclear weapons program and adapted the constant length delay lines used to trigger the RDX to provide a perfectly timed sequence of pulses. More detail will be found in my book "Computers that Didn't" to be followed by the sequence "Memories that Forgot" when I finally get round to writing them.
@TonyTib But for crazy, its hard to beat my brother, who designed and built a 8080 system, hand translated assembly code into binary, and programmed it to EPROM using DIP switches.
My first job as an intern was to wire up the EPROM programmer board for an 8080 system. After several weeks of toggling switches for the bootloader and hand translating assembly into binary to run tests, the first thing that got programmed into EPROM was the bootloader and EPROM programming code.
@Max, elsewhere I wrote at length on the many issues that come with bloated SW, such as load time, cache hits, execution time of crucial functions within one tick and several others. Modern compiler writers just don't get it. I wrote a program in C and compiled it on MS C V5 for DOS back in 1990 and it was 25k. In 2008 I compiled it with the lates MS C++ compiler (still for a CLI) and it was almost 300k!! On the subject of memory etc. I have a databook for a 1 bit processor that can be programmed with a string of diodes and resistors :-)
BTW, while in some ways its kind of self-evident, I never mentioned why the inventors of core memory called them "core memories" instead of "ring memories."
It's because the idea evolved out of hysteresis effects in transformers, specifically in the iron or ferrite "cores" around which transformer coils were wound. It is in that context that the real reason for using the term "core" pops out, since the "core" is the lump of material at the very center of the windings.
But transformer cores don't work well if they are just blocky lumps, so very early in transformer history they started shaping them into rings. Below is a nice Wikipedia diagram of a simple ring-shaped transformer core. The figure makes it apparent that core memories were in a very real sense just huge arrays of tiny, hysteresis-rich, misbehaving-by-design transformer cores:
(Tangent, or if you prefer, sinx/cosx: There is a marvelous picture in the old Life-Time books of people at the peak of core memory miniaturization using magnifying viewers to thread near-microscopic cores. I don't know if the picture is online anywhere, but I'll may still have a copy of that book. I'll look.)
There are similar (in inspiration) modern kits like this one; I plan on eventually getting one for my son, since it shows boolean logic in ways an Arduino can't.
My first programming wasn't on a PC, either: it was on my HP-34C programmable calculator. Then I got the renowned HP-41C, which I still have although I might eBay it after fixing the flaky 0 key (they fetch good prices on eBay).
I still like having a calculator (or two or three) around, despite the computers, and a couple years ago picked up a HP-48G+ because I wanted a RPN model that would show a four level stack. Yup, you can get calculator emulators for smart phones, but touching virtual buttons isn't the same.
Etmax & Mariski. On the shelf in my office I have a non-destructive readout ferrite core memory in its test jig. It is the normal donut with a second even smaller hole in the donut. Wiring that is real needle work.
My first experience with memory drums was the Sperry drums in a stock control computer. The read heads had to be adjusted to within one thousands of an inch of the oxide surface, the standard gauge to do this was a roll-your-own cigarette paper. The skill was to avoid crashing the ferrite heads into the drum surface. One day the local corner shop ventured to equire why I regularly purchased cigarette papers and never any tobacco-perhaps suspicious that I was obtaining my "smoking material" what ever that was from other sources. Those drums were about 18 inches high and about two feet in diameter, if my memory serves me, 20 or 30 tracks of 5K bits.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.