Algorithms are delightfully distracting, but w/o data, they are distraught.
(69523 bytes, compiled file for ttn-do magic by ttn-do magic -C)
What is that binary bag of bits? A magic(5) file is used by file(1) to answer that question. But magic(5) is so ugly! Well, that's why we transform it to this more pleasing form, which is designed to be friendly to the Guile procedure read. (Note: this format (version 2) is friendly to Emacs, too, although version 1 isn't.)
Normally installed as ~/.magic.ttn-do-magic, along side its progenitor, ~/.magic, these particular files are notable in that they start with two entries that enable both file(1) and "ttn-do magic" to recognize them.
(subdir containing eaab structured expression files by ttn-do rescue-xcb)
Kudos to the Xorg folks for moving from the m4-based (unbearably ugly) description of the X protocol to the XML-based (barely bearably ugly) format. Here, we de-uglify completely, transforming the description to structured expressions that not only look more pleasing to the eye, but are useful in other contexts.
Presently, there is version 1.0 (tarball), but it looks like as of 2007-11 there is a new release. We'll get around to de-uglifying that as well at some point, probably.
(625 bytes, htmlization map by ttn)
Updated 2008-02-15 from ttn-do 329.
(256983 bytes, text db table by ttn-do xearth-mapdata-to-text-db-table)
This is the map_data array of shorts from mapdata.c, with some slight decoding (the run-length encoding split into three fields: type, init and path). At some point, we hope that Guile-SDL will be able to sport a pretty demo using this data.
(9731 bytes, htmlization map by ttn with some help from sed)
Updated 2007-10-03 from Guile 1.4.1.111.
(395 bytes, htmlization map by ttn)
Updated 2007-04-09 from ttn's personal scheme library 0.46.
(1166 bytes, htmlization map by ttn)
Updated 2007-04-09 from Guile-WWW 2.18.
(396 bytes, htmlization map by ttn)
Updated 2007-04-09 from Guile-Syscalls 0.3.
(509 bytes, htmlization map by ttn)
Updated 2007-04-09 from Guile-SDL 0.3.4.
(981 bytes, htmlization map by ttn)
Updated 2007-04-09 from Guile-PG 0.28.
(4413 bytes, association list by ttn)
This alist is to help programs map an Emacs' coding-system to a PostgreSQL client-encoding, suitable for composing a "SET client_encoding" SQL command (presuming the architecture is Emacs : PostgreSQL :: client : server).
Each CAR is a symbol, a GNU Emacs (22.x) coding system.
Each CDR is a string, a PostgreSQL (7.4.12) client encoding.
If a program manipulates a large amount of data,
it does so in a small number of ways. -- Alan Perlis
This is a list of pairs, with (normally) unique cars. If the elements of the pairs are limited to symbols, strings, and simple numbers, then the alist can be read by many programs, including Emacs, Guile, and other Scheme and Lisp implementations.
This is a flexible file format that is partially self-describing. For example, this text itself comprises the #:description field of an entry in the file format text db table -- pretty funky stuff!
Because it is only partially describing, the rest of the semantics must necessarily be provided by the specific program in question.
This file format is used by a ttn-do command in creating the cron job map, among other things.
This file format is a sexp with the following constraints:
element attribute-alist body), where body can be zero or more sub-sexps.We use it to avoid XML (blech!).
This file format is a compiled from a magic(5) file (the same format used by the file(1) command). Far out!
The first bytes of the file are ".ttn-do-magic-N", where N is the ASCII representation of a small (fitting in one byte) integer. This is the format version. For versions 1 and 2, the rest of the file consists of structured expressions, amenable to Guile read, mirroring the entries of the originating magic(5) file.
Each entry has the form: (LEVEL OFFSET TYPE VALUE OUT-STRING), where
LEVEL is a non-negative integer, starting with zero;OFFSET is an expression that resolves to a byte offset;TYPE is an expression that describes what kind of information must be extracted from the file, and also some parts of the matching strategy;VALUE is an expression that specifies the rest of the matching strategy, as well as the literal value to match against;OUT-STRING is a string, to be accumulated on match (if non-empty).Format versions 1 and 2 differ in the possible values for VALUE and OUT-STRING. In version 1, VALUE could also take the form (#t #t) and OUT-STRING could also be #f. These tokens cannot be read by Emacs (an interop target) however, so version 2 uses x and the empty string, respectively, in those cases.
For more info, please see the magic(5) manpage.
Copyright (C) 2005-2008 Thien-Thi Nguyen
Up. ChangeLog.