<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Bela Lugosi&apos;s Dead, Jim</title>
  <link>http://ewx.livejournal.com/</link>
  <description>Bela Lugosi&apos;s Dead, Jim - LiveJournal.com</description>
  <lastBuildDate>Fri, 04 Dec 2009 21:16:17 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>ewx</lj:journal>
  <lj:journalid>604268</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/1975446/604268</url>
    <title>Bela Lugosi&apos;s Dead, Jim</title>
    <link>http://ewx.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/533474.html</guid>
  <pubDate>Fri, 04 Dec 2009 21:16:17 GMT</pubDate>
  <title>The Horse, The Wheel And Language</title>
  <link>http://ewx.livejournal.com/533474.html</link>
  <description>&lt;p&gt;&lt;b&gt;The Horse, The Wheel And Language&lt;/b&gt;, David W. Anthony, ISBN
978-0-691-05887-0&lt;/p&gt;

&lt;p&gt;This is &lt;a href=&quot;http://ewx.livejournal.com/291318.html&quot;&gt;another
look&lt;/a&gt; at the question of when and
where &lt;a href=&quot;http://en.wikipedia.org/wiki/Proto-Indo-European_language&quot;&gt;Proto-Indo-European&lt;/a&gt;
(the inferred common ancestor of many the modern and ancient languages
found in areas ranging from Europe to India) was spoken, and why,
how and when it spread.  What makes it worth a new work on the subject
is not just new research, but also the improved availability of
archaeological research from eastern Europe (both from the Soviet era
and later).&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;The author spends a couple of chapters discussing the history of
the question and arguing that reconstruction of unattested languages
is indeed possible before moving onto meatier questions such as
timing, settling on 2500BCE as a latest terminal date for PIE, based
on the youngest IE branches (which are also among the first to be
written).  Moreover he argues on the basis of the various elements of
related vocabulary, that PIE cannot have started to separate into its
daughter language at least until its speakers’ adoption of the wheel,
and that the archeology the wheel places this somewhere between 4000
and 3500BCE (with the possible exception that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Anatolian_languages&quot;&gt;Anatolian
languages&lt;/a&gt; separated earlier).&lt;/p&gt;

&lt;p&gt;This dating also forms the core of
his response to the hypothesis that the IE languages &lt;a href=&quot;http://en.wikipedia.org/wiki/Anatolian_hypothesis&quot;&gt;spread with
farming&lt;/a&gt;: the dispersal date it requires is just too early.&lt;/p&gt;

&lt;p&gt;Timing, farming vocabulary and relationships to other reconstructed
proto-languages (such
as &lt;a href=&quot;http://en.wikipedia.org/wiki/Proto-Uralic_language&quot;&gt;Proto-Uralic&lt;/a&gt;)
are then used to argue for a homeland on the steppe north of the Black
Sea, the familiar territory of
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kurgan_hypothesis&quot;&gt;Kurgan
Hypothesis&lt;/a&gt;.  He proceeds to lay out one possible sequence of
events, backed by considerable argument.  This forms the meat of the
book (see below for a summary).&lt;/p&gt;

&lt;p&gt;The book is well supplied with maps and diagrams showing
archaeological finds.  Less diverting are the table of radiocarbon
dates associated with various sites, though fortunately for anyone
interested in when things are likely to have happened, dates are well
represented in the text making these inessential.  As well as
historical-linguistic and archaeological research the author draws on
evidence of past climate change (to offer reasons for some of the
archaeologically observed changes) and documents his own extensive
research into the the wear patterns made on horses’ teeth by their
bits, although unfortunately a shortage of archaeological finds so
far makes this
less directly relevant to the question of when horses were first
ridden.&lt;/p&gt;

&lt;p&gt;The relationship of the steppes to the settled societies of the
Middle East is also explored.  The Indo-European languages didn’t
develop in a vacuum, isolated from other developments in the world,
but parallel to them and sometimes in (often indirect) interaction
with them.&lt;/p&gt;

&lt;p&gt;An interesting diversion concerns the current and ancient cognates
of the much-abused &lt;i&gt;Aryan&lt;/i&gt;.  The word that speakers of
proto-Indo-Iranian used to describe themselves was
probably &lt;i&gt;*arya-&lt;/i&gt;, from PIE *&lt;i&gt;h&lt;sub&gt;4&lt;/sub&gt;erós&lt;/i&gt; “tribe”.
The best known cognates apart form the modern word itself is probably
country name &lt;i&gt;Iran&lt;/i&gt;.  Interestingly derivatives of the word
appear in non-Indo-European languages (whose ancestral languages were
presumably therefore spoken in proximity to Indo-Iranian), with
Finno-Ugric &lt;i&gt;*orya&lt;/i&gt;, Pre-Saami &lt;i&gt;*oarji&lt;/i&gt; “southwest”
and &lt;i&gt;ārjel&lt;/i&gt; “southerner”,
Finnish &lt;i&gt;&lt;a href=&quot;http://en.wiktionary.org/wiki/orja&quot;&gt;orja&lt;/a&gt;&lt;/i&gt; “slave” and
Estonian &lt;i&gt;&lt;a href=&quot;http://en.wiktionary.org/wiki/ori&quot;&gt;ori&lt;/a&gt;&lt;/i&gt; “slave”.&lt;/p&gt;


&lt;p&gt;This book is well worth reading as an answer to the Indo-European
homeland question.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Anthony’s Answer&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;(Errors in this extremely compressed summary are of course mine!)&lt;/p&gt;

&lt;p&gt;Farming (of cattle, sheep and grain) the European edge of the
steppes, then occupied by foragers, around 5800BCE.  Anthony argues,
with analogy to modern examples, that the archaeological frontier here
is persistent enough that it may have been a linguistic frontier too.
Between 5200 and 5000BCE farming was adopted by some of those
foragers; the new way of life, and probably the dialects ancestral to
PIE, spread over the steppe.

Horseback riding probably originated on the steppe around 4200BCE.
(But riding horses into battle was &lt;i&gt;much&lt;/i&gt; later, so PIE speakers
weren’t early analogs of the Huns or Mongols.)  The greater range of
mounted herders led to expansion and conflict, and a cooling of the
climate increased the need for movement.  One result was the expansion
of (archaic) PIE into southeastern Europe, giving rise to the
Anatolian languages (e.g. Hittite, the earliest attested
Indo-European language).


Around 3500BCE some of the easternmost speakers of PIE migrated
thousands of kilometers eastwards, producing the
&lt;a href=&quot;http://en.wikipedia.org/wiki/Afanasevo_culture&quot;&gt;Afanasievo
culture&lt;/a&gt; and thought to have originated the (now
dead) &lt;a href=&quot;http://en.wikipedia.org/wiki/Tocharian_languages&quot;&gt;Tocharian
languages&lt;/a&gt;.&lt;/p&gt; 

&lt;p&gt;The wheel reached the steppe 3500-3300BCE, producing the
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Yamna_culture&quot;&gt;Yamnaya
culture&lt;/a&gt;, which used wagons to maintain a predominantly mobile
herding way of life: these people are identified with the speakers of
late PIE.


A number of factors are identified for the spread of IE languages
westwards into Europe.  Firstly IE speakers probably had more and
better horses, allowing them to grow rich by trading them, to manage
larger herds, and to raid more effectively.  Secondly, inferred
properties of Yamnaya society are suggested as easing the integration
other groups into Yamnaya communities, leading to new speakers
adopting the language.  Three groups of languages find their genesis
here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Italic_languages&quot;&gt;Italic&lt;/a&gt;
(e.g. Latin and French),
&lt;a href=&quot;http://en.wikipedia.org/wiki/Celtic_languages&quot;&gt;Celtic&lt;/a&gt;
(e.g. Welsh)
and &lt;a href=&quot;http://en.wikipedia.org/wiki/Germanic_languages&quot;&gt;Germanic&lt;/a&gt;
(e.g. English).  While migration may well have been involved in some
cases the author emphasises that there was no “Indo-European invasion
of Europe”.&lt;/p&gt;


&lt;p&gt;From 2100BCE fortified towns of
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sintashta-Petrovka&quot;&gt;Sintashta
culture&lt;/a&gt; appeared east of the Urals.  These people had (and perhaps
invented) chariots, and their graves show many similarities with the
rituals described in the ancient Sanskrit text of
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rigveda&quot;&gt;Rig Veda&lt;/a&gt;, and
they probably spoke the ancestor of
the &lt;a href=&quot;http://en.wikipedia.org/wiki/Indo-Iranian_languages&quot;&gt;Indo-Iranian
languages&lt;/a&gt; (e.g. Persian, Sanskrit and Hindi).&lt;/p&gt;


</description>
  <comments>http://ewx.livejournal.com/533474.html</comments>
  <category>books</category>
  <category>reviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/533048.html</guid>
  <pubDate>Fri, 04 Dec 2009 18:39:38 GMT</pubDate>
  <title>How big a stocking?</title>
  <link>http://ewx.livejournal.com/533048.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/lovefilm.jpeg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/lovefilm.jpeg&quot; width=&quot;591&quot; height=&quot;292&quot; style=&quot;border:1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m actually more interested in how I keep them &lt;i&gt;out&lt;/i&gt;.&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/533048.html</comments>
  <category>nonsense</category>
  <category>giveaway</category>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/532906.html</guid>
  <pubDate>Mon, 30 Nov 2009 22:02:19 GMT</pubDate>
  <title>Flashforward 8-10 (spoilers)</title>
  <link>http://ewx.livejournal.com/532906.html</link>
  <description>&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;&lt;b&gt;Episode 8&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Where were we?  The blue hand guys were busted but we’ve not yet
found out any more about the hits on the primary cast.  Noh’s finally
owned up and Al Gough killed himself to ensure his vision doesn’t come
true.  Aaron Stark’s daughter Tracy appears to have turned up, looking
pretty well for someone who’s supposedly dead.&lt;/p&gt;

&lt;p&gt;The newspaper headline of “The Future Can Be Changed” is a good way
of emphasizing what’s on peoples’ minds.  It seems to have put Mark
and Olivia back on track with each other.&lt;/p&gt;

&lt;p&gt;Names on Lloyd Simcoe’s email: ...no, didn’t get them.  Sorry l-)
Myhill is probably one of them (from Simon and Lloyd’s conversation).
Simon’s analysis that causing mass death qualifies one for godhood
suggests a rather grim pantheon!  The emphasis of Simcoe’s card tricks
did make me think that his prestidigitation was going to turn up later
though I’d not expected it to be in the same episode.&lt;/p&gt;

