Back to main page

Backstage - the story of this site

Back to main page


Comments or questions? E-mail:

(To top) Intro

This collection of HTML pages is a place where I put some of my thoughts and experiments which I judged too precious to be forgotten. Also, they might find some application.

My private hobby

This is my private hobby. I do not get any money for it but I am pleased if you like it and I will be even more pleased if I get some feedback.
I am not affiliated with any of the companies mentioned on this site.


Did I mention that I hate software patents? IMHO they contradict free science and only make lawyers and patent trolls rich but otherwise hinder progress and ruin companies; the original goal of rewarding inventors and pushing progress is almost never met.

Commercial-free pure HTML implementation

I want the contents of this site to be presented commercial-free and free to use for everyone. Also I kept out all kinds of superfluous or potentially nagging stuff such as animated images, videos, sounds, (possibly time-consuming) scripts, cookies, social buttons, or automatically loading any contents (such as scripts, images, fonts) from other sites ("third parties"). Tools like Adblock Plus and Ghostery should not show anything suspicious. It is exclusively pure HTML with CSS. PHP is used on few pages to generate such HTML to allow for redirection (on the main page) and to get my online source code generator for bit permutations running.

Source creation

I have created all these pages manually, i.e. with simple text editors (i.e. my ancient foldED (DOS/Windows) and gedit (Ubuntu)) and without a design tool.
When you stumble over lines containing @/// or @\\\ you will know that this is folding information (headline and footer) from foldED. These lines may appear in almost any text files (e.g. html, pas, c, h, asm, bat, txt).
By the way, you can download all sources with fold comments as well as the ones where the fold comment lines were converted to ordinary comments using a tool.

Programming languages

For the used programming languages I chose C / C++, Pascal (Delphi style), and x86 assembler (Intel style).
The Pascal programs generally have a corresponding version in C or C++. In order to ease keeping them in sync I have usually resisted to use language features which are difficult to translate such as classes, macros, or templates.

C / C++

C / C++ appears to be ubiquitous.
I am not too fit in C / C++ and not really a fan of it for several reasons. However I must admit that e.g. GCC produces quite impressive machine code.
In most cases I have resisted to use C++ (classes and templates) and much #define stuff (e.g. for emulating Modula-style syntax). However for some the newest stuff on this site it has become necessary to use classes (methods for the access records) and templates (to ease string handling) or even C++0x or later features.


Pascal (Delphi dialect) is the programming language I use for work and hobby since 1983 (this was Turbo Pascal on an Apple II using a Z80 processor on an extra card). There is always a lot one wishes to change, and naturally Pascal is no exception.


Within Delphi there is an internal x86 assembler which is quite convenient to use. So it is natural for me to use x86 assembly language in Intel-style. I also use NASM as an external assembler and enjoy the advantages of macros Delphi is sourly missing. Also the latest CPU instructions (for example BMI2) are available this way since NASM is kept up-to-date.

Source usage

The sources are currently not really meant to be used directly. Copy and adapt the parts you need.
I hope that some of this work has some influence on a future C++ standard. Currently I am working on a templated C++ version of my sources but I am unsure about the future of the Pascal version or a version in just another language.

Written language

I have kept these pages in (American) English because I want the texts to be understood by many ("everybody's second choice"), and I do not want to maintain several translations. Also, English seems to be the only major language without special characters such as accents or umlauts. This makes writing HTML somewhat easier although I could easily use UTF-8
English is not my mother tongue. If you see any errors (even minuscule ones such as misspellings) in my texts please do not hesitate to report them to me via e-mail:
I hereby apologize for my bad English.

(To top) Motivation

While reading the book Hacker's Delight I was impressed by all the bit hacks and the SWAR operations. I hunted for further hints in the Internet and found several pages about counting bits and the like. Finally I stumbled upon the articles of Hilewitz/Lee. I thought it must be possible to develop a bit parallel implementation of the butterfly network and the generator routines…
In the meantime I have added several chapters and a lot of functions to the test programs. The world of bit permutations is much larger than I once thought, and this site is becoming kind of an encyclopedia thereof.

Since there is now a place for posting my stuff, I wonder what will come next. By now the site keeps growing. Unfortunately the feedback is about zero but at least there seems to be a very small but steady stream of visitors.

(To top) Bookmarking

Since 2012-10-01 this site is hosted on "real" web space, so I no longer use a redirection to a quasi-static ip address of a private server.
You might bookmark each page with the displayed address; however you can - as you could do before - bookmark each page as e.g. With the latter method you are on the safe side.

(To top) Date format

I have used the ISO 8601 date format YYYY-MM-DD in this site since this is the most sensible and unambiguous format; most other alternatives are too easily mixed up. BTW: This is the date format used in Japan.

(To top) Name and logo

Sirrida is an ancient Chaldean moon goddess often depicted as a disk with 8 extending rays. The small "to top" icons beneath the headlines resemble this.

I have chosen Sirrida as the name because I like its sound and its heritage.
BTW: Sirida (with a single "r") is also a variant of Sigrid.

The main logo is inspired by a symbol of the related god Shamash:

Image: Shamash in his shrine, his emblem before him on the altar

I found this image as well as some info about Sirrida in an article of the Gutenberg project.

(To top) Citations

Bit twiddling (1)
"1. (pejorative) An exercise in tuning (see tune) in which incredible amounts of time and effort go to produce little noticeable improvement, often with the result that the code becomes incomprehensible."

Bit twiddling (2)
"Programming at a very low level (manipulating the bits and bytes). Also may refer to spending excessive time on unimportant refinements. See hacker."

Bertrand Russell:
"There is much pleasure in useless knowledge"

My friends at YeaSoft describe me as being "the genial mad scientist of computer magics". :-)

(To top) Thanks

Helmut Ritz for his patience and for uncountable discussions and development hours.
Bernhard Helmes for hosting my pages from the beginning until 2012-10-01.
Harold Aptroot for pointing out errors and for giving hints.
Hans-Heinrich Hohl for spending numerous afternoons for years and guiding our small group through our first experiences with computers on a Wang 2200 B (an ancient predecessor of a PC, 1973) in BASIC since 1973/1974 at my school Otto-Hahn-Gymnasium in Bensberg and Interatom and our parents for sponsoring this computer which did cost a fortune at that time.

You may bookmark this page as
Last change: 2016-23-06