Older blog entries for listen (starting at number 6)

Hm, long time again.

Writing a Turing ( which is messed up Pascal) compiler in Haskell at uni atm. Fun.

Added devfs support to the rio500 drivers. Maybe I can have some trivial code in the linux kernel! Rah!

Trying to grok EROS more completely, I really think that this or something similar could whoop the ass of unix and unixalikes like windows. If only there was infinite time in the world! Now to convince the EROS team to use a component technology from the start in userspace ;-)

Rob

how i loved to stop worrying and learned the b00m:

hm, long time no diary...

doing a uni project - artificial life. I've made it the most model view controller thing in the world. It is good.

I'm going to work on sexual reproduction soon. Only asexual at the moment. Erm, in the simulation that is. ;-)

Will have to smack it into my head that I need to post a diary entry more often.

Realised how long it has been since I posted a diary entry.

Been revising and doing exams. Not fun.

Learning Bonobo, which is cool.

Thought of a good binary rewriting thing I might try to write, from reading abou JVMs. Hope there are no bastard patents about this. Temporary name: charm. Basically,

mmaps the executable bit of your binary. copies it, inserting a call to a recording function, say record() anytime it comes across any interesting jump ( branch on condition or a function call). map the modified memory executable. jmp to the beginning of copied code (dunno whether to do dynamic linking before this or not. Probably yes, or it will get confused. ) This will run the program as usual, if a bit slower. This ends up calling record() every time a jump happens. So you can tell how every branch resulted. This then gets recorded in some file. This file can be used to optimise the compilation next time round.

So if you know that an if statement nearly always jumps , you change around the branch instructions to make it the cheap case. Or a small function gets called a lot in the same place, so you make it inline.

You could also do this on the binary, and just dump an optimised version of it out at the end. This is pretty annoying for open source projects though, as particular binarys are just transient pieces of fluff that never last long ;-)

I want to call it charm cause it will be cool to type:

$charm bash

or whatever.

Rah! Back and rested from GUADEC. This is a transcript from memory so its probably filled with inaccuracies..

Thursday:
Got up at 5.30 . Got train from Wimbledon to Waterloo. Met Iain (Holmes), Telsa (everyone knows Telsa!), and Steve (Docs person). Got on Eurostar at about 7.20. Slept sporadically on Eurostar.. woman behind me kept on talking to her nanny about her "lovely" children on her mobile - it sounded like the nanny was being beaten about the head and body by the aforementioned sprogs - and the woman was saying "You've got to respect thier individuality and let them grow!" . So that was nice.

Got to paris, had fun with cash machines and got on the metro . Got to ENST, and found I hadn't been registered (data loss! doh!) but it was ok. - Got in and paid 300 FRF.

Met whole bunches of people - when I said I was working on conglomerate people said stuff like " Wow, conglomerate! You really need to hurry up with that!" or " what the hell is that then?". Then we had the never ending fun of Miguel introducing everyone to everyone and not recognising people he worked with for ages. When I said I worked on conglomerate, he was of the "Wow, conglomerate" school of thought. Hans Petter and Joakim turned up at that point and we met. Nice to put faces to the names!

Nat Friedman gave an excellent bonobo talk. Nat is really cool and amazingly clever, hes like 22 or something and president of helixcode! Next up was the gnome-print talk which was also pretty good - Chris Lahey and NotZed did that with help from chema. There was some interaction(!) with Keith Packard of X fame about querying abilities of printers.

While I was away, my brother Simon got a windows GDI printer off one of our cousins who bought a better one. These things don't work on NT ( which he uses. hmm. ) so I'm getting it. Theres a postscript driver somewhere so I'm going to try to hack up a gnome print driver out of that. - will talk to Chema about that - probably do the same RGB buffer render/print thing as he does for the PCL driver.

We then had a cocktail thing where I met another whole bunch of people, and mathieu wanted to be in everyones photo.

A bunch of us went to a restaurant somewhere. I can't remember everyone who was there but I know I talked a lot to Jon Trowbridge (he of guppi ) and James Henstridge (gnome python and libglade uber hacker). Joakim, Hans Petter, Iain, Telsa, Jonas oberg(FSF afaik), Alexander Larson (original dia author), Anders Carlson(gtkhtml), and Nicholas were there as well I think. Jonas was annoyed at being labeled as a UK person. I was annoyed at not being labelled at all!

After that, me, Joakim, Iain, and Nicholas( who writes a video editor called trinity and a canvas scripting language called skin) went off to a funny french pub on the metro. We talked about free form computer games like elite where you can go and do what you like, and loom, which is Joakim and Iains tile based strategy engine. Very cool.

Went back to the hotel (Ibis) and went to sleep.