&lt;p&gt;“I called 911 but they put me on hold” - is that remotely likely?
There
are &lt;a href=&quot;http://www.10news.com/news/9050392/detail.html&quot;&gt;some
reports&lt;/a&gt; suggesting that response time for emergency calls made
from cellphones can indeed be pretty poor.  Parovsky/Perowski/???’s
activities are surely involved in the flashforward somehow.  &lt;/p&gt;

&lt;p&gt;I see that the NSA have magical image-enhancement technology,
normally it seems to be available to local police forces too...&lt;/p&gt;

&lt;p&gt;The rings delivered by the three stars guy have an α on; suspect
zero was probably wearing one of them.  Did he willingly transmit them
to Parovsky?  Perhaps the three stars guys are form the Jericho PMC?
If so then the village Jericho took out almost certainly had something
to do with the bigger picture.  (Benford’s character thinking that
there could only be one person with a three star tattoo is rather
ridiculous.)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Episode 9&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;So Bryce was suicidal because he has cancer.  I do believe actually
that’s a (admittedly rather minor) loose end tied up.  Presumably the
victim of his, er, car-park rage saying he was “dead” was
supposed to be ironic.  It looks rather like he and Keiko meet in the
restaurant because ... they seems themselves meeting in the
restaurant, though.&lt;/p&gt;

&lt;p&gt;Aaron’s slow-burning alcohol disagreement with his daughter was
much better done than Noh leaning on Levy for a copy of &lt;i&gt;his own
telephone conversation&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;It’s a pleasing symmetry between Keiko’s and Bryce’s quests to find
each other.  Bit of a blunder not to spot each other on the same plane
though.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Episode 10&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Interesting that they mostly refer Nhadra Udaya as “Persian” and
only occasionally as “Iranian”.  To be honest I don’t know what the
preference among Iranians is, though I’d certainly picked up the
impression that “Iranian” was the usual name used by Westerners.
Didn’t quite get the Iranian lady’s name, anyway.&lt;/p&gt;

&lt;p&gt;Simon Campos’ denial of NLAP’s involvement contradicts his opening
gambit to Dylan several episodes back that they were responsible.  It
was good to see him taken down a peg, anyway.  Given this is a time
travel story my guess would be that someone used his design in their
time machine, but independent &lt;s&gt;re&lt;/s&gt;preinvention would be another
possibility.&lt;/p&gt;

&lt;p&gt;Simcoe’s introduction of the Many Worlds Hypothesis is presumably
meant to make us suspect that the flashforwards may be representations
of alternative futures: something that could explain how Gough
generated an inconsistency (recalling that Noh’s inconsistency with
his fiancée has now been undermined by her actually paying attention
to her vision).&lt;/p&gt;

&lt;p&gt;Noh being shot with Benford’s gun, assuming &lt;i&gt;pace&lt;/i&gt; the above
that it’s safe to trust to the reliability of the visions, has two
possible explanations at this point: one is that someone else did it,
Benford having handed over his gun, and the other being that Noh is
the mole and Benford discovers this (having recovered his FBI status
by at some later point in the plot).&lt;/p&gt;

&lt;p&gt;Benford’s gun’s serial number is A561984.  Noh’s badge number is
4587.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Characters&lt;/b&gt;&lt;/p&gt;

&lt;table style=&quot;border-collapse: collapse;border:1px&quot; border=&quot;1&quot;&gt;

 &lt;tr&gt;
  &lt;th&gt;Name&lt;/th&gt;
  &lt;th&gt;Actor&lt;/th&gt;
  &lt;th&gt;Description&lt;/th&gt;
  &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Mark Benford&lt;/td&gt;
  &lt;td&gt;Joseph Fiennes&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Husband of Olivia Benford&lt;br&gt;
      Father of Charlie Benford&lt;br&gt;
      Colleague of Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Aaron Stark&lt;/td&gt;
  &lt;td&gt;Brian F. O&apos;Byrne&lt;/td&gt;
  &lt;td&gt;AA-goer&lt;/td&gt;
  &lt;td&gt;Confidant of Mark Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Tracy Stark&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
   &lt;td&gt;Soldier&lt;/td&gt;
   &lt;td&gt;Was thought to be dead&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Nicole Kirby&lt;/td&gt;
  &lt;td&gt;Peyton List&lt;/td&gt;
  &lt;td&gt;Student&lt;/td&gt;
  &lt;td&gt;Babysitter for the Benfords&lt;br&gt;
      Japanese speaker, helps out Bryce&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Olivia Benford&lt;/td&gt;
  &lt;td&gt;Sonya Walger&lt;/td&gt;
  &lt;td&gt;Doctor&lt;/td&gt;
  &lt;td&gt;Wife of Mark Benford&lt;br&gt;
      Mother of Charlie Benford&lt;br&gt;
      Apparent future lover of Lloyd Simcoe&lt;br&gt;
      Colleague of Bryce Varley&lt;br&gt;
      Operated on Dylan Simcoe&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Demetri Noh&lt;/td&gt;
  &lt;td&gt;John Cho&lt;/td&gt;
  &lt;td&gt;Junior FBI agent, apparently doomed&lt;/td&gt;
  &lt;td&gt;Colleague of Mark Benford&lt;br&gt;
      Fiancé of Zoey Andata&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Zoey Andata&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
   &lt;td&gt;Gabrielle Union&lt;/td&gt;
   &lt;td&gt;Fiancée of Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Bryce Varley&lt;/td&gt;
  &lt;td&gt;Zachary Knighton&lt;/td&gt;
  &lt;td&gt;Formerly-suicidal doctor&lt;/td&gt;
  &lt;td&gt;Colleague of Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Lloyd Simcoe&lt;/td&gt;
  &lt;td&gt;Jack Davenport&lt;/td&gt;
  &lt;td&gt;(Self-described) annoying parent&lt;/td&gt;
  &lt;td&gt;Father of Dylan Simcoe&lt;br&gt;
      Apparent future lover of Olivia Benford&lt;br&gt;
      Apparently unwilling co-conspirator of Simon&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Dylan Simcoe&lt;/td&gt;
  &lt;td&gt;Ryan Wynott&lt;/td&gt;
  &lt;td&gt;Injured autistic child&lt;/td&gt;
  &lt;td&gt;Son of Lloyd Simcoe&lt;br&gt;
      Saved by Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Charlie Benford&lt;/td&gt;
  &lt;td&gt;Lennon Wynn&lt;/td&gt;
  &lt;td&gt;Winsome child&lt;/td&gt;
  &lt;td&gt;Daughter of Mark and Olivia Benford&lt;br&gt;
  Saw D. Gibbons in vision and didn&apos;t like him&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Stanford Wedeck&lt;/td&gt;
  &lt;td&gt;Courtney B. Vance&lt;/td&gt;
  &lt;td&gt;Assistant Director FBI LA Field Office&lt;/td&gt;
  &lt;td&gt;Boss of Mark Sanford and Demetri Noh&lt;br&gt;
      Former fixer for the current president&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Joyce Clemente&lt;/td&gt;
  &lt;td&gt;?&lt;/td&gt;
  &lt;td&gt;US Senator&lt;/td&gt;
  &lt;td&gt;Political opponent of Stanford Wedeck&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Janis Hawk&lt;/td&gt;
  &lt;td&gt;Christine Woods&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Girlfriend of Maya&lt;br&gt;
      Pregnant in her flashforward&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Al Gough&lt;/td&gt;
  &lt;td&gt;Lee Thompson Young&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Would have killed Celia had he lived, but suicided&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Celia ?&lt;/td&gt;
  &lt;td&gt;?&lt;/td&gt;
  &lt;td&gt;Mother&lt;/td&gt;
  &lt;td&gt;Would have been killed by Al Gough&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Keiko Arahida&lt;/td&gt;
   &lt;td&gt;Yûko Takeuchi&lt;/td&gt;
   &lt;td&gt;Robot researcher at Nakahara&lt;/td&gt;
   &lt;td&gt;Seen by Bryce in his vision?&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Maya&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Girlfriend of Janis Hawk&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Alda Hertzog&lt;/td&gt;
  &lt;td&gt;Rachel Roberts&lt;/td&gt;
  &lt;td&gt;Terrorist&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Nhadra Udaya&lt;/td&gt;
   &lt;td&gt;Shohreh Aghdashloo&lt;/td&gt;
   &lt;td&gt;Spook&lt;/td&gt;
   &lt;td&gt;Sheltering D. Gibbons&lt;br&gt;
       Learned of Demetri Noh&apos;s death&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;D. Gibbons&lt;/td&gt;
  &lt;td&gt;Michael Massee&lt;/td&gt;
  &lt;td&gt;Obscure hacker/bomber&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of suspect 0&lt;br&gt;
      Killer of Pigeon local cop&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Suspect 0&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Awake during the flashforward&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of D. Gibbons&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Simon Campos&lt;/td&gt;
   &lt;td&gt;Dominic Monaghan&lt;/td&gt;
   &lt;td&gt;Sinister guy on phone&lt;/td&gt;
   &lt;td&gt;Tells Lloyd Simcoe they&apos;re responsible for the &amp;ldquo;greatest
       disaster in human history&amp;rdquo; (presumably the flashforward).&lt;br&gt;
       Uses expertise in QM to pick up women on trains.&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Old-looking bloke&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
   &lt;td&gt;Ring collector&lt;/td&gt;
   &lt;td&gt;Has six out of seven α rings&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;“Reynaud”&lt;/td&gt;
   &lt;td&gt;Jeff Slingerland&lt;/td&gt;
   &lt;td&gt;Blue Hand organizer&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;

&lt;/table&gt;


