Older blog entries for donscarletti (starting at number 16)

I'm suffering my fifth day without my own computer, it's taking a toll on my sanity, my father's win2k machines are no help. Eventually after not using windows one starts becoming moderate and starts claiming that all operating systems have their place in the scheme of things during slashdot discussions. After using exclusivly windows for a week one realises that is not the case. It's pretty interesting how ignorence and moderation are so closely related. Perhaps objectivity is merely the state of not knowing enough to have a preference. I'm also just not comfortable on windows at the moment. I can't actually even think of a way to spellcheck todays blog on this accursed operating system. However, it's not like my dad runs a totally microsofty system, I'm using firefox for the first time and I really like it. I've been using epiphany for my web browsing needs recently but I think I like firefox better, and firefox should really fit in on my gnome desktop quite well by the looks of things. The problem is that even when I get my computer transported in a few days time, I will still be stuck hundreds of kilometers from my 512Kb/s internet connection and on dialup so I won't be able to download it, I fucking hate dialup.

Well I'm into my copious amount of holiday I get for being a student. I am trying to work out what to do with it. My half finished multiplayer space shooter-rpg (an old but almost stable version can be found at www.cse.unsw.edu.au/~cmmo862/ripoff.tar.bz2) needs love. But rsvg could do with some elbowgrease as well. I'm wondering what I should devote myself to first. Well, no, that isn't exactly correct, I'm really wondering whether to work on those two projects or just sit around, play computer games and drink beer for the whole three months (which is what is actually going to happen whatever I decide).

I'm going back to the beautiful Coffs Harbour to stay with my family for the last time ever. Even though I myself moved out of that city two years ago, it still seems like a second severance from my childhood to have my parents move from the town I grew up in. I imagine saying goodbye to the place and the people I know for the second time will be just as hard as it was the first. Having my parents move to the same city as me will also be strange. I have never properly used my new found freedom that I got from living 700km from my parents. I havn't yet used my freedom to run a pr0n site, a meth lab or an international governmental extortion syndicate, but I sure will miss it. Of cause it's not like I'm moving in with them, but I just would feel more comfortable the next time I wake up next to a transvestite midget prostitute with one arm after a night of hard drinking if I can simply assume that my parents were a day's drive away and therefore didn't see me.

I'll be teaching my little brother (who is 13 now) how to program while I am staying with him. I've already sent him a list of languages I'd be willing to teach him (Python, Haskell, Perl, Java, C, C++, 386 assembly). I also gave a list of pros and cons for each language. I've tried to make it fairly impartial and accurate, but you know, that's hard sometimes if Java's on the list. I stuck the asm there because I though hell, if people learned with assembly back in the sixties when nobody knew how to use computers then my brother who's been using computers all his life aught to be able to learn it as a first language. I didn't put basic in there because if I taught him basic he might keep using basic and that would shame me more than if I found out that one of my great grandfathers was really Hitler. Sure, I used basic for a while but that was before anyone told me any better. I really wonder what language he wants to learn and am kind of exited about teaching him.

My university teaches Haskell has a first language, it's kind of an odd choice. If you have never used Haskell before here is a short description: it is functional, before you say "oh, that's just like lisp, it isn't that odd" I will clarify my statement, and say haskell is not like lisp, lisp is a "functional language", Haskell is an "anally functional language", that is: no iterative elements, none. Haskell is what I'd call a bureaucratic language. It has it's weird ways of doing things and if you don't conform it will just send you away. So basically students come out of Comp 1011 not knowing what a variable or loop is (Before you say "monads dude, monads", we were told not to use them). 1011 is long gone for me of cause, I just thought I'd mention it because I was thinking about first languages.

Mwh

Nope, my exam is in two hours time, and I just had eleven hours of sleep.

The staying up bit was mainly to make it possible for me to wake up freshly rested today, rather than yesterday afternoon.

I have my last exam for the year tomorrow. Since my usual sleeping pattern totally prevents me from waking up early enough for such things I elected to stay up last night, in the hope of going to bed this afternoon and awaking a couple of hours before dawn.

This time I tried employing a method of prolonging my waking status for longer. Coffee. I got the strongest coffee I could by in the local supermarket and made up a plunger with triple the recommended amount. All up I have consumed a litre and a half of espresso strength coffee, containing 16 or so teaspoons of the strongest preground beans I could find, and this was all consumed over the period of an hour.

