Blog of Raivo Laanemets

Stories about web development, freelancing and personal computers.

Now, 2018-11


It's been a really long time since I wrote my last Now entry.


I'm working on couple of articles which I should be publishing in the next 2 months. These will mostly be about some topics related to freelancing and software development in general. The articles will be retrospective to my own experiences.

I'm not a freelancer and consultant anymore and I have removed all references to my services on the blog. I have rewritten some parts of the blog to reflect this.

I have also stopped reading other blogs. Many of my favourite bloggers have stopped writing. My main source of techical news are now various weekly newsletters (JavaScript, React, and DB) as much as I read them.


My last project ended 2 months ago. It was one of the nicest clients I ever dealt with and I will be missing them. A month ago, one of my previous clients, dragged me into their own internal conflict. This, compared to my last client, was a completely opposite experience, definitely the most negative I ever experienced in my 15 year long career.

I'm not running or maintaining any other server besides the one that hosts this blog. Monitoring, logging, analytic and backup systems which I built to support my clients are all shut down. It is the main reason why I haven't written about bugs and technical issues: I just have not encountered any!

For some time I have been looking for full-time employment but I have not yet made the final decision where to go. Originally I planned to relocate to Berlin but there have been reasons why I have not made the trip yet. I have done couple of job interviews but had to stop the application process until I actually end up in Berlin. My current plan is to move out at the beginning of January 2019.

Open Source

I have always liked to do things with Prolog but I also like JavaScript. So I have been working to bring them together. There are 3 interoperability projects that I have recently been involved with:

  • SWI-Prolog port to WebAssembly. My goal is to get SWI-Prolog to run directly in web browsers. 4 months ago I got it running but it was more like a series of hacks. It also lacked an usable API. My work is to make the port easier to compile, add an API, tests and documentation.
  • Official Pengines port to Node.js. Pengines is an RPC interface to run Prolog queries on remote servers. My goal was to consolidate the existing Node.js package and official Pengines JavaScript interface to the same codebase and write extensive automated tests. I have done this already.
  • Make the Pengines interface for Node-RED directly installable from NPM. I did this already.

I want to complete these projects before getting into full-time work again.

Other things

I stepped down from the volunteer board position I held for 3 years at our apartment association. During 2017 we went through a massive rebuilding project which took lots of energy to prepare and manage. In the end I got none left.

I'm currently doing some construction work at my summer house. I have a couple of buildings with less than ideal roof construction. These have been built during soviet era and use wrong covering materials (fiber cement on low-pitch roof and bitumen sheets non-weldable to uneven wooden base) which makes them go bad about every 5 years. I want to complete this maintenance before I relocate. The buildings will be left as they are. I leave open the decision what to do about them in the long term. Sadly these roofs are workable only after drying 3-4 days without rain which is rare at this season in Estonia.

Without consulting work, I now have free time again. I have tried some gaming, mostly getting back to Left 4 Dead 2 versus mode where I have made some good friends with other players.


No comments have been added so far.

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