Name: Joey Hess
Member since: 2000-03-06 23:42:41
Last Login: 2007-08-10 02:38:55
Homepage: http://kitenet.net/~joey
DebConf9
I'm going to DebConf, and will be giving what I think is the first talk I've ever done about debhelper there. Incidentially, debhelper in experimental has some nice new features.
I have no idea how I'm getting from the Madrid airport to Cáceres, and would rather spend time working on my talk than trying to book tickets internationally, so I hope buying train tickets at the station is not a foolish plan..
vacation
Another week camping at Ocracoke!
Rather than try to describe the shape of the whole thing, here is the last day.
I spend the first hour of daylight in the tent, enjoying the rain and reading Spider Robinson's User Friendly -- a light little puff pastry of a book. The first thing I see when I get out is a rainbow, out over the dunes.
The weather quickly turns pleasant, and we spend most of it on the beach. I'm starting to get tanned after a week here, and don't have to avoid the sun as much today. The waves are gentle.
I catch up on the first hundred pages of Le Guin's Powers, which according to the Google visitor's pass sticker on the back cover, I had started to read last December and didn't finish, since it was too good. It's my second book this trip about slavery, though not so wrenching as Octavia Butler's Kindred.
After lunch, the wind picks up, and I send the kite out on 500 feet of line, attached to a wooden tent stake that's driven in the sand. A airplane passes by, just out to sea, and lower than the kite, followed by a helicopter.
Later I walk downwind along the beach for a good long time, trailing the kite, and trying to walk with my eyes closed. I've been playing at this around the campground, for up to 30 steps, but on the deserted beach I only have to worry about stepping barefoot on a sharp shell or other flotsum. I work up to 100 paces blind, then 200, and finally, on my way back, manage 400 paces, or about 1/5th of a mile. The kite keeps pulling me inland, and I have to use the sound of the surf to guide me back to the wet sand. It becomes peaceful and meditative, and I'm disappointed when I get back to the busy beach.
It starts to look like rain, so I wind in the kite. Just as I get out of the shower the storm starts. It rains and thunders all through supper, with us wedged in the barely dry center of the screen tent. There's a loud crash from the highway, followed by sirens. The ground begins to swim with water. Well after we all wish it were over, it stops, and the sun is suprisingly still up.
There's another rainbow, this one a full arch. And then the light taken on a wonderful quality and the post-rain campground seems an entirely other place than the sun-drenched desert of the past week. Unknown birds slowly soar down the dunes catching insects and calling, and I spend an hour or two watching clouds, spotting the fingernail new moon, enjoying another beautiful sunset, and finishing the book. On the way to bed I see one last flash of lightning.
Ocracode for this trip:
OBX1.1 P2/7/3 L6 SA24bsb---c---/A4db++c+++ U3(Sango+Kai) T1f0b0 R1T Bn+b-m+++ F++u- SC-s+++g1 H++f0i4 V++++s++m0 E+++r+++
on localization and progress
In this post I will say some things about localization that I've never felt it was politic to say before. (It still isn't, but what the hey.) But I first want to mention that one of the reasons Christian Perrier is awesome is because he manages to steer projects in ways that avoid (most of) the problems below, and because he has managed to scale rather impressively far. But not far enough that these things haven't gotten under my skin.
So, I hate localization. Hate, hate, hate. I wish it would die. I wish everyone spoke the same language. I hate that we have to be politically correct about it, to the point that even if everyone does speak English (hello, Denmark?), we still have to worry about localization into their native language. I especially hate that, after we waste time and resources doing that, everyone uses the software in English anyway (hello, most of Europe).
I hate that the typical best effort localization of software is typically so incomplete that it's not actually usable by people who really do need the translation. Either because "best effort" == 80% translated, which is sometimes worse than 0%, or because the documentation doesn't get translated too. And that even with what we consider a complete translation, there are still all sorts of English bits that nobody would ever consider translating. Such as the names of commands, of command-line switches, of markup keywords and configuration files.
I hate that translating software and documentation always involves bolting an enormous, nasty build system onto its side, and that the bulk of translations always greatly outweighs the size of the code. I hate that these systems constantly produce deltas that I have to avoid cluttering my commits with. I hate the expectation that every programmer somehow become an expert in internationalization, rather than letting them devote their time to something they're good at.
But none of that is what really bothers me about localization. What really, really bothers me is that I often see the need to localize code inhibiting that code becoming better. Just two examples:
(PS, I also hate that we have to keep "l10n" and "i18n" straight, and that the words are so unwieldly in this f7g modern English that we represent them based on their length.)
on wave
While I've only skimmed the available protocol draft and whitepapers, I do have a couple thoughts about wave.
Firstly, I can imagine something like this supplanting not just email and instant messaging, but also web forums, blog comments, mailing lists, wikis, bug tracking systems, twitter, and probably various other forms of communication. (But not, apparently, version control systems.) While one might have an attachment to a few of those things, I think most of us would be glad to see most of them collectively die (especially twitter and web forums of course) and be replaced by a data-driven standard, with multiple clients, rather than their general ad-hoc, server-side generated nastiness. (The Project Xanadu guys would be probably be proud.)
Secondly, while Google are making all the right noises about open protocols, multiple providers, etc, and probably only plan to lock in about five nines percent of users to wave.google.com before competing implementations arrive, wave is not a fully distributed system. Spec says:
The operational transform used for concurrency control in wave is [currently] based on mutation of a shared object owned by a central master.
The wave server where the wave is created (IE that has the first operation) is considered the authoritative source of operations for that wave.
If the master server goes away, it sounds like a wave will become frozen and uneditable. There seems to be no way to change the master server after a wave is created, without ending up with an entirely different wave.
The concurrency control protocol will be distributed at some point in the future
How many centralized systems have been successfully converted into distributed systems?
In a similar vein, after reading this whitepaper, I'm left unsure about whether it will be possible to respond to (edit) a wave while offline. Maybe, as clients can cache changes, but how well will conflict resolution work? It seems it would have to be done in the client, and there are some disturbing references here to clients throwing their local state away if they get out of sync with the server.
website backup RFC
So, I'm considering a backup system that has as its goal to let you backup all your data from third party websites, easily.
The idea I have for its UI is you enter in the urls for all the sites you use, or feed it a bookmark file. By examining the URLs, it determines if it knows how to export data from each site, and prompts for any necessary login info. The result would be a list of sites, and their backup status. I think it's important that you be able to enter websites that the system doesn't know how to handle yet; backup of such sites will show as failed, which is accurate. It seems to almost be appropriate to have a web interface, although command-line setup and cron should also be supported.
For the actual data collection, there would be a plugin system. Some plugins could handle fairly generic things, like any site with an RSS feed. Other plugins would have site-specific logic, or would run third-party programs that already exist for specific sites. There are some subtle issues: Just because a plugin manages to suck an RSS feed or FOAF file off a site does not mean all the relevant info for that site is being backed up. More than one plugin might be able to back up parts of a site using different methods. Some methods will be much too expensive to run often.
As far as storing the backup, dumping it to a directory as files in whatever formats are provided might seem cheap, but then you can check it into git, or let your regular backup system (which you have, right?) handle it.
Thoughts, comments, prior art, cute program idea names (my idea is "?unsilo"), or am I wasting my time thinking about this?
joey certified others as follows:
Others have certified joey as follows:
[ Certification disabled because you're not logged in. ]
FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!