This resulted in an odd, dreamlike state, where I was totally incapable of doing anything except for playing UT, which I did fantastically well. Possibly better than I have ever played it. I guess the stuff improved my reflexes. However this effect only lasted a few hours. Now all I feel is an upset stomach and a strange chill all around my body. Well, that and a huge feeling of remorse. You know the type if you've ever had another pleasant tasting liquid unsettle your stomach and change your state of mind. My heart is now going at about 100bpm (by my poor attempt at taking a radial pulse), faster than average, but nothing crazy.

All up, my excessive consumption of coffee was pretty stupid really, but it was fun to try. After all, people put far worse things into their bodies and live long enough the regret them. If I had to binge on anything, I guess coffee is a better than average thing to do so on.

But back to UT for a second. UT2004 has an awesome port to Linux. It actually comes on the disk. I never actually knew that, but it's kind of sad that I hadn't seen it before. I just downloaded all the bonus packs and patches that I could. It's really nice to see such an awesome game for Linux. Kudos to Epic, Icculus for porting it and Sam Lantinga, SGI, Nvidia (in my case) and the dudes behind OpenAL for making the libraries that makes it all possible. I had a little trouble with it first. It couldn't find the OpenGL library, but I preloaded it with LD_PRELOAD and everything worked fine.

Well, I've been up for 24 hours so far, so I'm not talking or typing the most sense. I talked with my flatmate yesterday about writing a realtime raytracer. Sounds like a fun project. Useless but challenging, a bit like my work with brainfuck a while ago. I'm quite in mood for a little bit of optimisation in librsvg, when sleep grants me the mental powers to do so. Uraeus has been talking a lot about liboil of late. Apparently there is nothing it can't do. I'm a little uneasy about introducing new dependencies but I sort of see this as a possible gain since with liboil we could manage optimisations quite well. It won't ultimately be my choice anyway, technically speaking it is cinamod's project to maintain and I wouldn't have the gall to just start adding dependencies without consulting him. I'm quite excited, mainly because I've never used SSE2 before, and I am itching to use it for filters. Especially gaussian blur. liboil seems to be a way that I could do such a thing without filling librsvg with messy and unportable inline assembly. The problem is that I could get the same degree speedups by just doing logical little tweaks that don't require any sacrifice in simplicity of compilation to do, so I should be doing them before I start linking to cirtain things. One such optimisation is pre-multiplied alpha: a simple process but would save us so much time all up.

I'm sure I've said something dumb, inacurate or downright silly due to my sleep deprived haze. I'll edit this later.

I just did my third exam this semester. It was on fluid dynamics; one of the only parts of civeng that I actually like. Despite it being the time for mass cramming I have been doing surprisingly little. Other things seem more interesting, anyway, I've already done all my exams for computing and the other stuff will probably be soon considered "space filler" electives.

I've been enduring huge mental anguish trying to figure out how to implement proper 100% standards conformant text into librsvg. If it wern't for bi-directional text, everything would be so much easier. From what I currently understand, all the RFCs relating to Bidi were originally contained in the necrombicon before they were transcribed into the dark grimoir known as the Unicode specification by Hitler himself from his place of hiding in Las Vegas, using Charles Manson's help to log in and commit the addition using the very computer that hosts www.goat.cx. Hitler had been researching into the occult for a number of years and during his research into black literature he found an incantation that causes everyone to read it to become instantly anti-semitic. As strong as I may have been, even I slowly succumbed to the spells dark verses as I read more and more about bi-directional text, images of Judas Iscariot and Osama bin Laden writing from right to left on a chalkboard filled my mind. I was overtaken by rage for all that do not write in the correct direction in which God intended. I started convulsing and shouting "Right to left text will be the downfall of family values", "won't someone think of the children" and even "Bush was right about those Arabs".

Ok, maybe that stuff didn't actually happen exactly the way I said, or, well, even happen at all. But bidi really does annoy me and I just know there is some daemon/Manson/goatse/Hitler related mischief going on somewhere in the Unicode specification.

20 Nov 2004 (updated 20 Nov 2004 at 15:29 UTC) »

This evening I watched the movie Thirteen Ghosts. I didn't really like it, and so I am planning to use the remainder of this blogging session to whine about it.

*SPOILER WARNING* (not that anyone should care)

This was a really lame horror movie. I won't insult anyones intellect by commenting on the uninspired, cliched dialogue, so I will complain about it's boring plot instead.

There are these ghosts, trapped in this house in special prison cells made for them. They wait around, and do nothing except for antagonising people as they go past with threatening gestures. Eventually they get out, and what do they do?