</description>
  <comments>http://ewx.livejournal.com/532906.html</comments>
  <category>flashforward</category>
  <category>tv</category>
  <category>reviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/532596.html</guid>
  <pubDate>Fri, 27 Nov 2009 22:03:42 GMT</pubDate>
  <title>What I did with my time off</title>
  <link>http://ewx.livejournal.com/532596.html</link>
  <description>&lt;ul&gt;

 &lt;li&gt;Got a roofer to look at our loft, which has a squirrel problem.  We need our eave
     combs (i.e. the things that block the gap at the bottom of the tiles) replacing.  Quote
     expected next week.&lt;/li&gt;

 &lt;li&gt;Taught &lt;a href=&quot;http://www.greenend.org.uk/rjk/disorder/&quot;&gt;DisOrder&lt;/a&gt; how to use
     &lt;a href=&quot;http://www.mega-nerd.com/SRC/&quot;&gt;Secret Rabbit Code&lt;/a&gt;.&lt;/li&gt;

 &lt;li&gt;Added drag and drop and playlist support to Disobedience.&lt;/li&gt;

 &lt;li&gt;Wrote a &lt;a href=&quot;http://www.greenend.org.uk/rjk/bzr/disorder.stable/disobedience/manual/index.html&quot;&gt;new manual for Disobedience&lt;/a&gt;.
     It&apos;s also grown some help buttons which link into the appropriate bits of the manual.&lt;/li&gt;

&lt;/ul&gt;</description>
  <comments>http://ewx.livejournal.com/532596.html</comments>
  <category>disorder</category>
  <category>geek</category>
  <category>life</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/532369.html</guid>
  <pubDate>Wed, 18 Nov 2009 11:26:16 GMT</pubDate>
  <title>Drag And Drop The Hard Way</title>
  <link>http://ewx.livejournal.com/532369.html</link>
  <description>&lt;p&gt;Disobedience, &lt;a href=&quot;http://www.greenend.org.uk/rjk/disorder/&quot;&gt;DisOrder&lt;/a&gt;&apos;s
GUI client, uses
a &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html&quot;&gt;GtkTreeView&lt;/a&gt;
to display its current queue of tracks (and for various other
purposes).  It allows rearrangement of the queue by drag and drop.
The high-level support for this in GtkTreeView is rather
unsatisfactory for two reasons:&lt;/p&gt;

&lt;ol&gt;

 &lt;li&gt;You can only drag one track (row) at a time.  It should be
 possible to drag the whole selection.&lt;/li&gt;

 &lt;li&gt;You cannot drag between widgets.  Playlist editing in particular
 is likely to make this important.&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;(Actually the model where it reports the effects of the drag and
drop by inserted/deleted signals on the underlying model is also quite
inconvenient for me: Disobedience has to translate it back into a move
which it communicates to the server.)&lt;/p&gt;

&lt;p&gt;Fixing this involves doing rather a lot of the drag-and-drop work
yourself, and while the documentation does exist it is not always
clear or even complete.  There is existing code out there, and I
referred to it while working some of this out; but describing it in
English online seems worthwhile.  In addition, while some of the code
is inextricably mixed with Disobedience&apos;s internal workings, a couple
of independent modules are presented, which should be usable in other
C programs.&lt;/p&gt;

&lt;p&gt;This articles assumes some familiarity
with &lt;a href=&quot;http://www.gtk.org/&quot;&gt;GTK+&lt;/a&gt;.  I have tried as far as
reasonably possible to remove DisOrder-specific issues from the
discussion here, but note that this isn&apos;t always possible.&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p style=&quot;font-size: 140%&quot;&gt;&lt;b&gt;1. Low-level drag and drop&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;http://www.greenend.org.uk/rjk/bzr/disorder.stable/disobedience/queue-generic.c&quot;&gt;queue-generic.c&lt;/a&gt;
for the full code of this section in context.&lt;/p&gt;

&lt;p style=&quot;font-size: 120%&quot;&gt;&lt;b&gt;1.1 Setup&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;First it&apos;s necessary to define possible types of data to drag using
a target array.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;static const &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Selections.html#GtkTargetEntry&quot;&gt;GtkTargetEntry&lt;/a&gt; queuelike_targets[] = {
  {
    (char *)&quot;text/x-disorder-queued-tracks&quot;,
    GTK_TARGET_SAME_WIDGET,
    0
  },
  {
    (char *)&quot;text/x-disorder-playable-tracks&quot;,
    GTK_TARGET_SAME_APP|GTK_TARGET_OTHER_WIDGET,
    1
  },
};&lt;/pre&gt;

&lt;p&gt;The first field is a string drag type; if there&apos;s a standard way to
choose these I&apos;ve not yet discovered it, but MIME content types seem
to be popular.&lt;/p&gt;

&lt;p&gt;The second is a set
of &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#GtkTargetFlags&quot;&gt;flags&lt;/a&gt;
defining possible relationships between source and destination.  For
queued tracks, dragging is restricted to rearrangement within the same
widget.  For tracks to play, it is restricted to other widgets within
the same application.&lt;/p&gt;

&lt;p&gt;The final field is an integer index value used to identify the
type.  It will be supplied to some of the signal handlers.  Note that
it does &lt;i&gt;not&lt;/i&gt; identify the particular entry in the targets array,
so having two entries with the same type name but different indexes
won&apos;t work very well!&lt;/p&gt;

&lt;p&gt;The name &lt;tt&gt;queuelike_targets&lt;/tt&gt;: a &lt;i&gt;queuelike&lt;/i&gt; is a list
of tracks: instances are the queue itself, the recently-played list,
the recently-added list, and in the future playlists.  They correspond
to tabs in the UI.  All of them will be updated by the server, but the
queue can also be updated by the user, by adding, removing and
rearranging tracks.  The goal, of course, is for rearrangement to be
possible using drag and drop within the queue and for adding to be
possible by dragging from outside it.&lt;/p&gt;

&lt;p&gt;It is necessary to mark the widget as both a drag source and
destination.  For queuelikes this is done as follows:&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#gtk-drag-source-set&quot;&gt;gtk_drag_source_set&lt;/a&gt;(ql-&amp;gt;view,
                    GDK_BUTTON1_MASK,
                    queuelike_targets,
                    sizeof queuelike_targets / sizeof *queuelike_targets,
                    GDK_ACTION_MOVE);
&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#gtk-drag-dest-set&quot;&gt;gtk_drag_dest_set&lt;/a&gt;(ql-&amp;gt;view,
                  GTK_DEST_DEFAULT_HIGHLIGHT|GTK_DEST_DEFAULT_DROP,
                  queuelike_targets,
                  sizeof queuelike_targets / sizeof *queuelike_targets,
                  GDK_ACTION_MOVE|GDK_ACTION_COPY);&lt;/pre&gt;

&lt;p&gt;(&lt;tt&gt;ql-&amp;gt;view&lt;/tt&gt; is just
the &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html&quot;&gt;GtkTreeView&lt;/a&gt;
used to display whichever queuelike it is.)&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gdk/unstable/gdk-Drag-and-Drop.html#GdkDragAction&quot;&gt;GDK_ACTION_MOVE&lt;/a&gt;&lt;/tt&gt;
restricts the possible set of drag types (move, copy, etc).  The queue
requires arbitrary rearrangement, so it is capable of participating in
moves both as a source and as a destination; and in files being
dragged into it from outside, hence its ability to take part in
copy-dragging as a destination (only).&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#GtkDestDefaults&quot;&gt;GTK_DEST_DEFAULT_HIGHLIGHT&lt;/a&gt;&lt;/tt&gt;
arrange for whole-widget highlighting to be done automatically for
destinations.  I don&apos;t know why you wouldn&apos;t set this.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#GtkDestDefaults&quot;&gt;GTK_DEST_DEFAULT_DROP&lt;/a&gt;&lt;/tt&gt;
arranges for the &quot;drag-drop&quot; signal to be handled automatically by
destinations.  It will request the data from the source; the
&quot;drag-data-received&quot; signal will be used to actually communicate the
data to the destination.  There is a caveat about this: if you ever
request the drag data in any other way then you can&apos;t use this option
as it won&apos;t be able to tell the difference between your drag data and
its.&lt;/p&gt;

&lt;p&gt;A variety of signals are then handled.  For rearrangeable queues,
we handle &quot;drag-motion&quot;, &quot;drag-leave&quot;, &quot;drag-data-get&quot; and
&quot;drag-data-received&quot;.  These are discussed below.&lt;/p&gt;

&lt;p&gt;For non-modifable queuelikes the code is a subset of the above:
the &lt;tt&gt;gtk_drag_source_set()&lt;/tt&gt; call (but
with &lt;tt&gt;GDK_ACTION_COPY&lt;/tt&gt;), and the &quot;drag-data-get&quot; signal
handler.  The widget is not marked as a drag destination and the other
signals are not handled.&lt;/p&gt;

&lt;p style=&quot;font-size: 120%&quot;&gt;&lt;b&gt;1.2 &quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-motion&quot;&gt;drag-motion&lt;/a&gt;&quot; handler&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This signal applies to the destination and is emitted whenever the
pointer moves over it during a drag.  It has two main jobs: decide
whether a drop at the current location is appropriate, and provide
visual feedback about this.&lt;/p&gt;

&lt;p&gt;These two operations are fairly separate in Disobedience though in
other programs might well be more entangled.  For the first half, the
logic used by GtkTreeView is replicated, although in a simpler
fashion, taking advantage of the small set of actions that
Disobedience uses:&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;if(&lt;a href=&quot;http://library.gnome.org/devel/gdk/unstable/gdk-Drag-and-Drop.html#GdkDragContext&quot;&gt;dc-&amp;gt;suggested_action&lt;/a&gt;) {
  if(dc-&amp;gt;suggested_action &amp;amp; (GDK_ACTION_MOVE|GDK_ACTION_COPY))
    action = dc-&amp;gt;suggested_action;
} else if(dc-&amp;gt;actions &amp;amp; GDK_ACTION_MOVE)
  action = GDK_ACTION_MOVE;
else if(dc-&amp;gt;actions &amp;amp; GDK_ACTION_COPY)
  action = GDK_ACTION_COPY;&lt;/pre&gt;

&lt;p&gt;The full version can be found in &lt;tt&gt;gtk_drag_dest_motion()&lt;/tt&gt;
in &lt;tt&gt;gtkdnd.c&lt;/tt&gt; - it only runs
if &lt;tt&gt;GTK_DEST_DEFAULT_MOTION&lt;/tt&gt; is set, which is why Disobedience
needs to reimplement it.&lt;/p&gt;

