Kwort 4.3.3 released

Posted on: Jun 2018

Kwort 4.3.3 is out

Final highlights:

  • Everything is up to date as you expect, toolchain, kernel (latest 4.14 LTS -as of now 4.14.32-).
  • Latest kpkg version with new features.
  • Chromium 65 is our default browser now.
  • No Firefox and flash support.
  • We are developing a cool set of tools called "kwort-choosers", which as of now provides things like: file chooser, browser's chooser, moc interface, etc, all using dmenu as UI.

Please head to for the full announce and downloads.

Happy installing!

Newsflash: Kwort 4.3.3 release candidate

Posted on: Apr 2018

Well, I don't know how many are actually reading this, maybe none, but anyways, here we go...

So Kwort 4.3.3 is almost out and here's some highlights to share:

  • Everything is up to date as you expect, toolchain, kernel (latest 4.14 LTS -as of now 4.14.32-).
  • A small kpkg bug has been fixed (this was actually discovered by the latest gcc version).
  • Chromium 65 is our default browser now.
  • We dropped Firefox as they don't support alsa anymore as sound backend. Additionally Firefox now requires Rust so that would require another almost 200MBs in the ISO. But, we know our userbase is pretty conscious about privacy and we also know that Firefox goes pretty much together with that aspect when it comes to a full featured browser, so for the browser command, Firefox is the desired option if it's installed by the user, otherwise it falls back into chromium and then chrome. As said before: bear in mind that you'll need rust in order to run any recent version of Firefox.
  • LLVM is now included in the standard installation. Why LLVM and no Rust? Well, the rational behind the green light for LLVM is that mesa3d (gallium specifically) requires llvm to support radeon. Additionally, but this is secondary, Chromium now uses llvm (clang specifically) to build. This is one of those things which I hate (having two tools for the same (llvm & gcc)), I really hope things get more aligned in the future and one of those can be dropped, but I don't see that happening (at least not in the short term).
  • We are dropping flash support. The option is still available in Chromium, but we are not distributing the ppapi object anymore,
  • New UI themes using our standard tools (openbox, GTK2 and GTK3).

If people is looking on running Google Chrome instead of Chromium, a script named is available in the ISO in boot/tools that will package Google Chrome from the latest version available (this one requires libcups available in the repository). Additionally, if you need kernel headers, a script named is available in the ISO in boot/tools. I would advice you to run it against the kernel version distributed by Kwort, as normally kernel headers needed are the same used when compiled the libc.

Where to download the first release candidate? kwort-4.3.3rc1.iso | md5sum | sha1sum


GPG encryption made easy

Posted on: Mar 2015

So as I said before I started to play more with GPG and made some really quick bash functions to encrypt and decrypt data. Here we go:


    if [ -e "${1}.crypt" ]; then
        tput setaf 1
        echo "* ERROR * ${1}.crypt already exists. Exiting..."
        tput sgr0
        return 1

    while read line; do
    items+=("$i" "$line")
        i=$(($i + 1))
    done < <(gpg --list-keys | grep @ | sed -e 's/uid[ ]*\[.*\] //g')
    i=$(LC_ALL=en_US dialog --stdout --backtitle "Encryption made easy" \
        --title Encrypt --menu "Pick the recipient" $(($i + 7)) 76 $i "${items[@]}")
    if [ $? -ne 0 ]; then
        return 0
    recp=$(echo "${items[$(($i + 1))]}" | awk -F '[<>]' '{print $(NF-1)}')

    gpg --output "${1}.crypt" --encrypt --recipient ${recp} "${1}"


    out=$(basename "$1" .crypt)
    if [ "${out}" = "$1" ]; then
        out=$(LC_ALL=en_US dialog --stdout --backtitle "Encryption made easy" \
            --title Decrypt --inputbox "Type the output filename" 8 40)
        if [ $? -ne 0 -o -z "$out" ]; then
            return 0
    gpg --output "${out}" --decrypt "${1}"

Created links to posts and some other things

Posted on: Mar 2015

Hi folks, two weeks ago it was requested on github to implement links to posts. Today I implemented this feature with id's.

