evan_tech

10:34 am, 6 Jan 07

ljrb release 0.3.1

LiveJournal Ruby module update: This release won't die when the "useragent" property is present in an entry. I've also added support for passing :strict => false to the GetEvents constructor so we won't stop working every time LJ adds new metadata. (Note, however, that using :strict => false may mean that your entries may not perfectly round-trip from the server and back.)
08:24 pm, 25 Jul 06

ljrb 0.3.0

ljrb 0.3.0: This release adds support for the "current_location" field and fetching friendofs in the same request as fetching friends. There's also a minor bugfix (entry == nil would raise an exception).

The Rubygem of this release has now grown to exactly 32768 bytes, so make sure you use at least 16 (unsigned) bits when mentioning it.
12:29 am, 13 May 06

ljrb release

LiveJournal Ruby module 0.2.0 released, with nothing new really worth reporting beyond an updated website. (But I did fix some stuff based on user feedback.)
11:18 am, 25 Mar 06

ljrb 0.1.0

LiveJournal Ruby module, 0.1.0: This release cleans up some bad hacks, adds a graphing demo, uses the challenge/response login method for LiveJournal, and adds support for posting entries.
09:02 am, 12 Mar 06

ljrb, now with hipster graphs

./graph -d ../../evan.db -o graph.png --smooth=3 -m security --normalize --start 2004-01-01 --geom 600x450


% ./graph --help
usage: graph [options] [modeparam [modeparam ...]]
    -d, --db=FILE                    database (required)
    -o, --out=FILENAME.PNG           output file (required)
    -g, --geom=WxH                   output geometry
        --smooth=N                   merge every set of n consecutive datapoints
        --normalize                  normalize relative to entry counts
        --start=TIME                 start time
        --end=TIME                   end time
    -m, --mode=MODE                  mode (required) one of {tags, security}
09:32 pm, 10 Mar 06

gem for ljrb

Thanks to your advice, I have successfully made a gem and uploaded it to Rubyforge. So I guess it'll show up in the gems system eventually...?

Otherwise, you can download the tarball or gem from the homepage.

Please let me know if it works for you.
08:25 am, 9 Mar 06

ljrb nearing release

My LiveJournal Ruby module now syncs comments for communities (like this one) correctly, and has more or less the layout I'd like to see in a release.

Can anyone provide pointers on the proper way to distribute a Ruby module? Has everyone really standardized on gems? (I'd really prefer debs myself, but whatever.) The Gems User Guide refers to a developer guide I can't find anywhere.

(Update: more on why gems are unfortunate.)
04:15 pm, 5 Mar 06

livejournal ruby module update

My LiveJournal Ruby module now syncs comments. I had this mostly working for a while but finished while awake at 5am, jetlagged.

You now need libxml-parser-ruby because REXML is hella slow (like 10 seconds to parse the 400k XML file that LJ sends you -- I must be doing something wrong).

Unfortunately, I forgot to monotone sync my computer before I packed it up and so I don't have my recent changes to Ghosd. Do I let it wait six months (when I get my computer back) or do I just work from what I have?
12:27 am, 21 Jan 06

pure ruby livejournal export

ljrb now has a sample that will export your LJ or any community you have access to. (LogJam doesn't do the latter one.) You just need Ruby, dbi, and the sqlite dbi driver.

Hopefully I'll get to comments sync over the weekend. I wrote it once in O'Caml as an exercise.

Due to quirks of LiveJournal history, the entry sync and the comments sync are entirely separate and almost diametrically opposite protocols -- the entry sync uses challenge/response for authentication, a flat protocol for transfer, and holds all the goods in one request, while the comments sync uses an LJ cookie, an REST/XML-based protocol, and has half the data in one request and half in the other.