Table of Contents
All Things Software
This is just a bag'o'things, really. Links and tidbits of information that I keep referring to, and prefer to keep online for easier reference.
Projects
- PDCLib – The Public Domain C Library
- Encodings Table – A reference of the various ISO-8859 encodings, Windows codepages, Unicode character names, UTF-8 encodings etc.
Rants and References
- Machete Debugging – Occam's Razor applied to the jungle of debugging.
- Amiga's LibraryBase – How AmigaOS managed without virtual addressing.
- Why People Hate Microsoft (...and Linux) – A rant about the good old times of home computing and OS alternatives.
- Versioning Style Guide – My take on software versioning. Dated, and in dire need of a rewrite (and better presentation), but still my preferred scheme.
- Negix -- Things not POSIX – Archived blog articles from the (discontinued) Negix site.
Bits and Pieces
Unless otherwise noted, all my sources are released under Creative Commons CC0 (i.e., Public Domain for all practical purposes except in name, due to a braindead restriction in German copyright law).
A frequently-used C++ macro that faciliates generating a std::string
from anything that supports operator«( ostream &, … )
. Including explanations as to why it has to be done this way and no other.
I want my favourite editor to give me the same look & feel wherever I go. So I did put my configuration online for easier reference.
How to put a copy of your script output into a logfile.
Debugging Regular Expressions
StackOverflow user ephemient posted this bit of Perl knowledge:
perl -Mre=debug -e '"string_to_match"=~/regex/'
Two-way sync between SVN and Git
When migrating PDCLib from Bitbucket / Mercurial to a local Subversion, I wanted to provide the advocats of Distributed VCS with a way to get the PDCLib sources “their way”.
There were multiple how-to's available online, but none of them really did work the way they were supposed to. Ben Lobaugh's article came really close, and was the most helpful.
But in the end, I figured a write-up that is *not* missing one or two crucial steps would be nice, so I did one.
Visualizing 64 bit address space
We have seen claims of “that should be enough” proven false so often. We somehow knew that 16 bit of address space would run out some day. We're rapidly approaching the point where 32 bit will no longer be enough to store the number of seconds since epoch (1970-01-01). So it's natural when we are reluctant to believe that 64 bit will be “enough forever”.
This little thought experiment might help to understand the power of exponents…
Notes and Resources
US International Alternate keyboard layout
For ergonomic reasons, I prefer US-layout keyboards. For obvious reasons (me being German and all), I need the German “Umlaute” on the keyboard, requiring the use of the “US International” layout. This in turn makes backtick, tilde, caret, apostrophe, and quotation marks into “dead” keys, which is a nuisance. Luckily, there is help: A US International keyboard layout, with the “dead keys” moved to the AltGr-layer. This way, you have them when you need them, but they don't get in the way in everyday typing. (Hint: “ä” is AltGr-q, “ü” is AltGr-y, “ö” is AltGr-p, and “ß” is AltGr-s.)
The linked file is for Windows. Linux supports this setting natively, as “US International (AltGr dead keys)”. X11 can be configured to use it via -xkblayout us -xkbvariant altgr-intl
.
I prefer to keep my own C++ source as free of pointers as possible. But since I mostly work on other people's code, the choice is not always mine. And because the various pointer containers in the Boost and the Standard library kept confusing me, I decided to write up a reference page.
Another overview page I started and will probably never really finish.
Some notes I took while working through the tutorials of Boost.Spirit.
I finally got around to getting in touch with the version control software git
. (Not very impressed, I might add.) As usual I collect useful findings here.
A few notes on how to (properly) install Cygwin.
A few notes on how to (properly) install Linux Mint.
A few notes on how to (properly) install a Linux guest on VirtualBox.
Archaeology
Notes from a past when I still actually used the hardware involved.
Web Links
Some useful links I want to keep.
- Object-Oriented Programming
- Development Tools
- C/C++
- Unicode
- Linux
- Strings
- Vim
- Windows
- Unicode in C++
- Miscellaneous