&lt;p&gt;Having done that it is checked whether this widget is a suitable
destination.  This is where the &lt;tt&gt;GtkTargetEntry&lt;/tt&gt; array defined
above comes into play.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;if(action) {
  if(&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#gtk-drag-dest-find-target&quot;&gt;gtk_drag_dest_find_target&lt;/a&gt;(w, dc, NULL) == GDK_NONE)
    action = 0;
}&lt;/pre&gt;


&lt;p&gt;This much is enough to
call &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gdk/unstable/gdk-Drag-and-Drop.html#gdk-drag-status&quot;&gt;gdk_drag_status&lt;/a&gt;()&lt;/tt&gt;
to indicate whether the drag will succeed and if so what action to
use.  If this depended upon the &lt;i&gt;content&lt;/i&gt; of the drag then a more
sophisticated approach would be required: the &quot;drag-motion&quot; handler
would have to
use &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html#gtk-drag-get-data&quot;&gt;gtk_drag_get_data&lt;/a&gt;()&lt;/tt&gt;
and field the response with the &quot;drag-data-received&quot; handler.  This in
  turn would mean supplying a &quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-drop&quot;&gt;drag-drop&lt;/a&gt;&quot; handler which reimplemented
the logic of &lt;tt&gt;GTK_DEST_DEFAULT_DROP&lt;/tt&gt; but was also capable of
distinguishing the intermediate checking drop from a final drop.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;gdk_drag_status(dc, action, time);&lt;/pre&gt;

&lt;p&gt;The second half is implemented by
calling &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-get-dest-row-at-pos&quot;&gt;gtk_tree_view_get_dest_row_at_pos&lt;/a&gt;()&lt;/tt&gt;
to find the target row.  In Disobedience&apos;s case there is a bit of
extra complexity.  Firstly, you can&apos;t drop &lt;i&gt;onto&lt;/i&gt; a row, only
between rows,
so &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#GtkTreeViewDropPosition&quot;&gt;GTK_TREE_VIEW_DROP_INTO_OR_BEFORE&lt;/a&gt;&lt;/tt&gt;
is replaced with &lt;tt&gt;GTK_TREE_VIEW_DROP_BEFORE&lt;/tt&gt; and similarly for
the &lt;tt&gt;_AFTER&lt;/tt&gt; variants.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-convert-tree-to-widget-coords&quot;&gt;gtk_tree_view_convert_widget_to_tree_coords&lt;/a&gt;(GTK_TREE_VIEW(w),
                                            wx, wy, &amp;amp;tx, &amp;amp;ty);
  if(&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-get-dest-row-at-pos&quot;&gt;gtk_tree_view_get_dest_row_at_pos&lt;/a&gt;(GTK_TREE_VIEW(w),
                                       wx, wy,
                                       &amp;amp;path,
                                       &amp;amp;pos)) {
  switch(pos) {
  case GTK_TREE_VIEW_DROP_INTO_OR_BEFORE:
    pos = GTK_TREE_VIEW_DROP_BEFORE;
    break;
  case GTK_TREE_VIEW_DROP_INTO_OR_AFTER:
    pos = GTK_TREE_VIEW_DROP_AFTER;
    break;
  default: break;
  }&lt;/pre&gt;

&lt;p&gt;Secondly, if the drop is above the first row or below the last row
&lt;tt&gt;gtk_tree_view_get_dest_row_at_pos&lt;/tt&gt; returns no path, so the
result has to be adjusted accordingly.  Note that to distinguish
between the two cases it&apos;s necessary to use tree coordinates, not the
widget coordinates that the callback is supplied.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;} else if(&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeModel.html#gtk-tree-model-get-iter-first&quot;&gt;gtk_tree_model_get_iter_first&lt;/a&gt;(model, iter)) {
  if(ty &amp;gt;= 0) {
    do {
      *last = *iter;
    } while(&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeModel.html#gtk-tree-model-iter-next&quot;&gt;gtk_tree_model_iter_next&lt;/a&gt;(model, iter));
    pos = GTK_TREE_VIEW_DROP_AFTER;
    *iter = *last;
  } else {
    pos = GTK_TREE_VIEW_DROP_BEFORE;
  }
  path = gtk_tree_model_get_path(model, iter);
}&lt;/pre&gt;

&lt;p&gt;&lt;tt&gt;model&lt;/tt&gt; is the
underlying &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeModel.html&quot;&gt;GtkTreeModel&lt;/a&gt;;
in this case
a &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkListStore.html&quot;&gt;GtkListStore&lt;/a&gt;.
Remember that paths must be &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeModel.html#gtk-tree-path-free&quot;&gt;freed&lt;/a&gt; after use.&lt;/p&gt;

&lt;p&gt;It&apos;s worth pointing out
that &lt;tt&gt;gtk_tree_view_convert_widget_to_tree_coords()&lt;/tt&gt; only
appears in GTK+ 2.12.  So this code won&apos;t work on versions older than
a couple of years.&lt;/p&gt;

&lt;p style=&quot;font-size: 120%&quot;&gt;&lt;b&gt;1.3
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-leave&quot;&gt;drag-leave&lt;/a&gt;&quot;
handler&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This signal applies to the destination and is very simple: the
visual feedback showing where data will be dropped is removed.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;gtk_tree_view_set_drag_dest_row(GTK_TREE_VIEW(w), NULL, 0);&lt;/pre&gt;

&lt;p style=&quot;font-size: 120%&quot;&gt;&lt;b&gt;1.4
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-data-get&quot;&gt;drag-data-get&lt;/a&gt;&quot;
handler&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This signal applies to the source.  Its job is to put together the
data to be dropped.  In Disobedience, this is always because the data is
about to be dropped but in the general case it could be because some
candidate destination needs to be able to do fine-grained rejection of
possible drops.  See the discussion of &lt;tt&gt;GTK_DEST_DEFAULT_DROP&lt;/tt&gt;
above.&lt;/p&gt;

&lt;p&gt;In Disobedience&apos;s case, the data will be a string consisting of
track IDs and names.  Once it has been constructed it is communicated
back to GTK+, which will subsequently make it available to the
destination via the &quot;drag-data-received&quot; signal.&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Selections.html#gtk-selection-data-set&quot;&gt;gtk_selection_data_set&lt;/a&gt;(data,
                       GDK_TARGET_STRING,
                       8, (guchar *)result-&amp;gt;vec, result-&amp;gt;nvec);&lt;/pre&gt;

&lt;p&gt;&lt;tt&gt;GDK_TARGET_STRING&lt;/tt&gt; indicates that the data has string type
and 8 is the number of bits per unit.  This bit seems to be
particularly opaquely documented, I got there with a fair bit of trial
and error.&lt;/p&gt;

&lt;p style=&quot;font-size: 120%&quot;&gt;&lt;b&gt;1.5
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-data-received&quot;&gt;drag-data-received&lt;/a&gt;&quot;
handler&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This signal is called on the destination when droppable data has
been received.  (As discussed earlier) it can in principle happen any
time during a drag and drop operation, but in Disobedience&apos;s case it
only happens when the final drop occurs.  The data is retrieved as
follows:&lt;/p&gt;

&lt;pre style=&quot;border:1px solid&quot;&gt;result = (char *)&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Selections.html#gtk-selection-data-get-text&quot;&gt;gtk_selection_data_get_text&lt;/a&gt;(data);&lt;/pre&gt;

&lt;p&gt;To figure out where to drop, the same code as used by the
&quot;drag-motion&quot; handler is called; it&apos;s important that these match as
otherwise the visual feedback and the actual action will not be
consistent.&lt;/p&gt;

&lt;p style=&quot;font-size: 140%&quot;&gt;&lt;b&gt;2. Multiple-row drag and drop&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;GtkTreeView&apos;s built-in drag and drop support only handles one row
at a time, which is not really adequate, and is one of the reasons for
going to so much effort reinventing the wheel.  The code above will
cope with multiple rows just fine but there is one problem: as soon as
the user presses a button to start a drag, the selection will be
reduced to just one row!&lt;/p&gt;

&lt;p&gt;The answer is found
in &lt;a href=&quot;http://code.google.com/p/quodlibet/&quot;&gt;Quodlibet&lt;/a&gt;&apos;s &lt;tt&gt;qltk/views.py&lt;/tt&gt;:
intercept the button press and release events and suppress the change
to the selection unless they&apos;re in the same place.&lt;/p&gt;

&lt;p&gt;My C implementation of this concept can be found
in &lt;a href=&quot;http://www.greenend.org.uk/rjk/bzr/disorder.stable/disobedience/multidrag.c&quot;&gt;multidrag.c&lt;/a&gt;.  The code is very liberally licensed.&lt;/p&gt;

&lt;p&gt;The
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-button-press-event&quot;&gt;button-press-event&lt;/a&gt;&quot;
handler does the following things:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Discard any cached click location and unblock selection.&lt;/li&gt;
  &lt;li&gt;If the click isn&apos;t button 1, or is modified (shifted etc),
  return.&lt;/li&gt;
  &lt;li&gt;If the click doesn&apos;t identify some path in the tree, return.&lt;/li&gt;
  &lt;li&gt;If the path is not selected, return.&lt;/li&gt;
  &lt;li&gt;Otherwise, the click must be an unmodified left click on an
  identifitable, selected path in the tree.  Attempts to modify the
  selection are blocked, and the pointer position is saved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Blocking the selection is done
  via &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeSelection.html#gtk-tree-selection-set-select-function&quot;&gt;gtk_tree_selection_set_select_function&lt;/a&gt;()&lt;/tt&gt;.
The pointer position is stashed
using &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gobject/stable/gobject-The-Base-Object-Type.html#g-object-set-data&quot;&gt;g_object_set_data&lt;/a&gt;()&lt;/tt&gt;
and &lt;tt&gt;&lt;a href=&quot;http://library.gnome.org/devel/gobject/stable/gobject-The-Base-Object-Type.html#g-object-get-data&quot;&gt;g_object_get_data&lt;/a&gt;()&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;The
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-button-release-event&quot;&gt;button-release-event&lt;/a&gt;&quot;
handler does the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;If no click is remembered, return.  In this case it&apos;s assumed
  that the selection can&apos;t be blocked, too.&lt;/li&gt;
  &lt;li&gt;Unblock selection attempts.&lt;/li&gt;
  &lt;li&gt;If the click is in the same place, find the path at that
  location and point the tree view cursor at it.  This mimics the
  effect that the original click would have had.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This source file also handles the
&quot;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-drag-begin&quot;&gt;drag-begin&lt;/a&gt;&quot;
signal and uses it to construct a drag icon out of the rows to be
dragged.  This isn&apos;t discussed in detail here.&lt;/p&gt;

&lt;p style=&quot;font-size: 140%&quot;&gt;&lt;b&gt;3. Automatic scrolling&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;There is one more part of the jigsaw: when the pointer is near the
top or bottom of a destination window, it should scroll up or down
respectively, to allow drops in locations outside the current
viewport.  GtkTreeView only does this natively if you use the
high-level interface and the code that implements it isn&apos;t exposed to
callers.&lt;/p&gt;

&lt;p&gt;I solved this by bringing this code out
into &lt;a href=&quot;http://www.greenend.org.uk/rjk/bzr/disorder.stable/disobedience/autoscroll.c&quot;&gt;autoscroll.c&lt;/a&gt;.
The code is derived directly from the GTK+ source code (although
modified to work without direct access to private data structures) and
therefore retains the LGPL2+ license.&lt;/p&gt;

&lt;p&gt;There are two entry points: &lt;tt&gt;autoscroll_add()&lt;/tt&gt; enables
automatic scrolling when the pointer is near the top or bottom of the
window and &lt;tt&gt;autoscroll_remove()&lt;/tt&gt; disables it.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;autoscroll_add()&lt;/tt&gt; is called at the end of the &quot;drag-motion&quot;
handler, and &lt;tt&gt;autoscroll_remove()&lt;/tt&gt; in the &quot;drag-leave&quot; handler.
The GTK+ equivalents are called in a few other contexts but in fact
&quot;drag-leave&quot; is raised when a drop completes as well as when the
pointer leaves the destination, so this turns out to be
sufficient.&lt;/p&gt;

&lt;p style=&quot;font-size: 140%&quot;&gt;&lt;b&gt;References&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

  &lt;li&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkWidget.html&quot;&gt;GtkWidget&lt;/a&gt;.
  Some of the signals documented here are used.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/gtk-Drag-and-Drop.html&quot;&gt;GTK+
  drag and drop functions&lt;/a&gt;.  A number of these functions are used.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://library.gnome.org/devel/gdk/stable/gdk-Drag-and-Drop.html&quot;&gt;GDK
  drag and drop support&lt;/a&gt;.  A few bits of this are needed.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/TreeWidget.html&quot;&gt;GTK+
  Tree And List Widget Overview&lt;/a&gt;
  and &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeView.html&quot;&gt;GtkTreeView&lt;/a&gt;.
  General documentation for the tree view and related widgets.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/disorder/&quot;&gt;DisOrder&lt;/a&gt;.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://ewx.livejournal.com/tag/disorder&quot;&gt;Other posts about DisOrder&lt;/a&gt;.&lt;/li&gt;

  &lt;li&gt;&lt;a href=&quot;http://code.google.com/p/quodlibet/&quot;&gt;Quodlibet&lt;/a&gt;.&lt;/li&gt;

&lt;/ul&gt;

</description>
  <comments>http://ewx.livejournal.com/532369.html</comments>
  <category>disorder</category>
  <category>geek</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/531981.html</guid>
  <pubDate>Sun, 15 Nov 2009 20:06:32 GMT</pubDate>
  <title>Dr Who</title>
  <link>http://ewx.livejournal.com/531981.html</link>
  <description>I think someone has been watching &lt;i&gt;Silent Running&lt;/i&gt;.</description>
  <comments>http://ewx.livejournal.com/531981.html</comments>
  <category>tv</category>
  <category>reviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>17</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/531819.html</guid>
  <pubDate>Mon, 09 Nov 2009 22:29:12 GMT</pubDate>
  <title>Flashforward 5-7 (spoilers)</title>
  <link>http://ewx.livejournal.com/531819.html</link>
  <description>&lt;p&gt;&lt;b&gt;Episode 5&lt;/b&gt;&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;Stanford blackmailed the president!?!  &lt;i&gt;That&apos;s&lt;/i&gt; not going to
end well.  The White House seems to have escaped physical damage but
the Capitol&apos;s dome got broken (a cliché I think?) although the night
shot towards the end didn&apos;t appear to show this.  &lt;i&gt;Could&lt;/i&gt; just
have been the angle, but.&lt;/p&gt;

&lt;p&gt;Bit insensitive to Mark for his colleagues to celebrate the end of
the Washington trip in a bar, much as it may conveniently emphasize
devil on his back.&lt;/p&gt;

&lt;p&gt;Continued excellent visuals.&lt;/p&gt;

&lt;p&gt;The gunfight at the end was a little OTT, and thought quite
entertaining for it I can&apos;t help but feel that the bounding of the
episode with a cliffhanger was a little forced.  At a stretch the
Clemente announcement could have done the job, failing that the hit on
Janis Hawk (two attackers on one target) was arguably rather more
plausible than the equally matched attack on Stanford Wedeck and his
colleagues.  (Just how realistic is using a rocket launcher in a
confined space anyway?)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Episode 6&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&amp;ldquo;Never go anywhere unless I&apos;m going to get the real
thing&amp;rdquo; seems like a good policy. And the QM/sex superposition is
amusing l-)&lt;/p&gt;

