Older blog entries for mathrick (starting at number 86)

23 Oct 2006 (updated 23 Oct 2006 at 19:10 UTC) »



Inkscape is nice. The above is a quick trace of a photo, because flexible image resolution adjustment was needed (and doesn't have anything to do with the Linux distro).

On the other hand, the original SVG (linked to if you click on the image) shows how little parity is there between freely available SVG implementations. Inkscape displays it correctly (obviously), librsvg does a rather nice job, but can't display masked objects at all (there is a slight gradient on the brim which is masked), and FF simply butchers the image, unable to display something as simple as a gradient correctly. 

As Ankh says, it's not good when the only widely-available, decent SVG viewer is Adobe plugin inside IE. 


7 Oct 2006 (updated 8 Oct 2006 at 22:49 UTC) »
<This title contains mature language. For your protection, it has been withheld>

"This address uses a network port which is normally used for purposes other than web browsing. Firefox has cancelled the request for your protection"

 Dear Mozilla,

 You guys are fucking idiots.


 Update: okay, so I checked, and that's a legitimate security issue, known as cross-protocol attacks. Or rather it would be, if it wasn't for the fact that a user-entered URL cannot usefully be a source of such attack. And there's a bug dating back to 2001 stating "Add user UI for that". Still lame and just as enraging when I have to use another browser for one stupid address.


29 Sep 2006 (updated 29 Sep 2006 at 23:48 UTC) »
Snippet of the day




12 Sep 2006 (updated 12 Sep 2006 at 17:41 UTC) »
New CCharset

Yep. It’s not my accomplishment, mind you, I was too lazy and just got used to the shortcomings. So the new version of ccharset comes courtesy of teh_LaC. Here you can get it. Readme stays the same as in the old version, but bear in mind the config file is no longer compatible, so you’ll have to set channel encodings again.


21 Aug 2006 (updated 21 Aug 2006 at 09:10 UTC) »
The End is near

And there are sure signs:

Screenshot of Pango displaying mixed scripts in vertical direction

This is a Japanese paragraph, laid oud according to Japanese traditional typography rules, ie. running vertically, from top to bottom and with lines stacked from right to left. Notice the highlighted text. Red is Latin script, which normally doesn’t run vertical, therefore it’s rotated to retain shape in a foreign environment. The blue part is digits, which are considered script-neutral, therefore they get laid out according to the direction currently in effect.

And here’s how it’s done:

Screenshot of destop whilst coding

What doesn’t work perfectly yet is alternate embedding modes (as there’s more than one way imaginable to try and fit horizontal text in a vertical paragraph). Need to debug it.

So, I fixed the bug mentioned previously, as I expected, it was because of errors in my copypasted option parsing code in the test viewer. Now I can try out all modes, and for those of you who expected the post-apocalyptic world to be dwelled by strange and bizzare creatures, you were right. Check out this curiosity:

Screenshot of unexpected results of requested settings

This is a result of laying out a random snippets of text (taken from Wikipedia and Qatar’s MoFA site, respectively), to test multiscript layout, rendered in EMBED_LINE mode. This mode will layout paragraphs, trying to agree all foreign scripts with the primary direction glyphs run in. And as you can no doubt see, they have been agreed indeed. Except that to get LTR English and RTL Arabic running in the same direction, you need to have their “up”’s pointing in the opposite direction. Which is kind of odd and strange and confusing. But well, you can’t have a horizontal script laid out in vertical paragraph without breaching at least some of its properties.


Back from GUADEC

I’ve been here in PL for a couple of days already, so here are two general observations about Spain:

  • My God, it’s HOT over there
  • Salads you can get over there are surprisingly crappy and/or totally incompatible with my expectations of what a good salad is. It’s not impossible that you’re supposed to add olive and vinegar yourself, but then, how is it different from a DIY kit? And how am I supposed to do that with a full plate, anyway?

Other than that, GUADEC was a total rockage, and organisers did an awesome job. As you can read in this report (I hope you can, because I can’t ;), which’s got a paragraph about me and a pic (fame, yay!), for me the best thing was finally seeing the faces of people I have know for something like 3 years online.

Other things:

The screenshot below is a testament of my complete pwnage over Gnome Robots. The next thing, I pressed Enter and they all rushed over to crash and burn under my feet. Hah!
A screenshot of my pwnage

My CRT is broken and makes my eyes bleed if I stare at it for extended periods of time. Coding is hard this way and I need to get a new one, but noone has displays I could try out, so I’m left to choose based on whatever they write in glossy specs and hope for the best when I actually order them.

I just increased Bonfire’s bugcount 5.5-fold. It’s not often you do that (and surely the fact there were 2 bugs total filed for this youngest product in bugzilla doesn’t matter at all), and in recognition of my virtues, I gained a bugzilla point! Woo-hoo!



So, yesterday my foot’s got swollen, and today it’s really blown up and hurts a lot when I try to walk on it. As I don’t remember breaking it (and frankly, I don’t believe in myself enough to claim I’d be able to even attempt walking on a broken foot), it’s probably a bite. Nasty stuff, doesn’t want to come off, but fortunately someone’s had it the same thing before, so I’ll be getting some bandages and medicine in the evening. I surely do hope it goes off tomorrow, otherwise I’ll have to see a doctor, not to mention I’ve got the plane tomorrow, with sleep-over at the airport, which doesn’t exactly sound like a fun thing to do in my current condition.


28 Jun 2006 (updated 28 Jun 2006 at 13:34 UTC) »
Specimen #1

So, I just realised the stuff I’m fighting with right now is screenshotable, so here you go:

First result of happy happy pango breaking

The legend goes like this:

  • the text is, well, text; it’s supposed to be stacked this way (and to get an actual vertical layout, you just rotate the cairo drawable).
  • Colourful Boxes are bounding boxes, you can see how it sort of does a wrong idea of where the glyphs lie. This is because the rotation done on glyphs, and their origin point is in a corner, instead of the centre.

I’m currently trying to compensate for this, but that’s actually not easy, as PangoGlyphGeometry holds the width, but not height. So fixing horizontal shift is easy, vertical is not. Especially because there’s this bug where a valid (because it’s used one line below with no problems) pointer to PangoFont can’t be cast to GObject.

Update: So, yeah, taking an address of a pointer doesn’t always yield the desired results. But it still doesn’t really work, and Behdad is out to Barcelona, *grumble*.



This is being written on the new version of nokia 770. Cool.



Stuff that made me laugh today:

/* The PangoContext and PangoContextClass structs are private; if you
* need to create a subclass of these, mail otaylor@redhat.com


77 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!