radioAe6rt

Archive for March, 2006

JXTA Dynamic Relays

without comments

Mike Duigou presents an interesting discussion of a new JXTA Relay implementation. This important work sets the stage for new hosts coming onto a JXTA network with public IP addresses, raising their hand and saying “I’m here and can help route messages (for those of you behind NATs and firewalls).”

If I’m right, this is a huge development for JXTA. Moving from a static to a dynamic relay model gives a JXTA network the ability to morph under changing routing conditions.

We’re told Skype has dynamic relays to help route data on behalf of hosts behind NATs. Now JXTA will have it, in open source where we can see in the clear, bright light of day how it’s done.

[tags]jxta,p2p[/tags]

Written by radioae6rt

March 29th, 2006 at 3:43 pm

Posted in Internet

Wife and daughter’s Genographic Results: mtDNA Haplogroup K

with 7 comments

ajr-geno2

Courtesy of my dear sister-in-law, Andrea Reiman, the Genographic results of my wife and daughters. Notice that Oetzi the Iceman is a member of this haplogroup. It is an honor to marry into this ancient and historic bloodline!

Your mtDNA results identify you as a member of haplogroup K. This haplogroup is the final destination of a genetic journey that began some 150,000 years ago with an ancient mtDNA haplogroup called L3.

Haplogroup L3 occurs only in Africa, but on that continent its derivatives are found nearly everywhere. L3’s subclades are most prevalent in East Africa.

This ancient lineage reflects an early divergence from humanity’s common genetic coalescence point.

“Mitochondrial Eve,” the common ancestor of all living humans, was born in Africa some 150,000 years ago. All existing MtDNA diversity began with Eve and it remains greatest, and subsequently oldest, in Africa.

Y chromosome polymorphisms on the male line of descent also point to an African origin for all humans, but our male common ancestor, “Adam,” lived only about 60,000 years ago.

MtDNA and the Y chromosome are independent parts of our genetic makeup and each tells a different tale of successive genetic mutations over the eons. That is why their approximate coalescence points are different. Yet while the dates vary, both paths point emphatically to a surprisingly recent African origin for all humans.

The oldest known fossil remains of anatomically modern humans were found in Ethiopia’s Omo River Valley. The skeletons, known as Omo I and Omo II, have been dated to about 195,000 years ago.

Although haplogroup L3 does not appear outside of Africa it is an important part of the human migrations from that continent to the rest of the world.

A single person of the L3 lineage gave rise to the M and N haplogroups some 80,000 years ago.

All Eurasian mtDNA lineages are subsequently descended from these two groups.

The African Ice Age was characterized by drought rather than by cold. But about 50,000 years ago a period of warmer temperatures and moist climate made even parts of the arid Sahara habitable. The climatic shift likely spurred hunter-gatherer migrations into a steppe-like Sahara?and beyond.

This “Saharan Gateway” led humans out of Africa to the Middle East. The route they took is uncertain. They may have traveled north down the Nile to the Mediterranean coast and the Sinai. Alternatively, they may have crossed what was then a land bridge connecting the Bab al Mandab to Arabia, after which they either skirted the then-lush, verdant eastern coast of the Red Sea or headed east along the Gulf of Aden towards the Arabian Sea.

When the climate again turned arid, expanding Saharan sands slammed the Saharan Gateway shut. The desert was at its driest between 20,000 and 40,000 years ago, and during this period Middle East migrants became isolated from Africa.

From their new Middle East location, however, they would go on to populate much of the world.

N is a macro-haplogroup descended from the African lineage L3. This line of descent, with haplogroup M, traces the first human migrations out of Africa. The ancient members of haplogroup N spawned sublineages found across Eurasia and, eventually, the Americas.

Early members of this group lived in the eastern Mediterranean and Near East region, where they likely coexisted for a time with pre-modern hominids such as Neandertals. Excavations in Israel’s Kebara cave (Mount Carmel) have unearthed Neandertal skeletons at least as recent as 60,000 years old.

Growing cognitive abilities likely gave these Upper Paleolithic humans tremendous social advantages, evidenced by the appearance of modern thought and behavior. This “great leap forward” may have enabled our ancestors to outcompete and eventually replace evolutionary dead-end lineages such as Neandertals.

The macro-haplogroup N is composed of many subclades, which are often geographically distinct.

Learning more about these subclades will add further clarity to the big picture of human genetic diversity, and is a primary goal of the Genographic Project.

Haplogroup R is descended from N and has since dispersed across much of the globe. The lineage, in its many subgroups, appears on all continents except Australia and Antarctica.

Subgroups preHV, U, T, and J are found in Europe and the Near East. The R5 and R6 lineages arose on the Indian subcontinent.

Haplogroup K appeared some 16,000 years ago (on the R line of descent) when Europe’s glaciers finally began a retreat from their ice age maximum. Humans of the era were living in the ice-free refuges of southern Europe?where K is still found in its highest concentrations.

As populations followed the retreating ice northward, the lineage’s descendents spread throughout most of Europe. Tests have revealed that Oetzi, the 5,200-year-old remains of a Copper Age man frozen in an Alpine glacier, belongs to haplogroup K.

Written by radioae6rt

March 29th, 2006 at 10:05 am

Posted in Uncategorized

A President’s qualifications

without comments

Richard Reeves observes in his President Kennedy: Profile of Power, an examination of what JFK said and held, that “He believed (and proved) that the only qualification for the most powerful job in the world was wanting it.”

[tags]richard reeves,jfk[/tags]

Written by radioae6rt

March 28th, 2006 at 7:08 pm

Posted in Uncategorized

