Showing posts with label writing. Show all posts
Showing posts with label writing. Show all posts

Wednesday, 14 May 2008

more hackityhackity, ugly stuff (reg 8h)

I am soooo bored of this REG stuff. I keep writing ugly hacky scripts. I should be grateful, though. Being asked to write yet another script made me uncover a bug in one of my scoring scripts. Then AB found another, wholly unrelated bug. Gah! Haskell or Perl, I write crap code (incidentally, it was Perl in this case). Writing crap code would be fine if I was humble enough to know how crap code can be and actually sat down and thought of ways to wring it out so that it was less crap. Laziness and paying the price.

I regret that I spent the early part of this afternoon complaining to myself about how bored I was. Never do that. First it makes you look stupid, childish, whatever. I hope nobody overhead me. Second, egoless programmers do not get bored. They work. Egoless and competent programmers think up ways to automated their tasks so that they don't have to be bored anymore. [By the way, I was introduced to the idea of Egoless Programming back in 1997 or 1998, basically freshman year. I just loved that expression so much, even though I'm not really sure what it means. A sort of Purity of Code].

I spent a lot of the day goofing off, which is why I am staying late. Lots of triaging the darcs bugtracker. I only seem to do that when I'm trying to avoid something more important.

Wrote up another little bit of a report, almost done.

Here, have some code. I'm sure you can find a better way to express this:

overlap :: Eq a => [a] -> [a] -> Bool
overlap xs ys =
any (`elem` xts) yis ||
any (`elem` xis) yts ||
xs `isInfixOf` ys || ys `isInfixOf` xs
where
(xis,xts) = (inits_ xs, tails_ xs)
(yis,yts) = (inits_ ys, tails_ ys)
inits_ = tail . inits
tails_ = init . tails

Tuesday, 13 May 2008

hackhack write (reg 7h)

Can I write about what I'm doing? I'm still not sure yet.

Got in very late, basically around noon. Overindulged in the gardening. We were weeding the potato bed so that we could dig a trench, and I kinda wanted to see the trench completed. Making up for it by staying late... but I think I also goofed off a lot, did a lot of darcs bugtracker triage.

