triptico.com

Un naufragio personal

News

Gruta version 2.3.2 released

Version 2.3.2 of Gruta (the Web Content Management System), codenamed "Arezzo", has been released, including the following:

  • New features:
    • A new image search engine (by file name) for admins.
    • Added support for Gravatars in user comments.
    • Unless forced, language is selected from the HTTP header.
    • A new checkbox to show the full story in indexes (so that the abstract and the body are the same, no need to add the magic separator mark at the end).
    • A new pseudo-url thumb://, to be used like the img:// one, that inserts a thumbnail of the image with a link to the real image.
    • The RSS_COMMENTS template now accepts optional topic and id arguments to return comments only from a story.
    • New Gruta::CGI argument cache_control_max_age (default 300).
    • If a story is set to year 9999, it's assumed to be disabled forever and fails with a 410 Gone HTTP error.
    • All internal redirections are done with an HTTP status of 301 Moved Permanently instead of 302 Found.
  • New configurable options:
    • The maximum number of days a non-approved comment is hold before being purged.
    • A default value for the 'show full story in indexes' story configuration item.
  • New bin/gruta commands:
    • rename_tag, to rename or remove a tag.
  • Bug fixes:
    • Fixed a crash in RSS and TOPIC when a subscriber-only story was defined.
    • Fixed comment expiration (comments didn't really expire).
  • Dropped features:
    • Artemus4 support.

Please take also note that, if you use static links, the following mod_rewrite redirections has to be changed from

 RewriteRule ^/(.+)/([0-9]+)\.html$ /?t=TOPIC&topic=$1&offset=$2 [PT,L]

to

 RewriteRule ^/(.+)/~([0-9]+)\.html$ /?t=TOPIC&topic=$1&offset=$2 [PT,L]

I also want to mention that I'll start a big refactoring in Gruta's architecture that will require a lot of changes, so this one will probably keep being the stable version for a rather long time (unless a severe bug is found).

Minimum Profit 5.2.1 released

I'm proud to release a new version of the Minimum Profit Text Editor, including the following:

  • New actions:
    • indent_block: Indents the current line or the selected block.
    • unindent_block: Reverse of indent_block.
  • New features:
    • ~/.mp_templates can be a directory. If it is, the global file there is always read (and those templates put at the top) and it will also read a file named like the current syntax highlight definition (so different templates appear if you're editing C, Perl, etc.).
  • New configuration options:
    • mp.config.smart_bol: if set to nonzero, the move_bol action now moves to the first non-blank character in the line instead of to column 0 (unless the cursor is already on the first non-blank).
  • Other improvements:
    • The following actions accept additional arguments when called as functions (and do not ask for them, if present):
      • goto
      • save_as
      • exec_command
      • filter_selection

Which basically means that it features work by fellow developer Jeremy Cowgar. Meanwhile, I've been procrastinating, breaking things and fixing them back by reverting the changes. I promise to be more diligent in next iteration.

If you are into MPSL programming, you may also be interested in the changes it got:

  • New features:
    • An abbreviated way of defining hashes (ala JavaScript).
  • Bugfixes:
    • Several fixes to for() construction: fixed incorrect calling order and for (;;) is accepted for infinite loops.

There have also been some optimizations into MPDM, but they are not worth mentioning.

On another subject, I'm worried about the amount of email and web traffic (or the lack thereof) about Minimum Profit. Do any of you still use it? Are you still interested? Do any of the subscribers to the mailing list still read it? If you do, please write to me at angel@triptico.com and say something.

Precognition in Antichthon Universalis

The Ciclotte:

Page 45 of Antichthon Universalis:

Lulu.com will not publish your crap anymore

Those at Lulu.com wrote me saying the following:

"Dear Angel Ortega Velasco, In our mission to ensure creators have access to the best tools and resources to help them sell more content, we must retire certain products and services that have not proven to be as popular with our community of customers as we initially thought they'd be. As a result, we will no longer be offering your Compact disc for sale on Lulu.com. You'll still be able to access your project(s) under your "My Lulu" tab, make revisions, and save any changes to your computer until July 19, 2011. We still see the value in these works and want you to share them with the world, so please read on for detailed suggestions on other options available to you. But to be clear, as of September 19, 2011, your project(s) will no longer appear in your project list and customers will no longer be able to purchase these titles from the Lulu Marketplace."

So they have decided that selling CDs is not profitable and they will drop them; this means that those Ann Hell records rescued from oblivion will move there back again.

Buy them while they last.

I think their next step will be to stop publishing books that do not cross a selling threshold. Bah. Who cares.

New video for Liars Retreat

I've made another video clip, this time for Liars Retreat, a piano-only theme in the style of Michael Nyman and Philip Glass I composed in 1995 for a brief work that finally ended as part of Ann Hell - Nocturne / Piano Pieces for Cowards (CD, 1995).

The images are from a public domain propaganda film called "Divide and Conquer" from 1943. The video shows many liars, many retreats and also many brave men, all mixed seamlessly.

Minimum Profit 5.2.0 released

I've just released version 5.2.0 of the Minimum Profit Text Editor. It features the following:

  • New actions:
    • filter_selection: to filter the selection (or the full document if no selection is done) through a system command.
    • exec_action: that shows a list of actions to execute on the current document.
    • cut_lines_with_string: that cuts to the clipboard all lines in a document or block that matches a regular expression.
    • insert_real_tab: bound to shift-tab, to insert a tab character (\t) regardless of whatever is set in the tabs_as_spaces configuration variable.
    • insert_next_item: to insert a new enumeration item in a document.
  • Bugfixes:
    • Fixed insert / overwrite mode.
    • If a selection is invisible (incomplete or with the start and end in the same character), a new keystroke does not jump to it.
  • New configuration options:
    • mp.config.hw_cursor: to activate the hardware cursor in text environments (disabled by default).
  • Text user interface improvements:
    • File opening list is fully navegable (directories up and down),
    • Selection lists accept letter keys to jump to elements,
    • If a text mode menu panel do not fit vertically on the screen, menu items are scrolled as needed.
  • New command line options:
    • -txt: force text mode (instead of GUI).
  • General improvements:
    • If a block is selected, actions word_wrap_paragraph, join_paragraph and eval_doc act only on it.
    • The internal engine has been partly rewritten, so it requires less memory and it's a bit faster.

More and more people interested in Antichthon Universalis

It seems a bunch of people from the abovetopsecrets.com site is teaming to investigate on Antichthon Universalis. The forum thread can be followed from http://www.abovetopsecret.com/forum/thread682378/pg1 on.

Good luck!

New video for Et in Arcadia Ego

I've made a video clip for Et in Arcadia Ego. This theme was specially composed as the intro to Ann Hell - The Ambient Collection (CD, 2006), a CD published in 2006 by a finnish company that I prefer not to talk about.

The video has been composed using free space and nebulae images from NASA and a Perl program made by me.

Ann Hell - Et in Arcadia Ego

Antichthon Universalis, available as a full PDF download

Pavel and me agreed that the money obtained from the sales of the Antichthon Universalis printed book is enough to cover all the spendings done in the project and released the full document as a downloadable PDF. All involved sources has been consulted and they agree too.

http://triptico.com/download/Antichthon_Universalis_1.pdf [1.5 Mb]

Gruta version 2.3.1 released

Version 2.3.1 of Gruta (the Web Content Management System), codenamed "Sienna", has been released. The following changes were made:

  • New interface to edit the configuration, instead of editing the cfg_ templates one by one.
  • Reworked template structure and CSS.
  • If a story named index in the info topic exists, it's used to substitute the main body of the INDEX page.
  • Fixed a crash in LIST when connected.
  • Fixed story format in EDIT_STORY.
  • Added support for blogspam.net and Akismet comment SPAM detectors.
  • If cfg_top_ten_num is 0, each story's hits counter is not updated (similar to the initialisation variable dummy_touch in previous versions, that it's still available).

A bunch of software updates (ahxm 1.0.13, artemus 5.0.1, grutatxt 2.0.16)

Many of my programs have had minor modifications in previous months; it's release time.

Ann Hell Ex Machina (1.0.13)

  • Added win32 support.

Artemus (5.0.1)

  • The %% keyword returns the full extended hash.
  • Fixed processing of file templates returning 0.
  • A new function template dump, to dump an expression using Data::Dumper.
  • Fixed a bug in processing ARTEMUS_STR.

Grutatxt (2.0.16)

  • New table of contents generation, triggered by the --toc command line argument or by adding a special mark inside the text.
  • Mailto URLs are also processed.

Other pieces of software will have new releases real soon, but they deserve their own news entry.

«Terra Incognita», a la venta en la sección de libros de Ebay

Ebay, al parecer, tiene una tienda de libros (no, yo tampoco lo sabía). Sabiamente también venden Terra Incognita.

http://cgi.ebay.com/Terra-Incognita-/320642797256?pt=LH_DefaultDomain_0&hash...

New music compilation: Ann Hell - Ad Nauseam (1991-2001)

I've compiled all Ann Hell's works in mp3 format in a full set called Ann Hell - Ad Nauseam (1991-2001). It can be downloaded as a Bittorrent file:

http://triptico.com/download/ad_nauseam.torrent

The tracking is done by the folks at http://www.legittorrents.info , a site that stores free and legal torrent files. All praise them.

«Terra Incognita», a la venta como libro electrónico en Amazon.com

Además del libro en papel, Amazon también vende mi mininovela Terra Incognita como libro electrónico para el Kindle:

http://www.amazon.com/dp/B0041D8X5G

ó

http://www.amazon.co.uk/dp/B0041D8X5G

Minimum Profit 5.1.4 released

I've just released version 5.1.4 of the Minimum Profit Text Editor. It features the following:

  • If a block is selected, any keystroke substitutes it.
  • Support for Alt + keys (ASCII and movement) has been added, and mostly left unbound to be used by the user for his own keybindings.
  • A new tab mode, which uses the previous line as a template for tab columns.
  • Fixed action open_under_cursor.
  • The mp.paste() function returns the clipboard content as a string if called without arguments.
  • New Grutatxt syntax highlighter.
  • Fix F10 in Win32.
  • Fix a bug when calculating the drawing position in the selected block, that were leading to crashes.

Full source code and MS Windows binaries are available as always.

Antichthon Universalis, available for purchase

Finally I became the editor of Antichthon Universalis and made it available to the world. I wrote a foreword and included all data we have about it.

The book can be bought from my shop at Lulu.com. We (Pavel Kolsinski and me) preferred to publish it at a low cost to pay the expenses we had on the investigation of the text.

We still welcome any additional information you could have on the subject, please follow the Antichthon Universalis main page for details on how we can be contacted.

Update: The book cannot be purchased anymore.

Space Plumber 1.1.0-rc3 released

I've released a new version of the vintage game Space Plumber. In itself it just includes a new command line argument to execute in a 3x window size, but the main purpose of this release is that it includes last version of the QDGDF support library, which main new feature is that it includes a new windowed mode for Windows. A new Windows binary has been released as well.

QDGDF 0.9.2 released

Version 0.9.2 of QDGDF (the Quick and Dirty Game Development Framework) has been released. It features the following:

  • A new windowed mode for Win32.
  • A new library libqdgdf.a is created (historical libqdgdfv.a and libqdgdfa.a are also still created).
  • KTL fonts are now automatically converted to proportional width if the new _qdgdfv_convert_ktl_to_proportional variable is set.
  • New variable _qdgdfv_full_screen, settable before startup to suggest the desired behaviour (full screen or windowed). Also filled after startup.
  • New array _qdgdfv_extended_palette, filled with RGB values for each palette entry.
  • New functions qdgdfv_path_find() and qdgdfa_path_find(), to return the full path to a file search in the configured paths.
  • A new (very basic) information program (qdgdf_i) is included.
  • New functions qdgdfv_scale2x_p() and qdgdfv_scale3x_p(), implementing the scale2x and scale3x algorithms.
  • Shadows in fonts are painted in black color, not just color 0.

Youtube videos of Space Plumber's last level

Someone called StormSpirit86, armed with infinite patience, has finished last level of Space Plumber and recorded it on video. This proves that, unlike what many people thought in 1998, this level can be solved.

Space Plumber (1998) Last level (1st part)

Space Plumber (1998) Last level + Ending (2d Part)

Gruta version 2.3.0 released

Version 2.3.0 of Gruta (the Web Content Management System), codenamed "Lucca", has been released. The following changes were made:

  • Stories can now include comments from visitors. Comments are disabled by default (it can be enabled by setting cfg_disable_comments in the config template to 0) and can also be enabled or disabled on a per story basis. Comments are never automatically published: they require approval one by one, unless it's posted by an identified user that also has section editor capabilities.
  • Support for the new 5.x version of Artemus has been added. This version is now the recommended one and upgrading of existing installations to it is encouraged, as new features are only implemented on 5.x (as, for example, the new "comments from visitors" feature).
  • If a story pseudo-url points to a non-existent story, it shows a link to create it (ala Wikis).
  • Date formatting is done using strftime(), so its full set of percent-prefixed commands is available.
  • A new field in stories allow a Table of Contents to be created for each story.
  • A new template status has been added to set the HTTP status.
  • A security bug that allowed to bypass a story's publication date by using the STORY_PRINTABLE template has been fixed.
  • Improved cookie parsing.
  • The gruta_mksite helper scripts has been renamed to gruta-mksite and it's also installed in /usr/local/bin.
  • Many new commands to the gruta command line tool.
  • All image pseudo-urls include the image's width and height in the img tag if the Image::Size Perl module is detected and installed.
  • A timeout watchdog now exists to avoid the CGI hanging for too much with a default of 20 seconds. It can be changed in the creation of the Gruta::CGI object by setting the query_timeout argument.

Artemus 5.0.0 released

This is a new Artemus milestone release. The Artemus language has been completely rewritten to be a LISP-like, compiled machine. No backward compatibility is provided (other than including the old 4.x module in the distribution). The new 5.x language is faster, more flexible, less cumbersome (for example, there's no need for escaping inner blocks that should execute only conditionally) and include support for translateable strings.

Ann Hell on the net (III)

All Ann Hell things on the net seems to be happening on Youtube these days.

More...

Ann Hell - Exile (video)

I've made a video clip for Exile.

Minimum Profit 5.1.3 released

A new version of the Minimum Profit text editor has been released, including the following features:

  • A new Qt4 driver (adapted from the KDE4 driver).
  • A new hexadecimal viewer.
  • New action 'open_dropped_files', to open files dropped from the underlying system GUI.
  • Improved file encoding autodetection by looking at the UTF BOM marks.
  • New configuration option keep_eol, to keep the original end of line sequence each document had.
  • Fixed some clipboard issues, as replacing the selected block when pasting and some crashes.
  • win32 executable has been renamed to mp-5.exe.
  • The status line format string can also include the %e token to show the encoding used by the document.
  • Fixed win32 input processing in non-latin environments.
  • Setting an empty encoding (to fall back to system defaults) always work.
More...

Gruta version 2.2.1 released

Version 2.2.1 of the Gruta CMS, codenamed "Montecatini", has been released. The following changes were made:

  • Templates are now stored inside source backends instead of having a special directory of plain files. So, it's no longer necessary to prepend the writable directory to the template path in Gruta::Template::Artemus creation.
  • The TT template toolkit has been officially deprecated.
  • New global CGI variable set_date, to force a date to be assumed as today, to be used to take a look at how would a page be shown in the given date. Only usable by a logged-in admin user.
  • A new script gruta_mksite, to help in the creation of a new site.
  • A new command, set_story_date, has been added to bin/gruta.
  • The full set of mod_rewrite keywords to be used if static_urls is set has been expanded.

 RewriteRule ^/([0-9]+)\.html$		/?t=INDEX&offset=$1		[PT,L]
 RewriteRule ^/([0-9]+)-([0-9]+)\.html$	/?t=SEARCH_BY_DATE&from=$1&to=$2 [PT,L]
 RewriteRule ^/tag/(.+)\.html$		/?t=SEARCH_BY_TAG&tag=$1	[PT,L]
 RewriteRule ^/tag/$			/?t=TAGS			[PT,L]
 RewriteRule ^/top/$			/?t=TOP_TEN			[PT,L]
 RewriteRule ^/(.+)/$			/?t=TOPIC&topic=$1		[PT,L]
 RewriteRule ^/(.+)/index\.html$		/?t=TOPIC&topic=$1		[PT,L]
 RewriteRule ^/(.+)/([0-9]+)\.html$	/?t=TOPIC&topic=$1&offset=$2	[PT,L]
 RewriteRule ^/(.+)/(.+)\.html$		/?t=STORY&topic=$1&id=$2	[PT,L]
 RewriteRule ^/rss\.xml$			/?t=RSS				[PT,L]
 RewriteRule ^/sitemap\.xml$		/?t=SITEMAP			[PT,L]
 RewriteRule ^/style\.css$		/?t=CSS				[PT,L]
More...

New Minimum Profit 5.1.3 preliminary release for testers

I'm in the process of releasing version 5.1.3, that will include significant changes to the way character encodings are autodetected. I would like to know if there are any regressions for locales and encodings I could overlooked.

The downloadable tarball is the following:

http://triptico.com/download/mp-5.1.3-dev.tar.gz

I plan to release a Windows binary version really soon, probably this evening. This is specially important as Windows has its own set of potential problems regarding character encodings.

I've also written a document describing the new behaviour regarding encodings (the document is also included in the tarball):

Minimum Profit character encoding support

If you find any issue, please mail me to angel@triptico.com or subscribe to the Minimum Profit mailing list by writing to mp-subscribe@lists.triptico.com and say it there.

Update: Here it's the MS Windows binary:

http://triptico.com/download/mp-5.1.3-dev.exe

More...

«Terra Incognita», a la venta en Amazon.com

Mi libro Terra Incognita ya se vende en Amazon.com.

Actualización: Este libro ya no se vende en papel, sólo como eBook.

Minimum Profit 5.1.2 released

A new version of the Minimum Profit text editor has been released. It includes the following features:

  • The grep action can now be recursive.
  • New syntax color for special documentation blocks.
  • Fix searching into empty selected blocks (this was bug #1269).
  • New action section_list, that shows a list of sections in the current document to jump to. Sections are usually function definitions and special marks in programming languages.
  • New action seek_misspelled, to search the next misspelled word. It has been assigned to keycode f5.
  • New action ignore_last_misspell, to add the last misspelled word found by seek_misspelled to a whitelist so it won't be found again.
  • New action seek_repeated_word, to search for words starting or ending with the same number of letters up to a maximum distance. It's controlled by the new configuration directives mp.config.rw_num_chars and mp.config.rw_max_dist. It has been assigned to keycode f6 (this keycode was previously assigned to join_paragraph, which has no keybinding now).
  • The action open_templates_file has been fixed.
  • Several GTK interface updates by fellow developer Sebastian Vöcking.
  • New command line option -d, to change the working directory.
  • Several fixes to the win32 driver; word wrapping, combobox drop-down sizes, underlined text.
  • Avoid hanging if the external ispell program is broken.
  • The dump() function now dumps its argument as MPSL code.
More...

Semana de monstruos

Igual que hice en enero y febrero con Las Tijeras del Viajero, hoy queda inaugurada la semana monstruosa: desde hoy hasta el sábado publicaré diariamente un minirelato del libro Las Tijeras del Viajero. Monstruos.

Basta con suscribirse al siguiente RSS:

http://triptico.com/?t=RSS;tag=las%20tijeras%20del%20viajero.%20monstruos

More...

Gruta version 2.2.0 released

Version 2.2.0 of the Gruta CMS, codenamed "Osmannoro", has been released. This release needs Artemus version 4.1.2. The following changes were made:

  • Story rendering is cached, resulting in faster page loading.
  • An existing story can be copied to another topic from the story edition form.
  • The template stories_by_date has changed the order of their output values; now they are topic_id, id and date.
  • The RSS template now accepts an optional CGI argument tag, to get feeds on stories by tag.
  • Multiple sources are no longer supported; it never really worked well, made the code cumbersome and had no real advantage after all. The cgi caller needs not to be changed, as the sources argument is still supported (only the first one is used, though), but the scalar source is preferred now.
  • The file format in the FS source has changed; the .META extension has been changed to .M, and .TAGS to .T. Also, new files appear in the stories directory with the .A and .B extensions, holding the rendered abstract and story body, respectively. The transition is made automatically on the first run, no manual operation is needed.
  • New argument hard_top_ten_limit to Gruta::Source::FS, to set the maximum number of stories to be tested when generating the top read stories index (previously hardcoded to 100).
  • New argument min_size_for_gzip to Gruta::CGI, to set the minimum size for the output body to be Gzip compressed (previously hardcoded to 10000).
  • If a story pointed by a story:// pseudo-url has a publication date in the future, only the title is shown (i.e., it's not clickable).
  • The Mbox source is officially deprecated.
  • Static URLs are also generated for the CSS, RSS and SITEMAP pages. The following mod_rewrite rule must be added to the ones suggested in the previous version:

 RewriteRule ^/style\.css$     /?t=CSS              [PT]
More...