HOWTO: find out the PDF.js version built into Mozilla Firefox

To find out the version and build number of PDF.js (built into your installed version of Mozilla Firefox), you should visit a specific URL (if it doesn't work, just try to copy-and-paste it):
and look patiently at the beginning of that page.

E. g., for Mozilla Firefox 38.0.5 we can get the following:

PDFJS.version = '1.0.1149';
PDFJS.build = 'bc7a110';

(To view more of its internals, just visit resource://pdf.js/. Note: if you browse through that, the address will expand to a specific path pointing to some file inside some library-archive of Firefox, e. g., jar:file:///path/to/firefox/dir/omni.ja!/chrome/pdfjs/content/build/pdf.js).



The 3rd edition of The Art of Electronics is finally out!

The 3rd edition (2015; the previous ones were of 1989 and 1980 respectively) of The Art of Electronics masterpiece (by Paul Horowitz and Winfield Hill) has been finally released!
Haven't held it in my hands yet, but this great book looks impressive at least (consisting of more than 1000 pages, weighing more than 2 kg and costing more than 100 USD currently).

  1. The Art of Electronics on Wikipedia
  2. The official Art of Electronics website
  3. The Art of Electronics (3rd edition) on Amazon.com


HOWTO: get a highest-resolution version of an image on Last.fm

Sometimes you can find an interesting picture on Last.fm, but don't have an obvious option to zoom in. Fortunately, sometimes you can view it in a better quality too (it depends on the originally uploaded image resolution):
  1. First of all, copy the URL of a necessary image; you should get something like this:
  2. Then you'll need to modify the URL a little; just replace the entire substring consisting of alphanumeric characters between the two slashes after the "serve" word and before the image number with a single underscore:
  3. Just paste the modified image URL into your browser's address bar and enjoy the (big) picture!


Audio file tag editors

Here are some of my favourite audio file (music etc.) tagging / tag editing applications.
  1. Free, open-source, multi-platform (Linux, Mac OS X, MS Windows etc.)
  2. Free, closed-source, Win32 only.


Firmware update downloads for some Samsung HDDs

Seagate acquired Samsung's HDD business back in 2011, nevertheless the existing firmware updates for some legacy Samsung HDDs are not available for download from the official Seagate site (look here).
So here are some firmware update download links collected from public sources :)

ModelFamilyFirmware version (latest known)Download
HD501LJSpinPoint T166CR100-13Dell / Drivers / R180581

Outdated important software packages in Debian unstable

Debian bug numbers get added if known. The packages are organized in collections by date. Updated ones should get striked out.

Hints: how to upgrade customized Micron C400 SSDs to the latest generic firmware version

Important notes:
  1. DISCLAIMER: this guide is provided here only "just for fun" for experimental, research and educational purposes without any guarantees (even no repeatability guaranteed, as this guide has been based solely on just one particular specimen device, sorry), so use it at your own risk (even more, the so-called "reverse engineering" can possibly be illegal in some areas);
  2. ATTENTION (DANGER): it can result in an irreversible destruction of any data stored on the target device (including the loss of important metadata like device usage statistics, but it's not wise to hope it will heal / recover / restore any worn-out memory blocks / chips or make the device good as new in performance) and, in theory, on some other storage devices -- please back up first;
  3. CAUTION: it may even brick your device;
  4. WARNING: moreover, it may void the warranty, if any.


HOWTO: reload mouse driver in Linux

Sometimes your mouse device (it can be even a touchpad or a trackball) can unexpectedly get stuck [maybe it's a new bug that should be reported?!] in the middle of your work (or maybe it just didn't get recognized after plugging it in).
In such cases, reloading the mouse driver may help (e. g., for PS/2 mouse driver, Linux kernel module is called "psmouse"):
# modprobe -r -v psmouse
# modprobe -v psmouse
You can also get info on any kernel driver modules installed in your system to support different mouse types (e. g., for serial mice, the kernel module is called "sermouse"), and also check if it's currently loaded:
$ ls /lib/modules/$(uname -r)/kernel/drivers/input/mouse
...  sermouse.ko  ...
$ /sbin/modinfo sermouse
$ lsmod | grep sermouse
Note: the trick will fail if the needed module is built-in.

Last updated: 2015-01-15


HOWTO: work around SATA HDD hotplug problem (in Linux)

Sometimes some SATA controllers do not recognize an attached HDD if it was hot-plugged after the Linux system has been booted. Fortunately, there're some simple workarounds (note: it should work for some PATA controllers too).
  1. A standard "soft" solution (should work by default):
    1. Connect the HDD to the SATA controller (and make sure it doesn't get auto-recognized by the system).
    2. Force a rescan of SCSI buses:
      # for h in /sys/class/scsi_host/host*/scan; do echo "- - -" > $h; done
    3. Ensure the drive has been recognized (check the dmesg logs, run lsblk etc.) and enjoy it!
  2. A more "aggressive" method
    (note: some old SATA controller made by VIA Technologies and managed by sata_via kernel driver is used here for sample purposes; should work with any recent 2.6+ Linux kernel versions):
    1. To prevent any data loss, flush caches & unmount all the mounted partitions for all the drives connected to any VIA SATA controller(s) installed on the affected system!
    2. Remove the kernel driver module (verbosity is helpful sometimes):
      # modprobe -v -r sata_via
    3. Physically attach (or detach) any drives to the VIA SATA controller.
    4. Re-insert the kernel module:
      # modprobe -v sata_via
    5. Enjoy!
  1. Scanning Storage Interconnects - RHEL7 Storage Administration Guide
Last updated: 2014-06-20


Nonsensical minor long-running bug in Ubuntu

The file containing a default Ubuntu wallpaper is still named 'warty-final-ubuntu.png' (in honor of the first Ubuntu release, 4.10 "Warty Warthog"), but this PNG image actually became a JPEG one sometime in 2008!
The following "bug" still affects the "ubuntu-wallpapers" package versions found in the current Ubuntu stable (13.10 "Saucy Salamander") and development release (14.04 LTS "Trusty Tahr") repositories:
Nobody cares. Enjoy! :)