<?xml version="1.0" encoding="utf-8"?>
<!-- name="generator" content="pyblosxom/1.5.3" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>rozzin's journal</title>
<link>http://www.hackerposse.com/~rozzin/weblog</link>
<description>an online journal</description>
<language>en</language>
<item>
  <title>Release 0.1.1</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/VisualIDs/release-0.1.1.html</link>
  <description>
&lt;p&gt;I just posted my first
&lt;a href=&quot;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;releases&#x2F;libvisualid-0.1.1.tar.gz&quot;&gt;bugfix-release&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;More-compact LZMA-compressed archives, along with
&lt;a href=&quot;http:&#x2F;&#x2F;www.gnupg.org&quot;&gt;GPG&lt;&#x2F;a&gt; signatures, are also available in the
directory:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;&quot;&gt;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I&#x27;ve also decided to post the patches that enable VisualIDs in various
versions of &lt;a href=&quot;http:&#x2F;&#x2F;projects.gnome.org&#x2F;nautilus&#x2F;&quot;&gt;Nautilus&lt;&#x2F;a&gt;
(2.18 thru 2.24):&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;nautilus-patches&#x2F;&quot;&gt;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;nautilus-patches&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;If you&#x27;re using a Debian-based system, using the Nautilus patches is
even easier than usual:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apt-get source nautilus&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Copy the &lt;code&gt;99VisualIDs.patch&lt;&#x2F;code&gt; file for your version of Nautilus
    into the &lt;code&gt;debian&#x2F;patches&#x2F;&lt;&#x2F;code&gt; subdirectory of the Nautilus package&#x27;s
    source-tree.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;cd&lt;&#x2F;code&gt; into the source-tree and build Nautilus, e.g.:&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dpkg-buildpkg -rfakeroot -b -us -uc&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Install your new VisualIDs-capable Nautilus, e.g.:&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sudo dpkg -i ..&#x2F;*nautilus*.deb&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Note that my patches for Nautilus are still somewhat crude at this
point--I haven&#x27;t learnt to use GConf yet, so the way that you
enable&#x2F;disable VisualIDs at run-time is to create&#x2F;remove the
&lt;code&gt;~&#x2F;.icons&#x2F;VisualIDs&#x2F;scalable&lt;&#x2F;code&gt; directory (which is where the VisualID
SVG-files will be cached).&lt;&#x2F;p&gt;
</description>
</item>

<item>
  <title>VisualIDs Visualisation</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/VisualIDs/editor.html</link>
  <description>
