SSD Speed on Dell XPS 13 9350

In Hard-Disk and SSD Speed Comparisons I compared a Mushkin SSD with 60 GB against a ADATA with 128 GB against a Seagate 1 TB hard disk drive. The SSD’s had roughly three times the speed of the hard disk drive. I.e., 380 MB/s vs. 134 MB/s for reading Mushkin vs. Seagate, and 297 MB/s vs. 131 MB/s for writing ADATA vs. Seagate.

I also compared USB-thumb-drives against above Seagate 1 TB hard drive in Hard-Disk and USB Drive Speed Comparisons. Read times were comparable (100-200 MB/s), while for writing the Seagate drive was roughly 4 to 5-times faster (100 MB/s vs 20 MB/s).

Hard drives speeds and prices in 2013 are given in Harddisk Drive Speed in MB/s. Read speeds are roughly 200 MB/s for enterprise drives.

Now the read- and write-speeds of the SSD in the Dell XPS 13 9350 are quite astonishing: up to 1.5 GB/s for reading, 532 MB/s for writing. Even if you use LUKS/dm-crypt the values are 840 MB/s for reading, and 428 MB/s for writing. Below are the measurements using gnome-disk-utility.

Without encryption:
Screenshot from 2016-07-17 14-47-25

Continue reading

Considerations when converting from to Hugo

At times uses its user base to experiment with some half baked new features, see for example Classical editor in, or see this Hello Jekyll, bye! These are the times when I consider migrating from to another blogging platform. Usually after some grumbling I stick with, simply because it is very good. is working very reliably, offering a multitude of features not found elsewhere.

Hugo is probably the best choice regarding static website generators. Hugo’s strongest point is its speed, see 6 Static Blog Generators That Aren’t Jekyll. As this blog has more than 200 posts, and my other blog at Collected Links has almost 3.000 posts, speed is of concern. For a list of more static website generators see Top Open-Source Static Site Generators.

Below is a list of obstacles when considering migrating from to Hugo static website generator.

Below is a list of tasks and open issues when migrating from to Hugo:

  1. Migration itself: as of today there does not seem to be an out-of-the box migration toolkit. Ideally one takes the XML export file to start Hugo
  2. Automatic showing “Related to” blog posts
  3. Scheduled tasks: Using some crontab or at-job machinery will probably do the trick
  4. site stats: As the stats are no longer available one has to either use Google analytics, or analyze the weblog of the web-server. Right now I find the statistics page quite informative and I prefer it to the convoluted statistics page found on Google Analytics.
  5. top posts, blog stats directly on the blog
  6. Android app for publishing posts when you don’t want to turn on your laptop or desktop machine
  7. publicize, i.e., automatically sharing new posts on Google+, Twitter, Tumblr, etc.
  8. posting posts by e-mail

Below list of features are already built-in in Hugo, and there is no need to work around it:

  1. math equations
  2. the “more”-tag seems to be there, it is called summaries

Exporting Exchange/Outlook GAL to vCard

This post is about the Microsoft Exchange GAL, i.e., the global address list. The task is to export the data in the GAL to vCard format.

Microsoft Outlook stores local caches of the GAL in %userprofile%\Local Settings\Application Data\Microsoft\Outlook, see Administering the offline address book in Outlook. On my computer they look like this

 Listing of D:\Users\...\AppData\Local\Microsoft\Outlook\Offline Address Books\...

21.05.2016  20:44    <DIR>          .
21.05.2016  20:44    <DIR>          ..
21.05.2016  20:44         3.818.260 uanrdex.oab
21.05.2016  20:44           686.956 ubrowse.oab
21.05.2016  20:44        56.310.184 udetails.oab
21.05.2016  20:44                20 updndex.oab
21.05.2016  20:44         1.373.676 urdndex.oab
21.05.2016  20:44            25.915 utmplts.oab
               6 Files,      62.215.011 Bytes

Continue reading

GCC 6.1 Compiler Optimization Level Benchmarks

In Effect of Optimizer in gcc on Intel/AMD and Power8 I measured speed ratios between optimized and non-optimized C code of three on Intel/AMD, and eight on Power8 (PowerPC) for integer calculations. For floating-point calculations the factors were two and three, respectively.

Michael Larabel in GCC 6.1 Compiler Optimization Level Benchmarks: -O0 To -Ofast + FLTO measured various optimization flags of the newest GCC.

For a Poisson solver the speed ratio between optimized and non-optimized code was five.


Convert ASCII to Hex and vice versa in C and Excel VBA

In Downloading Binary Data, for example Boost C++ Library I already complained about some company policies regarding the transfer of binary data. If the openssl command is available on the receiving end, then things are pretty straightforard as the aforementioned link shows, in particular you then have Base64 encoding. If that is not the case but you have a C compiler, or at least Excel, then you can work around it.

C program ascii2hex.c converts from arbitrary data to hex, and vice versa. Excel VBA (Visual Basic for Applications) ascii2hex.xls converts from hex to arbitrary data.

To convert from arbitrary data to a hex representation

ascii2hex -h yourBinary outputInHex

Back from hex to ASCII:

ascii2hex -a inHex outputInBinary

Continue reading

No YouTube Videos on Google Chrome v50

After upgrading to Google Chrome version 50 I could hear sound in YouTube videos, but no images/video. At first I thought this was a matter just affecting me. Now I noticed that another machine which I upgraded to Google Chrome v50 also lost the ability to watch video in YouTube. This other machine had a different graphic setup, so the problem was not something related just to my graphic-card configuration. The same problem is true for Chromium. For some time I switched to Firefox, which does not suffer from this hitch.

Luckily I had yet another machine which still had a working Google Chrome v49 browser. I used the very handy fakepkg program written by Gordian Edenhofer to make an Arch package from this v49 installation, see also pacman/Tips and tricks and the bacman command. And voilà, I can now downgrade to a usable Google Chrome version, whenever there is a need:

pacman -U google-chrome-49.0.2623.112-1.pkg.tar.xz

I called

fakepkg google-chrome

which after two minutes generated google-chrome-49.0.2623.112-1.pkg.tar.xz. These two minutes are mostly due to compressing with xz.

Google Chrome is in AUR. I recommend to set


in /etc/makepkg.conf, so AUR packages are cached, very similar to the “normal” packages.


pacaur -Syu --ignore google-chrome

to ignore updates for Google Chrome, or use IgnorePkg=google-chrome in /etc/pacman.conf, see Skip package from being upgraded.

See also Google Chrome Became a Performance Hog.

Update 04-Jun-2016: Chromium 51.0.2704.63 is fine again, i.e., it shows video.

Upgrading from OxygenOS 1.0.3 to 2.1.4 on the OnePlus One Smartphone

This short guide describes how to upgrade your OnePlus One Smartphone from OxygenOS version 1.0.3 to 2.1.4. In this case the initial version of your OS is of no relevant importance — you can also upgrade from version 1.0.0, but see Installing OxygenOS 1.0 on the OnePlus One Smartphone and Upgrading from OxygenOS 1.0.0 to 1.0.3 on the OnePlus One Smartphone.

Before start we need adb and fastboot. On ArchLinux these programs are in android-tools:

pacman -Syu android-tools

Copying the OS image to the phone takes almost three minutes.

adb devices

time adb push /sdcard/
4842 KB/s (767726302 bytes in 154.821s)

real    2m34.909s
user    0m0.007s
sys     0m0.683s

Upgrading from OS 1.0.3 to 2.1.4 is apparently not possible by using TWRP. OxygenOS 2.1.4 for the OnePlus One says
Continue reading