Well, one goes upstairs to take a bath, and just sits there in the bath as Shannon Elisabeth barges into the room, and proceeds to wash her face in the same bath she is bathing in. If I was a heterosexual woman (as opposed to a desperate male who would relish the experience), I wouldn't take that sort of thing. I'd probably smack her around a little bit to teach her to respect my privacy. Instead she just sits there with an awkward, uncomfortable look on her face that implies a longing desire to somehow ask the interloping girl to leave the room until she's finished in the bath. Hell, this supposedly savage ghost is more patient and civil than I am, and I'm not even undead.

Then another ghost walks around trying to help her living son get out of trouble. If anything freaks me out in a horror movie it is definitely loving, maternal care. The mere thought of a mother tucking her son into bed and reading him a bedtime story sends chills down my spine.

Many ghosts had noble purposes. There was a pair of ghosts who were committed to their cause and were both dedicatedly striving to achieve their goals, which were: to feed a giant kid beans, and eat beans, respectively.

Some ghosts were of cause threatening, such as some jock with a baseball bat. But, as a nerd, I've escaped injury during confrontation with similar adversaries during highschool so many times, the prospect doesn't scare me much anymore.

Most of the others were incapacitated or disabled. Such as the woman with her hands tied to a piece of wood behind her back, the dude who can't walk or really do anything much because he doesn't have a head, and of cause: the eight year old kid. If this collection scares you, then you might be the sort of person who wouldn't attend a lecture by Stephen Hawking because he might come down an beat you up.

All in all, excluding in the opening scene, the total number of good guys killed by ghosts amounted to the grand total of one (done by the least creepy out of all of them). The number of bad guys killed by ghosts amounted to a grand total of one (and it took twelve of them to do it). How is this a legitimate body count after a horror movie?

It turns out that these ghosts were being exploited for the ambitions of a living person and in the end they go free and everything is happy. I think that this movie was more like the sixth sense. More post-modernist crap about the ghosts being the victims. Something about a ghosts existence being one of pain and exploitation, and it is of cause natural to feel pathos and all that sort of sappy crap. This is stupid. I don't care if ghosts aren't really bad. I'm sure that sometime during the thirties and forties that there were many members of the Nazi party that loved their families, life, peace, wildflowers, and jolly conversation by the fireplace. I don't want to see that in a movie though, I want to see those bastards get up to evil like shooting RAF escapees in cold blood, or stealing relics off Indiana Jones or Tibetan monks. I don't want to see ghosts that I can pity any more than female lead characters in action movies that I can respect. It just doesn't work!

*END SPOILER WARNING*

Wow, I havn't written in this for a long time.

The librsvg hacking has been going fairly well. We have heaps of features now that we didn't have when I was still blogging. Masks, clip paths, transformable, decent quality text. We have much nicer images now, we have relative urls and filenames so images look great in context. We have a completely overhauled high level structure so it does all the parsing before it attempts to render anything. It also allows inter-file linking. We now have patterns that display nicely. The gradient transformations have been fixed so they look good. We have markers, we have well... pretty much most static things I guess.

The cool thing is that we now can use the batik test suite to test our program, and for the most part, it looks awesome. We are really catching up to pretty much every other renderer on the planet in terms of standard support, but we are still second to none in terms of speed. Basically, if you can't already tell, I'm feeling pretty happy about the project.

Personally speaking, my life isn't quite as positive. I'm getting kinda bored with university, it is beginning to look like I just really don't like education. I've submitted an application for transferal from the civil engineering/computer science degree that I am in at the moment to a straight computer science one, since I'm not really as interested in civil engineering as I thought I was when I chose it. I am not sure how it will go though, since university bureaucracy is hard and inflexible. I had hopes of temporary respite when Uraeus tried to get funding for librsvg's continued advancement, which would have allowed me to defer my education for a year in favour of full-time work. But that didn't really work out. If it had however it would have been really cool.

I've been doing a little hacking on the side, apart from librsvg. I am working on a little space rpg called "ripoff", so called because it was originally going to be a ripoff of "Escape Velocity" by ambrosia software. However with the massively multi-player capabilities I'm building in, it will be far more than a ripoff, but I still havn't thought of a name for it. It's already quite playable, although it kinda lacks content. I havn't actually put it online yet, because I can't be bothered making packages. I really should release it though. There is a copy on my university webspace somewhere