&lt;p&gt;I&#x27;ve started hacking on an editor-application for the VisualID glyphs:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;center&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor.png&quot; &#x2F;&gt;
&lt;&#x2F;center&gt;&lt;&#x2F;p&gt;
&lt;p&gt;All of the parameters of a VisualID glyph can be adjusted dynamically
with real-time feedback. Ultimately, this should become something that
end users could utilise to tune their VisualIDs experience to their
liking; but something like this can also be extremely useful as an
exploratory design-tool for me, to help visualise the implications of
choices that that I make in code. I can play with with parameters and
see, for example, how well the 2:1 line-to-border ratio actually works
in a variety of situations. I can look for &lt;em&gt;trends&lt;&#x2F;em&gt;, and I can even
instrument the system to &lt;em&gt;help&lt;&#x2F;em&gt; me spot the trends. Then I can improve
the algorithms.&lt;&#x2F;p&gt;
&lt;p&gt;In the hands of an end user, the editor could obviously assist on a
case-by-case basis (e.g.: `Oh--I don&#x27;t like that, maybe if I tweak it
like this...&#x27;), but repeated use of the editor could also actually
&lt;em&gt;teach&lt;&#x2F;em&gt; the system to better match the user&#x27;s aesthetics in future
glyph-generation by logging the user&#x27;s edits to a statistical
database. Well, maybe.&lt;&#x2F;p&gt;
&lt;p&gt;As it stands right now, the editor... needs some work before I post
the code (it&#x27;s pretty rough, right now), but here are some preliminary
&lt;a href=&quot;..&#x2F;VisualIDs&#x2F;screenshots&quot;&gt;screenshots&lt;&#x2F;a&gt;--the following images show a
&lt;em&gt;single&lt;&#x2F;em&gt; VisualID producer being reparameterised several different
ways:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;center&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+00.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+01.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+02.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+03.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+04.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+05.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+06.png&quot; &#x2F;&gt;
&lt;img width=352 height=190
     src=&quot;&#x2F;~rozzin&#x2F;VisualIDs&#x2F;screenshots&#x2F;VisualID-editor_00+07.png&quot; &#x2F;&gt;
&lt;&#x2F;center&gt;&lt;&#x2F;p&gt;
</description>
</item>

<item>
  <title>Initial Public Offering</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/VisualIDs/initial-public-offering.html</link>
  <description>
&lt;p&gt;I&#x27;ve posted `version 0.1&#x27; tarballs, along with a
&lt;a href=&quot;http:&#x2F;&#x2F;bazaar-vcs.org&#x2F;&quot;&gt;Bazaar&lt;&#x2F;a&gt; repository; it&#x27;s all available at:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;&quot;&gt;http:&#x2F;&#x2F;www.rozzin.com&#x2F;VisualIDs&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I&#x27;ve got what I believe are working patches against a couple different
versions of Nautilus, copies of which have been given to few people
for preliminary feedback.&lt;&#x2F;p&gt;
&lt;p&gt;I guess I should work up the gumption to post the nautilus-patches
publicly, soon.&lt;&#x2F;p&gt;
</description>
</item>

<item>
  <title>Computing Similarity, and Computing Difference</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/VisualIDs/similarity-computation.html</link>
  <description>
&lt;p&gt;Way back in June or July, I had dinner with
&lt;a href=&quot;http:&#x2F;&#x2F;www.mentalaperture.com&#x2F;&quot;&gt;Chris&lt;&#x2F;a&gt; and
&lt;a href=&quot;http:&#x2F;&#x2F;allli.livejournal.com&#x2F;&quot;&gt;Allli&lt;&#x2F;a&gt;, and I got to do a little demo
to show-off my VisualIDs-in-Nautilus work as far as it had progressed
at that point. Since I&#x27;d just started thinking about the problem of
identifying similar files in a global context, and was (somewhat
stupidly) proud of myself for having come up with a way of seemingly
making it easier than I&#x27;d initially expected it to be, I raised it in
conversation; regrettably, this (along with the talk about my new job)
resulted Chris and I marooning Allli in geekspeak....&lt;&#x2F;p&gt;
&lt;p&gt;When I initially read the essay, this part (like so many other parts)
looked great (`on paper&#x27;, as they say?). When I initially dug in as an
implementor, this part (like so many other parts) looked more
half-baked: deriving icons in a group from the same source made fine
sense, but how were the groups to be formed?&lt;&#x2F;p&gt;
&lt;p&gt;But then I thought about it some more, and it occurred to me that,
since I was keeping a cache of VisualIDs and the names to which they
belonged, I could just scan through the cache whenever a new VisualID
needed to be generated, see if I could find an appropriately-similar
base-ID, and then go from there--this would be where the `longer than
3 characters&#x27; part of the matching-algorithm came in. All I would need
to do in order to guarantee that this actually &lt;em&gt;worked&lt;&#x2F;em&gt; was to ensure
that all of the VisualIDs were generated synchronously, which actually
turned out to be easy enough in Nautilus--I ended up hooking into the
thumbnail-generation subsystem, which was already synchronous anyway.&lt;&#x2F;p&gt;
&lt;p&gt;Chris posited the obvious flaw in this scheme: if one has multiple
computers, wouldn&#x27;t one want the icons to be consistent across all of
them? If the consistency breaks down, then doesn&#x27;t the utility break
down?&lt;&#x2F;p&gt;
&lt;p&gt;But, unless we have some way of coordinating between the distinct
systems, this looks like a hard problem: we can&#x27;t just use the
`ouija-board navigation&#x27; technique, we actually have to come up with
some sort of consistent &lt;em&gt;algorithm&lt;&#x2F;em&gt; for gleaning some sort of
meaningful structure of free-form file-names. Chris didn&#x27;t think it&#x27;d
really be that hard of a problem. I&#x27;m not convinced that it&#x27;s anything
like easy.&lt;&#x2F;p&gt;
&lt;p&gt;It looks like I can actually punt, though--I can say:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you want multiple computers to synchronise their repertoires of
VisualIDs, then just synchronise their cache-directories--how you do
it is outside the scope of this project; you should be able to use
whatever mechanism you use to synchronise other files between
computers.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;And, for the time being, that&#x27;s what &lt;em&gt;I&#x27;m&lt;&#x2F;em&gt; doing: I just added my
&lt;code&gt;.icons&#x2F;&lt;&#x2F;code&gt; directory to my &lt;a href=&quot;&quot;&gt;Unison&lt;&#x2F;a&gt; configuration, and now it gets
synchronised between my laptop and my desktop along with the rest of
my home-directory. It works--it actually works &lt;em&gt;really&lt;&#x2F;em&gt; &lt;em&gt;well&lt;&#x2F;em&gt;. And it
would work using any of the other zillion synchronisation-systems
available; for GNOME, it might make sense to do it via Conduit--it
probably works just using whatever generic file-synchronisation
mechanism Conduit provides, but it looks like a specific `Synchronise
Icons&#x27; option would be easy enough to add.&lt;&#x2F;p&gt;
&lt;p&gt;So, every aspect of grouping similar icons together is really pretty
easy, at least as far as I can see.&lt;&#x2F;p&gt;
&lt;p&gt;Where it looks like things get difficult is actually in reverse:
guaranteeing that &lt;em&gt;different&lt;&#x2F;em&gt; and &lt;em&gt;unrelated&lt;&#x2F;em&gt; things actually &lt;em&gt;look&lt;&#x2F;em&gt;
&lt;em&gt;&lt;em&gt;different&lt;&#x2F;em&gt;&lt;&#x2F;em&gt;, and that things don&#x27;t end up with similar icons
just-by-happenstance. How can &lt;em&gt;that&lt;&#x2F;em&gt; be managed? Can we just assume
that the PRNG will make it work out that way?&lt;&#x2F;p&gt;
&lt;p&gt;If anyone has any specific thoughts on either issue, I&#x27;d love to &lt;a href=&quot;mailto:rozzin@geekspace.com&quot;&gt;hear them&lt;&#x2F;a&gt;....&lt;&#x2F;p&gt;
</description>
</item>

<item>
  <title>Opossum #2</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/opossum-number-2.html</link>
  <description>
&lt;p&gt;Sitting on my front stoop, just minutes ago, I heard a rustling in the
leaves to the side of me. There was no &lt;em&gt;person&lt;&#x2F;em&gt; over in that
direction, and the invisibility of the noisemaker as the noise drew
closer to the stairs had me expecting that perhaps it was one of the
usual stray cats, but fearing that perhaps it was one of the usual
stray skunks.&lt;&#x2F;p&gt;
&lt;p&gt;To my surprise, an &lt;em&gt;opossum&lt;&#x2F;em&gt; climbed up onto the top stair. It looked
at me, and I looked at it. Into each other&#x27;s eyes we stared. I raised
my teacup toward it and said (somewhat timidly..., as I suppose is
fitting for a man wielding a cup of Hu-Kwa as the most fearsome weapon
at his disposal...), `Go away. You scare me...&#x27;. Much to my relief,
the animal obliged.&lt;&#x2F;p&gt;
&lt;p&gt;It actually wasn&#x27;t nearly as scary as the &lt;em&gt;first&lt;&#x2F;em&gt; time that I saw one.&lt;&#x2F;p&gt;
</description>
</item>

</channel>
</rss>