In the last couple of days I've been playing with gpg (I was always using openssl's enc/dec/sign(dgst) instead). I want to start using a Keyserver, but I want a reliable one outside the US and UK, so MIT's kinda out of the table. Anyone knows any? I'm thinking in, which looks like be running in France (I don't trust too much in France anyways) as I like what the Connectical guys had created. I'm open to comments and ideas.

Also, I would like to share a really cool site that I've been reading:, you guys knows that I like old school stuff :-)


Old school Unix community

Posted on: Feb 2015

For those who read this weblog and use Ubuntu or any kind of of userbase like that, you can't stop reading here, as this is going to be an "Ubuntu rant" and you'll probably will not like this.

As most of you know, I'm pretty old school Unix programmer I tend to do clean development and have everything done just right. As a developer I sit on top of the Unix interface (when doing userspace development) in order to support as much as possible.

In the last few years we saw Ubuntu coming, in the beginning it was only a remake of Debian with more power on the User interface. What made it so wide used? Well, they made two things really good. The first one was delivering a copy of the Ubuntu CD-ROM to everyone who requested it for free, there were some who requested for docens and distributed it among their friends, I have seen people playing frisbee with it anyways. The second one was thinking more in the users as users and not developers; that was a big hit.

So I guess it was easier to install (I've never installed it) and you could have it for free really quickly if you didn't want to or could't download it, and if not, there's was someone near to you always with a CD-ROM with it. For a lot of people, that was great as it brought a lot of new users to Linux. But the problem here is that old school users/developers like me don't care about the quantity but about the quality. And unfortunately, the quality of Linux users that Ubuntu brought compared to other distributions was disastrous. Why? Because a user didn't have to worry about learning the OS anymore, but only focusing in using it and unfortunately, for them, there's Ubuntu, not Linux or other distribution, they use Ubuntu and that's the only thing besides Windows/OS-X out there.

Working on Kwort's new aspect for future releases, I have no idea why I got into this "thing" called Plank, which looks like a docker for docky (which apparently is a launcher bar). Now, this was developed by "one of those users". Their developers are like "Ubuntu is what we support only" (probably because they think that Ubuntu is the "only" Linux), and let me quote them:

Do not report bugs if you are using Gentoo-based, Pacman-based, or Slackware-based distributions - only Ubuntu/OpenSUSE (and their derivatives) and Fedora are currently supported

Plank developers: I'm never going to use Plank probably, at least not by personal choice; but please, do yourself a favor and learn the system you're developing in. Why restricting the support to what you use only? It looks like you have no idea how Unix works and how to really develop in it (and I'm pretty sure I'm right).

I'm still working on future's Kwort looks, I'll probably write something like that in the next few days, but don't worry folks, we'll still be minimal ;-)

Firefox and its hardware acceleration & Kwort installation

Posted on: Jan 2015

Well... So I had this feeling of going back 100% to Firefox and while doing some testing, WebGL is really bad. It looks like the problem is that the hardware acceleration sucks entirely in Firefox. Hardware acceleration in Firefox is really a hell, even with OMTC I couldn't get more than 13 FPS, while on Chromium I get at least 60FPS using a Firefox acceleration stress test

I've tried with an ATI R600 card, an Intel HD 4600, a Nvidia GT-740M all of them with the latest drivers that perform just great on other applications (glxsphere, chromium, etc...), I never got a decent performance, and this is the latest version of Firefox (35.0). So I guess I should just give up. So probably on 4.2 Firefox will not be included in the ISO and only Chromium, we'll see what happens.

On other news, I've discovered several failures on the Kwort installer, and I appologize for that. I guess I should try to be "less-mainstream" and more hardcore, pretty much like the OpenBSD installation. Andreas was working on a new installer that I think he started some years ago ( but I honestly don't know... There's too much to handle nowadays and things have gotten too complicated to support everything "automatically".

For those who wants to know, Kwort's installation can be sumarized in the following list:

  • Keyboard configuration
  • Partitioning (cfdisk)
  • SWAP, mountpoints and formating (mkswap, mkfs.* mount in /mnt/install and all mountpoints internally)
  • Package decompressing (tar + xz + sqlite, which could be all simplified with kpkg)
  • Post configuration (write: fstab, rc.conf, set root password and install lilo/grub)

My future approach would probably be that we could leave most of that to the user, specially with all the fuzz of UEFI, GPT and so on.

Time will tell. :-)

Updates and sharing

Posted on: Nov 2014

Hey all! Last week (and also today) I made a major upgrade to Kwort 4.1. This should bring your system to the latest version. So in your system you can just run:

kpkg upgrade

Also, I would like to share a really cool site for designers:

When creating this site I needed a nice palette color and that tool/site really helped me on doing that; so, enjoy it :-)

Anyways, I'll be on PTO tomorrow and probably disconnected (or I'll do my best to stay away of the computer :-D).

Stay cool and have fun!

Finally a real weblog

Posted on: Nov 2014

Well, so after years chasing this "dream" (?) I finally I have a good website, self made, beautiful, with the things that I use and without a messy WYSIWYG editor which does what he wants. So as everybody knows, my editor is Vim, and I'm using github's markdown as formating syntax to write this whole website.

How I did this? Well, this site is now automatically generated by a 162 lines python script. Cool isn't it? :-)

You don't believe me? Take a look at the whole code and website (+content) at:

This website support links (doh!), it has an automated weblog created, it uses a clean syntax that you really enjoy writing in like markdown, it also support syntax highlight for programming, mobile support (?) as it use bootstrap under the hood and one of the nicest things, it has a really nice design.

