New Kwort site

Posted on: Jan 2020

Hey everyone!

Right, so I couldn't held myself and built a new Kwort site. I belive the new https://kwort.org looks really nice.

Some interesting points:

  • There's a new starting page and the news goes into a separated page.
  • New screenshots... I believe the old ones were from Kwort 3.x.
  • New documentation covering better our tools.
  • The new software page is dynamic using an nginx file browsing parser I wrote in javascript (I always wanted to do that :-)).

Unfortunately www alias doesn't work yet (github, or should I say Microsoft now is working on it), so for now just stick to https://kwort.org.

Oh, and I found out that there's more Kwort users out there. Really cool! :-)

Cheers!




2019 Clossing Thoughts

Posted on: Dec 2019

This has been quite a year for me. In my personal and profesional life and in the open source projects I maintain.

I'm not gonna gonna get into details of my personal and profesional life but on the open source projects, and the one I'm focused mainly is Kwort as it is the one I use every day.

Kwort 4.3.3 (released on 2018 and now considered legacy) and 4.3.4 (released on 2019) has been a releases I've been very proud of in terms of stability and security. For these two patches coming out from developers has been distributed for Kwort daily or with a two-days delay in worst case scenarios.

Kwort 4.3.4 included some interesting new in-house built tool packaged separately which helped streamlining the packaging architecture and for the first time we shipped PulseAudio; we keep shipping our very simple, flexible and rock-solid package manager (last bug discovered and fixed was like 2 years ago).

Often people ask me why I develop Kwort and I'll be honest with you all: I don't think there are more than 10 people out there using Kwort these days on daily basis. Other major distributions (like Debian/Ubuntu/derivatives, Arch or Fedora) has eaten all user base, and I guess that's fine. One of the main reasons why I keep developing it is because it allows me to trust 100% in what I'm running, meaning that I build the system, I build my own kernel, I choose every software I want to use and carefully pick out all their dependencies based on my regular use case. I use 3 or 4 computers and packaging the software I use allows me to distribute what I use easily among them. People asked me also a lot "Why don't you use Ubuntu or Arch?", I don't trust Ubuntu (specially after the whole "Ubuntu Online" sending search details to Amazon) although I think it's a great system with lots of software availability and easy for users; and for Arch, I don't know, it looks like a good distribution, I might try it (don't take this literally :-) ), but I'll keep doing Kwort because that's what I do and how I keep learning and trying new things in the Linux world; that is another main reason why I keep developing it.

So anyways, Kwort needs a new site... As you see the old site is gone (because of an issue) and my good old friend Andreas Schipplock did an incredible job restoring most of the site from the Google cache and web archive and wrapped everything in like a day in the site we currently have. Seriously Andreas, I don't know how you did that in a couple of hours :-) and thank you! If no one is jumping in offering to build something, my idea is probably to do rough plain html and see if I can find a template around I could use. I found a really nice template and started to migrate the existing site into it but it just looks way off and weird, I don't know if it's because it looks very professional (Kwort is more a geeky stuff) or if it doesn't represent what Kwort is; heck! I could even use this python site generator to build the new site... So anyways if someone is interested me, please drop me an email (dcortarello@gmail.com).

So, to close this incredible year I want to thank everyone and share best wishes to all, it has been a very nice year.

Happy new year!




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 https://kwort.org 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 chrome_packaging.sh 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 gen-kernel-headers-tarball.sh 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

Cheers!




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:

Encrypt:

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

    i=0
    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
    fi
    recp=$(echo "${items[$(($i + 1))]}" | awk -F '[<>]' '{print $(NF-1)}')

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

Decrypt:

decrypt()
{
    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
        fi
    fi
    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 http://keys.connectical.com, 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: http://theoldschooldevops.com, you guys knows that I like old school stuff :-)

Enjoy!




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 (https://github.com/schipplock/kwort-installer-ng) 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: http://colorschemedesigner.com/csd-3.5/

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: https://github.com/nomius/nomius.github.io.

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.

  • nomius.github.io: 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. ;-)