Moved from Github

Today I moved all my private repositories from Github to Gitlab.
The main reason behind my decision was that after the acquisition of Github by
Microsoft, I don’t like the idea of paying them anymore. I will continue to use Github of course, but probably I will start every new project (also public) on
Gitlab.

I will see if and how Gitlab will be a decent alternative to Github

Back to Wordpress

After some years of using Ghost as platform for some sites I worked on, for the last one I put online (www.rg5italia.it) I fall back to Wordpress again.
It’s not because Ghost was a bad platform, but with the 1.x series which break the compatibility for the themes, I had very little themes to choose from.

Additionally I needed some features that Ghost have not even as plugins (if there are any) but were usable from Wordpress (for example Disqus which, while supported by Ghost, it is supported on a theme base where on Wordpress it is supported at a system level).

So out of 3 sites which run Ghost, I am down to 1, which will be gone probably at the end of the year where I will be able to do a migration without problems.

Time will say if this was the correct choice, but if Ghost will not add a decent plugins ecosystem (apps as they call them) and no (or little) themes will be developed, I am afradi that Wordpress will be the only choice.

(well, the *grys.it sites are using hexo.io but this is a different story)

Blog migrato

If all goes well, then the blog is now migrated on a new server (in a new datacenter) and to a new
bloggin system (hexo.io). The old articles will be moved in the near future.

libQGLViewer and Bulbcalculator

A couple of weeks ago, I finally made a merge request to the libQGLViewer maintainer for the code to port the library from the the old QGLWidget to the new QOpenGLWidget.

libQGLviewer is the library that Bulbcalculator uses for the 3D rendering of the project. The problem with the old version was that, for some reason, the widget was broken from a certain version of Qt (it seems from the release 5.5.x) so no 3D view is shown and, worse, the other QMdiSubwindow are unresponsive.

So if you use libQGLViewer, switch to the newer 2.7.0 version that should build against the new Qt library (at least from the 5.4.x version)

A tentative development of a new Pim (for KDE)

Update 2018-04 While I still think that the current version of Akonadi not work (I still use ClawsMail…), there is a new more advanced software in development Kube. I have not tried it, but it seems promising.

After the switch back to Claws Mail thanks to the again useless Kmail&Akonadi couple, I was done with KDEPim. The problem however is to find a nice Qt software to use instead of Kmail and the other KDEPim component, better if not dependent on KDE itself.
So I tried to write down some thoughts, with the idea to try to come up with some code and maybe a complete system later.

Starting point
The idea behind akonadi, as I alread said, it is not bad itself: to store all the informations in a central repository is actually a good idea but this has to work reliably, so after some pondering I come up with the idea that maybe it is possible to write a PIM (Personal Information Manager) which can work well and be simple enough, using modern tools and components, without the necessity to reinvent the wheel or rewrite something.

Architeture
Basically the PIM should be a central repository which contain all the data and information. Thus the idea is to write a service to act as a backend to store information and so on.
Since the last development, all the data trasfer between the backend and the client should be use the HTTP methods and work with JSON payloads.
Since the backend will store also all the informations (so, all the emails will be saved in a collection, all the contacts in another collection, and so on) it should make easy to write clients which basically will have only one entry point, the backend, and can focus on their specific functionalities.

To this end, some of the tools I am considering to use are:

  • NodeJs with HapiJs to have a fast and scalable server
  • MongoDb to store/search data
  • Docker to allow the possibility to run the PIM as a black box

I select MongoDb as database since, beeing a noSql db, it has not a fixed schema and so I have not to plan for everything. For example, a mail can or cannot have some tags: using a Sql db you should somewhat plan for this, either creating a table that keep a list of tag for a message or having a field in the record. Using a noSql db, the client just pass all the informations as a JSON document and the backend just store it.

Taking advantage of the async nature of NodeJs, it should be relatively simple to write the backend, also given the large ecosystem around NodeJs.

BulbCalculator Update

Here a really good news for BulbCalculator.

I finally solved the problem with the OpenGL library I am using (libQGLViewer) that make it unusable.
Actually the library still use the old QGLWidget instead of the the QOpenGLWidget, so once you use the libQGLViewer in a MDI subwindow, for some reason it lock all the MDI subwindows; the strange thing is that if you use the “tabbed” configuration for the MDI subwindow, everything work.

Anyway, after a bit of working, I finally succeeded in porting the libQGLWidet library to the new QOpenGLWidget, so all works again.

