?

Log in

No account? Create an account
Brackup Status - brad's life — LiveJournal [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Brackup Status [Mar. 21st, 2006|12:39 am]
Brad Fitzpatrick
[Tags|, , ]

Work on brackup continues a bit. Didn't get to hack on it hardly at all today, but there are some good docs now. Check out the svn repo.

The Filesystem target works now, and the DigestDatabase works. Haven't yet done Amazon, but Leon (cudddly) did the hard work yesterday, so I just have to plop in Net::Amazon::S3 and I'm good to go.

Last part is serializing the metafile (the finished backup file you need to do a restore). Was going to use YAML, but YAML in Perl sucks, then maybe XML because Net::Amazon::S3 uses LibXML, but XML, really? Bleh. So now I'm leaning towards old-skool RFC-822 format. If it's good enough for Debian, right?

I should've finished tonight. Want to get back to DJabberd.
LinkReply

Comments:
[User Picture]From: gaal
2006-03-21 09:05 am (UTC)
YAML in Perl doesn't suck if you use YAML::Syck :-)
(Reply) (Thread)
[User Picture]From: ydna
2006-03-21 10:17 am (UTC)
Hey, I was going to say that. Saved my fanny with SVK.
(Reply) (Parent) (Thread)
[User Picture]From: gaal
2006-03-21 05:07 pm (UTC)
I don't see the connection...?
(Reply) (Parent) (Thread)
[User Picture]From: ydna
2006-03-21 06:00 pm (UTC)
SVK, written in Perl, uses an enormous YAML file to maintain state and metadata about working copy files. The YAML file size is proportional to the number of changes in the working copy being tracked (can be very large). The SVK folks started using YAML::Syck in trunk development and that's made SVK run much faster (I'm working with 500k files).
(Reply) (Parent) (Thread)
[User Picture]From: gaal
2006-03-21 06:12 pm (UTC)
Ah, I didn't realize that, probably because the repo I work against is so far away I attribute all slowness to network latency.
(Reply) (Parent) (Thread)
[User Picture]From: brad
2006-03-21 04:24 pm (UTC)
Yeah, I saw that, then got disgusted how complicated the YAML spec has gotten lately. I remember it being arrays and dictionaries only. Now there's all these multi-line strings and fancy datatypes.
(Reply) (Parent) (Thread)
From: evan
2006-03-21 11:26 pm (UTC)
This is my impression as well. I started reading the spec because I wanted to create some YAML and I found it was about 30x more complicated than I needed it to be and at least 10x too complicated for me to understand.
(Reply) (Parent) (Thread)
[User Picture]From: brad
2006-03-21 04:26 pm (UTC)
Nevermind, I was looking at YAML::Parser::Syck.
(Reply) (Parent) (Thread)
[User Picture]From: xlerb
2006-03-22 11:04 am (UTC)

Not just a useless suggestion, but a late one too.

I notice that the BSD mtree format might have made a halfway decent metafile — its purpose is storing filesystem metainformation and checksums (but specifically not contents), and it's key/value (so extensible) — but it probably wouldn't be worth it unless one has a particular interest in reusing or interoperating with the existing code. (Which, outside the BSD world, I suspect there's not so much of.)
(Reply) (Thread)
From: (Anonymous)
2006-03-22 09:06 pm (UTC)
What's wrong with Data::Dumper? :D
(Reply) (Thread)