Switching to Linux Desktop?

I’ve been playing with Linux/Unix servers for a long time now – both at work and home. I even switched almost completely to Linux at work – Outlook and Excel being the only reason why I still have Windows VM. However, at home I still used Windows 10 as my main OS. With Linux Desktop getting better and better while Windows 10 is getting more and more annoying, I figured I need to revisit installing Linux at home too.

And no, I didn’t go full-in. However, for the first time in the last 10 years I am dual booting again.

Ubuntu with ZFS was Linux of my choice primarily because of the ZFS support. Running ZFS on my NAS has been a pure joy (as much as any file system can be) and that’s what moved needle from Linux Mint toward Ubuntu. Other benefits include a huge install base and prepackaged software support.

While Linux is rather enjoyable, I don’t see Windows going away from my computer for a while. And the major reason is Visual Studio – there is simply nothing equivalent for C# development. Visual Studio Code does try but that’s like saying butcher is an equivalent of a surgeon. It’s simply a difference between IDE and really good text editor.

While running under Wine is an option, DipTrace still works better under Windows. And this goes for the whole “electronics tools” category. Whether it’s MPLAB (which actually has a Linux version), PicoScope (Linux version in beta), or just some stupid utility, making it work under Windows is simply easier with less issues present.

Another stumbling point was Vegas Movie Studio in particular and media editing in general. These applications are few and far between. I did find DaVinci Resolve to be actually extremely powerful and free alternative. It definitely has a steeper learning curve and does require a bit of getting used to. However, at this moment it actually doesn’t support H.264 and MP4 file format under Linux. :(

I am still looking for a good alternative to Paint.NET as Gimp doesn’t really work for me. It’s excellent software if you need to do a major work, but it’s really annoying when it comes to simple operations. As Windows 10 image viewer is pure shit, I didn’t need to search long to find a substitute.

WinRAR was another stupidly simple utility that doesn’t really work properly under Linux. Yes, you can get other archivers but there is nothing that really offers the same features; archive locking and preview without extracting to temporary directory being my favorites.

And lastly, there is nothing as good on Linux as Explorer. Yes, Nautilus does come close when it comes to pure file browsing but just trying to do something in Open and Save dialog brings tears to my eyes. No, there is no rename, full right-click menu, or even pasting file there. Nope, you can just open and save files. As I often remember things I want to adjust only when saving other file, this seems overly restricting.

End result is that for Visual Studio, electronics, and gaming I still use Windows. For all other purposes I simply switch to Linux as my preferred environment. It’s something I wouldn’t believe just a few years ago – oh, how times change.

PS: If you’re curious as to what I find annoying in Windows 10, here are the first couple of things coming to mind without any specific order: Windows update reboots my computer overnight time and time again, every major update randomly resets my settings, local account requires THREE damn password reminders, it keeps forgetting my damn network credentials (despite checking the “remember” checkbox), Start menu cannot find applications that are freshly installed, damn settings are distributed between multiple apps and programs with each holding some settings, it uses every opportunity to shove Edge and Skype app down my throat, and the list goes on.

I Pronounce You Hausband And Wife

In order to prove my marriage to US government I had to obtain a marriage certificate from my home country – Croatia. Instead of getting standard certificate and translating it myself, I decided to get a fancy international one.

As it was agreed way back in 1976, its format leaves a lot to be desired. The front side is written in Croatian (official Croatian language) with French right below it. What makes it international is fact there are a few more languages, including English, on the other side included as the legend. On the front side you have numbered fields and in legend on the back you see what that field corresponds to in multiple languages.

While I would personally expect any computerized office to simply print the marriage certificate in any language directly on the front page, I guess legend on the back is not the worst solution out there. And I’m sure there is some obscure legal reason behind why the French language that almost nobody in Croatia speaks gets the front page treatment instead of German or English. But that’s not what pisses me off about this form.

The most annoying thing there is number of errors visible on the first glance.

Let’s start with the first field. This one has name of the country written in Croatian, French, German, English, Spanish, etc. All fields following it have their corresponding meaning printed in German, English, Spanish, etc. Notice what’s missing? Yes – other fields have no Croatian or French description as those are already written on the front page. But the first field gets to be inconsistent.

And no, this minor issue is not where the fun stops.

Second fields has English translation of “Extract from the marriage registratica n°.” This field is generous enough to give us two mistakes, the first one being decidedly non-English (or probably any language) word registratica. Second error is n° abbreviation. In English it can be written as №, Nº, N° (for non-Unicode folks), No., no., and probably many more forms. But it’s almost never written in the French “n°” style. Yep, English translation of this field offers an unique mix between non-existent word and abbreviation in the wrong language.

And I will finish with my favorite error.

Field 5 has its English translation listed as “Hausband”. Since field following it has translation “Wife”, I can only assume it was meant to say “Husband” rather than something that could be interpreted as German house band. How the heck you can have word husband misspelled in the country where 97% kids in 2014 were supposedly taught English? While I don’t have stats for my generation, I doubt it was lower than 75% even in 2K days.

And don’t tell me that was just an accident – the same darn mistake is also on the front page as part of a smaller legend translated as “Death of the hausband” – which does sound like a good band name when I think about it.

Croatia has been an independent country for 28 years now. I am not sure when exactly international marriage certificate was introduced but it has been present for at least 10 years now, if not since the very beginning. I can imagine semi-valid excuses for the first person doing the translation – maybe it was simply some clerk who wasn’t aware how bad his English was.

However, persisting these errors through god-knows how many reprints is something that cannot be excused.

PS: And no, I didn’t check all fields nor I bothered with other languages. However, since English translation is this butchered, I can only imagine all the levels of wrongness for other languages.

PPS: If you want to see both front and back page for yourself you can download example form from Croatian government website.

PPPS: If you want to see better translated marriage certificate there is one from the Macedonian government.

Lamy 2000 + Signo 207

I love Uni-ball’s Signo 207 pens. I find ink really nice, reasonably waterproof, and beyond everything else, beautifully looking. If I am not using fountain pen you’ll find Signo 207 in my hand. Due to fountain pens being a bit finicky when transporting them around in backpack I would say that Signo became my de-facto work pen.

However, there is one thing I do not like – pen body. While pen design is definitely not ugly, it’s not what I would call gorgeous either. It’s semi-transparent barrel with nothing really to show inside and “chrome” details just draw eyes to seams that can be seen in clip tag. It’s 307 successor comes in a bit nicer understated body but it only comes in three colors. And, although nicer, I wouldn’t call 307 body anything special except refinement of decent looking pen.

But do you know which design I like? Lamy 2000. It’s really stealthy pen that looks good even on a second look. It has really light Makrolon (read: fancy fiberglass) body with a snap-cap hiding nice brushed steel top. While not perfect (damn snap-cap dimples) I find both overall shape and form make it a pleasure to write with. But alas, it uses Lamy’s proprietary M63 refills. While they are not bad, they’re not Signo – especially when it comes to color selection. Is there any way to combine the two?

I started with Lamy 2000 rollerball (not ballpoint – that one takes different refill) and took a look at how refill fits. Lamy refill ended being a few millimeters longer flaring into a slightly different tip shape and with a slightly different tip diameter. If you talk just about numbers those refills look really different but looking at them in person there is simply something telling you they are “close enough”.

First thing you’ll notice if you put UMR-87 (aka Signo 207) refill into Lamy 2000 rollerball is that it’s definitely too short and you cannot even get it to show it’s head. Easy solution for this is to simply fill the cap. I found that M3 screw with a nut screwed all the way to the top works wonderfully. Not only it takes enough space (3.25 mm effective length) to actually push refill far enough to poke its head but it also fits into both cap and refill without permanent damage so you can always switch back if needed.

But that doesn’t make refill feel good as it rattles while you try to write. Since the whole front part of refill’s body is different enough, it needs something to provide enough purchase M63 gets with its shape. For that I found spring from Signo 207 does wonders. With that spring in the top there is enough force pushing Signo refill back and doing really good way of centering its tip that it actually feels and looks like the original refill. Even tip diameters being 0.2 mm narrower makes no difference.

That said, if you have a heavy hand, you might feel a bit side-to-side movement as tip does have a bit more play due to smaller diameter. If that happens, a bit of transparent tape should make it good enough. However, I didn’t have to go that far.

In any case, I can now enjoy comfort and looks of Lamy 2000 with my favorite gel refill.

Configuring HTTP/2 for WordPress on Ubuntu

I moved my website to Ubuntu just recently and big part of that was due to desire for HTTP/2. However, if you have a legacy site configuration, things might not be as straightforward as one would hope.

The first step, of course, is enabling HTTP/2 module:

$ a2enmod http2

Second step is adding HTTP/2 protocol definition to /etc/apache2/apache2.conf:

Protocols h2 h2c http/1.1
H2Direct on
H2ModernTLSOnly on

Followed by Apache’s restart:

$ systemctl restart apache2

In ideal world this would be it. But, despite Apache starting without error, a check via Developer Tools in browser showed I was still stuck with HTTP 1.1. Yep, as many other sites, mine used mpm_prefork module. Unfortunately, prefork is not compatible with HTTP/2 and PHP 7.2 (needed for WordPress) is not compatible with anything else.

The only additional package we need is PHP with FastCGI support:

$ apt-get install php7.2-fpm

Furthermore, we need some modules enabled and disabled:

$ a2dismod php7.2
$ a2dismod mpm_prefork
$ a2enmod mpm_event
$ a2enmod proxy_fcgi
$ a2enconf php7.2-fpm

Of course, addition to /etc/apache2/apache2.conf is needed too:

<Files "*.php">
   SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"

If you configured prefork same as me, you also need to remove it’s configuration. In my case StartServers, MinSpareServers, MaxSpareServers, MaxClients, and MaxRequestsPerChild settings had to go.

Of course, another Apache restart is upon us:

$ systemctl restart apache2

Congratulations! HTTP/2 should be working now.