At this point, as soon as the upstream developer for the library answer, I will know if I need to maintain the library myself, I need to integrate in my source tree or whatever, but at least I can move forward and make a new interesting release.

Stay tuned…

How to lose 5 year of life: 2° try...

The first try was when I applied a wrong configuration to grub and thereafter the laptop did not boot anymore (ok, it was some years ago…)
This time, after what seemed a normal update of my laptop, which is now running Archlinux, and a concurrent installation of cutegram, I found that I was unable do anything on the machine and I was basically locked out from my machine. Login from console give “login error” even before asking for the password and even with root. SSH did not work and also sudo or su did not work.

After a bit od digging, I was able to reboot to a shell rescue using systemd, I just needed to add the option systemd.unit=rescue.target to the kernel command line.

Once logged in, I begun to look for the problem. The first suspect was cutegram, but it turn out innocent.

After a bit of analisys of the log, I found this error:
Jun 17 23:35:05 galactica login[30384]: PAM adding faulty module: /usr/lib/security/pam_unix.so Jun 17 23:35:01 galactica login[30379]: PAM adding faulty module: /usr/lib/security/pam_access.so
which was followed by
PAM unable to dlopen(/usr/lib/security/pam_unix.so): /usr/lib/libtirpc.so.1: undefined symbol: __rpc_get_default_domain

The basic problem is that I was sure that I had not updated anything related to PAM or friends. The second error, anyway, directed me to the kernelof the problem: for some reason, the libtirpc library was the wrong version (also if I still don’t know why).

The first try to solve the problem was to try to run pacman -S libtirpc, which oddly enough update the library: after that the system restarted to work properly.

I still don’t know what happened and I am writing this to maybe help someone else. My impression was that it was an unfortunate update timing (since I use a mirror) which for some combination of factor completed my update but at the same time not all the packages in the mirror was at the correct version.

STL Export on Bulbcalculator

BulbCalculator (in HEAD) has now the export to STL file at least as Ascii. This follow a request from a user to be able to print a model with a 3D printer.
Using this request as starting point I added some features that are likely to be used to mill the model, so the STL can also be exported as half model.

There is, for now, a limitation in this since only one half of the model is saved to the STL file.
If you have a model perfectly symmetrical you just have to mill two times the object and you have a complete bulb. Conversely, if you have an asymmetric model (I presume on the vertical plane) this leads to a small amount of work on the CAD/CAM side since you have to generate a mirrored object.

This limitation will be eliminated in a next version, but for now you should keep it in mind if you plan to print (or mill) a bulb designed with BulbCalculator.

On upgrading server software

Short story: when upgrading a production system, always check the release notes of the new version.

Long story.

After the first upgrade of the server following the release of the new Debian stable, I was no more able to send e-mail from my home pc, but I am still able to send from the server itself, which is running Debian testing, so in the following days of the Debian release, testing got a lot of upgrade as usual.

This upgrade also boost postfix to the 2.1.0 release.

Sending mail from my home pc, then result in the error:

May 11 09:28:22 localhost postfix/smtpd[17094]: connect from unknown[79.21.142.151]
May 11 09:28:24 localhost postfix/smtpd[17094]: NOQUEUE: reject: RCPT from unknown[79.21.142.151]: 554 5.7.1
: Relay access denied; from= to= proto=ESMTP helo=
May 11 09:28:24 localhost postfix/smtpd[17094]: lost connection after RCPT from unknown[79.21.142.151]
May 11 09:28:24 localhost postfix/smtpd[17094]: disconnect from unknown[79.21.142.151]

It turn out that from this release on, to be able to have a relay (from home I send mail using my server and not the provider’s one), you should put the client restriction in the directive

smtpd_relay_restrictions

instead of the old

smtpd_recipient_restrictions

as always in the main.cf file

I discovered this the hard way, since I was in a hurry to send a mail, and before I can find this change, I tried a gazillion other solutions and also checked for every blacklists in the case the server and/or my provider nerwork were blocked.
So, lessons learned:


  1. Always read the release notes (or at least, check them for the important software)

  2. Do not try massive upgrade past 10.00 pm or you will end to lose sleep and do not solve anything anyway, at least until the next morning

  3. If you need to send a very urgent email, send it before trying a massive upgrade :-D

Bulbcalculator ported to QT5

After some work, Bulbcalculator is finally ported to QT5, with the future 2.2.0 version. While I am working on this, I also decided to implement some other features, firs of all a recent project list and the possibility to setup the page size, like some very well known CAD programs.

I have not a date to release the 2.2.0 version, since I have not so much time to work on it, but the work is slowly going on.