Monday, 31 July 2006

eric awakens (maybe)

Alright, I think I'm starting to get back into working-eric mode. Not completely. Got in in time for lunch because I was doing laundry this morning (instead of over the weekend like I should have been), but... this afternoon I was actually productive!

Not for the thesis, unfortunately, but, hey, it's an item on my actions list and I am well on my way to crossing it off.

Have been working on the nightly dist scripts for the trac-darcs admin kit. Script basically does a darcs pull, and if there's anything new, it does a darcs dist, creating a new nightly tarball. Testing this was a bit of a pain in the butt. Most of my time was me fixing my READMEs, or completely rearranging my adminDT directory, but it'll be worth it. If I do my job right, we'll have an easy-to-use admin toolkit for trac-darcs servers with nightly tarballs and other useful features. Not done yet, but I'm going to have to call it a day, because I notice that I'm being impatient, and even though I'm only testing stuff on the development server, impatient is bad. Oh yeah, by the way, that was one of the things I did today - set up a development tracdarcs server for playing around, now that trac.loria.fr is all production and shit.

Not sure we're there yet... but I do believe I'm slowly starting to get some of that discipline back. Took me long enough. C'mon eric, 07:00 tomorrow. You know you want to.

Friday, 28 July 2006

another slow day

This is getting silly. We need to sit down and impose a frickin Discipline of Iron here.

Let's see... in the morning, I... did what? Helped Alex with a little bit more GenI stuff.