Command line utility to affect WordPress blog postings

without comments

Here is a quick Java hack to post file contents to a WordPress blog using the Apache XML-RPC 2.0 interface defined by MetaWeblog API.

The utility takes as input a file containing the content to be posted. The first line of the file must contain a comma separated list of categories under which the post should be classified. The second line of the file must contain the post title. Everything else in the file is assumed to be the post content, which is full HTML markup. Blank lines in the input are converted to <p>.

To compile

javac -classpath xmlrpc-2.0.jar Post.java

To run

java [-Dpost.preview={true|false}] -Dpost.url=https://secureBlogURL/xmlrpc.php -Dpost.username=someuser -Dpost.password=thepassword -classpath xmlrpc-2.0.jar:commons-codec-1.3.jar:. Post file

where the XML-RPC and Jakarta Commons Codec jars are available as Apache projects.

Moreover

  • The app uses a secure connection to your WordPress xmlrpc.php service if the URL starts with “https”. Otherwise an unsecure connection is used (i.e., username/password are passed in the clear).
  • someuser and thepassword are your WordPress admin username and password, respectively.
  • The MetaWebBlog publish flag is set to false, resulting in a post created with Draft status.
  • true can optionally be passed to -Dpost.preview to dump the output to stdout without actually posting to the network.
    Previewing is useful when tweaking the post, each time examining it for rendered acceptability in your local browser session.

Given a few liberties I took with some fun new language features, this is a Java 1.5 app. If you’re contrained to using Java 1.4, post a comment
and I’ll help you port it (hint: quick and dirty: comment out all the printlns and the msg methods, which use 1.5 language constructs
to iterate).

The app is super simple - no Java tricks, fully self-contained except for the two Apache jars you can readily download in binary form, and
about as simple XML-RPC as you can come by. Post a comment if you want to discuss it.

[tags]metaweblog api,wordpress[/tags]

Written by radioae6rt

March 28th, 2006 at 11:06 am

Posted in Internet

Wireless Java development from the command line

without comments

Pressing this a bit harder, because I don’t think it gets enough airtime: wireless Java development can effectively be done and enjoyed from the Unix command line. There is no need to get sucked into an IDE if you naturally prefer otherwise.

  • Install Apache Ant and the Antenna wireless task extensions to Ant.
  • Get an Ant build.xml that uses the Antenna extensions. Here’s an example from PhoneGnome Mobile: build.xml. And here is the backing build.properties.
  • Build with the intention of running off a jar in your filesystem: ant local
  • Run in the local emulator: $EMU_HOME/bin/emulator -Xdescriptor build/pg.jad

where EMU_HOME points to whereever you installed your Sun Wireless Toolkit and where pg.jad is whatever your JAD file should be.

When you are ready to deploy, do

ant

noting how the implicit ‘build’ and ‘local’ targets differ in the resulting jad file MIDlet-Jar-URL. To run via over the air provisioning, copy the jad file to whereever you will host it, and do

emulator -Xjam:install=http://www.petrovic.org/j2me/pg.jad

to install the app into the emulator app database. Then

emulator -Xjam

to run the app, and potentially every other installed app, from the emulator’s application management system.

The install into the emulator’s application database can be reversed with, at the very least, a remove-all:

emulator -Xjam:remove=all

See the emulator docs to selectively remove an app.

[tags]wireless java, j2me, jme[/tags]

Written by radioae6rt

March 27th, 2006 at 2:11 pm

Posted in Internet

PhoneGnome meets JME

without comments

PhoneGnome is what VoIP oughta be: no no-win choices between one lock, stock, and barrel phone company or another, but rather an easy, sensible migration to VoIP when it makes sense. If you think you know what VoIP looks like as a true Internet service and you don’t know about PhoneGnome, take a closer, studied look. This is an intelligent VoIP offering that adds real value to your existing Internet connection. You know, the connection you already paid for and the same one that should convey voice when it can — for free.

Working with PhoneGnome inventor David Beckemeyer, I coded up a reference JME app illustrating how to leverage the open XML-RPC API PhoneGnome publishes.

The app allows you to retrieve server side contact lists and operate on them via the PhoneGnome XML-RPC API. In this case, you can force your home PhoneGnome to dial a number in that contact list, or send a voice mail message to the email address of one of your contacts. The application, PhoneGnome Mobile, is the first in the user-contributed area of the PhoneGnome software universe.

This is just a reference application, with source code to show the way. The app is not optimized in any real sense, but does serve to show what can be done with open voice platforms. If you can think of other APIs PhoneGnome should offer that will help you with your code plan, drop a note to api@phonegnome.com

Sidebar: I’m a big fan of developing with /usr/bin/vi and both the command line version of the JME emulator and the JME platform application manager (AMS). A quick look at the source code and README will give you an idea of how to do this. The source also shows how to use the kXML-RPC parser to do XML-RPC on MIDP1.0 devices.

Disclaimer: I am a consultant to TelEvolution, the company that offers PhoneGnome.

[tags]voip, phonegnome,jme,j2me,kxml,xml-rpc[/tags]

Written by radioae6rt

March 15th, 2006 at 6:42 pm

Posted in Internet

Amazon.com storage web service

with 2 comments

Oh so cool: Amazon.com offers transparent disk storage as a web service.

All good ideas are obvious in hindsight, but like convex right-hand-side mirrors on automobiles (which did not obtain when I was a kid), one wonders: what took so long? Thanks to Bill St. Arnaud for the link.

[tags]web services, remote storage[/tags]

Written by radioae6rt

March 14th, 2006 at 12:56 pm

Posted in Internet