VoidLinux

When I switched back from Mac to Lenovo I was faced with the decision which
distribution I should pick.

I was always a debian guy. And I still prefere debian over all other
distributions on servers. But on the desktop, I want to use a rolling
release distro.

So first of all, I have an antipathy against ArchLinux. So this distribution
was out from the beginning.

The second thought was Fedora. It’s not a real rolling release distribution but
they’re always the first when it comes to new technology. But the system has
become quite complex.

Then I found out about VoidLinux. It’s a rolling release distribution from a
former NetBSD-Developer.

It is completely assembled from the scratch. From the buildsystem which can be
described as something between ArchLinux PKGBUILDs, Gentoo ebuilds, and
the OpenWRT buildsystem to the package-manager.

Quite unusual the project avoids to build up it’s own infrastructure, the
development is done through Github and IRC. The only thing VoidLinux provides
by itself is a custom buildserver based on buildbot and
a HTTP-Server to distribute the packages.

The buildsystem is quite flexible, that way VoidLinux was the first distribution
which switched from OpenSSL to LibreSSL. Also VoidLinux switched from systemd,
which had become more and more cumbersome in the last months to runit/ignite
within two weeks.

All in all I’m very satisfied by this distribution and hope to get more people
to use it.



vnc2gif

vnc2gif

vnc2gif is a small tool which renders a VNC connection into an animated gif. It is based on an idea from vnc-over-gif which is a little more decent. Unfortunately it does not work on node-0.10, so I decided to rewrite it using node-canvas.

node-canvas itself does not support animated gifs, so I had to use gifencoder.

Unfortunately gifencoder is quite slow. I would prefere to implement animated gif support in node-canvas directly. The libraries which are used in node-canvas support animation (GIFLIB) and the node-canvas API supports multiple Frames with the PDF-output. So an implementation of animated gifs in node-canvas is feasible.

Find the source at the Github Repository


node-pdfutils on the way

Version 0.4 of node-pdfutils is a complete rewrite of pdfutils.

The old design didn’t work out, I naively decided that it would be a
good idea to do as much as possible in C++ and keep the JS side minimal
in order to reduce context switches between JS and C++. Turns out this was
a bad idea. First of all, node will switch to a new v8-API with 0.12. This
means I have to rewrite big parts of the code once 0.12 is out. Furthermore
it turns out (surprise!) that the C++-part became messy and was harder to
maintain. With the new architecture, I keep the C++ smaller and better
structured. Also I kept in mind that the v8-API will change and it’ll be easy
to switch to the new one.

One of the most requested features is reordering/insert/extract
pages from/to a document. With this rewrite, we finally got a base
to do this. It’s not implemented yet, but it’s much easier to do now.

Also I’m proud to announce, that pdfutils will support multiple PDF-engines.

The 0.4 series will switch license: node-pdfutils was licensed under GPL before,
which makes it hard to include it with 3rd party products. 0.4 will be dual
licensed under MIT/GPL. The idea is, that you can choose to use MIT with any
GPL-free PDF-engine. If you want to use i.e. poppler, you have to use GPL, as
poppler is GPL itself (If I’m talking nonsense, please correct me.)

Github: https://github.com/Gottox/node-pdfutils/tree/rewrite-0.4

Docs: http://gottox.de/node-pdfutils