&lt;p&gt;The Benford/Simcoe revelation was done well enough as such but it
was really there to bring out the conflict between the Benfords
themselves; on the one hand it&apos;s a bit of an artificial push, on the
other hand very little substantive has actually happened lately
(gathering yet more obscure clues doesn&apos;t really pay off until they
start to fit together).&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Episode 7&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Back to some striking visuals, especially around Al&apos;s suicide
attempt (the pan across his face for instance), after a bit of a
hiatus in the last episode.&lt;/p&gt;

&lt;p&gt;The Blue Hand meeting has shades of &lt;a href=&quot;http://en.wikipedia.org/wiki/Fight_Club_(film)&quot;&gt;Fight Club&lt;/a&gt;
although their security protocol is a bit flawed!  (But then, so was
“You do not talk about Fight Club”) The question is, though: were they
there to advance the plot, or just to explain Noh&apos;s moment of
honesty?&lt;/p&gt;

&lt;p&gt;We were promised a revelation: but it looks like the only
revelation is that the visions aren&apos;t certainties, which we could
already infer from the inconsistency between Demetri and Zoey&apos;s
visions anyway.&lt;/p&gt;

&lt;p&gt;Bryce and Nicole&apos;s kanji symbol is said to be for &lt;i&gt;belief&lt;/i&gt;.  It&apos;s well
represented on tattoo websites l-) but more usefully can be found on
&lt;a href=&quot;http://en.wiktionary.org/wiki/%E4%BF%A1&quot;&gt;Wiktionary 信&lt;/a&gt;
which suggests a Romanization of “shin” and a meaning of &lt;i&gt;trust&lt;/i&gt;
or &lt;i&gt;faith&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;Maurice Raynaud was a C19&lt;sup&gt;th&lt;/sup&gt; doctor who discovered
Raynaud&apos;s Disease, which affects circulation in extremities, leading
to blueness - an obvious connection l-)&lt;/p&gt;



&lt;p&gt;&lt;b&gt;Characters&lt;/b&gt;&lt;/p&gt;

&lt;a name=&quot;cutid2&quot;&gt;&lt;/a&gt;

&lt;table style=&quot;border-collapse: collapse;border:1px&quot; border=&quot;1&quot;&gt;

 &lt;tr&gt;
  &lt;th&gt;Name&lt;/th&gt;
  &lt;th&gt;Actor&lt;/th&gt;
  &lt;th&gt;Description&lt;/th&gt;
  &lt;th&gt;Notes&lt;/th&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Mark Benford&lt;/td&gt;
  &lt;td&gt;Joseph Fiennes&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Husband of Olivia Benford&lt;br&gt;
      Father of Charlie Benford&lt;br&gt;
      Colleague of Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Aaron Stark&lt;/td&gt;
  &lt;td&gt;Brian F. O&apos;Byrne&lt;/td&gt;
  &lt;td&gt;AA-goer&lt;/td&gt;
  &lt;td&gt;Confidant of Mark Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Nicole Kirby&lt;/td&gt;
  &lt;td&gt;Peyton List&lt;/td&gt;
  &lt;td&gt;Student&lt;/td&gt;
  &lt;td&gt;Babysitter for the Benfords&lt;br&gt;
      Japanese speaker, helps out Bryce&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Olivia Benford&lt;/td&gt;
  &lt;td&gt;Sonya Walger&lt;/td&gt;
  &lt;td&gt;Doctor&lt;/td&gt;
  &lt;td&gt;Wife of Mark Benford&lt;br&gt;
      Mother of Charlie Benford&lt;br&gt;
      Apparent future lover of Lloyd Simcoe&lt;br&gt;
      Colleague of Bryce Varley&lt;br&gt;
      Operated on Dylan Simcoe&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Demetri Noh&lt;/td&gt;
  &lt;td&gt;John Cho&lt;/td&gt;
  &lt;td&gt;Junior FBI agent, apparently doomed&lt;/td&gt;
  &lt;td&gt;Colleague of Mark Benford&lt;br&gt;
      Fiancé of Zoey ??&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Zoey Andata&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
   &lt;td&gt;Gabrielle Union&lt;/td&gt;
   &lt;td&gt;Fiancée of Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Bryce Varley&lt;/td&gt;
  &lt;td&gt;Zachary Knighton&lt;/td&gt;
  &lt;td&gt;Formerly-suicidal doctor&lt;/td&gt;
  &lt;td&gt;Colleague of Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Lloyd Simcoe&lt;/td&gt;
  &lt;td&gt;Jack Davenport&lt;/td&gt;
  &lt;td&gt;(Self-described) annoying parent&lt;/td&gt;
  &lt;td&gt;Father of Dylan Simcoe&lt;br&gt;
      Apparent future lover of Olivia Benford&lt;br&gt;
      ?Unwilling co-conspirator of Simon&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Dylan Simcoe&lt;/td&gt;
  &lt;td&gt;Ryan Wynott&lt;/td&gt;
  &lt;td&gt;Injured autistic child&lt;/td&gt;
  &lt;td&gt;Son of Lloyd Simcoe&lt;br&gt;
      Saved by Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Charlie Benford&lt;/td&gt;
  &lt;td&gt;Lennon Wynn&lt;/td&gt;
  &lt;td&gt;Winsome child&lt;/td&gt;
  &lt;td&gt;Daughter of Mark and Olivia Benford&lt;br&gt;
  Saw D. Gibbons in vision and didn&apos;t like him&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Stanford Wedeck&lt;/td&gt;
  &lt;td&gt;Courtney B. Vance&lt;/td&gt;
  &lt;td&gt;Assistant Director FBI LA Field Office&lt;/td&gt;
  &lt;td&gt;Boss of Mark Sanford and Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Joyce Clemente&lt;/td&gt;
  &lt;td&gt;?&lt;/td&gt;
  &lt;td&gt;US Senator&lt;/td&gt;
  &lt;td&gt;Political opponent of Stanford Wedeck&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Janis Hawk&lt;/td&gt;
  &lt;td&gt;Christine Woods&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Girlfriend of Maya&lt;br&gt;
      Pregnant in her flashforward&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Al Gough&lt;/td&gt;
  &lt;td&gt;Lee Thompson Young&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Would have killed Celia had he lived&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Celia ?&lt;/td&gt;
  &lt;td&gt;?&lt;/td&gt;
  &lt;td&gt;Mother&lt;/td&gt;
  &lt;td&gt;Would have been killed by Al&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Maya&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Girlfriend of Janis Hawk&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Alda Hertzog&lt;/td&gt;
  &lt;td&gt;Rachel Roberts&lt;/td&gt;
  &lt;td&gt;Terrorist&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 
 &lt;tr&gt;
  &lt;td&gt;D. Gibbons&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Obscure hacker/bomber&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of suspect 0&lt;br&gt;
      Killer of Pigeon local cop&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Suspect 0&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Awake during the flashforward&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of D. Gibbons&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Simon&lt;/td&gt;
   &lt;td&gt;Dominic Monaghan&lt;/td&gt;
   &lt;td&gt;Sinister guy on phone&lt;/td&gt;
   &lt;td&gt;Tells Lloyd Simcoe they&apos;re responsible for the &amp;ldquo;greatest
       disaster in human history&amp;rdquo; (presumably the flashforward).&lt;br&gt;
       Uses expertise in QM to pick up women on trains.&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;&amp;ldquo;Reynaud&amp;rdquo;&lt;/td&gt;
   &lt;td&gt;Jeff Slingerland&lt;/td&gt;
   &lt;td&gt;Blue Hand organizer&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;

