My patches to convert the 3.0 (git) source format to use git bundles have landed in dpkg's git repository and will be in dpkg 1.15.8.

I think this second attempt at 3.0 (git) has worked out much better than the first. (Though the first was a pretty good success overall, since it also led all the other 3.0 formats eventually. ;) Perhaps the intervening years of git experience helped. The code is much simpler, with none of the ad-hoc hacks from the first version. The resulting git bundles can be manually cloned using git-bundle(1) where dpkg-source is not available.

There are two handy new features that can be controlled by debian/source/options. git-ref can be used to limit the branches/tags/etc that are included in the source package. And git-depth can cause a shallow clone of specified depth to be created and bundled.

dpkg-source: info: using options from debhelper/debian/source/options: --git-ref=gitsrc --git-ref=master --git-depth=10
dpkg-source: info: using source format `3.0 (git)'
dpkg-source: info: creating shallow clone with depth 10
dpkg-source: info: bundling: gitsrc master

A demo source package is here.

joey@gnu:~/tmp/t>dget http://kitenet.net/~joey/tmp/debhelper_7.9.4.dsc
...
dpkg-source: info: extracting debhelper in debhelper-7.9.4
dpkg-source: info: cloning debhelper_7.9.4.git
dpkg-source: info: setting up shallow clone
joey@gnu:~/tmp/t>ls -l
total 392
drwxr-xr-x 10 joey joey   4096 Jul 25 13:58 debhelper-7.9.4/
-rw-r--r--  1 joey joey   1779 Jul 25 13:58 debhelper_7.9.4.dsc
-rw-r--r--  1 joey joey 388859 Jul 25 13:58 debhelper_7.9.4.git
-rw-r--r--  1 joey joey    738 Jul 25 13:58 debhelper_7.9.4.gitshallow
joey@gnu:~/tmp/t>cd debhelper-7.9.4 
joey@gnu:~/tmp/t/debhelper-7.9.4>git branch -a
* gitsrc
  remotes/origin/HEAD -> origin/gitsrc
  remotes/origin/gitsrc
  remotes/origin/master

Notice that the branch I was in when I built the package is preserved, and the 19 revisions included in the shallow clone (10 per branch) take up very little space of course. This particular git source package turned out 30k larger than the tar.gz.

I am considering adding two other features:

  • Using VCS-Git fields to automatically set up origin when a git source package is unpacked.
  • Temporarily auto-committing uncommitted changes when building (currently the build fails when there are uncommitted changes).

I hope the next step will be for git source packages to be accepted in the Debian archive.

Posted Sunday afternoon, July 25th, 2010

Raphael's Flattr FOSS is a good idea: Make it really easy for users to pay tips for free software and maybe users who otherwise wouldn't express their appreciation will.

I've added Flattr buttons for a few of my Free Software packages. Am interested to see how it works out.
Flattr this


Regarding Flattr itself, I have always wanted a way to easily micropay artists, coders, etc online. Especially musicians like Mosaik!

The way it splits your monthly payment amoung everyone you've Flattr'd that month is smart; it takes money out of the picture when deciding whether to click on a Flattr button.

I think it would be more honest, though, if rather than taking 10% of everything (which would be just absurd and indefensible if this were used on a large scale, and whiffs faintly of pyramid scheme even now), Flattr took one share of your monthly payment (as if you automatically Flattr'd them each month). That would provide even more incentive to Flattr lots of other things. And if lots of people were Flattring lots of things, Flattr would still make plenty of money.

Posted Friday afternoon, July 23rd, 2010

I love this game.

Love that it's so abstract and beautiful and meditative.

Love how it plays with fractal scale. Am I a planet or a unicelled organism?

Love that this basic game idea could have been written at any point since Spacewar (1961), and could be said to be recycling ideas from everything from that to Pac Man ... but instead seems entirely new, pure, and fresh.

Love that I can be playing it and it makes me think about things right out of a Greg Egan novel. Like about how it's most efficient for conciousness to be slow and not care about the passage of time. So you don't have to waste much mass on delta-v. Until carnivorous life enters the picture. Then you have to be bold, and fast.

Love that it has a linux port.

Love that it's hard.

A screenshot can't do it justice -- the video on its site gives a better idea.

Posted Wednesday afternoon, June 30th, 2010

Going out to Abram's in early summer, when it starts to get uncomfortable, and sitting under the falls is a full-fledged tradition for me now. This time my camera worked, and I even brought a laptop (ziplocked) on the wade down the creek, so I spent the afternoon in the canyon. Office with a view..

Posted late Thursday evening, June 24th, 2010 Tags:

Here on the porch at Dani's, enjoying the chill breeze as a distant storm passes by, and the last half hour of daylight, it seems right to have been awake to see the solstice dawn, and out in the world all day. Though after 16 hours, the part of the day spent napping in a hammock barely seems enough.

Such an early start to this day, first visiting a small-town garage with Dad, where skype video calls were being made, and then racing the morning heat north, out of South Carolina.

(I can't hear "frakking water" on the radio without snickering. Congratulations to all the news-people who pulled that phrase off today.)

A long drive punctuated by picking up my passenger, and my own Goodbye Solo drive up by Blowing Rock, looking in the mirror at passenger dreaming in the backseat. Thinking about how, in the flat lands, cresting a long, slow hill, I often feel as if the road ahead could at any moment vanish, sending the car plunging into nothing; a latent agoraphobia. And in the mountains, as the road narrows and winds, I'm always confident it continues solidly around each blind bend.

Posted at noon on Tuesday, June 22nd, 2010 Tags:

This should solve the yurt's bed problem. Over the past two years I've learned there are really two: It's not a fully dry environment so anything left on the floor will mildew; and the yurt makes no pretense of having a level floor. Thus this custom bed with independently levelable legs, custom sized to hold together a multipart matress. In keeping with the yurt thing, it's disassemblable and portable, but not too easily. :)

Couldn't have been done without Mark's skilled ripping of the plywood. Anna cut the smaller boards and assisted, and we were very happy with what we managed to accomplish in a few hours. It's sturdy, and even level.

Posted late Monday evening, May 31st, 2010 Tags:

foo

 Here we have a robot  
 with a very pointy face.  
 His name is Kaxxt,  
 he lives in outer space.  

            -- Why The Lucky Stiff


Kaxxt is _why's concept of a card game to subtly introduce kids to some basics of programming, including branching, recursion and stack overflows. He introduced the concept at the end of his talk at the ART && CODE Symposium.

I've adapted Kaxxt so it can be played using the Icehouse game pieces. They're a good fit, since Kaxxt is about lasers, and involves manipulating tokens to direct the lasers.

Kaxxt on Ice is now open for playtesting.

More...

Posted at teatime on Thursday, May 20th, 2010 Tags: ?design ?game

Today I strapped a kayack on a car (badly) and gingerly drove it out to the country, stopping for Greek food enroute. Now at my yurt, where I hung out and played Agricola all afternoon with my sister. Working on some processing of the 19 applicants for DebConfNewbies sponsorship while amazing venison potstickers are started. Tomorrow morning three kayackers will go out early and float down the river, and maybe find where the underriver creek emerges. Good times!

Backing up a bit, the past two months have been significant ones. First, I quit my job. Then I almost bought a lot of land, which would have been huge, especially without an income. But it fell through just before closing, and I've had to push the idea of getting some land in the country back off into the indefinite future, where it probably belongs. Instead, Anna and Mark have been amazing, letting me come out here very regularly to unwind. And I've been very wound up, since there's a secret project under development that I can't discuss yet.

Hmm, maybe not being on Facebook anymore will mean more personal blogging. That would be good. Now to go help with the potstickers..

Posted late Saturday afternoon, May 15th, 2010 Tags:

DebConf 10 will be held this August 1-7, in New York. I love DebConf, and I look forward to seeing friends at it each year. It rekindles my interest in the project; I leave each DebConf with new things to do.

Many developers make it to most DebConfs, helped by the conference's impressive travel and lodging funding. But I know others have never gotten to experience DebConf, or have not been in years. If that's you, there's probably a reason. Maybe the scheduling never works out for you, and I can't help with that. But if your reason comes down to "money" or "they'd never pick me", we can help.

This year there is special funding available for Debian Developers (and DMs) who have not been to DebConf before, or who have not been in years. Outgoing DPL Steve McIntyre has previusly mentioned this special funding, and his successor Stefano Zacchiroli has asked me to manage it, since it was originally my idea.

Email me soon (before May 15th) to apply, or to suggest that a team member should be sponsored. This wiki page has the details.

Let us get you to DebConf -- I promise you won't regret it!

PS,

going to dc10.png

Posted at noon on Thursday, April 22nd, 2010

This month is the ten year anniversary of when I started blogging with this post.

After a strong start in 2000 thanks to advogato.org, I slowed down, and 2003 saw no blog posts at all. Since then I have kept going fairly steadily, to no set schedule, writing when I feel the need.

In all, 984 posts over ten years, or almost two posts per week. 205000 words. 650 pages if it were all bound into a book.

(Sounds like a lot maybe, but the software I've grown to run the blog is 3 times longer.)

Posted Thursday night, April 15th, 2010