19Mar2008
I’ve been hassling Brian to move libmemcached to bazaar for a while now, tonight we finally got a continuous import from mercurial going into bazaar, and published on launchpad. Using bzr fast-import along with hg-fast-export, this was really easy. I’m thrilled to see all the fast-export/fast-import tools that have sprouted up between git, mercurial, and bazaar. Here is the script I stuck in cron to do the continous import (every 6 hours or so), feel free to make fun of my crappy shell scripting.
!/bin/bash
# move into the hg repo and check if hg repo has new revisions
pushd ../libmemcached
# hg incoming will exit 1 if no new revisions, 0 if new revisions
hg incoming
if [ "$?" -eq "0" ]; then
# pull hg repo
echo "New mercurial revisions found upstream, pulling"
hg pull
else
echo "No new mercurial revisions found, exiting"
exit
fi
# move back to our bazaar shared repo
popd
# run fastimport to get the latest revisions into bzr
echo "Importing new revisions into bazaar repo"
export HG_FAST_EXPORT=~/.bazaar/plugins/fastimport/exporters/hg-fast-export.py
$HG_FAST_EXPORT --repo=../libmemcached/ | bzr fast-import -
export LAUNCHPAD_ID=`bzr launchpad-login`
# loop through all branches, pushing them to launchpad
#.
for directory in *
do
if [ -d "$directory" ]; then
echo "Pushing $directory to launchpad"
pushd $directory > NUL
echo "bzr push bzr+ssh://$LAUNCHPAD_ID@bazaar.launchpad.net/~libmemcached-developers/libmemcached/$directory"
bzr push bzr+ssh://$LAUNCHPAD_ID@bazaar.launchpad.net/~libmemcached-developers/libmemcached/$directory
popd
fi
done
18Mar2008
I’ve been doing a lot of research for a presentation I’m giving at BarCampOrlando2 in April. There is a ton of super interesting things going on in the Semantic Search space right now. Yahoo! just announced a new Yahoo! Search open platform which will have support for a number of semantic web standards.
Think of sites like LinkedIn that are loaded with microformats and now think of your search results loaded with that informations. Currently meta data provides some useful information to search engines about the content of a page. Semantic Web standards provide even richer information about the page contents and it’s relationship to other content.
Over the next year this space is going to become the focus of marketing departments that have tapped the potential of SEO (Search Engine Optimization) and are looking for a new SEM (Search Engine Marketing) strategy. The need for experts with the technical expertise to understand semantic standards and how to implement them and at the same time are able to communicate effectively with marketing teams and understand their goals is grow tremendously. If you are the technical lead in a marketing team, you should pay attention to whats happening here.
While the above is really interesting I think I’m much more excited about the potential for mashups that do really handy stuff with all this semantic data. Woohoo!
13Mar2008
I’m pleased to announce that I’ve converted most of the last 10 years of Erlang history into a Bazaar branch. I did this by downloading all the source releases, then progressively importing and committing into Bazaar branch, then publishing the whole thing to Launchpad. Just click on the code tab to get directions for grabbing the code. This makes it possible to look at the changes that have happened between releases - not quite as granular and direct a view of the evolution of the code as you would hope for a real open source project, but much better than a pile of tarballs. Here is a screenshot of Bazaar-GTK looking at some changes in the most recent release:

I had trouble importing a few of the tarballs, and didn’t have time to sort it out - you’ll notice that otp_src_R10B-0, -4, -6, -8, -10 are missing. If anyone is interested in creating this type of history for other open source projects that are stuck with a proprietary version control system that the general public can’t access, feel free to contact me - this stuff is fun and valuable for the community.