croc – simple and secure cross-platform file transfer

croc is a very simple but super useful utility, which helps with occasional file transfers between two computers. When you need to send a few files to a friend on another computer or in another country – this might just be the easiest way.  No need to setup HTTP or FTP servers, Samba or NFS shares, or register at one of the million web services that provide such functionality.

croc is written in Go and is compiled for a variety of operating systems, include Linux, Windows, and macOS.  It even has a simple GUI for those who wants it.

AnsibleFest Austin 2018 via Jeff Geerling

If you missed the opportunity to attend the recent AnsibleFest Austin 2018 event,  here are a couple of interesting links for you, via Jeff Geerling’s blog (aka geerlingguy):

There’s plenty of stuff to play with over the next weekend or two.

The blast from the past

There are very few things that make you think of time and remind you how old you are like that email that I received another day.  Red Hat Bugzilla sent me an automated email about the update on the bug in Fedora 3 (!!!) that I commented on … in November of 2004.  Yeah, that’s good 13+ years ago.

This is so long ago, it’s almost unbelievable.  Back in those days, I was working at PrimeTel and even had a slightly different spelling to my surname.  Oh, boy.

Change SQL mode for MariaDB in Fedora 27

After I upgraded my laptop to Fedora 27, I started experiencing some weird issues with most of the projects I am developing locally.  Trying to save anything into the database that involves dates, started throwing the following errors:

Error: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2017-11-30T13:30:48+02:00' for column 'timestamp' at row 1

A quick look around showed that Fedora 27 ships MariaDB v10.2, while the previous distribution version shipped MariaDB v10.1. Digging through the changes between the two versions didn’t help much, even though there is slight mention of the related change.

SQL_MODE has been changed; in particular, NOT NULL fields with no default will no longer fall back to a dummy value for inserts which do not specify a value for that field.

StackOverflow is much more helpful, as always.  These two threads – one and two – in particular, explained the changes and suggested the fix.  I had to either fix the projects I was working on, or modify my local configuration to use the old SQL mode.  This thread provided some more details, so the final solution was adding the following to the /etc/my.cnf and restarting the MariaDB service:

[mysqld]
sql-mode="NO_ZERO_IN_DATE,NO_ZERO_DATE"

And now we are back to normal.

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.

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.

Fedora 27

Fedora 27Fedora 27, the latest and greatest version, has been released.  As always, a lot of work went into putting it all together.  But for personally, the new releases has stopped being exciting a long time ago.  My desktop needs have been satisfied for years.  All I need is MATE Desktop Environment (with i3 window manager), a browser, terminal emulator and Vim.  That’s pretty much it.  And it has been there forever.

So, is there anything interesting in this new version at all? Release Notes are rather thin, but let’s have a look.

  • New and improved Gnome 3.26.  I know a lot of people who use Gnome, so that’s probably exciting.
  • New LibreOffice 5.4.  Personally, I don’t know anyone who is using LibreOffice.  Google Docs is doing a pretty good job these days.
  • Security section looks like the largest area of changes.
  • Web Development section mentions Node.js 8.

If you want even more details on what has been done, why and how, have a look at the Fedora 27 changes page.

To me it looks like there is some internal restructuring and reorganization going on, with release process changes (no more Alpha releases), a lot of effort on modularity, and so on.

Hopefully, the next one will be a bit more exciting.

Google Chrome color profile

My good friend and colleague Michael Stepanov has been recently annoyed by some weird color offsets on his external screen in Fedora 26.  Turns out, it wasn’t the external monitor, video card, or cable issue.  The problem was with the new Google Chrome and its choice of the color profile.  The solution was found in this Reddit thread:

  • Open new tab and type there chrome://flags
  • Find option “Force color profile” and set it to “sRGB”
  • Restart Chrome and enjoy blue as blue 🙂

MATE + i3wm = Happy, happy, happy!

I finally freed up a few minutes to try this solution for combined MATE desktop environment with i3 window manager.  And I have to say it works perfectly!

I now have the best of both worlds – MATE’s out of the way desktop, with good multi-monitor support, and i3wm’s tiling windows and keyboard navigation.