<?xml version="1.0" encoding="utf-8"?>
<!-- name="generator" content="pyblosxom/1.4.3 01/10/2008" -->
<!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   2009</title>
<link>http://www.hackerposse.com/~rozzin/weblog</link>
<description>an online journal</description>
<language>en</language>
<item>
  <title>Jenny on WikiReader</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/jenny-and-the-wikireader.html</link>
  <description><![CDATA[
<p>A while back, I lent my WikiReader to my sister in law. She seemed to
like it, so my wife and I got her one of her own as a christmas-present.</p>

<p>Her response was enthusiastic:</p>

<blockquote>
  <p>Oh! I've been so <em>lonely</em> without it--whenever I have a question,
  I think `oh, I'll just... oh..., I don't have it anymore!'</p>
</blockquote>

<p>Her husband followed-up with:</p>

<blockquote>
  <p>It's just <em>amazing</em> the amount of stuff in there.</p>
</blockquote>

]]></description>
</item>

<item>
  <title>OpenStreetMap for socio-linguistic studies</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/openstreetmap-as-cultural-study.html</link>
  <description><![CDATA[
<p>I thought this was interesting:</p>

<ul>
<li><a href="http://www.openstreetmap.org/?lat=32.047&amp;lon=35.172&amp;zoom=9&amp;layers=B000FTF">http://www.openstreetmap.org/?lat=32.047&amp;lon=35.172&amp;zoom=9&amp;layers=B000FTF</a></li>
</ul>

<p>If you take a close look at the labels, you'll notice that they're in
two different languages--mostly, the ones in the west are in Hebrew
and the ones in the east are in Arabic, with some intermixing in some
places.</p>

<p>As the sidebar says, <a href="http://www.openstreetmap.org/">OpenStreetMap</a>
is a (worldwide) community-driven mapping project--to create
freely-available map-data that everyone can use, augment, republish,
etc.; in the same vein as <a href="http://www.wikipedia.org">Wikipedia</a>,
<a href="http://en.wikipedia.org/wiki/Ubuntu_(operating_system)">Ubuntu</a>
and the <a href="http://www.gnu.org">GNU Project</a>, the
<a href="http://creativecommons.org">Creative Commons</a> project, etc.</p>

<p>So, basically, what you're seeing in that map is that the map made by
the community is labelled using the languages of the people who made
(their parts of) the map: the Israelis (and Jews?) made their contributions
in Hebrew, and the Arabs made their contributions in Arabic; the mostly-Arabic
regions are mostly labelled in Arabic, the mostly-Hebrew regions are
mostly labelled in Hebrew, and you can see the dividing lines by looking
at the linguistic distribution that the people themselves have plotted
(and, if you zoom in enough, you can see it right down to the level
of street- and building-names).</p>

<p>But there is actually something encouraging about this: regardless of
the divisions, everyone is <em>working together</em> on the same project.
There's at least some semblance of peace and greater `brotherhood of man'
in that.</p>

<p>Actually, `a shared project to create freely-sharable maps of the world'
does sort-of fit with the next lyrics in that song, too:</p>

<blockquote>
  <p>A brotherhood of man <br />
  Imagine all the people <br />
  Sharing all the world</p>
</blockquote>

<p>Well..., it's a <em>start</em>.</p>

<hr />

<p>My Hebrew teacher remarked:</p>

<blockquote>
  <p>This IS very interesting. I wonder if there is actually some cooperation in
  the making of the map. While borders are still in question, and land still
  "disputed", I will have to take a closer look at this to see how it all
  works out.</p>
</blockquote>

<p>You can actually get a glimpse at the collaborative process by looking
at this:</p>

<ul>
<li><a href="http://openstreetbugs.appspot.com/?lon=35.172&amp;lat=32.047&amp;zoom=9">http://openstreetbugs.appspot.com/?lon=35.172&amp;lat=32.047&amp;zoom=9</a></li>
</ul>

<p>That's a view of the same area in OpenStreetBugs, which is one of the
tools used by people working on OpenStreetMap.It's the same map, but
with markers that indicate known errors, gaps, routes that are on
someone's `cartography to-do list', etc.</p>

<p>If you hover your pointer over the markers, textual descriptions of
why the markers are there will pop up. If you click on a marker, then
you can add a comment to that `bug' (like, "I know that street--I'll
check the signs and fix it tomorrow!"); and, if you create an account,
you can even <em>edit</em> the map to submit your own contributions (e.g.:
fixing a problem; adding new routes, junctions, labels; etc.).</p>

<p>The online editor-tool is called "Potlatch", and there's some
documentation for it in the OpenStreetMap wiki:</p>

<ul>
<li><a href="http://wiki.openstreetmap.org/wiki/Potlatch">http://wiki.openstreetmap.org/wiki/Potlatch</a></li>
</ul>

<hr />

<p>Interestingly, though most of the labels in this map are in Hebrew or
Arabic, there are <em>some</em> that are in <em>English</em>.</p>

<p>Some of the `bug reports' on the map are also in English, and some of
them are in different (local?) languges.</p>

<p>In the case of bug-reports, I suspect that it's just that English is
one of the more prominent international-collaboration languages.
But in the case of labels on the map, I think that it just means that
someone was interested in having an English label--it may have been
someone who either lives there and speaks English, or an
English-speaking foreigner who submitted a route that they traced
while they were visiting, or even someone abroad who just thought that
there was value in having an English label there--and who was able to
get enough community buy-in to make the label stick; "Gaza Strip"
and "Gaza City", for example, certainly have international interest.</p>

<p>I'm not sufficiently literate in either of the predominant languages
to be able to figure out whether any of the places with English labels
<em>also</em> bear Hebrew labels, or are they all exclusively
one-or-the-other, but I wonder about that: I see some labels that
appear to be <em>very</em> close-together, but it's not clear to me whether
they're labelling the same thing or not.</p>

<p>I'm not <em>really</em> clear about all of the details about how the project
works (either socially or technically)--my experience so far is just
as user, since all of the areas to which <em>I've</em> actually been seem to
already be very well-mapped (including data in the sister project:
<a href="http://www.opencyclemap.org/">OpenCycleMap</a>, which documents
routes/paths and services relevant to pedestrians and bicyclists).</p>

<p>I too wonder how things like actively disputed areas work out in
OpenStreetMap. It's a very interesting point that OSM may provide a
`living' map in the same sense that we've discussed Hebrew being a
`living language' in Hebrew class.</p>

]]></description>
</item>

