Unix Command comm: Compare Two Files

, 1 min read

One lesser known Unix command is comm. This command is far less known than diff. comm needs two already sorted files FILE1 and FILE2. With the options -1 suppress column 1 (lines unique to FILE1) -2 suppress column 2 (lines unique to FILE2) -3 suppress column 3 (lines that appear in both…

Unix sort Issue

, 1 min read

I wondered why Unix sort behaved strangely. printf "A0 1\nA 1\n" | sort delivered A0 1 A 1 Of course, I expected A to come before A0. This was strange, as printf "A1 1\nA 1\n" | sort produced A 1 A1 1 just as expected. Also, printf "A0\nA\n" | sort orders A…

Parallelization and CPU Cache Overflow

, 4 min read

In the post Rewriting Perl to plain C the runtime of the serial runs were reported. As expected the C program was a lot faster than the Perl script. Now running programs in parallel showed two unexpected behaviours: (1) more parallelizations can degrade runtime, and (2) running unoptimized programs…

Rewriting Perl to plain C

, 7 min read

Perl script was running too slow. Rewriting it in C made it 20 times faster. 1. Problem statement. Analyze call-tree dependency in COBOL programs. There are 77 million lines of COBOL code in ca. 30,000 files. These 30,000 COBOL programs could potentially include 74,000 COPY-books comprising 10…

Hashing with Iterator in C

, 6 min read

Many scripting languages, like Awk, Perl, Python, Lua, and so on, have hash-tables already built-in. I needed hashing functionality similar to Perl's hash-variables. In particular I needed lookup, insert, and iterating over all entries. I wrote on hashing in Hashing Just Random Numbers and Hash…

Filippo Mantovani: ARM for HPC

, 1 min read

On 23-Oct-2017 Filippo Mantovani held a talk in Darmstadt on "Mobile technology for production-ready high-performance computing systems: The path of the Mont-Blanc project". Unfortunately I was unable to attend, but Mr. Mantovani sent me his Darmstadt Seminar slides. As his slides and…

Optimal Product Portfolio

, 2 min read

1. Prerequisites Assume one owns $n>0$ different products, $n\in\mathbb{N}$, usually $n\approx 100$. Each product has a cost $c_i>0$, $c_i\in\mathbb{R}$, associated with this ownership, $i=1,\ldots, n$. Let $N=\left\{1,\ldots,n\right\}$, and $\mathbb{P}(N)$ be the powerset of $N$, i.e., the…

Statistics of this Blog: Crossed 60.000 Views

, 1 min read

This blog was viewed more than 60.000 times since its inception and had more than 45.000 visitors. I wrote about the development of this blog as follows: 2014/05/07: 5,000 Views 2014/09/10: 10,000 Views 2014/12/27: 15,000 Views 2015/04/23: 20,000 Views 2016/01/24: 30,000 Views 2016/11/12: 40,000…

C Pointer Surprises

, 1 min read

An article by Krister Walfridsson on C pointers are not hardware pointers demonstrated that even adjacent integer variables having the same hardware address may compare unequal regarding C pointers. See the following C program: #include <stdio.h> int main(int argc, char *argv[]) { …

Text Analysis using Concordance

, 2 min read

When analyzing longer text, especially if this text was written by oneself, it helps to read the text in a different way, here using a concordance. Assume your text is provided as PDF. Convert PDF to text using pdftotext, which is part of package poppler. Replace line breaks in text file with…

Contributing to Hugo Static

, 1 min read

The discussion forum for Hugo contains a description: Hugo development - how to contribute code. Also see Contributing to Hugo. 1. Preparation First set GOPATH as export GOPATH=$HOME/tmp/H then cd $GOPATH Fetch source with go get time go get -u -v github.com/spf13/hugo takes around 1-2 minutes…

HP ePrint Obsolescense

, 1 min read

HP (Hewlett Packard) manufacturer of printers of various sorts (laser, ink) unfortunately again decided to annoy its loyal customers. Repeatedly HP updated firmware in printers so that they do not work with alternate ink, see for example Disabling 3rd-party ink ensures “best printing…

Five-Value Theorem of Nevanlinna

, 2 min read

In German known as Fünf-Punkte-Satz. This theorem is astounding. It says: If two meromorphic functions share five values ignoring multiplicity, then both functions are equal. Two functions, $f(z)$ and $g(z)$, are said to share the value $a$ if $f(z) - a = 0$ and $g(z) - a = 0$ have the same…

Embedded Documents in MS Word

, 1 min read

Recently I had trouble opening PDF documents embedded in Microsoft Word. I speculated about the following reasons for this problem: Adobe Acrobat not installed, I use MuPDF Embedded document simply not "really" embedded but just an icon There is an easy solution. Microsoft Word 2007…

Statistics of this Blog: Crossed 50.000 Views

, 1 min read

This blog was viewed more than 50.000 times and had more than 37.000 visitors. I wrote about the development of this blog as follows: 2014/05/07: 5.000 Views 2014/09/10: 10.000 Views 2014/12/27: 15.000 Views 2015/04/23: 20.000 Views 2016/01/24: 30.000 Views 2016/11/12: 40.000 Views The averages…

Youtube 500 Internal Server Error

, 2 min read

As noted in Youtube 500 Internal Server Error today I again noted an "500 Internal Server Error". Normally you would not expect these kind of errors from Google. It says: Sorry, something went wrong. A team of highly trained monkeys has been dispatched to deal with this situation. If you…

Converting WordPress Export File to Hugo

, 5 min read

I have written on the Hugo static site generator here. Now I have written a migration program in the Go programming language to convert from WordPress export format to Hugo format. This program wp2hugo.go is in GitHub. It can be freely downloaded and does not need any further dependencies, except,…

Browsing Linux Kernel Source with Grokbit

, 1 min read

In June 2016 Gustavo Duarte launched Grokbit (dead link). This allows to very easily browse the Linux kernel source tree. This is much better than using Perl, find, grep, etc. for wandering through the code. Added 01-May-2020: Link is dead, so no more grokbit.

Using Odroid as IP Router

, 18 min read

I purchased an Odroid-XU4 for ca. 80 EUR including power-supply and case from Pollin. The original manufacturer is hardkernel. I intended to use this small ARM computer as a router and firewall. In the past I had used routers from multiple vendors, e.g., Linksys/Cisco, TP-Link, AVM/FritzBox,…

Exceeding 10.000 km with E-Bike

, 1 min read

As described in Commuting to Work with an E-Bike I drive to my work place using an e-bike. As I found out that using a bike is a viable alternative to public transport I bought a better e-bike after about a year. I bought my first e-bike in March 2015, my second in December 2015, and used it since…