In the afternoon, I
  1. Started writing a mail responding to the intelligent question about my poster to which I had given a stupid answer. (that took a while)
  2. Downloaded a Functional Pearl on the Zipper which seems good to know about if you want to manipulate trees (this would be Sylvain S's selling of the idea)
  3. called the Direction départementale du Travail, de l'Emploi et de la Formation professionnelle (DDTEFP), tried to explain my situation to them and basically confused the heck out of the poor lady, who ended up telling me to go get an appointment because she didn't have a clue what she was supposed to do with me. So to prepare myself for the big day: got me a photocopy of passport, visa, carte de séjour, last three bulletins de paie, contrat d'emploi, certificat de scolarité and a little hand-drawn diagram showing my situation for the past 5 years in France. This ate up quite a bit of time.
  4. Tried to sign up for another year of school, but it turns out I had missed the deadline and will need to wait till August.

Thursday, 27 July 2006

creak creak

Got in around noon, just in time to write a few mails and grab some lunch.

Spent the early afternoon helping Alex install GenI on his Windows laptop. We ended up sorta giving up on it and focusing on getting it running on this Linux workstation (which was way easier). Part of the problem getting things going on Windows is that we can't seem to make wxWidgets compile. Nevermind then... compiling wxWidgets was a silly idea anyway when all I wanted was a wx-config program. Stupid thing to be looking for if it turns out that the wxhaskell installation procedure on Windows doesn't even use it.

Alex discovered all sorts of shortcomings in the GenI doc, and some random user interface bugs, like for example, GenI for some unfathomable reason, refuses to launch the graphical interface unless you supply 2 -- arguments, but any arguments. Yeah sure. And now I've got my general resistance to writing documentation coming back to haunt me. Sigh. I wish I had come up with the idea of making my literate code be the user manual. Not sure what to do exactly. If I should invest some time fleshing out the incomplete and unhelpful documentation on LoriaWiki, or if I should think of some clever way to make writing documentation less of pain in the ass (or more of a natural consequence of coding), or if I should just eschew user friendliness in favour of... say... making sure it runs?

The whole thing got me some discouraged and depressed, so I decided to call it day, take an immediate coffee break and go mope about my lousy doc/UI for a while.

Spent the rest of the afternoon polishing off administrative stuff. (It's confirmed! Heading to Portland on the 16th till the 21st) Have a smaller inbox and much reduced action lists, which makes me feel somewhat better, somewhat more in control of the situation. Slowly crawling out of my summer stupor. But very slowly so.

Wednesday, 26 July 2006

sigh...

I don't know why I've been getting so lazy lately.

This morning I ran around Nancy for carte de séjour stuff, which was wildly discouraging because they kept sending me from one counter to another. Well, actually the préfecture sent me to the Département de Travail, which asked me to come back later when I had photocopies of a bunch of random documents, all this just to ask a simple question.

Had some lunch, chatted with people for a bit. Had a coffee to wish a friend off, attended an ESSLLI practice talk, polished off a little mail, and proceeded to sit around and do nothing. Like I started out by reading the ICFP contest description and then randomly decided to learn about Generalised Algebraic Data Types once and for all (still don't really deeply get it, but at least I understand the syntax bits of it well enough to start the wikibook GADT stub).

I know, I know... I need to stop fucking around and just get back to it.
Just get back to it is all.

Well anyway, I think tomorrow morning I'll be making a call to the Département de Travail to see if I could just ask my one simple question on the phone without having to photocopy a bunch of random shit, walk all the way down to Nations (about 15 min, nothing really), and be told to come back later when they've had a chance to read my dossier.

Tuesday, 25 July 2006

back from acl/coling

Got back from Sydney on Sunday 17h.

Actually came to the lab yesterday afternoon, but I didn't do anything productive. Just played a bit with the Haskell wikibook. ACL was nice, I guess. I got some questions on my poster, namely about the whole surface-realisation-is-hard thing that I did not answer very well, which is really dumb because a couple of hours AFTER the poster session, I realised exactly what I should have said... gaarr... Oh well, I'll contact the guy by email I guess, not sure if it'll be interesting at all, but don't like to leave these loose ends lying around.

(Poster session was quite useful: what makes it better than talks is that you can have longish involved discussions with people, without having to, like, socialise and network and stuff)

I don't expect this to be a very productive week. I need to get some yearly administrative stuff done, like renewing my carte de séjour, signing up for yet another fun-filled year of Uni and potentially adding pages to my passport.

Today, I downloaded a paper on Optimality Theory and TAG (cuz something nice and sloppy that attracts me to OT -- eh, you're never going to get a perfect sentence, just one that bothers you the least) as well as the original BLEU metric paper (because I figure that if I'm working on surface realisation, I need to be conversant with this thing that everyone and their insert relative here is using... pleasantly surprised with the paper actually, I found myself nodding my head a couple of times, like yeah, you want to avoid that pitfall, or oh hey good call, oh MULTIPLE reference translations, that makes sense)

Didn't do much else:
  1. submitted my HW final version to sheridan (publisher), got back a mail saying it was broken, fixed it again and am now hoping I got it right this time
  2. helped Alex install some of GenI stuff on his Windows TabletPC. I'm not too confident it's going work; we've already run into all sorts of random trouble, like there not being a wxWidgets binary for Cygwin and his computer being slow as crap


Nope. I don't see heaps of productivity coming out of me this end-of-month. Which is a real shame, because July and August are basically the last chance I have to be productive. After that is ICFP, and then a little sliver of time, then back to the States, and then and then... The Great Suck. Oh man. ACL was already a crisis of confidence for me. Now we got this whole end-of-thesis thing (well, ok, relax eric, you're still at the [end of your] second year) on top of it. Complain complain complain.

Tuesday, 11 July 2006

final HW draft one

Ok, today's the most productive I've been since the Russia trip, which ain't saying much. No excuse for this, but I got in at 15:00 again. Attended Yannick's practice talk, which seemed to go really well, was clear, the slides were minimalistic and understandable. I completely misunderstood the first bit of A+G's poster, but luckily Guillaume cleared things up for me, and I think I can give a short presentation of reference domain theory + groups. Spent some time improvising a poster-tube holder using an ESSLLI-bag strap and zip ties from the local Tech Support guys (yay! them handing me zip ties makes me a fan). And finally around the end of the afternoon.

Eh...


Procrastinated a bit.

Chatted with Dmitry.

And then set to work. I didn't implement the more extensive comments, just did some minor surgery, and small improvements to the Haskell (ShowS instead of String, -fallow-overlapping-instances). It wasn't hard at all, of course, so this makes me an even bigger idiot for procrastinating so much and making a big scene about how miserable I was for now being able to set myself a-working. Hopefully Carlos will have time to OK my modifications and I can send the stuff off before we head for Sydney tomorrow.

Ack, panic. Not packed or anything... Got me a travel pillow, and dumb books to read on the plane, at least.

imaginary wxhaskell roadmap

What would be nice is if somebody which some moments of free time on their hands did the following tasks
  1. Tailorise the wxC repository into darcs
  2. Split my wxhaskell unicode patch into a wxC-only component and a wxhaskell-specific one
  3. Submit the Unicode patch to the WxC folks as a regular Unix patch
  4. Tailorise the wxhaskell repository into darcs
  5. Create a darcs patch with just the wxhaskell-specific bits of my Unicode patch
  6. Either refactor wxhaskell to use a completely externalised wxc, or update the wxc being used in wxhaskell with (1) the latest wxc (2) my Unicode patch
  7. Determine if wxhaskell really needs to include wxc in the source, or if we can install WxC separately and then just run wxdirect on the headers or something (assuming wxc lets us install headers in something like /usr/local/include


I'm not saying this because I'm darcs-obsessed but because keeping track of patches by mailing list and SF tracker is getting impractical. Whilst waiting for Daan (or another official wxhaskell guy) to find the time to review our patches, we could have a provisionary darcs repostiory containing all the pending patches. Just something to work with until the new wxhaskell comes out.

Monday, 10 July 2006

meh

I got in REALLY late to work today (around 15:00), partly because I had an appointment with my bank, and partly because I'm having trouble being the pre-Russia-up-and-at-em-go-go-go eric that would have gotten in at 07:00.

And then I spent all afternood procrastinating, first by installing GenI (well, Cabal, HaXmL, FPS, gtester, the Makefile-of-Dover, almost octave) on to Yannick's Mac because I want cut down on weight for the Australia trip. One computer between the two of us is plenty, thank-you very much.

Another very useful thing I did (very) is to install this handy piece of freeware on my Mac: Mouse Locator. Makes it easier for me to find my mouse pointer.

So anyway, eventually, everybody left, and I had the whole lab to myself, and I said, ok eric, "time to be productive". Instead, I procrastinated some more by working on the Haskell wikibook. I need to stop. This is getting out of hand. Those paper corrections HAVE to be done, and they have to be done EARLY so that Carlos can read them. Dang it, I'm really screwing things up here.

Friday, 7 July 2006

still not quite alive yet

Got in to work around 17:00 today. Not jetlag or anything (Russia is only 2 timezones away). Just being on vacation for so long has screwed with my discipline and sense of focus. Pulled an all nighter getting a little darcs-hacking done, to make up for mistakes introduced by my previous patches. Pulling an all-nighter is never what you want to do. Play hooky at work if you want to, but geez eric, go to bed. Silly me.

Anyway, the past couple of hours have been semi-productive. GTD is perfect for the coming-back-from-holiday triage. Inboxes empty, action lists full, and even got a few things rolling forward.

Oh, and the HW paper has been accepted! The comments were quite helpful as well. The reviewer that gave me the worst score (i.e. that rated himself expert and was lukewarm negative on the paper) gave me the most useful comments of them all. Very detailed, even caught a couple of bugs in my code, or showed some ways of making it more elegant. Reassures me: feels like the whole peer-review thing works.

Anyway, looks like I'll be paper hacking and poster-practicising until Wed afternoon. And off we go to Sydney.

Thursday, 6 July 2006

back from holiday

...but not alive yet. Was a very relaxing 12 days peppered with highly cultural experiences, like riding a Russian taxi. Taking a day off to just sorta do nothing and recover from yesterday's internet binge. Oh and the past twelve days included many moments of quiet time, and so I was able to catch up on some reading. My friends made fun of me for working on holiday, but it really wasn't so bad. I only did it during the dead time, when otherwise I would have been reading a novel or something. And besides, vacation is the perfect time to read, because I'm cut off from all the other things I would rather be doing (like coding), which makes it easier to force myself to concentrate. Anyway, the goal here was to learn as much as I could about efficient TAG parsing:

read


Articles I read and hopefully understood:
  • Parsing Tree Adjoing Grammars and Tree Insertion Grammars with Simultaneous Adjunctions (Alonso+) - basic idea: in real life, a large chunk of your TAG grammar is actually TIG. If you add specialised rules for parsing the TIG bits, things go faster. The way I like to summarise it is as follows:There's a reason why these extra rules help, and why the wrapping rule doesn't just have SL behaviour on SL trees, but I forgot what that was
  • A Faster Parsing Algorithm for Lexicalized Tree-Adjoining Grammars (Eisner+) - observation: adjunction can be thought of as two steps: check that that the aux tree can adjoin to the node in question, and check that indices of aux tree and the sub tree we're adjoining into match. Introduce a seperate packing scheme for each one of the steps. Reduce upper bound to O(tgn6max{g,n}) < LTAG naive O(tg2n8) < TAG naive O(|G|n6)
  • Principles and Implementation of Deductive Parsing (Shieber+) - a very nice Introduction to Everything. A must-read for any parsing and surface realisation newbie
  • Alex and Guillaume's dialogue article - so that I can present their poster


defered


Articles I tried to read but did not suceed in understanding. I think I'll just file these away for future reading:
  • An Efficient Parsing Algorithm For Tree Adjoining Grammars (Harbusch) - made some progress by reading super-slowly and staring really hard at the diagrams, but did not get there. What would have helped me are a few simple UI changes, i.e. using something OTHER than dashed and dotted lines to communicate different things in diagrams (you so cannot tell them apart! i was all HUH? about the foot pointer stuff until I realised I was looking at the wrong lines), and explaining or avoiding exotic terminology like "triangle matrix". Anyway, the general impression I get is that first you parse as if it were a CFG (which gives you lots of bad results along with the good ones), and then you post-process to eliminate things that aren't TAG. You get O(n4log n) < naive CKY O(n6)
  • Parsing Some Constrained Grammar Formalisms (Vijay-Shanker+) I've been working on this one since December, as in putting it off for the past 7 months, and did not get much closer to getting it. I suspect also that there isn't very much the authors could do to make this article more accesible, at least, not without switching to an informal tutorial format, and that the only way to eventually understand it is just keep staring at it longer, or asking somebody for help