Erich Schubert: Dritte Startbahn - 2 gewinnt!
Just as a little reminder, the Bug Squashing Party in Salzburg will start in three days.
We still have sponsored accomodation for
See YOU in Salzburg!
1.5M CPU hours runs on the Vienna Scientific Cluster by my 3D+3V hard expanding loops code. It is simulating the Chromo-Weibel instability of a non-Abelian plasma in an 1d expanding background to account for the expansion of a Quark-Gluon plasma fireball in a heavy ion collision. The code is parallellised using Open MPI and one single run roughly needs 0.5TB memory to hold all the needed 5-dimensional matrices and ~ 72h to complete. The resulting heavy operation is of course matrix multiplication of those physical and auxilliary fields.
I tried to use git-annex on the resulting physical fields data output of ~ 150Gb and 300k files. Currently I do prefer git itself for it's speed and it only doubles the amounted space. I'm thrilled to see that git annex is still considering this "semi-extreme" usecase of lots of data files as it would help collaborators to have partial checkouts for laptop usage and quick checks. As the git-annex kickstarter is a rocket, i'd add my wish to see the current symlink mess go: desymlink git-annex.
Now it is the time to properly analyse all this data and get the full 3d paper follow up on Instabilities of an anisotropically expanding non-Abelian plasma: 1D+3V discretized hard-loop simulations (previous paper) out maybe soon. (;
The second highlight is more on the internal structure camp. As
mentioned last month, I've discussed with the tech-ctte insisting a
bit to set up periodic IRC meetings, to ensure outstanding issues
get periodically reviewed. At the end of May the first IRC meeting
has happened, and has been very productive. See the minutes.
Another one has been scheduled, trying to setup a monthly cadence,
for the end of June. Many thanks to all tech-ctte members who have
took part in and helped with the meeting organization.
Communication
I've given an
interview to iTWire, answering a number of questions about
several past and future Debian challenges.
Discussions
The ongoing discussion to harmonize packaging of multimedia
software between the official Debian archive and the unofficial
debian-multimedia.org archive (dmo) has progressed.
I've tried to help the two groups reaching an agreement on
which packages belong where, so that both duplicate packaging
efforts and user inconveniences are minimized. That seems not to
have worked and dmo maintainers have simply announced that they
will move away from the current domain name to a new one that does
not include "debian" in its name.
Sprints
There will be a Debian Science
sprint in June, co-located with the broader
Debian Science event organized by European Synchrotron
Radiation Facility (ESRF) in Grenoble. I've confirmed my attendance
for the opening talk of the conference day. ESRF organizers have
kindly sponsored travel for all Debian attendees, many thanks to
them!
Another
sprint will happen next week-end in Paris, this time by the
i18n/l10n team. I've approved the corresponding tentative budget
for travel sponrship for ~2'000 EUR.
Other expenses
Hardware replacement plans go on. We've ordered SSDs (for ~3'000
CAD) for recently bought machines meant to replace bugs-mirror,
bugs-master, and udd. On the "small emergencies" front, we also had
to replace failing disks on wagner (1/2 of alioth), for as little
as 100 GBP.
Miscellanea
master:/srv/leader/news/bits-from-the-DPL.txt.201205
tl;dr: Version 1.0 of Obnam, my
snapshotting, de-duplicating, encrypting backup program is released.
See the end of this announcement for the details.
Where we see the hero in his formative years; parental influence
From the very beginning, my computing life has involved backups.
In 1984, when I was 14,
my father was an independent
telecommunications consultant, which meant he needed a personal computer
for writing reports. He bought a
Luxor ABC-802,
a Swedish computer with a Z80 microprocessor and two floppy drives.
My father also taught me how to use it. When I needed to
save files, he gave me not one, but two floppies, and explained
that I should store my files one one, and then copy them to the
other one every now and then.
Later on, over the years, I've made backups from a hard disk
(30 megabytes!) to
a stack of floppies, to a tape drive installed into
a floppy interface (400 megabytes!), to a DAT drive, and various other media.
It was always a bit tedious.
The start of the quest; lengthy justification for NIH
In 2004, I decided to do a full backup, by burning a copy of all my
files onto CD-R disks. It took me most of the day. Afterwards, I sat
admiring the large stack of disks, and realized that I would not ever
do that again. I'm too lazy for that. That I had done it once was an
aberration in the space-time continuum.
Switching to DVD-Rs instead CD-Rs would reduce to the number of disks to
burn, but not enough: it would still take a stack of them.
I needed something much better.
I had a little experience with tape drives, and that was enough to convince
me that I didn't want them. Tape drives are expensive hardware,
and the tapes also cost money. If the drive goes bad, you have to get
a compatible one, or all your backups are toast. The price per gigabyte
was coming down fast for hard drives, and it was clear that they were
about to be very competitive with tapes for price.
I looked for backup programs that I could use for disk based backups.
rsync, of course, was the obvious choice, but there were others.
I ended up doing what many geeks do: I wrote my own wrapper around
rsync. There's hundred, possibly thousands, of such wrappers around
the Internet.
I also got the idea that doing a startup to provide online backup
space would be a really cool thing. However, I didn't really do
anything about that until 2007. More on that later.
The rsync wrapper script I wrote used hardlinked directory trees
to provide a backup history, though not in the smart way that
backuppc does it.
The hardlinks were wonderful, because they were
cheap, and provided de-duplication. They were also quite cumbersome,
when I needed to move my backups to a new disk the first time. It
turned out that a lot of tools deal very badly with directory trees
with large numbers of hardlinks.
I also decided I wanted encrypted backups. This led me to find
duplicity, which is a nice program
that does encrypted backups, but I had issues with some of its
limitations. To fix those limitations, I would have had to re-design
and possibly re-implement the entire program. The biggest limitation
was that it treated backups as full backup, plus a sequence of
incremental backups, which were deltas against the previous backup.
Delta based incrementals make sense for tape drives. You run a full
backup once, then incremental deltas for every day. When enough time
has passed since the full backup, you do a new full backup, and then
future incrementals are based on that. Repeat forever.
I decided that this makes no sense for disk based backups. If I already
have backed up a file, there's no point in making me backup it again,
since it's already there on the same hard disk. It makes even less
sense for online backups, since doing a new full backup would require
me to transmit all the data all over again, even though it's already
on the server.
The first battle
I could not find a program that did what I wanted to do, and like
every good NIHolic,
I started writing my own.
After various aborted attempts, I started for real in 2006. Here is
the first commit message:
revno: 1
committer: Lars Wirzenius <liw@iki.fi>
branch nick: wibbr
timestamp: Wed 2006-09-06 18:35:52 +0300
message:
Initial commit.
wibbr was the placeholder name for Obnam until we came up with
something better. We was myself and Richard Braakman, who was going
to be doing the backup startup with me. We eventually founded the
company near the end of 2006, and started doing business in 2007.
However, we did not do very much business, and ran out of money in
September 2007. We ended the backup startup experiment.
That's when I took a job with Canonical, and Obnam became a hobby
project of mine: I still wanted a good backup tool.
In September 2007, Obnam was working, but it was not very good.
For example, it was quite slow and wasteful of backup space.
That version of Obnam used deltas, based on the rsync algorithm, to
backup only changes. It did not require the user to do full and
incremental backups manually, but essentially created an endless
sequence of incrementals. It was possible to remove any generation,
and Obnam would manage the deltas as necessary, keeping the ones
needed for the remaining generations, and removing the rest.
Obnam made it look as if each generation was independent of each other.
The wasteful part was the way in which metadata about files was
stored: each generation stored the full list of filenames and their
permissions and other inode fields. This turned out to be bigger
than my daily delta.
The lost years; getting lost in the forest
For the next two years, I did a little work on Obnam, but I did not
make progress very fast. I changed the way metadata was stored, for
example, but I picked another bad way of doing it: the new way was
essentially building a tree of directory and file nodes, and any
unchanged subtrees were shared between generations. This reduced the
space overhead per generation, but made it quite slow to look up
the metadata for any one file.
The final battle; finding cows in the forest
In 2009 I decided to leave Canonical and after that, my Obnam hobby
picked up in speed again. Below is a table of the number of commits
per year, from the very first commit (bzr log -n0
awk '/timestamp:/ print $3 ' sed 's/-.*//' uniq -c
awk ' print $2, $1 ' tac):
2006 466
2007 353
2008 402
2009 467
2010 616
2011 790
2012 282
During most of 2010 and 2011 I was unemployed, and happily hacking
Obnam, while moving to another country twice. I don't recommend that
as a way to hack on hobby projects, but it worked for me.
After Canonical, I decided to tackle the way Obnam stores data from
a new angle. Richard told me about the copy-on-write (or COW) B-trees that
btrfs uses, originally designed by Ohad Rodeh
(see his paper
for details),
and I started reading about that. It turned out that
they're pretty ideal for backups: each B-tree stores data about
one generation. To start a new generation, you clone the previous
generation's B-tree, and make any modifications you need.
I implemented the B-tree library myself, in Python.
I wanted something that
was flexible about how and where I stored data, which the btrfs
implementation did not seem to give me. (Also, I worship at the
altar of NIH.)
With the B-trees, doing file deltas from the previous generation
no longer made any sense. I realized that it was, in any case, a
better idea to store file data in chunks, and re-use chunks in
different generations as needed. This makes it much easier to
manage changes to files: with deltas, you need to keep a long chain
of deltas and apply many deltas to reconstruct a particular version.
With lists of chunks, you just get the chunks you need.
The spin-off franchise; lost in a maze of dependencies, all alike
In the process of developing Obnam, I have split off a number of
helper programs and libraries:
md5sum on steroids),
useful for verifying that files are restored correctlyunstable, and will
hopefully get into wheezy before the Debian freeze. I provide
packages built for squeeze on my own repository,
see the download page.
The changes in the 1.0 release compared to the previous one:
If you want to add System z zFCP drives to a Debian GNU/Linux system, you first need to make the HBA known to the system. For this you add an (initially empty) file with the (lowercase) device ID of the zFCP HBA to /etc/sysconfig/hardware. There should already be files for the ECKD/FBA disks and the network adapters.
Jo and I flew in to HK a few days early for the Linaro conference,
so we got some time to ourselves for doing touristy stuff. That was a
good plan - we got to see quite a lot of Kowloon for a couple of days,
then we wandered over to Hong Kong island itself for a day. Jo also
had more time during the week while I was in the sessions at the
conference.
Hong Kong is a busy place, very densely packed at all
times of day and night that we could see. The first impression we got
on the taxi from the airport on day one was that it was a city full of
tower blocks - huge numbers of apartments stacked very closely
together for living space. That makes sense, I guess, with the large
population in such a small space. There are houses around with more
space for people to live, but they are understandably very
expensive.
Later on in Kowloon, we got to meet lots of the local street
vendors, mostly offering us "Copy Rolex", "Fake handbag" and the
like. Even "Sharp trousers" at one point. We decided not to try them
out... :-) We saw lots and lots of very expensive shops downtown,
crammed into huge shopping centres in the tourist area. As an antidote
for all of that, we headed up to the "Golden Computer Arcade" to go
browsing around the vast array of tiny technology stalls and shops
there. Picked up some nice cheap laptop memory and some SD cards
there. Yay!
Across on Hong Kong island itself on Sunday,
we found
my grandfather's grave then rode around on
the trams for a
while to get a good view of the city, including
a democracy
protest that happened to be on that day! We had a quick look
around Tin Hau
Temple, where we found a very specific set of rules for
visitors:
I can only guess that they must have been terrified by gangs of
kids racing their RC cars at one point!
We finished the day by heading up to Victoria Peak for the sunset
view and some dinner, then back to the hotel. Killing time in a
shopping centre waiting for the bus to turn up, we found a truly
astonishing little item on sale, a Solar Queen!
Apparently this gift has a solar panel on the handbag to provide
power to a little motor in the Queen's hand to make her wave to her
subjects. We decided that we'd somehow have to live without such a
delight in our lives... :-)
HK was a cool place to visit. It still feels very British in some
ways, as you'd expect from an ex-colony (power sockets are still the
same as ours, driving on the left, everybody spoke English, etc.) but
utterly alien in others (the climate, working public transport
*grin*). I look forwards to heading out there again!
I never met my father's father, as he died many years before I was
born. He was a soldier in the British Army and was killed in an
accident in Burma in the 1950s. I'm told that back then the Army did
not repatriate casualties as a matter of course like they do today, so
none of the family got to see his funeral or even visit the
grave. Like many of the military casualties in the Far East, he was
buried in the Colonial Cemetery in Hong Kong. A few photographs were
sent to my grandmother of the ceremony and the headstone, but that's
all we ever saw.

