My personal and professional life

2018-04-29

MySQL 8.0 released

Last Thursday (April 19-th) Oracle released MySQL 8.0.11 as General Availability (GA). It's a big new release, including many new features, but my favorites in regards to development are Common Table Expressions (CTO), Window functions, regular expression improvements, NOWAIT and SKIP LOCKED for locking reads, GROUPING function, descending indexes and JSON enhancements. However, there's lot more to MySQL 8 notably transactional data dictionary, atomic DDLs, roles, resource groups, invisible indexes, histograms and many more. There are also performance improvements including Unicode, JSON and regular expressions.
I've been playing with MySQL 8 since Release Candidate 1 was released last September. I have installed MySQL 8.0.3 (RC1) in a Slackware virtual machine and setup replication from my MySQL 5.7 server, so I could experiment with some real data. I'm generally excited with the new development features, but I could take even more if Oracle delivers :-)
There are few things to be aware of with MySQL 8.0:

  • new default authentication plugin caching_sha2_password: This was the first "problem" I encountered last September. If you still need to connect the old way then just add the following to your configuration file and restart the server:

    default_authentication_plugin = mysql_native_password

    See also Frédéric Deschamps's blog post Migrating to MySQL 8.0 without breaking old application.
  • MySQL X plugin is now enabled by default: If you're migrating from MySQL 5.7 or from a previous MySQL 8.0 release (DMRs or RCs), then remove the following directive from your configuration file in order to avoid warnings in the logs:

    plugin-load-add = mysqlx.so
  • it's not possible to upgrade from a previous non-GA release: I was surprised initially and even raised a bug (see 90619) after twitting it first, but then I recalled my previous upgrades and realized that this is normal for MySQL (see MySQL Upgrade Strategies) whether I like it or not. Upgrade from 5.8 to 8.0 is officially supported, but I haven't tried it yet. I would share my experience later.
MySQL 8 is a great new release, which I greatly encourage you to try out, because it offers many useful new features that are part of modern SQL. I however expect that the adoption of this new version would take some time and a clear sign for this is that some of the new JSON functionality was back ported to the previous GA release (5.7.22).

2018-03-04

How do I build my server's kernels

With the recent Meltdown and Spectre critical vulnerabilities, I had to recompile my server's kernel quote often, so I established the following routine:

  1. Download incremental patches:

    for pn in `seq 115 118`; do
      wget "https://cdn.kernel.org/pub/linux/kernel/v4.x/incr/patch-4.4.${pn}-$((pn+1)).xz"
    done
  2. Unpack incremental patches:

    for pn in `seq 115 118`; do
      xz -d patch-4.4.${pn}-$((pn+1)).xz
    done
  3. Apply incremental patches:

    for pn in `seq 115 118`; do
      patch -p1 < patch-4.4.${pn}-$((pn+1))
    done
  4. Update configuration:

    make oldconfig
  5. Build:

    time nice -+19 make

All this (except 4) could be automated in a bash script, but I'm feeling lazy, so I wrote it down here for my personal reference.

2018-03-01