&lt;/table&gt;

</description>
  <comments>http://ewx.livejournal.com/531819.html</comments>
  <category>flashforward</category>
  <category>tv</category>
  <category>reviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/531614.html</guid>
  <pubDate>Fri, 23 Oct 2009 20:06:52 GMT</pubDate>
  <title>Ice, oh, one hundred!</title>
  <link>http://ewx.livejournal.com/531614.html</link>
  <description>&lt;div&gt;&lt;a href=&quot;http://www.livejournal.com/poll/?id=1475390&quot;&gt;View Poll: #1475390&lt;/a&gt;&lt;/div&gt;</description>
  <comments>http://ewx.livejournal.com/531614.html</comments>
  <category>polls</category>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/531450.html</guid>
  <pubDate>Mon, 19 Oct 2009 21:09:17 GMT</pubDate>
  <title>Flashforward 1-4 (spoilers)</title>
  <link>http://ewx.livejournal.com/531450.html</link>
  <description>&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;p&gt;&lt;b&gt;Episode 1&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

 &lt;li&gt;There&apos;s some nice camerawork in there, e.g. when Bryce Varley is
 considering his end.&lt;/li&gt;

 &lt;li&gt;A lot of the first episode must have practically written itself:
 the junior (of course) fed sees nothing, the senior one sees himself
 investigating the flashforward, his wife sees herself with another
 man ... the list goes on, ending of course with the one mysterious
 man who &lt;i&gt;didn&apos;t&lt;/i&gt; pass out.  The obvious big questions are
 articulated: how and why did this happen, is the future seen a
 certain one or merely a possible one?&lt;/li&gt;

 &lt;li&gt;The devastation after the flashforward seemed a little overdone.
 Chaos on the roads is plausible enough and one helicopter hitting a
 building is fair enough, but exactly how many helicopters were there
 actually in the air along the line of a single road?  (And how did
 did keepers falling asleep for a couple of minutes cause zoo animals
 to escape?  Thought the kangaroo is probably there to make you wonder
 if animals had the same experience and if not why not.)&lt;/li&gt;

 &lt;li&gt;The story is, at least initially, bounded: the date of the
 visions from the future is known, requiring the story to get there
 rather than rambling on indefinitely.  Personally I&apos;m inclined to see
 this as positive though of course, &lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Episode 2&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

  &lt;li&gt;More nice photography, e.g. the shot of the helicopters over
  suburbia from directly above.&lt;/li&gt;

  &lt;li&gt;Mark&apos;s boss&apos;s story is entertainingly horrible l-)&lt;/li&gt;

  &lt;li&gt;Varley is shaping up as the philosopher of the show:&lt;br&gt;
  &amp;ldquo;Everything&apos;s going to be OK, Mr Simcoe&amp;rdquo;&lt;br&gt;
  &amp;ldquo;How can you be so sure?&amp;rdquo;
  &amp;ldquo;I&apos;ve seen the future.&amp;rdquo;&lt;/li&gt;

  &lt;li&gt;Mark is letting the vision guide the investigation.  There&apos;s a
  real risk here that&apos;s he not analyzed, which is that he&apos;s heading
  down a path &lt;i&gt;to the endpoint of the vision&lt;/i&gt;, not to the reality
  behind the flashforward.&lt;/li&gt;

  &lt;li&gt;&amp;ldquo;He who foresees calamities suffers them twice over&amp;rdquo;
  is attributed to one &lt;a href=&quot;http://en.wikipedia.org/wiki/Beilby_Porteus&quot;&gt;Beilby
  Porteus&lt;/a&gt;, an Anglican bishop and leading abolitionist.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Episode 3&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Either Noh&apos;s fiancee is lying or at least one of their visions (and
the phone call he got) is false or profoundly misleading.  Does he
have a twin brother perhaps?  Aaron&apos;s vision seems to be inconsistent
with the grave evidence too (assuming he didn&apos;t lie about it).  Noh +
girlfriend have inconsistent memories of how they got together too -
perhaps the point is simply that future memories are inconsistent
too!&lt;/p&gt;

&lt;p&gt;According to Wikipedia, &lt;a href=&quot;http://en.wikipedia.org/wiki/Kabbalah&quot;&gt;Kabbalah&lt;/a&gt; = הלבק = Kuf
Bet Lamed He = which by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gematria&quot;&gt;Gematria&lt;/a&gt; rules is
100+2+30+5 = 137.  So Geyer&apos;s explanation is possible.  A causal loop
is inadequate justification for liberating Nazis, Benford needs to get
a grip on himself.&lt;/p&gt;

&lt;p&gt;There seems to be a giant neuralizer in southern Somalia.  The
Ganwar region may be fictitious (or at least the web hasn&apos;t heard of
it!)  Geyer&apos;s claim about the significance of a ring on the left thumb
doesn&apos;t find any online support either.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Episode 4&lt;/b&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Another reminder of the destruction when the flashforward happened;
I wonder if there&apos;d be really that much chaos?&lt;/li&gt;

&lt;li&gt;Ned Ned is quite entertaining l-)&lt;/li&gt;

&lt;li&gt;If the FBI can&apos;t get some help from the CIA... &lt;i&gt;obviously&lt;/i&gt;
they hire a computer hacker.  I&apos;m surprised they didn&apos;t figure out
they were in a TV program.  But how does Alda Hertzog come to have
internet access while she&apos;s locked up?  I can&apos;t say she came across as
quite as threatening as she was probably supposed to though.&lt;/li&gt;

&lt;li&gt;&amp;ldquo;So maybe it&apos;s not as sexy as dead poultry in
Africa...&amp;rdquo; l-)&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;Characters&lt;/b&gt;&lt;/p&gt;

&lt;table style=&quot;border-collapse: collapse;border:1px;border-color:grey&quot; border=&quot;1&quot;&gt;

 &lt;tr&gt;
  &lt;th&gt;Name&lt;/th&gt;
  &lt;th&gt;Actor&lt;/th&gt;
  &lt;th&gt;Description&lt;/th&gt;
  &lt;th&gt;Relationships&lt;/th&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Mark Benford&lt;/td&gt;
  &lt;td&gt;Joseph Fiennes&lt;/td&gt;
  &lt;td&gt;FBI agent&lt;/td&gt;
  &lt;td&gt;Husband of Olivia Benford&lt;br&gt;
      Father of Charlie Benford&lt;br&gt;
      Colleague of Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Olivia Benford&lt;/td&gt;
  &lt;td&gt;Sonya Walger&lt;/td&gt;
  &lt;td&gt;Doctor&lt;/td&gt;
  &lt;td&gt;Wife of Mark Benford&lt;br&gt;
      Mother of Charlie Benford&lt;br&gt;
      Apparent future lover of Lloyd Simcoe&lt;br&gt;
      Colleague of Bryce Varley&lt;br&gt;
      Operated on Dylan Simcoe&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Demetri Noh&lt;/td&gt;
  &lt;td&gt;John Cho&lt;/td&gt;
  &lt;td&gt;Junior FBI agent, apparently doomed&lt;/td&gt;
  &lt;td&gt;Colleague of Mark Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Bryce Varley&lt;/td&gt;
  &lt;td&gt;Zachary Knighton&lt;/td&gt;
  &lt;td&gt;Formerly-suicidal doctor&lt;/td&gt;
  &lt;td&gt;Colleague of Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Lloyd Simcoe&lt;/td&gt;
  &lt;td&gt;Jack Davenport&lt;/td&gt;
  &lt;td&gt;(Self-described) annoying parent&lt;/td&gt;
  &lt;td&gt;Father of Dylan Simcoe&lt;br&gt;
      Apparent future lover of Olivia Benford&lt;br&gt;
      ?Unwilling co-conspirator of Simon&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Dylan Simcoe&lt;/td&gt;
  &lt;td&gt;Ryan Wynott&lt;/td&gt;
  &lt;td&gt;Injured autistic child&lt;/td&gt;
  &lt;td&gt;Son of Lloyd Simcoe&lt;br&gt;
      Saved by Olivia Benford&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Charlie Benford&lt;/td&gt;
  &lt;td&gt;Lennon Wynn&lt;/td&gt;
  &lt;td&gt;Winsome child&lt;/td&gt;
  &lt;td&gt;Daughter of Mark and Olivia Benford&lt;br&gt;
  Saw D. Gibbons in vision and didn&apos;t like him&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Stanford Wedeck&lt;/td&gt;
  &lt;td&gt;Courtney B. Vance&lt;/td&gt;
  &lt;td&gt;Assistant Director FBI LA Field Office&lt;/td&gt;
  &lt;td&gt;Boss of Mark Sanford and Demetri Noh&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Alda Hertzog&lt;/td&gt;
  &lt;td&gt;Rachel Roberts&lt;/td&gt;
  &lt;td&gt;Terrorist&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 
 &lt;tr&gt;
  &lt;td&gt;D. Gibbons&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Obscure hacker/bomber&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of suspect 0&lt;br&gt;
      Killer of Pigeon local cop&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
  &lt;td&gt;Suspect 0&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;Awake during the flashforward&lt;/td&gt;
  &lt;td&gt;Telephone interlocutor of D. Gibbons&lt;/td&gt;
 &lt;/tr&gt;

 &lt;tr&gt;
   &lt;td&gt;Simon&lt;/td&gt;
   &lt;td&gt;&lt;/td&gt;
   &lt;td&gt;Sinister guy on phone&lt;/td&gt;
   &lt;td&gt;Tells Lloyd Simcoe they&apos;re responsible for the &amp;ldquo;greatest
       disaster in human history&amp;rdquo; (presumably the flashforward).&lt;/td&gt;
 &lt;/tr&gt;

