The Adventures of Joshua Judson Rosen
(action man)

[ sections: VisualIDs | art | movies | everything ]

<<  Page 2 of 8  >>

Sat, 07 Nov 2009
[@]

22:56: libvisualid 0.2 released

Version 0.2 of my `applied mathematics and primitive art' project, libvisualid, is out.

There's some new functionality, and a new toy included, but the biggest change is that the internals have been completely refactored to use GObject.

Restructuring everything around GObject has actually been really helpful in clearing up some points of confusion that I encountered during the initial implementation--now those semantic bugs have been squashed.

Now that the big pieces of new architecture are in place, I can start shedding the old (and less usable) interfaces, I can start developing the finer points in the new interface, and I can start evolving the actual functionality to include things like:

  • A glyph-mutator system that can automatically derive new glyphs from existing glyphs (I have a weighted Levenshtein algorithm on which I've been working).
  • New glyph-types (Pam wants butterflies...).
  • More dimensions to the system (colour should be fun).
  • Tools that end users can use to provide feedback to the system and tune its operation.
  • A portable, stable, and re-entrant PRNG (glib provides the base for this).
  • etc.

(look for that stuff to start showing up in 0.3)

The existing patches for Nautilus still work, for anyone who's using them (or who hasn't tried them but would like to).


[From the NEWS file included in the tarball]

Version 0.2.0 is a significant revision of libvisualid, though the
user-interface of the `mkvisualid' command remains mostly unaltered;
visible changes include:

    * A new "--base-weight" option has been added, to set the default
      weight for generators in the probability-set; it's possible to
      disable all generators with "--base-weight=0" and then easily
      enable only specific generators.
    * A new "--autocache-dir" option has been added, allowing the
      glyph-cache directory to be specified.
    * The "--autocache" and "--output" options can now be used
      simultaneously (in the future, the `autocache' files will be in
      a different format capable of storing glyph-structures with all
      attribute-data intact, instead of just storing renditions).
    * If the path specified via the "--output" option exists and is a
      directory, then a file is created in that directory with a name
      according to the input name.

A new `VisualID Explorer' demo-application has been added, using GTK+ with
several alternate GUIs defined using Glade.


The libvisualid library contains several new features, including:

    * visualid_complexity(), a function providing overall
      complexity-metrics for VisualID glyphs.
    * visualid_set_cachedir(), a function that allows the global
      cache-directory to be changed.
    * Automatic limiting of overall glyph-complexity: an integer in
      constants.c (complexity_max) controls the maximum
      glyph-complexity, having a default value of 5000 (a measure of
      something akin to `number of brushstrokes').
    * As the result of everything having been refactored using GObject
      (cf. details below), we finally have a way to *deallocate*
      VisualID glyph-structures!
    * Some bugfixes.


This release of the libvisualid library is binary-incompatible from
all previous releases, and is source-incompatible in a few minor ways:

    * exec_generator() has been renamed to visualid_draw_path().
    * generate_child() has been split into two special-purpose functions:
        - visualid_glyph_new(), for producing root glyphs,
        - visualid_glyph_spawn(), for producing and assigning
          subordinate glyphs.
    * All of the class-specific generator-functions have been reworked
      to have the same parameters as visualid_glyph_spawn().

Aside from the above changes, libvisualid should be source-compatible
in every meaningful way.

The `generator' structs have been converted into GObject classes,
including a base `VisualID_Glyph' class; the existing structs have
been preserved for the time being, but this marks the beginning of
API-redesign whereby terminology will be corrected and the API will be
reformed into something more fit for general consumption (e.g.: public
names put into a namespace).

The naming of the structs in 0.1.x as `*_generator' was somewhat
inappropriate, and due to some misinterpretation of some ambiguous
text in the essay: while the `*_generator' structs /are/ data
/related/ to generators, the `gen_*' function itself (not the data
that it produces) /is/ the generator. The term, "glyph", has been
chosen for the base-class in the VisualIDs `shape grammar' by analogy
with written-language grammar where `glyphs' of typography are
realisations of abstract `characters'; the `characters' of the
shape-grammar would then be the classes per se: `radial', `spiral',
`figure', `line', etc.

[Reply]


Thu, 05 Nov 2009
[@]

00:47: תיקון mix

My introduction to Facebook... left me in tears.

If the `Trying Facebook' entry came out seeming angry rather than sorrowful, then I should probably apologise to anyone who read it.

When I went to bed, that night, I wanted to cry. My wife asked me why I'd come to bed so late, I said "Because I'm depressed".

"This whole Facebook thing has just got me really upset", I said.

She said, "Then delete your account--it's OK, you don't have to use it."

I told her, "It's not Facebook per se--it's that it seems like my friends are telling me that they basically don't want to be bothered corresponding with me unless I can solve all of these puzzles. That's what's bothering me."

When I awoke the next morning, I wanted to cry.

We were going to go visit Pam's sister and her family, so I made myself a `healing mix' on my iPod.

  1. Nine Inch Nails: Somewhat Damaged
  2. Nine Inch Nails: The Great Below
  3. Nine Inch Nails: La Mer
  4. Brian Eno & Daniel Lanois: An Ending (Ascent)
  5. Pachelbel: Canon
  6. Beethoven: Symphony #9
  7. Vivaldi: Allegro
  8. Vivaldi: Adante
  9. Rusted Root: Send Me on My Way
  10. Shakira: Whenever, Wherever
  11. KT Tunstall: Black Horse & the Cherry Tree
  12. Morten Johannes Ervik: En fabelaktig s(k)jebne
  13. Ratatat: Mirando
  14. U2: Where the Streets Have No Name
  15. Donna Lewis: I Love You Always Forever
  16. Vitamin C: Smile

There were more, but I was back in perfect health by #16.

#4 is where I broke down, and where I began rebuilding.

Several of the pieces listed above are ones that I find profoundly moving (Canon, in particular, always makes be cry--it's just that beautiful). Listening to them--experiencing them all in series like that provided a sensation of... liberation, hard to describe.

Maybe it's like flying--soaring. It's like..., I don't know--it's like being loved.

In some way, being immersed in beauteous music is (perhaps) the same sort of experience as the `pure light' experience that the doctor described in `Sunshine'.

[Reply]


Tue, 03 Nov 2009
[@]

08:30: Geekspace Mail Back Up

geekspace.com e-mail is working again, which means that I can receive e-mail at that address again.

[Reply]


Sun, 01 Nov 2009
[@]

00:22: Geekspace Mail is Down

Actually, all of the geekspace.com services are down--it looks like the server has gone offline.

If you're wondering why I haven't responded to your e-mail, this is your answer--I haven't received your e-mail, if it was sent within the last few days.

If you want to contact me, you can e-mail me at this domain instead of geekspace.com, or you can send me a message on AIM. Or you can reach me by telephone. Or you can send me a hand-written letter. Or a typewritten letter, if you have tragically-messy handwriting.

[Reply]


Fri, 30 Oct 2009
[@]

01:43: Trying Facebook

OK, I'm on Facebook, now.

Now that I've tried it, I feel like it's.... several hours of my life that I'm never going to get back--time that I could have spent painting, writing poetry, practicing my theremin, learning Hebrew, releasing libvisualid 0.2, playing Munchkin or weiqi or any game that's fun with someone.

I created yet another incompatible, exclusive account with yet another password to remember, jumped through the series of captchas, spent an hour figuring out how to get Facebook to import the RSS feed from the journal that I already own (and that everyone supposedly wants to read `but only on Facebook'--is my site really that ugly? You can just tell me so, if it is...), and spent even longer rummaging around in the rest of the Facebook UI to try to figure out what I was looking at at any given moment and how I was supposed to get back to the listing of information that I wanted. That latter bit... I still haven't figured out; I'm also having trouble figuring out what the differences between `notes', `messages', `posts'(?) and whatever are, which ones I have to use in which contexts, how I even get to the page for each of them....

At the end of my first day as a Facebook user, it really does seem like the correct response to "... but Facebook is FREE!" is "only if my time isn't worth anything".

But my time is worth something--and yours is, too! I'd much rather spend what little time I have actually enjoying your company than waste it fighting my way through what looks like it's just a neverending shithole of UI cruft. Seriously--come to dinner! Have an actual conversation! Be an actual real-life friend! I'll be yours! I'll cook! I'll serve you my best wine! I'll laugh at your jokes! I'll BRING PIE!

Or tell me `I'm not going to care about you unless you can pass the Facebook gauntlet', which seems all too much a long-winded version of `fuck you'.

[Reply]

<<  Page 2 of 8  >>