Wednesday, November 16, 2011

We Need a Few Good Codecs

audio waveform image by Jesse-lee Lang
from via
Software audio codecs for ham radio? What's the best? Lots is known about telephone voice codecs, but we have noisy voice with QRM, and we also have CW and various digimodes that we want to transmit from a remote RX via digital links. Each scenario might need a separate codec for optimum results. Give up and send linear/uncompressed? Inquiring minds...

This question comes up as I'm trying to work out a strategy for a remote receiving station using the BeagleBoard XM card running Ubuntu.  Lots of fun, but there are many details to work out, including the audio transmission problem.

Update: Beagles on the mind.  I'm using the BeagleBoard XM, not the BeagleBone, which was just announced.

Tuesday, November 15, 2011

Teaching Schematics

Great explanation of electronics schematics for new hams and other students:

Check out "Collins Lab" at Make Magazine for many others.

Friday, November 04, 2011

Hackers I have known

I've just finished "Hackers: Heroes of the Computer Revolution" by Steven Levy.  Originally published in 1984, the book chronicles the early days of computing, when giants strode the earth... It is out in a 25th anniversary edition.

Naturally, and without too much shame, I read it on the Kindle. (If you haven't read the book, see below to appreciate the situation.)

I suppose, by Levy's account, I was on the fringe of the second generation of hackers.  (or maybe generation 1.5)  I crossed paths with a couple of the figures mentioned in the book.  Unknowingly, there may have been more who I never met by name, but who inhabited the same spaces I did.

Bldg 26 -- It never looked this good!
I was a graduate student at MIT from 1966 to 1971, working in Building 26, the Compton Lab. (Levy has unkind words for grad students who were always trying to get things done with the computers, as opposed to the hackers who were building a little utopia around neat code and the "hacker's ethic".  But I will let that pass.)

I began my career at MIT with a couple of computing projects. (I was a physics student working in radio astronomy, but computers have always been central in my world.)  First, a re-reduction of Prof. Bernard Burke's 234 MHz Sky Survey data, which I inherited from other hands.  That project never really finished, and for all I know, someone is still working on it!  It was a great chance to learn the ropes of "glass house" computing, using the IBM 7094 system on the first floor.  It was a true glass house, having magnificent viewing windows from the first floor corridor.  This was a batch system, using punched cards and magnetic tape for input.  You waited hours for a print-out to come back.  A second 7094 system in the same room hosted the CTSS timesharing system, but that was too expensive and not quite powerful enough for my project.  This was all using the new Fortran IV language.

My more respectable work (in hackers' terms) was in connection with a later project, where we had to analyze radiometer data collected on punched paper tape.  We were setting up to measure the "3 degree" cosmic background radiation.  This analysis really needed an interactive analysis, where we could edit and calibrate the data with successive refinements.

So I was introduced to the DEC PDP-1 computer on the second floor.  It was the late 60's, and I was largely unaware of the glorious history of that system and its earlier sister machine, the TX-0 in the next room.  Levy's book fills in a lot of details for me.

The PDP-1 had been expanded to a small timesharing system, supporting 4 terminals.  There was an early graphics display that you addressed in a very simple way: set X, set Y, beam on, beam off -- as I recall.  No driver software! We used a software system called "Stargazer" developed by Eric Jensen. I presume he was the same person mentioned by Levy as "Jensen".  I remember him as an affable but maybe quirky fellow, who had another passion as a comic diver at the MIT pool.

The PDP-1 was a wonderful system, everything was assembler code (of course!) with some exotic peripherals for the time.  A Calcomp plotter (which we used one year to make individualized snowflake Christmas cards) and a nice sound system that played a respectable "Eine Kleine Nachtsmusik" in 4 part harmony, IIRC.  I remember one day when the engineers wheeled in a new electronics crate.  They took the system down for a time, and then lo we had a new "index register" in our instruction set.  Magic.

Several years later, probably about 1969, I needed to make photographs of pulsar data -- time vs frequency for pulses dispersed by the interstellar medium. It turned out that the ancient (by that time) TX-0 computer had a magnetic tape drive and a suitable display and camera.  It was easy to get time there, since most of the action revolved around the PDP-1.

The TX-0 was truly amazing.  It had the power (maybe) of an Apple II, but it was built on a large collection of relay racks spread around a good sized room.  It was said to be the first computer to have used transistor-driven magnetic core memory.  (Levy goes into the history of this machine, but does not dwell on its technology.)  One feature stood out in particular.  It was a wonderful thing to turn the system "on".  It was not simple.  You turned on power, but then you had to start the processor clock.  The clock consisted of a sequence of variable delay lines connected in series and then wrapped around to make a loop.  (Several clock phases were needed to sequence the logic correctly.)  You had to wait until the electronic delays were stabilized (they were probably vacuum tube devices).  Then you pressed the "start" button that injected exactly one short pulse into the loop that started everything going.  It's safe to say I've had a higher interest in power-on sequencing since those days.

We got advice and help from John McKenzie, who was the support engineer for the TX-0 mentioned in Hackers.  I remember him as gracious, supportive and tolerant with us newbie students.  I would put him alongside D. Cosmo Papa, Jack Barrett, and a number of other engineers and technicians who really kept MIT and MIT students running right in those days.

Today's open-source software movement is a direct descendant of the original hacker generation.  Many of the early struggles still resonate.  "Information wants to be free."  Aggressive efforts to impose overbearing intellectual property rules and DRM (digital rights management) really need to be opposed.  Maybe we aren't seeking a free information utopia, but we do need to understand that creative expression (and programming) are always built on the foundation of earlier works.  Mickey Mouse can't be "owned" forever.

It may be that a true hacker would never be caught dead with the DRM-heavy Kindle, but some of us have mellowed at least a little.