&lt;/table&gt;

</description>
  <comments>http://ewx.livejournal.com/531450.html</comments>
  <category>flashforward</category>
  <category>tv</category>
  <category>reviews</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/531047.html</guid>
  <pubDate>Sun, 18 Oct 2009 20:31:45 GMT</pubDate>
  <title>Photo catchup</title>
  <link>http://ewx.livejournal.com/531047.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/5360.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/5360.jpg&quot; width=&quot;600&quot; height=&quot;450&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The window display in Forbidden Planet is (or was, if they&apos;ve since changed it) quite striking.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/5386.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/5386.jpg&quot; width=&quot;600&quot; height=&quot;270&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I can&apos;t remember why I took this; I think we thought the no-pregnant-women sign was rather patronizing.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/4168.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/4168.jpg&quot; width=&quot;600&quot; height=&quot;900&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.marshallalexander.net/&quot;&gt;Pattern here&lt;/a&gt;.  The keys were very fiddly!&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/531047.html</comments>
  <category>nonsense</category>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/530850.html</guid>
  <pubDate>Sat, 17 Oct 2009 12:58:57 GMT</pubDate>
  <title>Timing bug somewhere-or-other</title>
  <link>http://ewx.livejournal.com/530850.html</link>
  <description>&lt;pre&gt;richard@araminta:~$ cat t.c
#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;sys/time.h&amp;gt;
#include &amp;lt;assert.h&amp;gt;
int main(void) {
  for(;;) {
    time_t t;
    struct timeval tv;

    assert(gettimeofday(&amp;amp;tv, NULL) == 0);
    assert(time(&amp;t) != (time_t)-1);
    if(t &amp;lt; tv.tv_sec)
      return printf(&quot;%ld %ld.%06ld\n&quot;, t, tv.tv_sec, tv.tv_usec);
  }
}

richard@araminta:~$ gcc -o t t.c
richard@araminta:~$ ./t
1255784018 1255784019.000000&lt;/pre&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;pre&gt;richard@araminta:~$ uname -a
Linux araminta 2.6.26-2-xen-amd64 #1 SMP Thu Aug 20 00:36:34 UTC 2009 x86_64 GNU/Linux
richard@araminta:~$ dpkg -l libc6\*|grep ^i
ii  libc6                                   2.7-18                     GNU C Library: Shared libraries
ii  libc6-dbg                               2.7-18                     GNU C Library: Libraries with debugging symb
ii  libc6-dev                               2.7-18                     GNU C Library: Development Libraries and Hea
ii  libc6-dev-i386                          2.7-18                     GNU C Library: 32bit development libraries f
ii  libc6-i386                              2.7-18                     GNU C Library: 32bit shared libraries for AM
ii  libc6-prof                              2.7-18                     GNU C Library: Profiling Libraries
richard@araminta:~$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
stepping	: 11
cpu MHz		: 2397.654
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu de tsc msr pae cx8 apic sep mtrr cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good pni ssse3 cx16 lahf_lm
bogomips	: 4801.28
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
&amp;lt;etc etc etc&amp;gt;&lt;/pre&gt;</description>
  <comments>http://ewx.livejournal.com/530850.html</comments>
  <category>geek</category>
  <lj:security>public</lj:security>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/530499.html</guid>
  <pubDate>Thu, 15 Oct 2009 09:18:20 GMT</pubDate>
  <title>Docking</title>
  <link>http://ewx.livejournal.com/530499.html</link>
  <description>&lt;div&gt;&lt;a href=&quot;http://www.livejournal.com/poll/?id=1471524&quot;&gt;View Poll: #1471524&lt;/a&gt;&lt;/div&gt;</description>
  <comments>http://ewx.livejournal.com/530499.html</comments>
  <category>nonsense</category>
  <category>geek</category>
  <category>polls</category>
  <category>mac</category>
  <lj:security>public</lj:security>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/530288.html</guid>
  <pubDate>Sat, 10 Oct 2009 16:57:25 GMT</pubDate>
  <title>Soekris so far</title>
  <link>http://ewx.livejournal.com/530288.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://ewx.livejournal.com/527297.html&quot;&gt;Steve gave me a Soekris net4501&lt;/a&gt;.  I&apos;ve been gradually getting this into shape for use as the house router.  &lt;a href=&quot;http://www.greenend.org.uk/rjk/2009/soekris.html&quot;&gt;This page covers the details&lt;/a&gt; in case anyone else attempts something similar; some aspects were not entirely trivial.&lt;/p&gt;

&lt;p&gt;Testing reveals that it can route data at (at least) 24Mbit/second, which is comfortably faster than the nominal speed of our Internet connection.  It&apos;s much slower than the nominal speed of the house wireless but actually marginally faster than the measured speed, so I&apos;m not worried about that either.&lt;/p&gt;

&lt;p&gt;(“At least” 24Mbit/s because that could be a limit somewhere other than the Soekris.)&lt;/p&gt;

&lt;p&gt;Usefully for the testing it turns out that crossover cables are no longer necessary, at least when connecting the Soekris to a modern Mac (and for all I know any other modern hardware).&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/530288.html</comments>
  <category>geek</category>
  <category>soekris</category>
  <lj:security>public</lj:security>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/529925.html</guid>
  <pubDate>Wed, 30 Sep 2009 11:52:23 GMT</pubDate>
  <title>Make a prediction</title>
  <link>http://ewx.livejournal.com/529925.html</link>
  <description>&lt;div&gt;&lt;a href=&quot;http://www.livejournal.com/poll/?id=1464460&quot;&gt;View Poll: #1464460&lt;/a&gt;&lt;/div&gt;</description>
  <comments>http://ewx.livejournal.com/529925.html</comments>
  <category>polls</category>
  <category>politics</category>
  <lj:security>public</lj:security>
  <lj:reply-count>25</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/529759.html</guid>
  <pubDate>Mon, 21 Sep 2009 20:08:22 GMT</pubDate>
  <title>Is it a bird...?</title>
  <link>http://ewx.livejournal.com/529759.html</link>
  <description>&lt;p&gt;Just walking across the car park at &lt;a href=&quot;http://www.wimpole.org/&quot;&gt;Wimpole&lt;/a&gt; when I heard a noise, looked up and said &amp;ldquo;Woah!&amp;rdquo;.  As chance would have it I had my camera and the right lens.&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3625.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3625.jpg&quot; style=&quot;border: 1px solid black&quot; width=&quot;900&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(That&apos;s a &lt;a href=&quot;http://en.wikipedia.org/wiki/Avro_Vulcan&quot;&gt;Vulcan&lt;/a&gt; for anyone who manages not to recognize it.)  Later on there was what I&apos;m pretty sure is not only a &lt;a href=&quot;http://en.wikipedia.org/wiki/Hawker_Hurricane&quot;&gt;Hawker Hurricane&lt;/a&gt; but in fact the same one as in the picture on Wikipedia.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3675.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3675.jpg&quot; style=&quot;border: 1px solid black&quot; width=&quot;900&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I had no idea what this was at the time but a bit of Googling reveals it to be a &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Havilland_Tiger_Moth&quot;&gt;Tiger Moth&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3687.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/09-21/3687.jpg&quot; style=&quot;border: 1px solid black&quot; width=&quot;900&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The red arrows were around too and earlier there was some kind of small fast jet doing acrobatics in the general direction of Cambridge.  It turns out that the event was &lt;a href=&quot;http://www.marshallgroup.co.uk/centenary.html&quot;&gt;the centenary of Marshalls&lt;/a&gt;.&lt;/p&gt;

</description>
  <comments>http://ewx.livejournal.com/529759.html</comments>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/529436.html</guid>
  <pubDate>Sat, 19 Sep 2009 13:54:42 GMT</pubDate>
  <title>Stacks and better translucent windows</title>
  <link>http://ewx.livejournal.com/529436.html</link>
  <description>&lt;p&gt;I recently upgraded to &lt;a href=&quot;http://www.apple.com/macosx/&quot;&gt;Snow Leopard&lt;/a&gt;.&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;The first thing I noticed was that it was significantly faster to start up and log in than its predecessor.  Unlike certain other operating systems it does seem to be genuinely starting faster too, rather than just getting you to a desktop quickly and then running like a drain while it finishes &lt;i&gt;actually&lt;/i&gt; starting up.  The Startup Disk system preferences pane is something else that&apos;s visibly faster.&lt;/p&gt;

&lt;p&gt;Exposé is more tidily organized.  In Leopard when the windows shrank to fit they would be rather haphazardly jumbled up.  In SL they are in one or more lines, with iconized windows below.  Having the iconized windows appear from nowhere is initially a little disconcering (the rest shrink smoothly into place).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/expose.png&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/expose.png&quot; style=&quot;border:none&quot; width=&quot;1280&quot; height=&quot;800&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stacks are improved too to the point that I&apos;ve stopped having my frequently used applications in the dock and instead put just /Applications there and started programs from there.  While doing this I noticed that Apple have made a better translucent window, albeit not in a way that they use everywhere.  Ordinarily I find translucent windows completely pointless as if the background and foreground are both text-heavy (which they often are for me) the background text distracts from the foreground:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/trans1.png&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/trans1.png&quot; style=&quot;border:none&quot; width=&quot;1280&quot; height=&quot;800&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But in a stack, the background is heavily blurred, making it much less intrusive:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/trans2.png&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/trans2.png&quot; style=&quot;border:none&quot; width=&quot;1280&quot; height=&quot;800&quot;&gt;&lt;/a&gt;&lt;/p&gt;

