Archive for December, 2005
Genographic kit ships
My Genographic Project kit ships today. Viewing the geographical migration path of my ancestors is going to be an eye opener.
[tags]genographic[/tags]
P2P audio over JXTA: Skype alternative
JXTA provides a high level application API for sending data to peers in a peergroup. JXTA “propagate pipes” resemble IP multicast in their functionality: write data to a propagate pipe and any peer bound to the pipe receives the data. Peers discover routes to each other as a result of underlying JXTA platform services. This route discovery allows the packets written to the abstract pipe mechanism to find, similar to multicast, their way to other peers listening on that pipe.
Currently pipes are implemented over TCP, but work is in progress that may admit UDP transport. Such a lightweight transport would be an important next step in allowing audio over JXTA to succeed, over propagate pipes or other varieties of JXTA pipes.
Realtime audio over JXTA would be a powerful open source point of departure on the way to a Skype alternative.
Update 20 Dec 2005: I’ve prototyped a version of AE6RT Beacon that writes 16ms of audio 60/s to a propagate pipe. A peer reading the messages on the same pipe renders to what is quite intelligible audio. Traffic is going purely peer to peer over TCP, and over IPv6 at that on my home network.
The Alex M. Petrovic Reading Room
The State of Missouri recently dedicated the Alex M. Petrovic Reading Room in the main floor of the State Archives in Jefferson City, a room named after my father.
In the mid 1960s my father, with the personal support of Harry Truman, as a member of the Missouri Legislature sponsored legislation to create the Missouri State Archives. Records management in Missouri prior to the State Archives was done by, as my father is fond of saying, periodic capitol fires. Recently, original documentation on the Dred Scott case was discovered among the Archive’s collections.
My father was part of the generation who went off to the far corners of the world to secure it against fascism, and when he and his contemporaries did so and came home, they went about their lives as if it was all in a day’s work. No complaints, no what’s in it for me, no inner child whining on endlessly in sea of bounty. We don’t have to read Homer or look at Brady photographs to find heroes: these men are still among us; they are our fathers.
Every Veteran’s Day I call him and tell him “Dad, thank you”.
Where are my people? The Genographic Project
A language barrier, time, and many other things to do suggest that The Genographic Project is one fascinating way to find out more about who my ancestors were. Not specificially but genetically. My grandparents on both sides were immigrants to America a hundred years ago, for which I am thankful, but I have no good idea what their families did in the Old Country, and probably never will. But it would be good to know more about my ancestors than I do, which is specifically very little.
My guess is that my ancestors were, and came from a very long line of, peasants. Fine by me.
[tags]genographic[/tags]
Unlicensed HF bands?
Does anyone know if there are unlicensed HF bands in the US, as there are unlicensed UHF ISM bands where WiFi has bloomed?
Ham operators have been operating on low power (sub 5W) for years. But how cool would it be to open a slice of the HF band to unlicensed low power use, and see what cool services would emerge. Owing to the physics of wave propagation, longer HF radio waves travel further easier than short VHF and UHF waves. HF propagation is also more susceptible to atmospheric conditions, but that’s ok — that’s part of the challenge. We’re talking about 10-80m roughly, which means antenna sizes change relative to the familiar 10cm-ish WiFi antennas. For example, at 10m the antenna needs to be about 15ft long.
To whet the appetite, here is some very cool work done in licensed spectrum in HF digital radio.
Hmm.
Radio kits: Heathkit, where are you?
The open source creative outlet of my early teen years was the Heathkit radio product line. Buy the kit, assemble the radio yourself, and learn a lot about how the radio works in the process. Smell the solder while you’re at it. This, like everything else with fond memories (new-car smell), is of course now bad for your health. Well, whatever. Smell the solder anyway.
Get a ham Technician license, which is real easy. If you like wireless as a superset of WiFi, you’ll get to send your radio signals across the world rather than just around the house.
And then check out the $130 NorCal40a or the higher end $600 Elecraft. Building these kits gets a guy outside the pure software world into the physical realm, where the winding spacing on toroids matters.
That said, if you prefer a mix of hardware and software, take that $600+ and get yourself an Ettus Research USRP, a platform on which you can do GNU Software Radio. GNU Radio has an active developer community, and will support you while you learn how to make the radio do what you want it to do via signal processing code you write.
Wireless is more than just WiFi. Check ‘em out.
[tags]ham radio, software radio, radio kits, gnuradio[/tags]
Linux mobile phone
Surj takes another step with a Linux based mobile phone.
I’m faced with buying a new mobile phone in the next couple weeks, and I’m not looking forward to choosing, paying for, or using it. I walk into these phone stores and all I see is junk. The user interface changes with every phone I buy, and the features are only so-so.
I’d pay real money for a real phone that gives me programmatic access to everything. Maybe as a compromise I should get an open Treo … but given its size maybe I should just carry my laptop around with me?
Go, Surj.
More on JXTA: a central-server-less technology
For those who may not have done so, a nudge to take a look at JXTA, Sun’s open source p2p technology.
JXTA routes messages peer to peer at the application layer. An important consequence of this is that on JXTA peer networks there are no central application server as we know them. Mail servers have SMTP and POP3 servers, the web has HTTP servers, and Jabber has Jabber servers (or whatever).
JXTA, on the other hand, has a few peers that must be around to bootstrap the network, but they don’t know anything about the applications implemented by their edge peers. Hence, the same bootstrap servers (called relays and rendezvous in JXTA parlance), can be used as is for many JXTA applications without modification.
That is HUGE. All the application logic for JXTA apps lies at the edge. There is no smart, central server — anywhere. JXTA is also supported by an active developer community, and for the last year that I’ve been participating, one can see the platform developers at Sun doing CVS commits 24×7x365. It’s an active, vibrant project, with an open source BSD-like license. Have a look.
Best book for complete treatment: Brendon Wilson’s
NetBeans collaboration using Morse Code
NetBeans, and probably Eclipse, is increasingly talking about integrated or plugin collaboration tools that allow developers to work together cohesively and in realtime with each other.
Some discussion on the MyJXTA2 list prompts me to suggest that high speed Morse code can be used to help make developer team members aware of project events of interest. Network CVS check-ins, CVS check-outs, build broken, etc, are all events developers may want to know about, but don’t want to have to look at their screen to find out — ears sense omnidirectionally, while eyes are, well, line of sight. Using audible Morse code as an always open audio channel, as IM is an always open text channel [1], can help. NetBeans messages of interest, which are generally of network origin, are parsed and coded to PCM then played to the developer’s machine speaker.
Here a few examples
| Morse open audio channel messages | ||
| wav file | message | meaning |
|---|---|---|
| ci.wav | ci | CVS check-in event |
| co.wav | co | CVS check-out event |
| treebroken.wav | btree | main tree broken |
| mailcall.wav | mail de mark | new mail has arrived from mark |
Listen to the wav files in a tight loop, such as
$ while : ; do play co.wav; done
so that you begin to hear it as a single “word”, rather than a discrete “c” followed by “o”. These files are encoded at about 35 words per minute, which is a pretty good clip, but necessary to get the message executed in a second or two.
Morse code is not difficult to learn, and intially only a few patterns would be needed.
Morse is superior to playing specific tones encoded as wav files to indicate events, such as are used to signal user entering and exiting a chat room, because real messages are encoded. Those simple tones resemble pictographs compared to letters or symbols in the Morse code set. It takes a new pictograph to express a new thought, whereas only a new arrangement of existing symbols to express a new thought in Morse code.
In this case Morse is also superior to text to speech, because human speech is a richer and more distracting vehicle than the messages need. Instant messaging has already replaced the telephone or shout down the hall as a rapid method of communication, and has gone even further by eschewing proper spelling, capitalization, and punctuation in the name of brevity and efficiency. We don’t always want to resort to heavyweight human speech or business letters to communicate. Morse would be perfect for developers to message each other without having to turn the head and read, but is still antiseptic enough just to get the message across without speech accents or intonations. Morse is “just the facts, ma’am”.
This idea is not as outlandish as it may at first seem. After all, we learned to type so we could hack code, right?
References
- Morse code table
- Learning Morse code
- C code to generated wav files
- Pierpont’s Art and Skill of RadioTelegraphy
[1]
Discussion of the value of always open video channels, which could also be put to good use in NetBeans or other IDE collaboration tools. Always open describes a channel where the answerer’s communication device can deliver a message from the caller without action on the answerer’s part. IM is essentially always open, email is basically always on, as is push to talk voice (walkie talkie). Telephones traditionally are not: the answerer has to take the receiver off-hook, or otherwise push an “answer” button.
Java Posse podcasts
Three thumbs up for The Java Posse podcasts. Time flies while tuning in.
While I enjoy the proceedings, I realize I cannot admit in front of these guys that I’m still a heavy vi user.