<item>
  <title>Spicy (&amp; Spicy) Bean-Sprouts</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/food/spicy-spicy-bean-sprouts.html</link>
  <description><![CDATA[
<p>I've just finished a very happy-tasting dish of tofu, mushrooms, and
bean-sprouts sauté'd in a combination of mustard-oil and `mongolian
fire oil', and I'm remembering a conversation that I had with a
coworker about her plans to make `spicy fresh spring rolls'....</p>

<p>The recipe had called for a combination of chili-sauce and hot
mustard, and she had no hot mustard; her plan was to substitute some
Sriracha chili-sauce for the hot mustard, explaining that she `just
wanted something with a spicy kick to it'.</p>

<p>I had a certain difficulty comprehending that idea, though--because
chili-sauce and `hot' mustard don't actually taste anything like each
other, and the <a href="http://en.wikipedia.org/wiki/Capsaicin">capsaicin</a>
`burn' (at the point of contact) and the
<a href="http://en.wikipedia.org/wiki/Allyl_isothiocyanate">AITC</a> `burn' (in
the sinuses) are just <em>completely</em> different sensations. There's no
way that one can be used to create an experience equivalent to that of
the other. It's like substituting a pumpernickel bagel for a chocolate
doughnut--as fond as I am of both pumpernickel bagels and chocolate
doughnuts..., I would still think, if I were biting into the former
when expecting the latter, that I was biting into the <em>worst-tasting
chocolate doughnut I'd ever had</em>.</p>

<p>And there's the crux of my misunderstanding: what wasn't apparent to
me was that she <em>didn't</em> actually want to create an <em>equivalent</em>
experience--she actually <em>didn't like</em> the `mustard burn', and would
have preferred a modified version of the recipe that lacked that
sensation and gave her more of another sensation that she did like.</p>

<p>But it got me thinking: if <em>I</em> needed to pick something that <em>was</em>
similar to hot mustard--that did provide a similar experience--what
would I pick? And I think that I might pick... mint. A good <em>strong</em>
dose of (the right) mint, while it does provide some elements very
different from mustard, also provides a sort of `surprised' nasal
sensation that does bear a certain similarity to the `wasabi rush'.</p>

<p>Or is it just me?</p>

]]></description>
</item>

