Fedora 27 and high DPI support

I’ve recently updated my laptop to Fedora 27 and since then I had some issues with the rendering of the desktop fonts.  At first, everything seemed too large and over-magnified.  Resetting the desktop fonts to much smaller sizes helped a bit, but there were still random issues with different applications – Google Chrome, Skype, etc.   I think these much be related to the recent improvements to high DPI support.

A few things helped me a long the way.  Here are the links, just in case I’ll need to find them in the future:

Ultimately, the things that solved my problems were the last link (installing better fonts for Fedora), and adjusting the fonts resolution from 142 dots per inch down to 96.

SSH vs OpenVPN for Tunneling

I have never particularly liked Virtual Private Networking (VPN).  From the old days, when there were a gadzillion of proprietary implementations, each being super slow, resource hungry, and requiring a mess of versions specific requirements, like Java and Firefox.  Secure Shell (SSH) has always been my choice for remote connections and tunneling.

Today I came across this article, which also shows that SSH tunnels are much faster than OpenVPN (if one has to use VPN, OpenVPN is probably the best choice around).  Needless to say they are also much easier to setup, both manually and automatically.

This adds yet another argument to my SSH vs VPN toolbox.

hack {cyprus} summit 2017

Last week I’ve attended the first ever hack {cyprus } summit.  hack {cyprus} is well known among techies in Cyprus for organizing other events, mostly hackatons.  They are good at that.  And this time it was something new.

The event itself was excellent!  It had all the usual things you’d expect from such a gathering – a bunch of bearded guys in dark t-shirts and jeans (each one secretly wishing that there were more women in tech), gadgets, coffee, snacks, and so on and so on.  And there were talks and workshops with lots of chatter in between.

Being a big fan and a frequent attendee of technical conferences all over Europe, I knew there was no chance I’d miss this one in Cyprus.  Even if I have to drive from Limassol to Nicosia.  In fact, I decided I’ll get even more value of it – practice my public speaking and presentation skills at the expense of the crowd.  So when the call for talks was announced, I submitted a couple of talks and one was picked.

There was a little hickup where I didn’t know the time slot of the talk (how long it would be), so I submitted two talks – one for 30 minutes or so, and one for 60 minutes.  The 60 minute one got chosen, and then I learned that the time I have is 20 minutes for the talk and 10 minutes for the Q&A.  Oopsy.   But, never the less, challenge accepted.  It took a lot of cutting and trimming but I think I sort of managed to get the essence of it into about 20 slides.  My talk wasn’t the first one of the day, so I observed other speakers.  I think most of them went slightly over 20 minutes and cut into the Q&A time, but on the other hand, there weren’t enough questions for most of the talks to fill all that time.  So in the end, it all worked out pretty well.  If I remember correctly, I managed to squeeze my talk into about 25 minutes altogether.   I’d love to see the video of that – there’s plenty of mistakes to learn from there, but for now, there are only the slides.

I would like to say huge thank you to everybody involved – organizers, sponsors, speakers, and attendees.  It was a blast and I hope to attend many more.

 

Querying CSV with SQL

Excel is not the only tool available when it comes working with CSV files.  I have previously mentioned TextQL (here).  Yesterday, I tried another tool, called “q”.  But since searching for “q” is not very effective, it’s also known “q text as data“.

For those using Fedora, you can install it by simply running “dnf install q-text-as-data“.   Here’s an example of how it works:

$ q-text-as-data -H -d ',' "SELECT COUNT(DISTINCT(Project)) FROM deploy.csv"
95

In the above example, I’m querying the deploy.csv file, which is in the current folder. q supports both command and tab separated values, so I’m helping it out with the “-d ‘,’” parameter, saying that this particular one is a CSV. “-H” tells q that the first row in this file is used for headers. CSV files with headers are more convenient, as you can use headers as column names, instead of numerical indexes.

nginx-module-vts – Nginx virtual host traffic status module

nginx-module-vts is a handy Nginx module for those who run complex Nginx configurations, with multiple servers, virtual hosts, caches, etc.  Here’s an example partial screenshot of the output.