If you want to use this code to create your own site, please, go ahead, it's free software.

Also, this is something I did last year, all my projects are now in GitHub, and sure, this site as well is hosted on GitHub pages. Let me list them and give some explainations:

  • ntunnel: Simple tunnel protocol with RSA keys, signed digests and blowfish cipher using the OpenSSL library and the tuntap device from the Linux kernel and its API.

  • kpkg: kpkg is the binary Kwort package manager. It allows you to install, remove and download and upgrade packages. This is one of Kwort's holy grail.

  • misctools: Interesting miscellaneous scripts (service command for Kwort, a simple virtualization manager, a wireless network manager, a tool to work with certificates, etc...)

  • dmemory: Dynamic memory management C library (educative project). This is an *alloc functions' wrapper. the test file and source code is pretty much self explainatory.

  • nqqueue: NQqueue is a modular, threaded and plugeable queue for Qmail allowing the user to write their own filters for spam, virus, etc. This is one of the coolest projects I have worked on.

  • mttools: A couple of years back, when I started playing around with text formating languages I came up with some basic tools to use the Troff -ms macros. This is a small project that includes a C and Shell troff parser.

  • This site and weblog.

  • kwtools: Kwort tools is a set of scripts and applications used in Kwort < 2.4.2, including package manager, user and network manager. This code is now really old and unmaintained but it has some really useful gtkdialog code that I used in the misctools.

  • Kwort: Kwort is a modern and fast Linux distribution that combines powerful and useful applications in order to create a simple system for advanced users who finds a strong and effective desktop. Kwort is based on CRUX, so it's robust, clean and easy to extend. Of course, not hosted at github. ;-)

Updates for everybody!

Posted on: Nov 2011

I'm a disaster to write a blog, sorry for the delay. There have been lot of news in the past few months. Let's enumerate one by one: I created a small project called mttools, and this is basically a set of tools to write good technical documentation, with formated code inside and some pretty nice features. The nice thing about this tools is that it forced me to learn Unix flex :-) You can check out this project at:

As some of you might have noted, Kwort 3.2 got released, this is a pretty clean and nice release that got some really nice features and improvements. If you like Kwort > 3, please, step by, read the announcement and try it. There's also some nice new features and bug fixes in kpkg, that were deployed with Kwort 3.2, if you're not using Kwort but you're using kpkg, you should step by

One of the cool stuff that came up with Kwort 3.2 are the ports; we are now supporting the crux ports, that you can bring to your system by:

  kpkg install httpup rsync fakeroot rsync ports

I'll blog a little on the CRUX ports latter on.

Also there's a new release of ktsuss, just baked. This release has some bug fixes in the su backend and guess what... There's a sudo backend now too! You should get the release at

NOTE: 1.4 code has critical bugs and is completely unmaintained, so please update to the latest release. I also removed all extra repositories like the one at berlios, github, etc, so there's now only one at google code avoiding confussions.

The last few months I worked a little on LimShSQL and there's a full new re-write with a pretty shinny curses interface in limshsql-rewrite-1.0 branch, I think I should merge it soon and package a release. Check it out here:

Goodbye lout... Hello troff!

Posted on: Mar 2011

Five years ago I went to a dissertation on LaTeX given by Guido Macci, I left that dissertation telling myself "Yes, that's the way to go" and I liked formatting systems, by then I only knew LaTeX, but after seeing that in Slackware it was like 100mb in packages I said like "Ooook, wait a second... Is it that big?", it turned out it really was, and not only big, but a real mess under the hood, so I was kinda disappointed and desisted on the idea of using LaTex. Those who know me knows that I'm pretty minimalist, and having a formatting system of 100mb that was a mess was pretty much out of the table, but I still though it was the way to go.

So I spoke to a friend (Emiliano Gavilan) who always liked that stuff and told my "problem" with LaTeX... So Emiliano recommended me to take a look at lout.

That was in the beginning of 2006, so it's been like 5 years now with lout. Nowadays lout is kinda unmaintained, it has some bugs, the output generated is not as professional as LaTeX, and (I bet this is because I'm too lazy to learn them) there are some things that I never wasn't able to do.

So last week I gave a chance to troff, and I keep myself reading the whole weekend, and I really liked, it's stable, small, well tested (almost 40 years :-D), and it is on every Unix out there (this is a BIG plus). I had some troubles inserting with code, but after digging I found vgrind (which I heard is unmaintained so we'll have to check in the future how it goes) which does the job pretty good.

There are tons of books out there written with troff some pretty well known like "Advanced Programming in the UNIX Environment", "The C programming Language" or "The Design and Implementation of the 4.4BSD Operating System", there's a big list here

If you're interested in learning troff, you can read this book: Dale Dougherty & Tim O'Reilly - Unix Text Processing.

I hope this turns out good.