Category Archives: Blog

Speed up ZFS on linux resilvering times

You can speed up resilvering times on ZFS (on linux) by temporarily changing the following settings:

echo 0 > /sys/module/zfs/parameters/zfs_resilver_delay
echo 512 > /sys/module/zfs/parameters/zfs_top_maxinflight
echo 5000 > /sys/module/zfs/parameters/zfs_resilver_min_time_ms

To reset back to defaults, do:

echo 2 > /sys/module/zfs/parameters/zfs_resilver_delay
echo 32 > /sys/module/zfs/parameters/zfs_top_maxinflight
echo 3000 > /sys/module/zfs/parameters/zfs_resilver_min_time_ms

A reboot of the system should also reset these defaults.

MariaDB disable automatic root authentication

If you are like me, you wouldn’t want anyone with console access to your server to be able to have root credentials to the database engine if they own your server. The use of “mysql -u root” should not by default grant you root on the database server.

Well apparently in MariaDB 10.1.xx I found out this was the case, because of something they call “plugin” feature of “unix_socket” which is the default.

If you are seeing this on your system and want to confirm that’s why, use the following query in the mysql shell:

MariaDB [(none)]> select Host,User, Password,plugin from mysql.user;
+-----------+------+-------------------------------------------+-------------+
| Host      | User | Password                                  | plugin      |
+-----------+------+-------------------------------------------+-------------+
| localhost | root | *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 | unix_socket |
+-----------+------+-------------------------------------------+-------------+

So to fix this, reset or update your root password first then execute this inside the mysql shell:

UPDATE mysql.user SET plugin = '' WHERE user = 'root' AND host = 'localhost';

Homelab 2017 refresh

My faithful Lenovo TS440 home server has reached its peak potential as I have maxed out the 32gb memory limit of the Intel E3 v3 architecture.

My needs for more CPU power and memory is driven by the idea of hyperconvergence. Which means I use a single machine to be my router/firewall, VPN gateway, network storage as well as virtual machine host.

Those themes have been part of my home network design since 2010 or so, today’s hot technologies are focusing on containers (LXC), Docker, etc. So I need a more powerful server in order to be able to expand my playground into those technologies. The 32gb maximum on my old server is simply not enough when you have 5 different VMs that consume almost all your memory resources (windows 10 VM, OSX one and my FreeNAS one being the top users of 75%+). Continue reading

3 week post-LASIK update

If you are following my LASIK journey, where I drove to Mexico to get it done. This is my 3 week post-op update.

I’ll keep it brief and summarize my experience over the past 3 weeks. If you read my initial post you know that I had moderate Hyperopia (farsightedness) plus astigmatism that I wanted to get corrected.

Continue reading

TeamViewer monitoring and instant push notifications

It has been almost a year since that massive reddit post with people freaking out about their TeamViewer accounts getting hacked [link].

Since then I have always wished team viewer would notify my cellphone every time someone connected or disconnected from my workstation, since I am the only user that connects to it I find the peace of mind extremely valuable and I wouldn’t mind getting some push notifications each time I used TeamViewer.

As TeamViewer themselves don’t have this feature I decided to write my own little program that will  send instant notifications to any phone for anyone connecting to your workstation using TeamViewer. Say hello to go-TValerts!


I have released my code as open source, written instructions on how to install and implement it. Find out more at github.com/TheLinuxGuy/go-tvalerts

I drove to Mexico to get LASIK eye surgery

This is a follow up post about my research for LASIK vision correction. You can read it here.

Why Mexico?

Based on the technology advantages of the AMARIS 1050RS laser system that is widely available in Europe, Latin America, Canada but not in the United States I ended up deciding to get my vision corrected using the latest technology. Continue reading

Xenserver 7.1 a good contender to replace esxi

I have been a big fan and user of vmware ESXi for years, I started playing with it since circa 2008. The bare metal hypervisor and its easy to use GUI on Windows makes virtualization management extremely easy.

However in the past couple of years the free version of esxi has moved to HTML5 web management, and in the latest ESXi version the Windows client (vSphere client) requires you to pay for a license a run a central vcenter server/vm in order to manage via GUI (non-web).

Continue reading

Why certain programs launch fine on Start > Run on Windows but not from the command line

On windows, if you run a program such as Chrome.exe (Google Chrome Web Browser) via control + R (run) it will launch without a hitch as long as the browser is installed.

However, if you open the command line and you attempt to run “chrome.exe” it will complain that the executable is not found in the %PATH%

This is because Control+R also looks up the registry values within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\

Which include all apps ever installed such as Chrome.exe, Firefox.exe, Excel.exe, Illustrator.exe, etc.

So if you are ever writing a program in your programming language of choice, using a Windows Registry check of the location (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths) for whatever.exe will be the perfect solution when that program is not in the System Environment variable %PATH%

Fix Webstorm “Plugin ‘Go Lang Plugin’ is incompatible with this installation

If you are running Webstorm IDE (my version as of writing is 2016.3.2) and you are trying to ‘install from disk’ the Golang plugin and get this error:

You may have tried to upload a .zip version 0.171.XXX and got this error. To fix it:

  1. Download plugin version (0.13.xxx) just download the latest one that begins with 0.13 (disregard the top of the list that has a version 0.171.xx as they are incompatible with Webstorm.
  2. Go-0.13.1924.zip is the latest one as of writing.
  3. After loading the .zip file into the program it should ask to restart Webstorm.
  4. You should now have successfully installed the Golang plugin on Webstorm IDE… confirm by going to Settings > Plugins


That’s all folks  🙂

My LASIK research for hyperopia and astigmatism

This will probably be part 1 of my research into getting LASIK surgery to correct my hyperopia (also called hypermetropia or farsightedness) combined with some mild astigmatism. Continue reading