Keeping Your Programming Skills Fresh

"Writing a book is equal parts frantic research and tedium, and in the first of many moves designed to convince myself that my actions had a positive effect on a cruel and uncaring universe, I took up Michael Schwern's call to unify the internals of Test::Simple and Test::More. The result is Test::Builder.
......
This was a revolution for everyone on the perl-qa list and it was a revolution for Perl in general, but it's the kind of revolution that you look back on now and think "Wow, that was obvious!" and "That was a revolution?" because it seems like such widespread common sense, like "It's good to drink water!" and "Maybe smoking has deleterious health effects."
......
It was important to keep my programming skills fresh, so I increased the amount of time spent contributing to free software projects (in and around writing books). Parrot sucked up a lot of my efforts.
......
For someone whose life obligations preclude selling everything and living on a beach in Thailand or Belize for a year, how do you evaluate a career reaching its midpoint? How do you keep programming fresh? How do you market yourself as someone who solves problems instead of someone who transcribes ideas in the language du jour? Or do you leave programming altogether?
-- chromatic, emphasis added
Stumbled upon this post again. Rather than seeking outwards goals, why not look within yourself and start making yourself happy? No need to prove anything, to anyone and yourself. At the end of the day, this does not matter anymore. Rather, seek tranquility. Treat yourself better. Be kind of your self. Listen to your body. And stop bullshitting yourself.

Do I still want to keep my programming skill fresh? Yes. If so, you'll find time to do it regardless what. Nobody can prevent you from doing something you love and enjoy. Remember to take a break, don't overdo it. Rest is important.

Ingenuity of a System Administrator

"Back in the early 90's when I was in college and everyone had email accounts on shared unix servers that they'd log into, a sysadmin friend would oftentimes notice that the disk would be getting close to full. He'd start a process that would slowly fill up disk space, and wait as all the other logged in users would realize they could no longer save files - then they'd frantically start to delete files they no longer needed. After a while he'd cancel his process and the system would have a lot more space."
-- tunesmith, emphasis added.
Never underestimate the ingenuity of a system administrator. Funny yet brilliant trick to "motivate" users in the server to clean up their unused files there. I'm wondering will that work for the servers I'm handling right now? Is this trick going to backfire? The only concern is that you've to be extra careful when you fill up your server space intentionally. You may accidentally lock yourself out from remote login as I remember, SSH to a server do uses up a little bit of hard disc spaces.

Enable Touch Screen for Google Chrome in Ubuntu 14.10

My lappy, the Samsung 915S3G (see result below) which has touch screen support since the first day I've bought but never bother about it until today.
$ sudo dmidecode | grep "System Information" -A 3
System Information
    Manufacturer: SAMSUNG ELECTRONICS CO., LTD.
    Product Name: 905S3G/906S3G/915S3G
    Version: P03RBV

Since I've been reading a lot of PDF files and the keyboard of this lappy is just atrocious, is best to enable and calibrate touch screen support to obtain the best usage experience.

First, let's install the calibration program to detect your device manufacture name. This will be useful later when you want to set the default input device to Google Chrome.
$ sudo apt-get install xinput-calibrator

Run the calibration program, touch four points on your screen to calibrate your device, and save the result. As shown below, our touch screen device name is "ELAN Touchscreen" with id of 12.
$ xinput_calibrator 
        Setting calibration data: 0, 3776, 0, 2112
Calibrating EVDEV driver for "ELAN Touchscreen" id=12
        current calibration values (from XInput): min_x=0, max_x=3776 and min_y=0, max_y=2112

Doing dynamic recalibration:
        Setting calibration data: -15, 3795, 1, 2118
        --> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ELAN Touchscreen"
        Option  "Calibration"   "-15 3795 1 2118"
        Option  "SwapAxes"      "0"
EndSection

Alternatively, we can find the device id of our touch screen device using the xinput command below. The device id we need is 12.
$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ WebCam SC-10HDD13335N                     id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]

Lastly, we'll start Google Chrome browser by setting the input device id found above.
$ google-chrome --touch-devices=12