</description>
  <comments>http://ewx.livejournal.com/529436.html</comments>
  <category>geek</category>
  <category>mac</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/529309.html</guid>
  <pubDate>Thu, 17 Sep 2009 13:24:29 GMT</pubDate>
  <title>Laptop trackball</title>
  <link>http://ewx.livejournal.com/529309.html</link>
  <description>&lt;p&gt;Can anyone recommend for/against trackballs suitable for use with a laptop?&lt;/p&gt;
&lt;p&gt;I&apos;m looking for something that&apos;s:&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;fairly small&lt;/li&gt;
 &lt;li&gt;won&apos;t lose the ball if slung in a laptop bag
 &lt;li&gt;ideally, uses bluetooth (though usb might be ok)&lt;/li&gt;
 &lt;li&gt;ideally, that could be clipped to the side of the laptop&lt;/li&gt;
&lt;/ul&gt;</description>
  <comments>http://ewx.livejournal.com/529309.html</comments>
  <category>geek</category>
  <category>questions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/529104.html</guid>
  <pubDate>Sun, 13 Sep 2009 13:13:36 GMT</pubDate>
  <title>Blue screen</title>
  <link>http://ewx.livejournal.com/529104.html</link>
  <description>&lt;p&gt;I was trying to get some (any) kind of network filesystem access from my Mac to a Unix box.  I didn&apos;t have much luck (which is another rant entirely) but I was amused by the “it&apos;s &lt;s&gt;broken&lt;/s&gt; a PC” icon...&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/bsod-preview.png&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/bsod-preview.png&quot; width=&quot;305&quot; height=&quot;416&quot; style=&quot;border:none&quot;&gt;&lt;/a&gt;&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/529104.html</comments>
  <category>nonsense</category>
  <category>geek</category>
  <category>mac</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/528884.html</guid>
  <pubDate>Sun, 13 Sep 2009 09:44:19 GMT</pubDate>
  <title>What&apos;s the point of ITV?</title>
  <link>http://ewx.livejournal.com/528884.html</link>
  <description>&lt;p style=&quot;margin-left:1em&quot;&gt;&lt;a href=&quot;http://news.bbc.co.uk/1/hi/entertainment/7921427.stm&quot;&gt;If the worst should happen&lt;/a&gt;, and ITV were dismantled or taken over by an overseas company with less of an obligation to create British programmes, it would leave a huge hole. That really is thinking the unthinkable.&lt;/p&gt;

&lt;p&gt;Would it?  Frankly I&apos;m not sure I&apos;d notice.  The last thing I watched on ITV was &lt;i&gt;Law And Order UK&lt;/i&gt; which they stopped showing half way through the series without any announcement as to when or whether the rest will appear.  (You might think it would be a better fit on C5 anyway given that&apos;s where the US versions show.)  I can&apos;t remember what would have been the previous thing, and I mostly watch C5 and (to a lesser extent) the BBC.&lt;/p&gt;

&lt;p&gt;It would of course help if they didn&apos;t, apparently uniquely among TV stations, &lt;a href=&quot;http://www.bleb.org/tv/&quot;&gt;try to stop you finding out what they were showing&lt;/a&gt;.&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/528884.html</comments>
  <category>tv</category>
  <category>comment</category>
  <lj:security>public</lj:security>
  <lj:reply-count>23</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/528600.html</guid>
  <pubDate>Fri, 04 Sep 2009 20:21:44 GMT</pubDate>
  <title>Last night&apos;s moon</title>
  <link>http://ewx.livejournal.com/528600.html</link>
  <description>&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/misc/moon8.jpeg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/misc/moon8.jpeg&quot; width=&quot;601&quot; height=&quot;601&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;</description>
  <comments>http://ewx.livejournal.com/528600.html</comments>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/528196.html</guid>
  <pubDate>Fri, 04 Sep 2009 16:44:11 GMT</pubDate>
  <title>New lenses</title>
  <link>http://ewx.livejournal.com/528196.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.dpreview.com/news/0909/09090103canon15mm28mm18mm135mm.asp&quot;&gt;
Canon&apos;s
new 15-85mm f/3.5-5.6 lens&lt;/a&gt; looks interesting to me, and I&apos;ll be
keen to see a proper review.&lt;/p&gt;

&lt;p&gt;I&apos;ve been using the 17-85mm f/4-5.6 for some time; its overwhelming
plus point is the wide focal length range (compared to say the 18-55mm
kit lens) and although I&apos;ve been generally pleased with the results
image quality starts to fall when it&apos;s wide open (especially when this
means both focal length and aperture).&lt;/p&gt;

&lt;p&gt;The first of the apparent advantages of the lens is 2mm more on the
focal length.  This amounts to about a 10% wider field of view
(66&amp;deg; versus 73&amp;deg;) and since I keep running up against the 17mm
stop, I&apos;m sure I&apos;d use the extra.&lt;/p&gt;

&lt;p&gt;The second is another third of a stop in the diaphragm.  Again
doesn&apos;t sound like much but could just be enough on a dim day, and if
it pushes the point where things get soft out a bit further that would
help too.&lt;/p&gt;

&lt;p&gt;It looks like it&apos;s physically shorter and fatter, but heavier, than
the 17-85mm.  The former is certainly good, as with a camera on the
back and polarizer on the front the old lens is a tight fit in my
camera bag.  Fatter means that I&apos;d need a new polarizer.&lt;/p&gt;

&lt;p&gt;The obvious downside is the cost, even given that I expect I&apos;ll be
able to sell my old lens on.&lt;/p&gt;

&lt;p&gt;(Yes, I know perfectly well that if you really want high quality,
fixed focal length is the way to go, but I have very limited tolerance
for (1) carrying around lenses I&apos;m only going to use occasionally and
(2) constantly swapping between different lenses.)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.dpreview.com/news/0909/09090102canon100mmmacro.asp&quot;&gt;In
other news&lt;/a&gt; they&apos;ve significantly upgraded their 100mm macro lens
with IS and (given the L designation) presumably superior glass, not
that I&apos;ve detected any flaw in the existing one, which I&apos;ve got a lot
out of.  I think this will be easier to resist but both of these
lenses being announced at the same time has left me feeling like Canon
have an eye on my wallet in particular l-)&lt;/p&gt;</description>
  <comments>http://ewx.livejournal.com/528196.html</comments>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>13</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/527926.html</guid>
  <pubDate>Fri, 04 Sep 2009 11:50:28 GMT</pubDate>
  <title>50 things that are being killed by the internet</title>
  <link>http://ewx.livejournal.com/527926.html</link>
  <description>&lt;a href=&quot;http://www.telegraph.co.uk/technology/6133903/50-things-that-are-being-killed-by-the-internet.html&quot;&gt;50 things that are being killed by the internet&lt;/a&gt; (or more accurately, by modern communications technology).  Which do you miss the most?  The least?  What have they missed?</description>
  <comments>http://ewx.livejournal.com/527926.html</comments>
  <category>nonsense</category>
  <category>links</category>
  <lj:security>public</lj:security>
  <lj:reply-count>11</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/527814.html</guid>
  <pubDate>Thu, 27 Aug 2009 22:12:46 GMT</pubDate>
  <title>Bin there done that</title>
  <link>http://ewx.livejournal.com/527814.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-27/5354.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/gallery/photos/2009/08-27?pic=5354.jpg&quot; height=&quot;600&quot; width=&quot;400&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-27/5347.jpg&quot;&gt;&lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-27/5347.jpg&quot; height=&quot;600&quot; width=&quot;900&quot; style=&quot;border: 1px solid black&quot;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
  <comments>http://ewx.livejournal.com/527814.html</comments>
  <category>silly</category>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/527530.html</guid>
  <pubDate>Thu, 27 Aug 2009 20:17:16 GMT</pubDate>
  <title>BBQ Photos</title>
  <link>http://ewx.livejournal.com/527530.html</link>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3227.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/gallery/photos/2009/08-23?pic=3227.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;400&quot; width=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3230.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3230.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;900&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3240.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3240.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;900&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3311.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3311.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3244.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3244.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3245.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3245.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3291.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3291.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;900&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3320.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3320.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;900&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3343.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3343.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3360.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3360.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;900&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3362.jpg&quot;&gt;
    &lt;img src=&quot;http://www.greenend.org.uk/rjk/photos/2009/08-23/3362.jpg&quot; style=&quot;border: 1px solid black&quot; height=&quot;600&quot;&gt;&lt;/a&gt;&lt;/p&gt;

</description>
  <comments>http://ewx.livejournal.com/527530.html</comments>
  <category>photography</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://ewx.livejournal.com/527297.html</guid>
  <pubDate>Mon, 24 Aug 2009 16:42:16 GMT</pubDate>
  <title>Small PCs</title>
  <link>http://ewx.livejournal.com/527297.html</link>
  <description>&lt;p&gt;I&apos;m planning to get a &lt;a href=&quot;http://www.soekris.com/net5501.htm&quot;&gt;Soekris net5501&lt;/a&gt; to the be the house router (so: IP routing, NAT, DHCP client/server, secnet VPN, DNS).  Before I do, are there any similar devices I should consider as possible alternatives?&lt;/p&gt;

&lt;p&gt;What I need is:&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;Silent or at least very quiet&lt;/li&gt;
 &lt;li&gt;At least three ethernet ports (house LAN, house wireless, upstream)&lt;/li&gt;
 &lt;li&gt;Must be able to run Linux without undue hassle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nice to have but not &lt;i&gt;necessarily&lt;/i&gt; essential:&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;Serial console (but I can faff around with a keyboard and monitor if it comes to it)&lt;/li&gt;
 &lt;li&gt;Compact flash storage (I have a spare 2GB card, which is unrealistically small for my camera)&lt;/li&gt;
 &lt;li&gt;x86 architecture (my plan is to transplant an existing lenny install onto it)&lt;/li&gt;
&lt;/ul&gt;</description>
  <comments>http://ewx.livejournal.com/527297.html</comments>
  <category>geek</category>
  <category>soekris</category>
  <lj:security>public</lj:security>
  <lj:reply-count>15</lj:reply-count>
</item>
</channel>
</rss>
