The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page

Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

A bunch of icicles with droplets at the bottom as they are slowly melting.

In an Excel Spreadsheet (Microsoft)

I have been wondering how to lock a few rows and/or columns at the top-left in Excel. I have seen that being done many times, but did not know how to do it myself...

In the Windows menu (Before Office 2007) and in the View menu (Since Office 2007) you will find an option named Freeze Panes. You have three selections:

  1. Freeze the selected top rows
  2. Freeze the selected left columns
  3. Freeze the selected top rows and left columns

If you just need one row and/or column, place your cursor in the A1 cell (the very first top-left cell).


A couple of seahorses mating

Problem Loading SeaMonkey

Today, I finally upgraded to SeaMonkey 2.49.3.

It was out on Nov 4, 2017 but I did not check for it any time sooner. Bad for me as there were some bugs in 2.48 that banks and such were warning about (oh and WordPress too...)

Anyway. I downloaded the new version. Extracted the files. Updated my icon with the new path. Click on the icon to open the browser. Nothing.

So I know that it is likely that it prints out some errors when nothing happens like that, so I went to my console and tried to start seamonkey in my command line window.

Indeed, errors were ...

Bluish smoke like design representing a modern library


The Qt library version can be retrieved in all sorts of ways, using your command line or C++ code. There are a few I use:

Test Whether Qt is Installed

Before testing the version, you probably want to verify that Qt is installed.

qmake is pretty much always installed whenever you install Qt. Debian and Ubuntu use the qt5-default package which directly depends on qtchooser which includes qmake. Other architectures are likely to use different package names, but you certainly get a similar effect. Many script depend on qmake being installed to check the Qt version which is ...

Various types of noodles sorted by category in a box with columns.


A QTableWidget uses QVariant as its value type. By default, though, it expects a string (in the construtor, you do not have support for QVariant).

Note that the QVariant uses the QTableWidthItem::setData() function and it keeps the variant as such.

This is great, only sometimes (always?!) you need a formatted number and that's not likely to work as expected because a formatted number requires you to use a string, not just a number and a format (which would be a better solution, i.e. a per column format such as defined by the QString::arg() functions.)

Setup a ...

Foggy train tracks that divides as threads in a process do.


Working on a project that creates many threads handling many messages using secure sockets for everything, I ran in an interesting error (I broke up the error on multiple lines so it's easier to read than a one liner with a scrollbar!):

# OpenSSL error
06/11/18 14:31:39:error: tcp_client_server.cpp/bio_log_errors(367):
       OpenSSL: [336236705/20|169|161]:[<no libname>]:[<no
       funcname>]:[<no reason>]:[ssl_lib.c]:[1963]:[(no details)]

# My library error
06/11/18 14:31:39:error: safe_thread.h/run(468): a standard
       exception occurred in ...

Find the Frog! (Many frogs sculptures on a mini-bench in various position such as kissing, taking a bath, dancing...)


Today, I got a rather weird C++ error. That is. My code is very simply doing a search using the std::find() function as follow:

    auto it(std::find(
        , headers.cend()
        , column_name));

Yet, it would not compile that simple line of  code.

Clearly, I use the begin() and end() of the same vector, and I use a value which is exactly what the vector is made of (we see that in the first line of error below: the std::vector<> T parameter is a basic string, which is what column_name is.)

Looking at the error, we see that it ...

Rows and columns of boxes with a name... similar to a database of domain names.


At some point in 2017, the WHOIS registry was split in two.

Before that, WHOIS was all in one place (at least from what I understand) and thus a query would return all the info you could get.

Once in a while, I would receive an email from GoDaddy (which is not my favorite registrar anymore, although they still have excellent service.) That email would say "You have to update your information with ICANN."

This email has stopped for a couple of years now and that's in link with the split. You now register with your registrar and not ICANN so the updates have to be ...

I got a Jetson TX2 not too long ago and was first looking into how to play a 4K video using the full accelerated GPU to see that it would be all smooth and play with the correct colors, etc.

My first experience with SBCs was with a Raspberry Pi and that board would display really crappy videos.

The first test I tried was to go to Chrome, the browser, and then attempt to play the video from there. Unfortunately, Chrome has difficulties to find the right wayt to accelerate video decompression and thus it did everything in software. It would use a good 100% of the 6 CPUs and  the video ...

Train track echanger


Today I got an email from rkhunter telling me that port 7000 is now opened by /usr/bin/keybase that looked as follow:

Warning: Network TCP port 7000 is being used by /usr/bin/keybase. Possible rootkit: Possible rogue IRC bot
         Use the 'lsof -i' or 'netstat -an' command to check this.

If you are also running rkhunter, you certainly got the exact same message.


After close look up, I could see that was safe.

1) The process listening on port 7000 is indeed keybase, try the following command:

sudo netstat -a64np
Proto Recv-Q Send-Q ...

Train Wreck, meaning that the driver is now in timeout!

Today I had to work with a customer who decided to use GoDaddy to host their WordPress website. It's not a bad platform, they actually include quite a bit of integration between the WordPress installation on your server and your GoDaddy account. It gives you access to various functions and keeps track of necessary upgrades.

The account for the Hosting also includes information about sFTP. You can connect to your server using the SSH (Secure SHell) server and use that to send FTP commands to handle file transfers securely.

Your account may also have an FTP, I did not try. Just ...

Unfreeze your Mouse when it Froze

Thank you for visiting my website.