Make jekyll fast again: Compile rb-gsl on Arch Linux

In order to make this blog, I use jekyll. It's a great little thing that takes simple text files (using Markdown syntax in my case, more is supported) and turns them into the HTML files your browser is showing you now.

It's great, but awfully slow by default. This blog doesn't have a lot of content, yet it takes, well, too long for me to have actually waited for it. As a note nicely indicates though, using rb-gsl will speed things up immensely. It mentions 10 times faster results, but I'm pretty sure it's (much) much more than that for me.

Unfortunately, things didn't work so well recently, as I upgraded to ruby 2.0 The cost of living bleeding edge and all that, or something. Anyhow, rb-gsl wouldn't compile no more, making me a sad panda.

Continue reading...

Posted 21 April 2013


kalu 2.0.1 to make sysupgrade work again

Ok, little screw up on my part in kalu 2.0.0, as I removed an init call (g_type_init()) in kalu-dbus a little too soon. This call has actually only be deprecated in GGlib 2.36 :)

My bad; Sorry about that.

Continue reading...

Posted 6 April 2013


kalu 2.0.0; pkgclip 1.2.0; pacdep 1.0.0

pacman 4.1 has now hit core, so time for official updates of everything that uses libalpm. For the most part this is only about being compatible with the new API.

Continue reading...

Posted 5 April 2013

, ,

Where does your window manager place new windows?

I'm not even sure this falls under the "an itch to scratch" category, it wasn't that much of an itch, but here we are.

Though I don't use the whole DE, I'm using lots of XFCE applications, such as their window manager, xfwm4 I really like it, but somewhat regularly I would get a little annoyed by where it would place new windows.

Typical case would be this: I have an application (e.g. file manager) maximized, then I have a gVim window on the left side (the window is about half my screen's size, so I can have two side by side). Then I would open a new terminal; my terminal window is 1/4th of the screen, so I could have 4 opened at the same time.

Naturally, I would expect my terminal window to go on the top-right corner, but it wouldn't go there. Instead, it was on the bottom-left one, i.e. on top of gVim. Now this might not seem to make sense, but it does (of course) if you know how xfwm4 actually works.

Continue reading...

Posted 4 April 2013


Natural Sort Order in C

As Jeff Atwood said back in 2007, "The default sort functions in almost every programming language are poorly suited for human consumption."

This was true then, and remains true today. Working on a project of mine, I needed to sort strings, filenames to be precise, using the famous natural sort order. Because that's how we expect things to work, "foo2" comes before "foo15"

Unfortunately, it's not as simple as one might hope. Most sort functions are indeed pretty bas at this, because while they might do a lot of great things, when it comes to comparing strings containing numbers they still have no understanding of natural order, and use what's referred to as "ASCII order".

Continue reading...

Posted 22 March 2013


strdup/free vs atomic reference counting

As I was working on a little C project of mine, I realized that often times I would have functions returning strings, and couldn't simply return the pointer directly (especially in mutli-threaded app) as the caller needs to be safe using the string.

Typically, what is done is simply return a copy of the string, and the caller must free it once it's done. But this would be happening a lot on my application, and I wondered if it wouldn't be better to save those strdup/free calls, using reference counting.

So I implemented that, and then recently found myself reading about this again, where I'd find both that avoiding those malloc/memcpy calls by using reference counting is good, or that atomic operations (which I used to implement reference counting) could be slow and once shouldn't be afraid of using malloc/free.

And I started wondering...

Continue reading...

Posted 16 March 2013


Wanna try pacman 4.1 (and still use kalu) ?

As you've probably heard, the next version of pacman is coming, and you can try the first RC.

Because API changes are introduced, whatever uses libalpm will require not only to be rebuild against the new library, but is likely to need code adjustements as well.

This was obviously the case for kalu, and everything should be done & ready. I've been using it for a little while now, and now that rc1 is out I've pushed it (in the next branch) on github, so you can test the next pacman while still enjoying kalu.

Continue reading...

Posted 11 March 2013


kalu goes 1.4.0, speaks French

It's been a little while since a new version of kalu - upgrade notifier for Arch Linux - has been released. But version 1.4.0 is here, and with it comes a bunch a bugfixes, as well as a couple of new features.

Continue reading...

Posted 22 January 2013


dapper 1.0.0 released

Version 1.0.0 of dapper - a simple desktop applications autostarter - has been released. In addition to the bump to 1.0.0 as per semantic version rules, this release is mostly about bugfixes.

Continue reading...

Posted 19 January 2013


kalu could speak your language!

The next version of kalu - upgrade notifier for Arch Linux - is almost ready, and one of the changes it will introduce, is support for internationalization.

Continue reading...

Posted 8 December 2012

Top of Page