Friday:
Got up at about 9:30 . Iain (who crashed in our(mine and Joakims(lisp alert) room ) had got up at 8:00 and gone to the hacking party. Joakim ( and as we later found out Hans Petter) both had food poisoning, but I had the exact same thing as them at the restaurant. Maybe it was delayed from their plane. This unfortunatly meant they didn't attend the talks or coding stuff that day.

Anyway, got to ENST after much confusion about directions and went to the coding party. Made me wish I had a laptop! Mathieu gave a mini-talk on the GNOME foundation which sounds very very cool. Met Rodrigo Moya of GnomeDB fame and managed to compile evolution on his laptop. He showed me a lot of cool features from GnomeDB - and told me of his quest to find Damon Chaplin to add the gnomedb widgets to glade.

Went to lunch with a bunch of people - Robert Brady ( who writes a ttf font editor which is not yet released) came along, and I met some more docs people. Met George Lebl the genetically engineered goat, large, and started the English-Czech pissing contest that continued through the conference.

"Czech republic has been invaded so many times. You bunch of tossers. England hasn't been invaded since 1066!"

"So, you were invaded by the Normans in 1066, and you still haven't got rid of them!"

"We are the Normans!"

ad nauseam.

Afternoon, more talks. I think it was the Gnome 2.0. talk first- which was done by Havoc. Followed by the Nautilus talk, which was by Any Hertzfield of Eazel - and showed some really great features that made people hit the wall. very cool. Rapturous applause. Then Michael Meeks gave a bonobo components talk and demoed the oh so cool feature of bonobo controls in glade and libglade. amazing. Also the very nice graph component in gnumeric. lovely. Very energetic talk which went down tremendously well . After this we had the GTK+ object system talk by Tim Janik and Owen Taylor. A lot of features were discussed - new text widget(by havoc, port from TK), pango, gobject (with parameters/ properties), and better tree/list widgets - which may be adapted from Etable in non canvas form.

After this, I can't remember what happened for dinner. Odd. Iain has just reminded me it was at ENST, a free meal. I ate with Robert Brady, plus Sven Neumann and Mitch of the gimp.

After this we went to a french pub with faux irish bagpipers due to st paddyd day. This was fun. Talked a lot to Dave ( a guy who writes PSX games and is planning a gnome class browser) , James Henstridge, Alexander Larson, and Anders Carlson.

A bunch of us went on to an internet cafe where we tried to install a umsdos based distribution on the windows machines. We failed so made do with sticking "GNU & Linux - The dynamic duo" stickers on the monitors. George takes full responsibility. I got to talking to Dave Camp ( Gnome Debugging Framework) and Eskil ( Gnome-pilot - eazel guy).

Got back to hotel at about 2.00 am.

Saturday:
Got up late - about 10.30. Went along to the coding party. Met a few more people, and went to lunch with George, Iain, John Harper of Sawmill fame and some thin polish guy I can't remember. Oh yeah, it was maciej ;-) of eazel, nautilus, scwm and general hackerishness. George ate some raw meat like the funny beast that he is.

After this there were some more talks - Dave Mason gave a good one about docs, and Miguel gave one about Evolution. Sounds mucho asynchronous and componenentized.

I went and had a burger at quick! which is a mcdonalds rip off with a good name. From then it was on to the evolution party, held in a boat on the seine. I had so much beer paid for by helixcode that I eventually didn't even have to ask the bartenders for it, as they knew my face! thanks helix. Got talking to Michael Meeks , who is a very cool person, about how to implement gnome-vfs stuff in conglomerate. Also talked about life, the universe, and everything. Talked to Daniel Veillard from the w3c (he wrote libxml) about how we could possibly share code for doing DTD validation and XSchema and stuff with libxml and conglomerate.

Technical ramble follows

This got me thinking a lot about how to implement the main congle editing widget along with Nats bonobo talk on Thursday, and I really want to do it fully gtkobject based model-view now, like e-table. This way we can have a small version which doesn't even need flux for viewing xml files in nautilus, and we just load up another bonobo component which implements Congle::Model to do other stuff like using network transparent trees. This could be so clean , as we can implement a model which gets a libxml/gdome model to do XSchema and DTD validation, and just passes it off to the TT model for doing TT stuff. Now I just need to convince Hans Petter! Also, I want to get something like what I have done (but a lot more generic and typesafe. using gtkargs for marshalling) for undo/scripting in conglomerate into a set of bonobo interfaces, and use GtkObjects for most of it. This would hopefully allow everyone to just use this for doing undo and everying in a really nice way. But don't hold your breath ;-) At the moment, a lot of the names are screwed up in conglomerate and I will be doing a big load of stuff when I get the time... we use model/view but its not as nice as using signals of gtkobjects, just a callback atm. alsod, the undo stuff is sort of clean but a bit ad hoc struct based and bonobo + gtkobjects will just make it really yummy. Also means I don't need to make up yet another plugin system, just use shared library bonobo components. Ah, the joys of bonobo.

Technical ramble ends

I won a GGAD in a non existant drinking competition and everyone signed it - met Frederico , Havoc, Owen, Tim Janik, and a lot of people I have forgotten - email me and I'll put you in! After the boat a lot of people went to a club "La Loco" in paris. This was tres cool and tres expensive, but hey. Everyone danced a lot (except jacob ;-) ) and we had a lot of fun. Eventually , me, Dave Camp, James Henstridge, and Robert Brady decided to walk all the way back to Hotel Ibis - a long way! Was pretty cool- we saw a lot of paris, and Dave was saying how crazy it would be to do this in a lot of US cities. We saw the louvre. Got in at about 4:30 where we met Iain who had left his bag in the creperie where a bunch of people went.

Iain was not amused. Went to bed.

Sunday
Got up at 10am . Iain had found his bag, we went to Eurostar on the mtro, I got on and he had to wait for his train a while.

Got back home.

The end!

Phew, that was a long one! Feel free to email me at rob@conspiracy.nu if I need to make corrections.

I have to write a LOGO turtle simulator in a funny pascal clone language now....

I have been doing lots of things you might think are evil...

Got Design Patterns - its very good... it assumes intrinsically object based languages, but the concepts are applicable in almost all situations - eg procedural or functional languages. I wonder if there are any "pattern" based languages... seems possible. Hard, though.

Quite a lot of the patterns are applicable to Congle. Should ease some pain ;-)

I also got the updated special edition C++ book. I'm beginning to think C++ isn't all that bad - if used properly.

I contributed money to the evil empire by buying an MS Intellimouse Explorer with a light. Its very cool.(Look ma, no balls!)

I am going to GUADEC! So thats good.

I've hacked up the symbol tables, and now I'm starting on the action implementations. Oh what fun!

Hans convinced me to use TT s for the symbol tables. Will be cool, as it allows us to do partial matches for tab completion. And save/restore might be easier.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

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!