Did more scripting (think I'm done with that). Feel a little bit guilty and antisocial writing this in Haskell (in the sense that I'm the only here who can read it), but I figure that in cases where I do not know what I'm doing, I might as well try to make things easier on myself by using the language I know best (and also by relying on the cool type checking). Get the job done as fast as possible, then worry about niceties like other people being able to read your code. In cases where I have a good idea how to go about things, I had better accommodate people by writing in Perl (I'd rather use Python, I think, but we know Perl here). I'm not trying to push Haskell on people; I'm just using what lets me get the job done fastest. [Maybe I spend more time trying to write the code, but once it's written and it compiles, it is pretty much correct; some minor logic bugs to correct; if I was doing it in Perl, I might have something that 'runs' but then would be spending lots of time debugging it...]

Also now writing up summaries of algorithms. Good. Something new that I knew absolutely nothing about before.

Wednesday, 26 March 2008

reading list (reg 4h)

Another day of just plodding along. Spent the morning debugging the submission script and trying to write some automated testing for it. Problem is that I don't really know a good way to test these fancy multipart CGI forms for file upload. I'm starting to think that maybe I should learn how to use the HTTP module and interact with the webserver. Meh.

reading list

Compiling an annotated reading list. Found something we might want to note for later, the Stochastic text generation article by Oberlander.

Thursday, 20 March 2008

huh... normalish day

Thought about the data to cr stuff a bit. Helped ILG with some proofreading. Seemed like a sort of normal day.

Wednesday, 12 March 2008

aaaaaaaaaarrrr (reg 2)

I've been getting into this idiotic habit of staying really late at work and... not doing anything. [oh doing lots of stuff, just not work]

Except maybe in my last half hour, or something.

I'm not really happy with what I've proposed in my tech report version 0. I feel like I haven't done a good enough job seeing what it is other people have done.

Monday, 10 March 2008

not much progress (reg 2h30)

Eh. Not very productive today, although not horribly undisciplined either. Spent a couple of hours doing REG stuff. Spent a little bit of time learning how to use the xyling package for drawing trees (not too sure I like it). Plodding along on my little technical report trying to clarify some more ideas in my head. Discussed things with ILG a bit, which was somewhat useful as a way of doing sounding-board.

Friday, 7 March 2008

not horrible, not here

Had a doctor's appointment this morning, so got in around 11h. Worked on the journal paper from home. I'm a bit worried that I never really pull my weight in these things, but hey, I'm happy to make diagrams if diagrams are needed.

Chatted a bit in the afternoon with AX (X because I don't know his surname), PhD student (if I recall correctly), resident Linux guru, Gnome hacker. I got a little too chatty, which is fine, except that I think I was keeping him a little bit. Anyway, it was very nice to just exchange nerd DNA for a little bit. See, real life nerds aren't all Jolt-cola-chugging parents' basement dwellers. Some of them [will] have kids, play rugby, and are politically aware, and not just about your usual hacktivist fare.

Did more journal paper stuff.

Spent maybe an hour or a little bit more working on my tech report, getting my ideas a little bit more solid. But still haven't solved the basic problems :-/

BTW, I might consider applying for an EPSRC postdoctoral fellowship. They're sending out a call in summer, I think. It's meant for researchers who just finished their PhDs and want a nice chunk of time to go do some research (something like that). They last for 3 years. I'll bet they're horribly horribly competitive, and I basically won't get one. But, why not? [I'll tell you why not. I HATE applying for crap. I've been applying for crap since 1997, first get into Uni, then into the study abroad program, then into France job, then into the DEA, then the PhD, (actually, the last two were pretty easy all things considered, no motivation letters), and the monitorat, and the postdoc, and the qualifications]. Yeah, yeah, so have you. Yeah, yeah, I have nothing more to whinge about than you do. If I could only break free of this cycle of endless applications for crap...

Thursday, 6 March 2008

work! (reg 1h30)

Can you believe it? I actually worked today! I don't know what got into me. Well, actually I think I know what. I was looking at an old technical report (in my distress) and noticed something that set a few gears in motion. Unfortunately, nothing much, and this may lead nowhere. But I've basically spent today writing up a technical report, although I don't actually have a concrete idea to back it up.

Got here around 10h or so. Had a visit from the VRU, who explained to me roughly how research funding works. Nothing I plan to put to use in the short term, but ya never know. At least if people ask me to do stuff, I can have a much more precise idea why (other than, it's related to me continuing to have a job...)

Monday, 28 January 2008

morning star, evening star

Finished writing up my little spontaneous help-help-I'm-stuck report. Then got back to reading roussarrie2000mti. I confess that I got a bit bored during section 2.2 (structure événentementielle), which is weird because (a) I normally like that kind of stuff [I thought?] and (b) it's mostly new to me. Meh, maybe I'm just in a daydreaming mood today.

morning star, evening star

Well, this might sound really dumb (because it is?), but I've always had trouble with the whole morning star/evening star example. The simple reason is that before I ever set foot in a semantics class, I never knew that both were names for Venus. Sure, you could tell me, but then I'd just forget. It wouldn't really stick long enough, and whenever I looked at a text trying to explain subtle distinctions to me, my mind would just go slack. I wonder if Arnie/the Governator would be a good enough substitute. I'm like that. Little things like that trip me up.

davidsonian, neo-davidsonian

In reading roussarie2000mti, I've got a better idea of the context behind Davidsonian logical forms and why people like to talk about reification so much. But I've always sort of wondered where the neo- in neo-Davidsonian comes from. The answer? Well, according to these Ling661 course notes [pdf] by Alexander Williams, it goes a little like this:

Brutus stabs Ceaser
traditionalstab(b,c)
Davidson∃ e[stab(e,b,c)]
neo-Davidsonian∃ e[stab(e) ∧ agent(e)=b ∧ patient(e)=c]


handbook of simple answers

Oh.... If I knew more stuff, I would compile a handbook of such Simple Answers for Simple Folk related to all things computational linguistic. Each page would have a little question like that, followed by a short answer and maybe an in depth explanation and bibliographic links. Each page that talks about a concept will give a date for when that concept was thought to have been first introduced. "Argh! I don't understand extension vs intension!" becomes "Look it up in the Handbook of Simple Answers". The point would be to make it easier to read articles, theses and the like, which make varying assumptions about how much you know (or are willing to dig through bibliographies). Of course, the point would not be to replace this necessary and painstaking process, but to give you a nice head start. Maybe the right way to use the book would just be to flip through it and be entertained, and thereby encounter questions you didn't remember you had.

If you have any questions you might like to ask the Handbook, post them here! (crickets chirp) I probably won't know the answer, but one day if I ever go work on this book, I'll go try and learn.

windows

Example seen in roussarie2003mti: Marie a installé Windows sur l'ordinateur. Il s'est crashé.

Friday, 25 January 2008

late start

Started my day a little late. By the time I got to the area, it was ten, so I decided I might as well do my hour of gardening -- allotment opens at 10 -- before coming in to the lab. It's twice a week. Need to make up a couple of hours some time.

write write

Spent today writing, nothing that I could publish. Just trying to formulate some misgivings or uncertainties I have about what I'm doing, more uncertainties than misgivings. Need to get it absolutely clear in my head before I report anything either way. Good to get things on screen, work out some examples (toy recipe grammar). Mostly unsure how we can control the generator without a paired syntax/semantic structure like most grammars have. We have one structure that does everything, but that doesn't seem to make sense because the two sets of constraints do not necessarily have the same linear order (i.e. your semantic input and your sentences). At least for surface realisation, that's the whole point of this exercise: you don't worry about word order, because it's the grammar's job to take care of it. Really the same problem I have for this discourse stuff. But not too clear yet, so I just sit here, writing, hitting backspace, etc.

That's one thing you learn from the PhD: writing is USEFUL for its own sake. Not just a pain (well, it is a pain), but if you endure the pain of writing, you get a much better idea what you're trying to say.

month

Oh by the way, I'm here at least a month longer (i.e., till end of August). Will be funded to work on the REG stuff.

Sunday, 16 December 2007

refactor and dossier

refactor


Zipped through the cru-top.pl code and refactored a bunch of mid-level stuff that was being repeated a lot. Here's an example of a refactor... a chunk of code that was repeated in 14 places:
read_grammar(FileRoot,StartSymbols,GrammarRules) :-
string_append(FileRoot,'.start',StartFile),
string_append(FileRoot,'.gram',GrammarFile),
string_append(FileRoot,'.types',TypesFile),
ensure_loaded(TypesFile),
commentsChar(C),
see(StartFile),
readfile(StartSymbolsStrings,C),
seen,
strings2terms(StartSymbolsStrings,StartSymbols),
see(GrammarFile),
readfile(GrammarRulesStrings,C),
seen,
strings2terms(GrammarRulesStrings,GrammarRules).


This kind of code-tidy-up is pretty mindless, but it is useful for somebody like me. You just rip out pieces and put them back together, watching out for interleaved fragments, translating
from foo, tell, foo, bar, told
to foo, tell, foo, told, tell, bar, told so that you can peel off the fooey bits as one lump.

The reason this was useful is that it gave me a very concrete feel for the top level code... forced me to look at the bits instead of just eye-glazing over them and to think about what was going on. I kinda wonder if it would be an effective pedagogical technique to purposely de-factor some code before giving it to a new (and fussy) programmer. Once he's through sweeping up, he'll have a good idea what's going on.

Anyway now I know basically how those mid-level chunks fit together. I'm a bit losing sight of the Mission though, and need to re-evaluate what I'm doing in that context. This refactoring is basically me running around like a headless chicken.

Need to see how the language models are used for example. Thanks to the refactor, I know that we read them in as Prolog files, a supplementary resource. But I don't know much else.

uncooperative

Spent a small chunk of the afternoon in uncooperative mode. Visited the uni library and read a bit

dossier de qualification

Here's where the sad-face tag comes in. I've been working on the dossier de qualification again. Dossier, I hate you. I thought it would be a good idea to go through the CNU advice like a checklist. Check-check-check, what... I have to write up a projet d'enseignement? That stank. Especially what I wrote. Will certainly be in a much better mood when the deadline has passed and this is out of my hands one way or another.

Tuesday, 25 September 2007

argh, 2/3 done

Cooked up a GenI demo for Y (and the open house)... did it on C's Mac because I didn't want to think about what it would take to make GenI work on GHC 6.4.

Plugged in 2/3 of the requested changes to the supposed journal article. Argh... would have liked to have it polished off, but no idea what was expected of me.

Friday, 21 September 2007

kowthese-1.0

Guess I'll be cross-posting this on all my blogs: kowthese-1.0 (pdf.zip)

Note that this is version 1.0, which means it is the version that went out to my PhD committee, but it is not the definitive version. Version 1.1 or 1.2 will include the committee's comments/corrections as well as any other bugs you may find.

Today was pretty hectic, what with printers going crazy and all. See how I said it would be like? No joy, no relief, just..."well now what?" (here's what: everything I've been putting off until the thesis is done.

Wednesday, 19 September 2007

almost there...

Finished up the JLR changes I was willing to make. I hope I did it right. Gave back my changes for round #2 (that's very generous of him, merci). Wrote up the inference rules with unification. Finally sat down and ran my thesis through a spell-checker, which I normally hate doing. I'm now up to version 0.7, which I won't release because I'm lazy.

Version 1.0 should be coming out tomorrow or today.

Tuesday, 18 September 2007

more JLR

In the middle of reading JLR's polarity filtering chapter. Nice and concise. I'm jealous :-). Added some more JLR comments to the polarity filtering chapter last night and this afternoon. Have a somewhat superficial discussion of his work, although I don't have the idea for all of it yet. Should be done with this by tomorrow... I hope?

Monday, 17 September 2007

thanks to the brigade!

This morning, some members of the brigade gave me their comments for ch2, ch3 and ch7 (oops, it was ch2 that I had assigned, not ch4). SH volunteered to join the brigade, so I gave him ch4 to read. Might give ch5 to a friend, but it's not ready to go yet.

I am somewhat tempted to fix the definition of n-key polarity automaton, simplify it. But I am also afraid of introducing some new errors in the process. Dunno. The old way is actually rather complicated and heavy, and as JLR points out, unnecessarily so. But every change I make at this point is potentially dangerous. There are a quite a few 'you should do X' bits of advice which I am going to ignore simply because we're too close to 1.0. So why am I working on this one? Two things I need to work on is point the complexity discussion somewhere else instead of using my own (JLR gave me links for that), and mention some other JLR work and related issues. This is basically the bulk of changes I will need to declare 1.0.

Still waiting on P and C comments, as well ch6 from MB.

Friday, 14 September 2007

au service scolarité she goes

Well, there you have it. GB of the service scolarité has 2 copies of my thesis (version 0.5), an avis argumenté from C (good thing we noticed this last night! she's now in Paris) in triplicate, my proposition de jury (also in triplicate) and a list of my publications. But no sense of achievement, accomplishment, nothing, always mopping up, always cleaning, tweaking.

I'm doing version 1.0 next week. Got some comments from JLR on the polarity chapter. Great reader! Spotted lots of bugs in the explanation, emphasis on the wrong stuff. Gave me a way to simplify my n-key polarity (which I might push to version 1.1 for fear of rocking the boat). Also ideas on links I could make with his stuff, which I need to print out.

Tired, but that's my fault. Stayed up till midnight printing everything out and putting it together. Would have been all set if the document binder wasn't broken. Then stayed up till 3 watching TV on YouTube. Discipline breakdown? Or maybe loss of context for discipline? Can't afford to be tired yet. Lots of crap, just random crap to take care of. Must go to bed and stuff, stick to routine. Worship the routine.

missing bits

Actually, in theory, I can send out my thesis already, no need to wait for the stupid service scolarité green light (why didn't they just say so?). Anyway, still not ready, need the following bits before I can push to 1.0
  • Appendix B - deductive kay/geni with unification
  • ch5 - links to JLR work
  • ch5 - other JLR comments (e.g. n-key simplification?)
  • ch5 - complexity in building polarity automata
  • acknowledgments - maybe wait for version 1.1
Waiting for:
  • ch1 - v0.3 comments from P
  • ch3/4 - v0.4 comments from proofreading brigade
  • ch6 - brigade
  • ch7/intro/conclusion - brigade
  • final comments - C

strip eject jam

Learned this from DR of thloria fame + some safety tips from me: shut document binder down... wait a long-ass time for it to cool down (possibly overnight), turn it back on, push the back plate (on which your document normally rests) back. This should reveal the document binder innards, notably the jammed strip. Use a pair of scissors or something to gently and delicately pull the strip out. Try not to electrocute yourself (I don't think there are any exposed bits, but who knows). Alternatively, you could just go down to Vélodrome and ask the local repographie place to bind it for you, but then you don't get the fun of pointless, potential self-injury.

French LaTeX


Definitely not the last word on this, and it has been said before. But now I know why they say it :-)

% get hyphenation right (match the encoding of the hyphenation rules)
\usepackage[T1]{fontenc}

% (goes with [T1]{fontenc} above) get less ugly pdfs on screen
\usepackage{ae}

% guillmets (goes with ae package above)
\usepackage[cyr]{aeguill}

% typesetting conventions
\usepackage[frenchb,english]{babel}


i.e. and e.g.


From Some common mistakes to avoid in scientific writing:

A small but frequent mistake among beginning authors concerns abbreviations. If one writes e.g.:
John ate some piece of fruit, viz. an apple, i.e. he devoured it.
Latex will think that one sentence ends after ''viz.'' and a second after ''i.e.'' and additional inter-word spacing is added. To prevent this, insert ''\'' followed by white-space (e.g. a blank or newline):
John ate some piece of fruit, viz.\ an apple, i.e.\ he devoured it.
This will handle most abbreviations correctly, but in some special cases one needs to consult the fine print of a Latex manual.

Tuesday, 11 September 2007

still alive?

Got back from H+F's place sunday afternoon. Was very well taken care of (for which, merci, if she/they ever read this), and H went to great great lengths not only to give me a translation, but a good translation, sometimes better than the original. (The depressing thing is that I think my writing sucks, now. Stumbled over places where I must have just written things to be deliberately confusing, which I seem to do a lot. Truth hurts. Deal.)

Monday was just too... dunno... worn out. Stayed home. Watched TV shows uploaded on YouTube (sigh, what's the point of not having a television if you're still going to break down and go marathon). Procrastinated on darcs stuff. Did absolutely nothing. Oh, and my hot water tank is leaking. Génial, huh?

Slacked off this morning again, but finally gave myself the requisite kick in pants. Been at the thesis since then. Wrote up something about statistical surface realisation. Hope its not stupid. Hey, I really hope I will be smarter about this after Brighton. Still worried about what JC has to say about IAF and what JLR has to say about polarities. Marked off the bits I remembered changing in v0.2 for C, printed out my thesis, bound it (the relieuse isn't working so greate), put little post-its in the pages that have changed. Got H's latest comments and tweaks (merci, merci). Got P's comments on intro, conclusion and ch7.

Not dead yet.

latex trick


P showed me a great TeX trick, one which I have sort of been using for macros (begin{environment}) but never thought to apply to this most basic of problems. Footnotes:

blah blah blah blah.%
\footnote{here}

Yes! Now I can separate my footnotes from the rest of the text!

Thursday, 6 September 2007

8 days left?

Losing count. Didn't get a chance to koweynlg last two days, and as a result, have completely forgotten what I've been up to. Check the darcs logs I suppose. Alright, three scary bits remain:
  1. Still think I am being an idiot about delayed modifier insertion and index accessibility filtering. Finally broke down and sent JC a mail. Not exactly pride, not exactly fear of looking stupid, mostly a feeling of embarrassment for not having contacted him earlier. Just that you keep thinking that if you stare at it hard enough, click, everything will come crashing in. Guess not. Stupid me. I could have said something months ago (except that months ago, I sorta thought I got it)
  2. Still don't have anything intelligent to say about why we like symbolic surface realisation. What's really great about the Brighton job is that I get to talk with IK herself, so hopefully I will learn something or just get generally wiser.
  3. JLR might still say that my polarity stuff is stupid
Other notes:
  • darcs repository is here:
    darcs get http://www.loria.fr/~kow/kowthese
    If you darcs unpull enough changes, you can see why I feel so dumb all the time
  • you can also download version 0.3 PDF (with some editors notes)
  • the proof-reading brigade wants you! if you're willing to proof around 30 pages of pretend British or pretend EuroEnglish, talk to me...

Monday, 3 September 2007

questions to ask (12 days left)

Talking to C about ch6 this morning. Mostly ok (so we're just about good to go).

Two weak spots: most worrying isthe comparison with purely statistical approaches (well, the Halogen stuff says it's hybrid). Not yet sure what the right thing to say is.

Other is ISOFT, what I'm saying about ISOFT is still weak.

Talking to C this morning, having my usual trouble saying useful things to respond to her questions, simple and precise, just still haven't learned the habit of systematically asking myself these things: what do they take as input, do they evaluate, how do they evaluate, where does their data come from? I'm so busy struggling to get the Key Idea and looking for Moving Parts (because that's what I'm most comfortable with/Key Ideas are meaningless until I've seen some Moving Parts, not yet good at thinking abstractly), that I forget to ask myself about the Basics. It goes into the list of things I'm supposed to take away from my years working with C P et al. Quantify. Ask. Read. Look for the Basic Questions. Precise is better than vague. Intuitive is better than pedantic. Assertive is better than waffly. Keep to the point. Not sure I've absorbed the lessons well enough, if I have learned the right things, if I have really gotten the point. Not sure if I can do this, basically, if I can survive the big bad Real-ish research world, where I don't have somebody to underline the unclear parts for me. Ok, well, now is not the time to be flipping out about the pseudo-reality that is post-thesis academia.

Finished putting the summary together. 38 pages. Starting each chapter (section*) on a new page (no odd/even crap, just moving it to the beginning of the page). Basic copy/paste operation. Still haven't made sure it makes any sense, though, which is bad.

Holes left:
  1. IAF
  2. statistical and symbolic - something smart to say
  3. ISOFT parting words
  4. refs for flat semantic stuff; now am I saying the right thing?