Fast forward to 2012. I travelled to Hong Kong for a conference
(Linaro Connect, more
about that later...). I looked up the details of where grandad was
laid to rest, and found a major coincidence. He was killed on 27th May
1952, almost exactly 60 years ago! I resolved to go to find him on
27th May 2012 to make the most of this lucky anniversary. Wikipedia
told me that in the intervening years the Colonial Cemetery had been
renamed to Happy Valley Cemetery, then
simply Hong
Kong Cemetery, and repurposed from military to civilian use.
Jo and I bought some flowers and headed over to Happy Valley on
Hong Kong Island on Sunday afternoon. We found a very large cemetery
with a helpful map posted to show the different sections, but nothing
to tell us where we should be looking. One of the attendants at the
office on site looked at the details we had and shrugged to say
"sorry, can't help". Ah well, nobody said this was going to be very
easy... What we found after a few minutes was that the graves weren't
laid out in any obviously logical fashion. In any given small area,
you'd find people buried from roughly the same period, but
people for any given period could (and would) be scattered across
multiple sections at all corners of the site. Great, time for an
exhaustive search then. I started combing the site, checking all the
markers I could find that looked anything like the tiny grainy black
and white photo we had of grandad's headstone.

Almost two hours later, I eventually found him. Two hours of heavy
work: the cemetery is built on the side of quite a steep hill, and the
prevailing weather was very hot with 100% humidity. But, I forgot all
that as we eventually stumbled across the correct grave in (no
exaggeration!) the very last part of the last section of the site,
20a.
I was relieved at this point: as things had taken so long, I had
started to worry that maybe the grave had been moved or the headstone
damaged and lost. But no, I found the man who had gone off to war
leaving my dad and aunt as small children. We took some photos and
took note of where we had found the final resting place of Sergeant
William Alexander McIntyre of the Royal Signals, a man I never met in
life but clearly a very important member of our family.
My curiosity was definitely nookd by this story.
While this doesn't seem to have been an act of censorship or anything nefarious by Barnes and Noble itself, this does point to just how terrifying ebooks can be if we aren't careful. In the future, when we are dealing with the entirety of human knowledge, we better be careful with the find and replace function. And we better make sure we control our computer systems so that other people can't nook us without our permission.
See also:
As someone who read War and Peace in paper form, much of it in bed, I definitely empathized with this:
Some weeks ago I decided that I wanted to read Tolstoy's War and Peace. Lou Ann loaned me her copy. At more than 1100 pages, reading it in bed required as much strength as balancing a box of bricks in my hands. In my senior years I have developed arthritis in my thumbs, which made the effort not only difficult, but painful.
A lot of people interested in free software, and user autonomy
and network services are very worried about Facebook. Folks are
worried for the same reason that so many investors are interested: the
networks effects brought by hundreds of millions of folks signed
up to use the service.
Network effects -- the concept that a good or service
increases in value as more people use it -- are not a new problem for
free software. Software developers target Microsoft Windows because
that is where the large majority of users are. Users with no love for
Microsoft and who are otherwise sympathetic to free software use
Windows because programs they need will only run there.
Folks worried about Facebook are afraid for similar reasons. Sure, you
can close down your Facebook account and move to Diaspora. But who
will you talk to there? You can already hear people complaining about
Facebook the same way they've been complaining about Windows or Office
for years. People feel that their hands are tied and that their
software, and their social network, will be determined by what everybody is
doing.
I'm worried about Facebook. But I'm not too intimidated by Facebook's
network effects for two reasons.
First, using Facebook doesn't preclude using anything else.
Twitter has enormous overlapping functionality with Facebook.
Sure, people use the systems very differently. But they both ask you to
create lists of friends and followers and are designed around sending
and receiving short status
messages. Millions of people do both and both systems are
thriving. For the millions of people who use both Facebook and
Twitter, the two services have had to negotiate their marginal utility
in a world they share with the other one. People decide that Twitter
is for certain types of short messages and Facebook is for others. But
these arrangements shift over time.
And the relationships between services aren't always peaceful coexistence.
Remember Friendster? Remember Orkut? Remember Tribe? Remember
MySpace? MySpace, and all the others, are great examples of how
social networks die. They very slowly fade away. MySpace
users signed up for Facebook accounts and used both. They almost never just
switched. Over time, as one platform became more
attractive than the other, for many complicated reasons, attention and
activity shifted. People logged in on MySpace less and Facebook more
and, eventually, realized they were effectively no longer MySpace
users. Anyone that has been on the Internet long enough to watch a few
of these shifts from one platform to another knows that they're not
abrupt -- even if they can be set in motion by a particular event or
action. Users of social networking sites simply don't have to choose
in the way that a person choosing to boot Windows and
GNU/Linux does.
I'm sure the vast majority of people with Diaspora accounts use
Facebook actively. This is not a problem for Diaspora. It is
how Diaspora -- or whatever else eventually achieves what many of us
hoped Diaspora would -- could win.
Second, Facebook is for the ephemeral.
Facebook is primarily used for information that was produced very
recently. This week if not today. If not this hour.
Facebook has an enormous amount of data that users have fed it that
may be hard to get out and move somewhere else. But most people don't
care very much about having any regular access to the large majority
of this information. What people care deeply about
is having access to the data that they and their friends created today. And
that data can just as easily be created somewhere else tomorrow. Or,
with the right tools, created just as easily in both places.
Compare this to something like Windows where moving away would require
learning, converting, and perhaps even writing, new software. Perhaps even in
new programming languages that most developers don't know yet. Compared to
Windows, a migration away from Facebook will be easy.
Facebook's photo galleries are an example of an important place where this
holds less well. Social network information -- i.e., the list of who is friends
with who -- is another example of something that is persistently
valuable. That said, people really enjoy the act of finding and
friending. Indeed, this process was
part of the initial draw of Facebook and other social networks.
None of this means that Facebook is over. It doesn't even mean that its
ascendancy will be slowed. What it does mean is that Facebook is vulnerable
to the next thing more than many technology firms that have benefited
from network effects in the past. If users are given compelling reasons to
switch to something else, they can with less trouble and they will.
That compelling reason might be a new
social network with better features or an awesome distributed architecture that
allows freedom for users and the ability of those users to
benefit from new and fantastic things that Facebook's overseers would never let them have and without the things Facebook's users suffer through today. Or it
might be a sexier proprietary box to store users' private information.
It doesn't mean that I'm not worried about Facebook. I remain
deeply worried. It's just not very hard for me to imagine the end.
since most of the gcc
4.7 bugs are fixed by now, I looked again at the general
RC bugs too this week. here's the usual short report:
When packaging software for Debian, there exist two important assumptions:
I'm participating on organizing this year's openSUSE conference and as we've finally finalized place and time and CFP is open, it's time to share some information.
This will be special - there is not a single conference, but four of them are sharing same space and the motto - Bootstrapping awesome!!!. The 4th openSUSE conference will be held together with LinuxDays, Czech conference following tradition of canceled LinuxExpo, what should be the biggest free software event in Czech republic. In addition there will be also 12th SUSE Labs conference (so you can meet quite a lot of kernel hackers and other strange guys) and first Gentoo mini summit (the website is empty so far).
All that will happen on weekend from 20th October to 21st October, the SUSE conferences will then continue for 22nd and 23rd October.
I believe it will be great mixture of conferences and I hope to meet lot of people there.
Filed under: English Gentoo Suse 0 comments Flattr this!
apt-get install gitolite .
If you use puppet already you might be tempted to use puppet to manage your gitolite installation. This is all good, but I don't advice you to use modules like this one http://forge.puppetlabs.com/gwmngilfen/gitolite/1.0.0 as it's going to install gitolite from source and on debian it's not necessary ... For my purposes, I didn't find necessary to manage gitolite with puppet as all the default config options where good enough for me.
Once your debian package is installed, in order to initialize your repo, you just need to pass to gitolite the admin public key, that is your .ssh/id_rsa.pub key and then run this command:
/etc : This will sync your main puppet directory and trigger changes on the nodes for the next puppetd run. First I created a small shell script in /usr/local/bin/puppet-post-receive-hook.sh :
$INSTANCE_NAME.$DOMAIN or otherwise puppet will complain loudly. This is not strictly needed, but if you want to do otherwise, you'll need to fiddle with the puppet configuration a bit more. The procedure to create a puppet certificate server-side is well documented on the puppet website, so if you are curious about the details duck-duck-it .
Next.