I lost my phone :-(

Yesterday, I lost my phone Samsung A5.2016. However, "lost" is perhaps not the right word here, as what I actually done was to forget it in my youngest doughtier kindergarten ODZ 188. I went there to attend an open lesson on hygiene and upon entering the building I was calling my wife. Then, I left the phone on a cabinet, so to be able to put leggins as the weather was wet and that was it. I'm not normally leaving my phone just like this, but perhaps I was in a hurry and distracted. I noticed the lost about an hour later, when I was taking my daughter home, but calling my number was already giving me the "the phone is switched off or outside network coverage" operator message.
I returned to search my phone, but it was gone and nobody knew anyting. Through, the Facebook's group of my daughter's group in the kindergarten, I learned that one of the mothers had noticed my phone when going out from the open lesson, which means it disappeared somewhere between 16:30 EET and 16:45 EET as when I was leaving I haven't noticed any phone on the shelf and I took my daughters art from there. I'm not sure what should I think, but I just cannot comprehend how my phone was taken from a kindergarten, where I'm taking my daughter each working day. I'm already desperate that I would recover my phone, but I'll publish it's IMEI and serial number here for those who eventually may find out that their phone was stolen (although this is not sure).
Phone's numbers

Model: SM-A510F
IMEI: 352937/08/475020/4 (352937084750204)
Serial number: R58H90EPAFM

Anyway, I still have hope that I wold recover my phone, so if you stumble on this message and had bough a second hand phone recently, check your phone and let me know if it matches the information above. I would pay you the price which you've paid if the data is intact.

P.S. It's by the way the second third phone I'm losing in 9 12 years. The first last one was in a restaurant in Constanta, Romania in August 2009. It was a Nokia E65.

Update 2018-03-02 10:00 EET: This morning I filed a complaint with the police.
Update 2018-03-07 08:00 EET: As my wife properly remarked me, it's in fact the third time I'm loosing my phone. The first one was in August 2005 at a gas station returning from the wedding of one of my cousins. It was a Siemens C65.

2018-02-26

ReactOS 0.4.8 RC on VMware ESXi

Over the weekend ReactOS 0.4.8 RC was released. I was able to upgrade and install also VMware Tools, but I wasn't able to run network with e1000 driver, so I continued using vlance as suggested on VMware page in ReactOS's Wiki. I also had a BSOD with error 0xC0000218, related to impossibility to read registry hive, which turned out to be disk problem (see topic Blue Screen crash on VirtualBox in ReactOS's forum).

ReactOS's Desktop

Take a glimpse and try it yourself!

2018-02-25

My Linux virtual machines

I'm a Linux user since 1999 and apart from using Slackware Linux the most, I'm using also other distributions from time to time in my work (e.g. RadHat Linux now Fedora, SuSE Linux now OpenSuSE Leap) and my personal projects and experiments (Debian, Ubuntu, CentOS and others). In 2009 I've built my virtual server based on VMware ESXi hypervisor, with the main idea to be able to build Slackware packages for different releases and both x86 and x86_64 architectures. So I currently have:
And I updated all these (23+1) today :-)

I'm accessing these virtual machines by SSH and NoMachine (for desktops). Being a person of various interests I'm using Oracle Express Edition 11g R2, MySQL, MariaDB и PostgreSQL database systems, different applications like Oracle SQL Developer, MySQL Workbench, PgAdmin III, Meld, kdesvn, Calibre and many others on these virtual machines.

Here below some screenshots:

Debian 9.3 (Stretch) Desktop
Ubuntu 17.10 (Artful Aardvark) Desktop
Fedora 27 Desktop
openSUSE Leap 42.3 Desktop
CentOS 7 Desktop

How many virtual machines are you running in your home environment?

    2018-02-22

    Thanks again (for using all my disk space) Microsoft!

    A Windows 7 virtual machine I'm running is regularly getting broken, because the disk space is out.

    Disk space usage graphic

    My investigations (with the help of Disk Space Analyzer from Glary Utilities) has revealed that this is due to:
    • CBS.log in C:\Windows\Logs\CBS growing large (е.г. several giga bytes at times); and
    • more recently folders C:\ProgramData\Microsoft\Microsoft Antimalware\Scans and C:\ProgramData\Microsoft\Microsoft Antimalware\Definition Updates growing large (several gigabytes on last check).
    Anyone knowing remedy for this (other than "don't use M$" and "don't use Windows Defender")?

    2018-02-17

    Translation of Bugzilla 5.0.4 and 4.4.13

    I was just about wondering what's going on with Bugzilla's development, when this morning I saw the announcement for 5.0.4 and 4.4.13 in my mailbox. Given it was Saturday, I started updating the translations immediately. You could now have them from the usual places (for 5.0 and 4.4). These releases came 1 year and 9 months after the previous ones, which I find rather strange (the bugs fixed for 5.0.4 - e.g. 1273846, 1310728, 1301887 and 1303702 were all reported 2 years ago and some of them were fixed more than a year ago). Both releases were triggered by the security issue (see the security advisory, bug 1433400 and CVE-2018-5123), but I think this is the longest period without a new Bugzilla release in the past 12 years that I'm translating it.

    2017-11-20

    AVG Free Antivirus deletes PowerShell scripts

    Yesterday, as I was working on my PowerShell backup script (see my SPSB project on GitHub) in a Windows 7 virtual machine, I noticed strange behavior. Just like this the script was getting deleted once it was executed automatically by Windows as a Logoff or Shutdown script set up through Local Group Policy Editor. I was struggling to find explanation of this myself or through Googling the Internet as nothing like this was happening on another Windows 7 (real) machine in my WAN network (where the script was actually supposed to work).
    I only understood what's happening after my brother working on the same virtual machine told me via Hangouts that he was receiving strange messages from AVG Free Antivirus about some bak.ps1 script that is being quarantined. It stuck me to once that this was the script I was working on and it explained it's strange disappearance from the file system. I'll still have to find what exactly into the source was causing AVG to quarantine the script file, but I find it rather strange that another system account was receiving the messages from AVG and not the account I was working with.
    I'll update this post when I found what exactly in the script was considered a threat by AVG.

    2015-08-06

    Translation of Bugzilla 5.0

    With a month of delay from the official release here comes the translation of the latest Bugzilla 5.0 in Bulgarian. I started two weeks ago and it took me that much time, because there were ton of modifications in the templates and not exactly into the strings for translation, but the templates need to be synchronized to ensure proper work of the application. I also spent some time identifying and fixing errors in the templates, so I believe this is the best translation ever. Of course, feel free to make me aware if you notice wrong translation or problems.
    Download translations of Bugzilla 5.0 from my FTP site.

    2014-07-27

    Using InfoNotary certificate on OmniKey CardMan 6121 under Slackware

    Abstract

    This small article describes the installation and configuration of OmniKey CardMan 6121 card read under Slackware, which enables the usage of InfoNotary's universal certificates for e-banking.

    Getting started

    Plug in the device to a USB port on your computer, after it's recognized by the kernel in the output of command lsusb you should find the following:

    Bus 001 Device 028: ID 076b:6622 OmniKey AG CardMan 6121

    Installation of device drivers

    The manufacturer of the device offers binary drivers for the CardMan 6121 and other readers.

    Manual installation

    Download the driver archive and unpack it to a temporary directory, then run
    the install script, for example in Slackware64 14.1:
    # cd /tmp
    # wget 'http://www.hidglobal.com/sites/hidglobal.com/files/drivers/ifdokccid_linux_x86_64-v4.0.5.4.tar.gz'
    # tar -xvf ifdokccid_linux_x86_64-v4.0.5.4.tar.gz
    # cd ifdokccid_linux_x86_64-v4.0.5.4
    # ./install
    

    Automatic installation

    A package is provided by the SlackPack repositories for different Slackware versions called pcsc-omnikay, so alternatively, you could use slapt-get utility, configure SlackPack repositories and then just issue the following command:

    # slapt-get --install pcsc-omnikey

    Installation of necessary software

    You need PC/SC Lite middleware for accessing the smart card using SCard API (PC/SC standard), for packages could be found in SlackPack repositories for different Slackware versions. You also need OpenSC tools and libraries for work with smart cards that are used by Firefox and Thunderbird. Packages could be found from the same place.

    Manual installation

    Download the packages into a temporary directory, obtain root privileges and then enter following commands to install them, for example in Slackware64 14.1:
    # installpkg pcsc-lite-1.8.11-x86_64-1gds.txz
    # installpkg opensc-0.14.0-x86_64-1gds.txz
    

    Automatic installation

    Alternatively, you could use slapt-get
    utility, configure SlackPack repositories and then just issue the following command:

    # slapt-get --install pcsc-lite opensc

    The PC/SC Lite daemon from the package comes bundled with a startup/shutdown script, so you could start it by just issueing the following command:

    # /etc/rc.d/rc.pcscd start

    If you want the daemon to start automatically with the system, then just add it to local initialization script like this:

    # echo '/etc/rc.d/rc.pcscd start' >> /etc/rc.d/rc.local

    Configuration of Firefox

    Now that the driver and necessary software are installed
    it remains only to configure Firefox to be able to communicate with the card read. This is done in the following way:
    1. Open Edit -> Preferences;
    2. In Firefox Preferences window navigate to Advanced, then to tab Certificates;
    3. Click on Security devices button;
    4. In window Device Manager that opens click on button Load on the right;
    5. Enter "OpenSC PKCS#11 Module" in Module Name and select
      /usr/lib64/onepin-opensc-pkcs11.so file as Module filename, then
      click OK;

    After the module is loaded the window manager would display the information about the reader:

    See also