<item>
  <title>Divorce, Facebook-style</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/facebook-divorce-filing.html</link>
  <description><![CDATA[
<p>OK, so one feature of Facebook actually made me chuckle:</p>

<div align=center>
<img alt="`stop liking marriage?'" src="../facebook-divorce-filing.png" />
</div>

]]></description>
</item>

<item>
  <title>Mapping with (and without) VisualIDs</title>
  <link>http://www.hackerposse.com/~rozzin/weblog/VisualIDs/mapping-with-visualids.html</link>
  <description><![CDATA[
<p>I recently started hacking on <a href="http://www.tangogps.org/">tangoGPS</a>:
it's mostly pretty swell (which has made it the most popular GPS/mapping
application on the <a href="http://www.openmoko.com/freerunner.html">FreeRunner</a>)
but there are a couple of things about it that just vex me:</p>

<p>One thing is that, because the FreeRunner's amazingly high-resolution
LCD is of an amazingly <em>higher resolution</em> than
<a href="http://www.openstreetmap.org/">OpenStreetMap</a> expects when they
rasterise their map-tiles, labels (and a lot of other details) that
would be perfectly legible on a 96-DPI desktop computer monitor are
inscrutable on the FreeRunner's >280-DPI screen.</p>

<p>So, I <a href="http://article.gmane.org/gmane.comp.handhelds.openmoko.community/52188">fixed that</a>.</p>

<p>Another thing is that it can be hard to make much sense out of the
stock points-of-interest display. For example, here are a bunch of
schools around the area where I grew up:</p>

<div align=center>
  <img src="../VisualIDs/screenshots/mapping-without-VisualIDs.png" />
</div>

<p>Plotted on this map are campuses for UNH, U-Mass, MIT, Souhegan High
School, and a few other random items. It takes considerable conscious
effort for me to figure out which is which, even though these are all
places that I know (places that <em>I marked on the map</em>!).</p>

<p>This display would be great as some sort of statistical <a href="http://wikipedia.org/wiki/Scatter_plot">scatter
plot</a>, but it's mostly useless as
a tool for locating specific, individual points of interest: since all of
the points look exactly the same, the <em>only</em> attribute that can be used
to identify a point is its <em>position</em>, and there's often just not enough
`cognitive <a href="http://wikipedia.org/wiki/Image_resolution">resolution</a>' to
completely disambiguate solely by position--we often just don't <em>think in
that level of detail</em> with regard to location, and there's often something
akin to <a href="http://wikipedia.org/wiki/Quantisation_error">quantisation-error</a>
when we try.</p>

<p>If you happen to be <em>unfamiliar</em> with this region or the schools that
I've plotted, then you can immediately appreciate how problematic it
can be to have positional cues be the <em>only</em> way to distinguish
points: it's worse for unfamiliar territory, where either the region
as a whole or the desired point within the region is just not familiar
enough for <em>any</em> spatial cues to be useful <em>by themselves</em>.</p>

<p>If you're at all <em>familiar</em> with the region depicted in the map, and
where the points of interest are supposed to be, then you might expect
it to be pretty easy to pick things out, but it turns out that it's
actually quite <em>hard</em> to find or identify an individual point in a
scatter plot even for `easy' datasets. On the above map, for example,
there are very few points of interest, several of them have well-known
locations, and no two points are colocated. In other words, <em>this</em> is
an `easy' example, and things only get harder from here. The version
that has markers for all of the places that are actually of interest
to me (or anyone else, I imagine) is much worse.</p>

<p>Throw in enough identical-looking `clutter' and <em>anyone</em> would find
it virtually impossible to determine <em>which</em> of several closely-spaced
points is the desired one. Unfamiliarity just changes the metric for
`close', increasing the distance at which two things can remain
indistinguishable.</p>

<hr />

<p>This whole situation actually sounds like
<a href="http://www.idiom.com/~zilla/Work/VisualIDs/visualids.html">exactly</a>
the same sort of problem-space that motivated the developent of
VisualIDs in the first place. The problem was originally laid-out in
terms of `scenery for data worlds', with datascapes as an analogue to
actual landscapes; but what if the datascape in question turns out to
relate somewhat more directly to an actual landscape--what if the
`virtual landscape' over which the scenery-points or `landmarks' are
strewn <em>is</em> actually a direct representation of an actual, physical
landscape?</p>

<p>There's something about that that's <em>just perfect</em>.</p>

<p><!--
I see no reason why a more literal correspondence should hinder either
the applicability or the utility--especially since the use of
distinctive iconography has already been prevalent in cartography for
some time, albeit in the form of more general *type-icons* (for
indicating the presence or location of features of a general
type--such as forests, rest-areas, restaurants, airports...);
furthermore, there's no clear indication that the the absense of
personalised, \`user-specific' iconography in traditional cartography
is anything but an artifact of the medium's limits.
--></p>

<p>So, I did it. And it was an impressively quick (and impressively clean)
modification--all I had to do was to generalise tangoGPS' POI-icon code
a little bit (adding <code>get_poi_icon()</code> and <code>get_poi_icon_path()</code> functions
where the (singular) POI-icon's path had been hardcoded), and then plug-in
a call to <code>mkvisualid</code>. It turns out that GDK-PixBuf `just works' with
the SVG graphics that <code>mkvisualid</code> outputs, so then I was basically... done!</p>

<p>And, after only some minor tweaks, I can say that it's a resounding
success: in my own real-world experience over the past month or so
since I actually implemented this and started using it, it's turned
out to be a real boon, making tangoGPS' POI display significantly more
useful--I've been able to use the POI display to quickly and easily
identify travel-destinations before or while navigating to them, and
it's also been quite helpful in showing other people where things
are. I've even been able to add POIs for new and unfamiliar places
just by inputting their lat/lon coordinates and then looking out for a
new and unfamiliar icon--then, once I've seen it, it's trivial to find
it again. The experience is just so much better that I'm completely
unwilling to go back to life without VisualIDs.</p>

<p>But <em>pictures</em> can be so much more illustrative, so here's a primer--a
quick introduction to mapping with VisualIDs: take a look at each of
these icons and the associated place-name, just for about as long as
it would take you to say `oh, that's an interesting icon' for each
one (as you might when you see it appear after recording your point of
interest into your GPS):</p>

<p><br /></p>

<table cellpadding=10>
  <tr align=center>
    <th>MIT</th>
    <th>NH Community College</th>
    <th>Souhegan High School</th>
    <th>U-Mass</th>
    <th>UNH</th>
    <th>Worcester Polytechnic Institute</th>
    <th>Middle of nowhere</th>
    <th>Buried Treasure</th>
  </tr>
  <tr align=center bgcolor=white>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/MIT.svg" -->
          <img width=48 height=48 src="../poi-icons/MIT.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/NH Community Technical College.svg" -->
          <img width=48 height=48
               src="../poi-icons/NH Community Technical College.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/Souhegan High School.svg" -->
          <img width=48 height=48
               src="../poi-icons/Souhegan High School.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/U-Mass Lowell.svg" -->
          <img width=48 height=48
               src="../poi-icons/U-Mass Lowell.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/UNH Durham.svg" -->
          <img width=48 height=48
               src="../poi-icons/UNH Durham.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/Worcester Polytechnic Institute.svg" -->
          <img width=48 height=48
               src="../poi-icons/Worcester Polytechnic Institute.png" />
        <!- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/Middle of nowhere.svg" -->
          <img width=48 height=48
               src="../poi-icons/Middle of nowhere.png" />
        <!-- /object -->
    </td>
    <td><!-- object width=48 height=48 type="image/svg+xml"
                data="../poi-icons/Buried Treasure.svg" -->
          <img width=48 height=48
               src="../poi-icons/Buried Treasure.png" />
        <!-- /object -->
    </td>
</table>

<p><br /></p>

<div style="float:right">
  <img src="../VisualIDs/screenshots/mapping-with-VisualIDs.png" />
  <br />
  <br />
</div>

<p>Now, try to to find:</p>

<ul>
<li>UNH (yes, there are 2)</li>
<li>Worcester Polytechnic Institute</li>
<li>MIT</li>
</ul>

<p>It's even easy to find the `buried treasure' site, isn't it?</p>

<p>So, it works!</p>

<p>Though, I've yet to explain the `minor tweaks' mentioned above: while
most of the glyph-types make perfectly legible cartographic icons, two
of them (`line' and `path') are, unsurprisingly, often difficult to
distinguish from the street-segments over which they are drawn--so I
simply disabled them. Almost all of the other glyph-types are
represented in this screenshot (`shape', `radial', `symmetry',
`figure'; the only one that's missing, by sheer happenstance, is
`spiral'), and they all work reasonably well; though one obvious
issue is that the rendering of `symmetry' glyphs (as for Souhegan
High School and U-Mass) may have potential to be confusing, so it may
make sense to disable them too, if I can't find a way of rendering
them such that the sub-glyphs are more clearly connected to each
other.</p>

<div style="clear:right">
</div>

<hr />

<p>An interesting side-effect of using distinctive icons for POIs,
actually relating back to the whole `map with scatterplot' concept:
not only is it easier to recognise any single given POI, but multiple
POIs are recognisable <em>simultaneously</em>, which causes the
<em>relationships between POIs</em> to become apparent. For example: when I was,
for the first time, able see all of my favorite places plotted on the
map simultaneously <em>and recognisably</em>, it became clear that many
things just weren't situated physically in the same way that I had
organised them mentally--places that I'd always thought of as `close
to each other' turned out to be physically further apart, vice versa,
etc. In cases like those, the improvement in POI-recognition has been
<em>profound</em>: where I would previously have had to spend time picking
through numerous mistaken selections just because I'd started looking
in the wrong place, I'm now able to immediately, correctly recognise
and select the point that I want--even if it's not quite where I
expected it to be.</p>

<p><!--
I suspect that the \<code>spatial distortion' comes from having learnt the
locations of my favourite places *navigationally* (i.e.: in terms of
how one travels there from a driving or walking perspective), which
perhaps makes for an interesting paradox concerning my \</code>it should be
easy to find MIT if you're at all familiar with this region of the map'
remark: locals who are \<code>too familiar' with the region itself--who have
a ground-level understanding of \</code>where MIT is' because they've been
walking or biking past it for their entire life and simply never needed
to consult a map before--may be just as incapable of finding it by
*map-location* as out-of-towners. It should be only a very small
fraction of people (who learn and routinely navigate the same area
by map) for whom the utility of mapping with VisualIDs is perhaps
diminished, though I'd expect that, even then, there they would
still be quite useful.
--></p>

<p><!--
This is the sort of thing about \<code>the digital age' that makes me
really happy--when we can be unbound from the limits of traditional
media: where the best we could do previously was to try to come up
with our own ad hoc identifying marks and draw them on paper maps with
magic marker (and most often just used something like "X", and bought
a new mapwhen the old one had too many marks on it), now we can
actually carry our own little \</code>carto-iconographer' in our pocket, and
have him create as many symbols as we ever need.
--></p>

]]></description>
</item>

</channel>
</rss>

