Raivo Laanemets. Software consultant.

Now, 2015-12

This is my last status update. My agenda is to get things out of my way as much as possible for the next year. I either want to get things done or not do them at all. This post contains some rant about broken things.

Projects on halt

I'm taking a small pause from commercial development until the New Year. This gives projects time to raise money to keep going in the future. I'm open to possible new project discussions but I'm not accepting anything new before the New Year to avoid piling up too much work.

Killed a gaming blog

2 years ago I had an idea to start a gaming blog. 1 year ago I set it up with nice graphics and introductionary posts. This year I realized that I won't have time to write anything on it. So it just sat there a year without any new articles. This month I finally took it down.

No Slackware upgrade

I was hoping to upgrade my Slackware installation before the New Year. This is a big deal as making a Linux distribution usable takes lots of time. I have a full A4 list of things that have to work or require tuning. I'm expecting this to take about 2 weeks unless there happen to be glitches and bugs like the compiler bug with KDE in the last release.

Why should I upgrade at all?

There are no desktop apps or system features I would gain with the update but I'm worrying about the ability to run modern browsers. The last thing might be starting to bite in the ass and my last issue with Firefox 42 might actually be caused by that.

Any inquiry on possible causes has been answered by "This is not a supported version, use version xx" (with xx being really old) by people on the Slackware support forum/IRC channel. This is not how I get work done. This is not how I provide and support latest and greatest for my clients.


I have tought about switching distros and checked them out but most of them have similar usability issues (KDE greets you with damn error on fresh start, indexing hogs full CPU, PDF files open in Gimp, every update breaks some things, etc). Slackware is simple and uses non-rolling release so that it gets least in the way of fixing things.

Windows looks like a viable solution. OS X (while definitely having the best usability) cannot be installed on a custom hardware, at least not in a supported way. Windows 8.1 works well, my main machine is dual-booted and the other OS is Windows 8.1. I would lose Kate but possibly could learn to live with another good text editor, such as Sublime Text or Caret. Switching to Windows is extreme solution for me and I would like to avoid it when possible. I have been a Slackware user since year 2001.

I'm currently watching what comes out from the Slackware situation. The release date and feature set is not even fixed now (although it will not have KDE5). Any questions on this on the LinuxQuestions Slackware forum are met with hostility with the threads deleted afterwards.

Another alternative is to test/debug in a virtual machine. I already do that for testing with various IE versions on Windows XP and 8.1. Windows 8.1 is not very snappy in VirtualBox and lacks GPU-based acceleration so that this is not viable for the long run.

SWI-Prolog issues

I'm not very enthusiastic about

  • HEAD requests not respected.
  • Pack versioning nightmare.

The HEAD requests are replied with full body. Some clients do not expect that and close connection. The result is error lines from socket errors and false alerts. I could disable alerts but then I have other things not working and I'm not even knowing about them. I cannot fix this from SWI because it's not flexible enough. I cannot fix this from Nginx because it does not expect and support such use cases. I have currently "fixed" it by returning 405 (Method not allowed). That is what Nginx can do for me.

Pack versioning issues are not ending for me. Last time I had some code published as my own by a 3rd party, now I just have a good old version hell because some libraries decided to change argument order. I have been fixing it by dropping most dependencies and reimplementing stuff myself. This is incredibly stupid and unproductive. Thankfully, I have very few such dependencies so that I can allow a bit of this.


Version 1.0 code is done. I have some bugs remaining but they are easy to fix. I will do a huge manual testing session after they are fixed. Then I write some guides about deployment and the best practices. All of this will happen before the New Year. Blog-Core has been my largest non-commercial project for the last 2 years and it's nice to get it done. I do not plan any other such side projects, at least not in the close future. I do not like side projects growing too big and sucking out all of the thinking power. This is not good for other projects and not good for business.

I have also updated my blog. It now has proper footer and lots of additional pages. On blog posts, it shows related posts. I also want a nicer "Recent projects" section. Screenshots do not work well for this as they are too blurred. I might experiment with projects logos or insignias. Most readers that have given me feedback have asked about the projects that I currently work on. So this can be a nice improvement.

Hosting issues

Huge corporations have huge bureaucracy and they do not attract customers with good services and customer experience but through acquisitions of smaller companies. This creates huge mess of different legacy control panels and systems. One of my domains got stuck in such situation and to prevent potential issues with renewal (where is my control panel?) I'm moving it to another provider that lacks these legacy issues. This process seems to be very slow.

SSL issues

LetsEncrypt is nice but too late for this year. The built-in client tries to do too much magic and certificate expiry dates are too short: 60 days only. I do not have enough time to deal with broken servers so often. With 10 servers I would be expecting issues more than once per week. LetsEncrypt's client seems to get more complex (given the number of feature requests) and I hate complex solutions. StartSSL+SNI has been a nice setup so far despite the fact that I need to renew manually. If I batch up renewals of all certificates to the end of the year, I can easily solve all issues in a single timeframe which is much more efficient than dealing with them weekly. A static configuration is also much less likely to get broken.

Apartment Association

We recently formed an appartment owners association for 5 appartment buildings here. This is a legal entity that manages the buildings and some services for individual home owners. Previously it was done by a management company formed by the state. Forming the new legal entity has been a long process, started already 2 years ago. I got closely involved with things a month ago after being elected onto the board. My current speciality on the board is dealing with service contracts that had to be renegotiated and signed by the new entity. The old management company is providing us lots of help and the new contracts have already been signed. Compared to my other activities, this has gone incredibly smoothly. Probably due to huge number of people involved. Unlike computers, they are less likely to require arcane commands in a formal language, glitch and require debugging less often.


Markus Triska at 2016-05-24
Thank you Raivo for raising the HEAD issue also in this blog! Good news: In recent commits, Jan has made significant progress towards making the method compliant! I expect that it will soon become available in a new release.

RLa at 2016-05-29
@Markus Triska, thanks for information. I keep an eye on the changelog and will reconfigure some systems once the proper HEAD support comes out.

Email is not displayed anywhere.
URLs (max 3) starting with http:// or https:// can be used. Use @Name to mention someone.