Oh, and also, a few weeks ago I fell in love with the language known as "brainfuck". It's quite a challenge. I made an interpreter for brainfuck written in assembly. And I also made a compiler that transforms simple c into brainfuck through the miracle that is bison. If anyone's actually interested with this, um, "unique" technology, email me and I'll put the source code online.

Anyway, I've been having quite a good hackfest recently and I've been loving it. It's a shame that uni has to get in the way :)

Uraeus just posted an article on the scalable vector graphics format, it was pretty good, but after all, how could I possibly object to something that refers to me as a "superb hacker" :).

The comment thread that follows it however is quite disturbing, expecially the comments regarding Christian's English skills. Apart from the obvious fact that he is not a native speaker, his current medium is the internet, home of d00d 5p33k, irc typos and unproofread slashdot stories. Personally, I would not be in the least supprised if after complaining about Christian's spelling, punctuation and grammar that most of the posters went streight onto IRC and stated to their friends "osnews is teh suxors, ph33r teh power of teh 1337 h4x0r who will pwn all of j00 SVG l4m3r5".

In honor of this unique part of the internet that I love, I have decided not to even spellcheck today's blog. After all, I am a coder, and the thing about coders is that when they declare something, they spelled it right, and if they spell it differently later they spelled it wrong, nomatter what the oxford dictionary has to say on the matter. I do not see what good spelling has to do with good communication even when one is not coding, for example, Geoffrey Chaucer became one of the most famous people in english literature without spelling a single word right in his life.

For thousends of years the English language was like jazz music. It was freestyle expression, unfettered by rules and tunes and as long as one keeps somewhat within the chord structure. Then the normans invaded, french became the official language of England but the English languaged remained, so we got that french influence in the language and it became like jazz fusion or linguistic creole as you will. But somewhere down the line guys like Samuel Johnson tried to turn its freestyle grooves into constricted lexiconographical chamber music (to labour a stale metaphor). Now when heroes like Uraeus try to get back to the soul of the language they are labeled as "wrong". I say that if you can understand someone's meaning they are writing correctly. I understood this article if you can't too, then it's not because of a couple of punctuation errors.

Last night, instead of my traditional custom of sleep, I instead participated in a late-night librsvg code jammin' session with cinamod and uraeus. Basically it would go like this, Uraeus would complain about a bug, and dom and myself would scramble to fix it quickly. Until this point I had never engaged in any coding activity so fast and frantic (I have a habit of completing my coding assessments early). It was great, with all of us working we not only routed many bugs that had haunted the codebase since its inception we also left the bug's women raped and their children cut and mutilated in the gutter. There shall be no mercy to segfaults and misrenderings.

Between supporting the standard and supporting cairo we have our work cut out for us, the goal is to have it working with cairo and rendering most things by the time gnome-2.8 comes out. It is seeming more and more evident that Cairo is not an overly appropriate api for a svg backend, we need access to those pixels before they hit the screen to do some of the mandated effects. But it seems like the powers that be want cairo, and cairo is what they shall get, amongst other backends.

The best thing about cairo however is doing away with libart. Libart is poorly documented and to figure out what a function does, one has to read the actual source code, and to me it looks like it was written by a monkey with a PHD in low level programming. Also libart seems to be something that one must work around, for example to make paths do their first section again so that the corners would render right. I was told that whenever one commits a hack to CVS, god kills a kitten, I hope was just a sickly little runt that was going to die anyway.

Although my contributions to gnome-2.6 were mainly low-key bugfixes, I am still eagerly awaiting its release as the first major release of anything that I contributed to. It will be great to see.

Although I have not written a wikipedia article for months I have been reading it a lot recently, a favorite of mine was this page (which although is only discussing disturbing pages, may be disturbing in itself to some readers). Wikipedia seems to have a growing number of pages relating to the culture of the Internet itself, never since the witty Australian T.V. show Frontline has a medium published so much introspection. Through Wikipedia, as well as gaining knowledge on a whole range of important subjects one can also learn about the culture of sites such as Slashdot and Something Awful in great detail here and here respectively. I am truly glad to know that the people of the Internet are documenting their heritage and celebrating their culture in a way that will ensure its survival.

I have been doing yet more librsvg hacking, I officially hate the current high-level architecture of the entire project (except for maybe paint servers). I recently added an ability to reference symbols and other parts of the document and use them again and again and again to save document space, but the whole system seems still a little buggy. My aim is at the moment to support all of the non-scripted svgs that come with batik. I believe that clear goals are good and they don't get much clearer than that.

7 older entries...

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!