Un naufragio personal

Ángel Ortega

The Cursed Computer Iceberg Meme

this is not a hall of shame.
the intent is to awaken you to many of the peculiarities and weirdness of computers.
hopefully, after reading these articles, you will have learned a lot and will embrace chaos.


SQLite is not a toy database

Shrink, Reduce, and Implode: The Legacy Zip Compression Methods

Hans Wennborg:

Zip files support many different compression methods, however, and although Deflate is the one most commonly used today, it was not added until several years after the introduction of the Zip file format. While the earlier methods are not in themselves relevant today, the techniques involved are still both interesting and relevant. For example, the first method used LZW compression, which popularised dictionary compression, gained notoriety due to patent issues, and is still widely used in GIF files. From a historical perspective, the older methods allow us to trace the evolution from the roots of PKZip to the Deflate method that we use today.


10 useful HTML5 features you may not be using

Certainly, there are a bunch of things that I didn't know (or remember):

  • The details, output, meter and progress tags;
  • The input types list (and related datalist) and range;
  • That text input fields can have attributes required and pattern (to match regular expressions).



A compilation of oddities about the HTTP protocol:


Single-primitive authenticated encryption for fun

Another interesting blog entry by Christopher Wellons:

Just as a fun exercise, I designed and implemented from scratch a standalone, authenticated encryption tool, including key derivation with stretching, using a single cryptographic primitive. Or, more specifically, half of a primitive. That primitive is the encryption function of the XXTEA block cipher.


What are X-macros?

Arthur O'Dwayer:

"X-macros" is a neat C and C++ technique that doesn’t get enough advertisement. Here’s the basic idea:

Suppose we have a table of similar records, each with the same schema. In games, this might be our collection of monster types (each with a display name, a representative icon, a dungeon level, a bitmask of special attack types, etc). In networking, this might be our collection of error codes (each with an integer value, a message string, etc).

We could encode that information into a data structure that we traverse at runtime to produce interesting effects — for example, an array of structs that we index into or loop over to answer a question like “What is the error string for this enumerator?” or “How many monsters have dungeon level 3?”.


Historical Dictionary of Science Fiction

Welcome to the Historical Dictionary of Science Fiction. This work-in-progress is a comprehensive quotation-based dictionary of the language of science fiction.

Most terms defined here feature the first year they were used.


Debian official installer images that include non-free firmware

XTerm: It's Better Than You Thought

Some info and tweaks for xterm by Bruno Garcia. Summary:

xterm*faceName: Monospace
xterm*faceSize: 13
xterm*utf8: true
xterm.vt100.translations: #override \n\
    Ctrl Shift <Key>C: copy-selection(CLIPBOARD) \n\
    Ctrl Shift <Key>V: insert-selection(CLIPBOARD)
xterm*background: rgb:1a/1a/1a
xterm*foreground: rgb:d6/d6/d6

As usual, write this in ~/.Xresources and update it by running xrdb ~/.Xresources.