<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Paul Natsuo Kishimoto</title><link href="https://paul.kishimoto.name/" rel="alternate"/><link href="https://paul.kishimoto.name/feeds/all.atom.xml" rel="self"/><id>https://paul.kishimoto.name/</id><updated>2026-09-21T00:00:00+02:00</updated><entry><title>What's in a (domain) name?</title><link href="https://paul.kishimoto.name/2026/09/domains" rel="alternate"/><published>2026-09-21T00:00:00+02:00</published><updated>2026-09-21T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2026-09-21:/2026/09/domains</id><summary type="html">&lt;p&gt;This website, and my e-mail and other associated services,
are now also available via a new domain: &lt;a class="reference external" href="https://paul.kishimoto.eu"&gt;paul.kishimoto.eu&lt;/a&gt;.
Why is that?&lt;/p&gt;
&lt;p&gt;The .name top-level domain was launched in 2002 to allow people to represent their own personal names in their web presence.
For exactly this reason, I registered &lt;tt class="docutils literal"&gt;paul.kishimoto.name&lt;/tt&gt; in July 2006,
and have used it for more than 20 years.
In 2026, two things have changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, it &lt;a class="reference external" href="https://en.wikipedia.org/wiki/.name#Discontinuation_of_third_level_domains"&gt;was proposed in April&lt;/a&gt;
that all third-level registrations (like &lt;tt class="docutils literal"&gt;x.y.name&lt;/tt&gt;) would be terminated as of early 2027.
(See &lt;a class="reference external" href="https://neil.fraser.name/news/2026/09/03/"&gt;another report by Neil Fraser&lt;/a&gt;,
and &lt;a class="reference external" href="https://domainincite.com/31926-stupid-domain-name-owner-fights-verisign-turn-off"&gt;ongoing …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;This website, and my e-mail and other associated services,
are now also available via a new domain: &lt;a class="reference external" href="https://paul.kishimoto.eu"&gt;paul.kishimoto.eu&lt;/a&gt;.
Why is that?&lt;/p&gt;
&lt;p&gt;The .name top-level domain was launched in 2002 to allow people to represent their own personal names in their web presence.
For exactly this reason, I registered &lt;tt class="docutils literal"&gt;paul.kishimoto.name&lt;/tt&gt; in July 2006,
and have used it for more than 20 years.
In 2026, two things have changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, it &lt;a class="reference external" href="https://en.wikipedia.org/wiki/.name#Discontinuation_of_third_level_domains"&gt;was proposed in April&lt;/a&gt;
that all third-level registrations (like &lt;tt class="docutils literal"&gt;x.y.name&lt;/tt&gt;) would be terminated as of early 2027.
(See &lt;a class="reference external" href="https://neil.fraser.name/news/2026/09/03/"&gt;another report by Neil Fraser&lt;/a&gt;,
and &lt;a class="reference external" href="https://domainincite.com/31926-stupid-domain-name-owner-fights-verisign-turn-off"&gt;ongoing coverage by Kevin Murphy&lt;/a&gt; at Domain Incite.)
This happened because the original delegate for managing &lt;tt class="docutils literal"&gt;.name&lt;/tt&gt;,
the London, GB company Global Name Registry,
was sold in 2008 to VeriSign,
a large, US company that also controls &lt;tt class="docutils literal"&gt;.com&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;.net&lt;/tt&gt;.
Every top-level domain similarly is managed by some organization;
for instance, the &lt;tt class="docutils literal"&gt;.ca&lt;/tt&gt; country-code top-level domain
is administered by &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Canadian_Internet_Registration_Authority"&gt;CIRA&lt;/a&gt;,
a Canada-based non-profit whose members elect its board of directors.
Organizations like CIRA or VeriSign can propose changes to &lt;a class="reference external" href="https://en.wikipedia.org/wiki/ICANN"&gt;ICANN&lt;/a&gt;,
a US-based organization that oversees the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Domain_Name_System"&gt;Domain Name System (DNS)&lt;/a&gt;.
Because VeriSign is a for-profit company,
their choices in managing &lt;tt class="docutils literal"&gt;.name&lt;/tt&gt; and their other TLDs are motivated mainly by profit,
and only constrained by ICANN, if at all.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, in August the US government targeted the Italian anti-fascist organization &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Autistici/Inventati#United_States_government_sanctions_(2026)"&gt;Autistici/Inventati (A/I)&lt;/a&gt;
for…being opposed to fascism. &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt;
One avenue of attack was a designation that made it illegal for US-based entities do to business with A/I.
It so happened that A/I used the domain name &lt;tt class="docutils literal"&gt;austistici.org&lt;/tt&gt;,
and the &lt;tt class="docutils literal"&gt;.org&lt;/tt&gt; top-level domain is managed by &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Public_Interest_Registry"&gt;Public Interest Registry&lt;/a&gt; (PIR) which,
although a non-profit,
is based in the US.
Rather than refuse or take action against the legal designation,
PIR immediately deregistered A/I's domain,
taking them offline.&lt;/p&gt;
&lt;p&gt;The combination of these two events leads to some tough choices.
Although legal challenges against VeriSign's action are pending,
there is no guarantee they will succeed, in which case &lt;tt class="docutils literal"&gt;paul.kishimoto.name&lt;/tt&gt; will vanish around March 2027.
It seems VeriSign intends to make second-level domains—such as &lt;tt class="docutils literal"&gt;kishimoto.name&lt;/tt&gt;—available for registration,
which means anyone with a quick trigger finger and enough money could register that domain and then impersonate me.
I might be faced with the choice to either risk that impersonation or,
in effect, pay a hefty ransom to get the second-level domain myself.
Even if the termination is averted,
the &lt;tt class="docutils literal"&gt;.name&lt;/tt&gt; TLD remains in the control of a for-profit, US-based registrar,
which means that if the US government goes on to target more anti-fascist organzations or individuals &lt;a class="footnote-reference" href="#footnote-2" id="footnote-reference-2"&gt;[2]&lt;/a&gt; in the same manner as A/I,
VeriSign could choose to comply and cancel a &lt;tt class="docutils literal"&gt;.name&lt;/tt&gt; registration.&lt;/p&gt;
&lt;p&gt;So, although there are today &lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains"&gt;many&lt;/a&gt;,
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_English-language_generic_Internet_top-level_domains"&gt;many&lt;/a&gt;
TLDs available—like &lt;tt class="docutils literal"&gt;.fun&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;.games&lt;/tt&gt;—
it turns out that nearly all of these are controlled by US-based organizations,
thus not any more reliable than &lt;tt class="docutils literal"&gt;.name&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;.com&lt;/tt&gt;, &lt;tt class="docutils literal"&gt;.org&lt;/tt&gt;, etc.&lt;/p&gt;
&lt;p&gt;This logic brought me eventually past most generic TLDs to options like
&lt;tt class="docutils literal"&gt;.at&lt;/tt&gt; (Austria, where I currently live) or &lt;tt class="docutils literal"&gt;.eu&lt;/tt&gt;, and ultimately I went with the latter.
&lt;tt class="docutils literal"&gt;.eu&lt;/tt&gt; is managed by EURid (&lt;a class="reference external" href="https://en.wikipedia.org/wiki/.eu"&gt;1&lt;/a&gt;,
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/EURid"&gt;2&lt;/a&gt;),
and contains the second-level domain &lt;tt class="docutils literal"&gt;.europa.eu&lt;/tt&gt;
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Europa_(web_portal)"&gt;used by the European Union&lt;/a&gt; for the web presence of its many institutions.
Although the US can and does target international organizations via sanctions, &lt;a class="footnote-reference" href="#footnote-3" id="footnote-reference-3"&gt;[3]&lt;/a&gt;
actions against EURid would in theory give them power over &lt;tt class="docutils literal"&gt;.eu&lt;/tt&gt; and thus &lt;tt class="docutils literal"&gt;.europa.eu&lt;/tt&gt;,
and one can hope the EU would resist.
(Let's hope we don't have to find out!)&lt;/p&gt;
&lt;p&gt;Thus for the time being:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Everything I have is online at &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;paul.kishimoto.{name,eu}/foo/bar&lt;/span&gt;&lt;/tt&gt;.
In other words, this website is available at either domain.&lt;/li&gt;
&lt;li&gt;The e-mail addresses &lt;a class="reference external" href="mailto:mail&amp;#64;paul,kishimoto.eu"&gt;mail&amp;#64;paul.kishimoto.eu&lt;/a&gt;
and &lt;a class="reference external" href="mailto:paul&amp;#64;kishimoto.eu"&gt;paul&amp;#64;kishimoto.eu&lt;/a&gt; go to the same place as
&lt;a class="reference external" href="mailto:mail&amp;#64;paul,kishimoto.name"&gt;mail&amp;#64;paul.kishimoto.name&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Are_We_the_Baddies%3F"&gt;“Are We the Baddies?”&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-2" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;I am, of course, anti-fascist!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-3" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;For example, A/I was debanked because the US also targeted its banking provider,
Banca Etica.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content><category term="article"/><category term="DNS"/><category term="politics"/></entry><entry><title>Codes of conduct</title><link href="https://paul.kishimoto.name/2026/08/coc" rel="alternate"/><published>2026-08-25T00:00:00+02:00</published><updated>2026-08-25T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2026-08-25:/2026/08/coc</id><summary type="html">&lt;p&gt;Over the last year and a half, I've watched with growing horror
as &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Vibe_coding"&gt;“vibe coding”&lt;/a&gt; and similar practices
have grown from niche to widespread, especially within Free Software communities.
(This is only one facet of the concerted push by moneyed and powerful people
to normalize LLM products like “generative AI” and their use. &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;There are a few kinds of responses that are notable:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;People eagerly &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Jonestown#massacre"&gt;drinking the Kool-Aid&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Those who've had a sip or gulp, but have expressed regret and stopped using the products.
(See &lt;a class="reference external" href="https://brettcodes.com/im-done-using-ai/"&gt;one recent example&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;People and groups making strong statements &lt;em&gt;against&lt;/em&gt; the use of LLM …&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;p&gt;Over the last year and a half, I've watched with growing horror
as &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Vibe_coding"&gt;“vibe coding”&lt;/a&gt; and similar practices
have grown from niche to widespread, especially within Free Software communities.
(This is only one facet of the concerted push by moneyed and powerful people
to normalize LLM products like “generative AI” and their use. &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;There are a few kinds of responses that are notable:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;People eagerly &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Jonestown#massacre"&gt;drinking the Kool-Aid&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Those who've had a sip or gulp, but have expressed regret and stopped using the products.
(See &lt;a class="reference external" href="https://brettcodes.com/im-done-using-ai/"&gt;one recent example&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;People and groups making strong statements &lt;em&gt;against&lt;/em&gt; the use of LLM products,
for instance &lt;a class="reference external" href="https://greatscottgadgets.com/2026/06-17-llms-generate-code-communities-build-projects/"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;(3) in particular have spoken to me because they include positive statements
about what is &lt;em&gt;good&lt;/em&gt;, valuable, and rewarding about both programming as a solo pursuit,
and participation in Free Software projects and the communities that surround them.
Many of these have resonated.
On the individual side,
in 2021 I named a project &lt;a class="reference external" href="https://genno.readthedocs.io/en/latest/#name"&gt;‘genno’&lt;/a&gt; after a Japanese type of hammer.
This was a nod to the &lt;a class="reference external" href="https://www.acorntoarabella.com/vessel"&gt;Acorn to Arabella&lt;/a&gt; project to build a wooden boat from scratch,
whose videos helped me through many days of long COVID-19 lockdowns,
and helped me appreciate the joy of focused and patient work,
whether carpentry or coding. &lt;a class="footnote-reference" href="#footnote-2" id="footnote-reference-2"&gt;[2]&lt;/a&gt;
On the collective side, my work developing research software has increasingly been driven by a desire
to serve other researchers, especially those without the privileges I've enjoyed.
Developing and maintaining research tools for (and with!) these people—rather than for well-resourced people and organizations—guides many of my choices.
It's also immensely rewarding &lt;em&gt;per se&lt;/em&gt;.&lt;/p&gt;
&lt;a class="reference external image-reference" href="https://caolan.uk/doodles/"&gt;
&lt;object class="align-right" data="https://caolan.uk/doodles/ai_no_thanks.svg" style="width: 50%;" type="image/svg+xml"&gt;A palm held outwards in a 'stop' command. On it is written "AI. No, thanks!". The hand has six fingers. Image by Caolan McMahon.&lt;/object&gt;
&lt;/a&gt;
&lt;p&gt;As lovely as it is to see expressions of these shared values,
there are still too many people in category (1),
and they are inflicting severe and growing harms on Free Software projects both small and large.
At least until the ‘AI’ bubble pops—and still then—it's clear that defensive measures are necessary
to prevent unthinking or wilful behaviour &lt;a class="footnote-reference" href="#footnote-3" id="footnote-reference-3"&gt;[3]&lt;/a&gt; from undermining the labour I and we have done and want to be doing.&lt;/p&gt;
&lt;p&gt;To this end I took a stab at drafting &lt;a class="reference external" href="https://codeberg.org/khaeru/py/src/branch/main/CONTRIBUTING.md#code-of-conduct"&gt;a Code of Conduct&lt;/a&gt; (CoC),
one that I'll adopt for my own repositories and in cases where I am sole or lead maintainer with authority to make that change.
In the text, I try to make clear the human values motivating what I do,
which should also motivate anyone who I'd be happy to collaborate with.
Refusal of LLM usage and users then comes as a direct and simple consequence of these values.
I like this ordering because it starts with principles that should be stable,
and then interprets how these apply to the current malaise,
which may (one hopes) dissipate, but may also metastatize, or linger. &lt;a class="footnote-reference" href="#footnote-4" id="footnote-reference-4"&gt;[4]&lt;/a&gt;
The values can remain stable even if the context does not.
The list of references includes examples from other projects that were inspiring.&lt;/p&gt;
&lt;p&gt;I'm mulling further steps,
like moving more fully to &lt;a class="reference external" href="https://codeberg.org/khaeru"&gt;Codeberg&lt;/a&gt;,
&lt;a class="reference external" href="https://sr.ht/~khaeru/"&gt;Sourcehut&lt;/a&gt;,
or self-hosting of code and infrastructure.
Creating this CoC was a more basic step,
and can help signal the ‘why’ and guide the ‘what’ and ‘how’ of the next ones.&lt;/p&gt;
&lt;p&gt;I'll insist that contributors to my projects read it,
but would also be grateful to anyone else who may want to share constructive comments or ideas.&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;This post isn't about the broader phenomenon,
but you might check out Dan McQuillan's 2022 book
&lt;a class="reference external" href="https://bristoluniversitypress.co.uk/resisting-ai"&gt;“Resisting AI: An anti-fascist approach to artificial intelligence”&lt;/a&gt;
(yes, that's pre-ChatGPT; it holds up)
or this essay by S.K. Winnicki titled
&lt;a class="reference external" href="https://www.skwinnicki.com/single-post/i-would-be-so-ashamed-to-use-generative-ai-here-s-why"&gt;“I would be so ashamed to use generative AI, here's why”&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-2" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference external" href="https://carpentries.org/about-us/#our-history"&gt;Software Carpentry&lt;/a&gt; is an organization whose name made this association explicit back in 1998.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-3" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Bad, even rancid, vibes, if you will.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-4" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;The same folks who pushed crypto and NFTs before moving on to ‘AI’ will,
unless stopped, certainly find another mechanism for their aims of extraction and amassing power.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</content><category term="article"/><category term="free software"/><category term="code of conduct"/><category term="llm"/></entry><entry><title>Tutorial: Moderation, facilitation, and public speaking</title><link href="https://paul.kishimoto.name/2026/08/moderation" rel="alternate"/><published>2026-08-11T00:00:00+02:00</published><updated>2026-08-11T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2026-08-11:/2026/08/moderation</id><content type="html">&lt;p&gt;At the request of the IIASA Early Career Researchers (ECR) group
and Capacity Development and Academic Training (CDAT) unit,
I prepared and gave a 90 minute tutorial on
&lt;strong&gt;“Moderation, facilitation, and public speaking”&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;About 20 people attended.&lt;/p&gt;
&lt;p&gt;LaTeX source for the slides is in my &lt;tt class="docutils literal"&gt;doc&lt;/tt&gt; repository,
&lt;a class="reference external" href="https://codeberg.org/khaeru/doc/src/branch/main/2026/08-11_moderation.tex"&gt;here&lt;/a&gt;.
I will update this post to link to a PDF shortly.&lt;/p&gt;
</content><category term="article"/></entry><entry><title>“…for all!”</title><link href="https://paul.kishimoto.name/2025/07/for-all" rel="alternate"/><published>2025-07-20T00:00:00+02:00</published><updated>2025-10-10T12:50:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2025-07-20:/2025/07/for-all</id><summary type="html">&lt;p&gt;Last year I was fortunate to get to work with a new team of co-authors
on a paper titled &lt;a class="reference external" href="https://doi.org/10.1016/j.erss.2025.104306"&gt;“Quantifying minimum mobility needs: the Who, the Where, and the Why.”&lt;/a&gt;
The project afforded a little space to think about the concept of &lt;strong&gt;wellbeing&lt;/strong&gt;,
in particular how it relates to mobility,
and to engage with some fascinating early literature on fundamental human needs.&lt;/p&gt;
&lt;p&gt;This is a new kind of post for me,
in which I'll share some commentary or spare thoughts on this paper.
These are links and connections to other topics, authors, and ideas
that didn't fit into the paper …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last year I was fortunate to get to work with a new team of co-authors
on a paper titled &lt;a class="reference external" href="https://doi.org/10.1016/j.erss.2025.104306"&gt;“Quantifying minimum mobility needs: the Who, the Where, and the Why.”&lt;/a&gt;
The project afforded a little space to think about the concept of &lt;strong&gt;wellbeing&lt;/strong&gt;,
in particular how it relates to mobility,
and to engage with some fascinating early literature on fundamental human needs.&lt;/p&gt;
&lt;p&gt;This is a new kind of post for me,
in which I'll share some commentary or spare thoughts on this paper.
These are links and connections to other topics, authors, and ideas
that didn't fit into the paper itself,
yet were in my mind during and after the writing process
and a source of motivation.
To be clear, these are entirely my own thoughts;
please don't attach them to my co-authors,
or think that they've been through peer review.&lt;/p&gt;
&lt;div class="section" id="a-thought-experiment"&gt;
&lt;h2&gt;A thought experiment&lt;/h2&gt;
&lt;p&gt;Suppose we could ask every person in the world a single, simple question:
“Do you have wellbeing?” (or “Do you consider yourself to be well?”)
and get from each a ‘yes’ or ‘no’ answer.
Let's call this question &lt;strong&gt;Q1&lt;/strong&gt;.
Their answers would be Boolean (1 or 0, true or false) values
that we could label &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; ∈ {1, 0}&lt;/span&gt; for the first person we ask,
&lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;/span&gt; for the second person,
and so on to &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;8000000000&lt;/sub&gt;&lt;/span&gt; and eventually &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;,
where &lt;span class="formula"&gt;&lt;i&gt;N&lt;/i&gt; &amp;gt; 8×10&lt;sup&gt;9&lt;/sup&gt;&lt;/span&gt; is the number of people on Earth.
We can write &lt;span class="formula"&gt;&lt;i&gt;X&lt;/i&gt;&lt;/span&gt; to denote a vector including all of these values or data points.&lt;/p&gt;
&lt;p&gt;Next, we compute the function or statistic:&lt;/p&gt;
&lt;div class="formula"&gt;
&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;X&lt;/i&gt;) = &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;∧&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;∧…∧&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sub&gt;
&lt;/div&gt;
&lt;p&gt;This is the &lt;em&gt;logical conjunction&lt;/em&gt; of every &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;i&lt;/i&gt; ∈ (1, &lt;i&gt;N&lt;/i&gt;)&lt;/span&gt;.
It is a very simple function
that has the value ‘yes’/1/true if—and &lt;em&gt;only&lt;/em&gt; if!—every &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; is ‘yes’;
in other words, if every person in the world says, “Yes—I have wellbeing.”
If &lt;em&gt;even one person&lt;/em&gt; says, “No—I do not have wellbeing,” then &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;X&lt;/i&gt;) = 0&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;I want to set up a few straw-man claims around this thought experiment,
question, and function.
To be clear, these are only sketches;
I do not aim to give a full defense or discuss all the implications.
The hope is rather to invite some responses and pointers:
Is there already good writing on any of these ideas,
or research that uses similar framing?
If so, where?&lt;/p&gt;
&lt;p&gt;Briefly:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;W¹(X) is the &lt;strong&gt;most parsimonious and direct&lt;/strong&gt; representation
of the background notions and widely used language
that both express and inform our shared understanding of “universal wellbeing.”&lt;/li&gt;
&lt;li&gt;X and thus W¹ would be &lt;strong&gt;very hard to measure&lt;/strong&gt; directly.&lt;/li&gt;
&lt;li&gt;We can imagine alternatives to W¹(X),
which we can label W²(…), W³(…), etc.
These are different functions,
that may be computed on the same data (&lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;)
or on different data (labeled &lt;span class="formula"&gt;&lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;, &lt;span class="formula"&gt;&lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;, etc.)
whose values might approximate or proxy for values of X or W¹
that we do not observe directly.
These &lt;strong&gt;alternate measures inevitably involve value judgements&lt;/strong&gt;
that replace the subjectivity of individuals with those of (the) researcher(s).&lt;/li&gt;
&lt;li&gt;However convenient or useful,
the alternate data or functions in (3) are “wellbeing indicators”
only to the extent they (a) have &lt;strong&gt;precise definitions&lt;/strong&gt;
and (b) &lt;strong&gt;clear, empirical relationships&lt;/strong&gt; with X/W¹.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tension exists between fidelity to X/W¹ and ease of operationalization.&lt;/strong&gt;
Researchers face incentives to choose alternate data that seem more accessible,
and to pick alternate measures W² etc. that can be computed on such data.
Following these incentives blindly would tend to worsen the divergence from W¹.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These overlap, but I'll try to treat each in a separate section.&lt;/p&gt;
&lt;p&gt;I also want to emphasize at the outset that,
although the thought experiment may sound vaguely utilitarian
(“the greatest good for the greatest number”),
I am very much opposed to the so-called &lt;a class="reference external" href="https://en.wikipedia.org/wiki/TESCREAL"&gt;‘TESCREAL’&lt;/a&gt;
bundle of ideologies and the way they are deployed in public discourse and research.
This essay is in fact motivated by my worry that there is a risk
of normalizing these ideologies through incautious choices (5).&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="universal-wellbeing"&gt;
&lt;h2&gt;1. Universal wellbeing&lt;/h2&gt;
&lt;p&gt;Many well-known aspirational declarations, statements, targets, goals, and initiatives
use &lt;strong&gt;universal&lt;/strong&gt; language, either directly or by implying universality or totality.
One example is the &lt;a class="reference external" href="https://en.wikisource.org/wiki/Universal_Declaration_of_Human_Rights"&gt;Universal Declaration of Human Rights&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Article 3&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Everyone&lt;/strong&gt; has the right to life, liberty, and security of the person.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Others include many of the &lt;a class="reference external" href="https://sdgs.un.org/goals"&gt;Sustainable Development Goals (SDGs)&lt;/a&gt;,
for instance:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Goal 2: &lt;strong&gt;Zero&lt;/strong&gt; hunger&lt;/p&gt;
&lt;p&gt;End hunger, achieve food security and improved nutrition
and promote sustainble agriculture&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;or:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Goal 5: Gender equality&lt;/p&gt;
&lt;p&gt;Acheive gender equality and empower &lt;strong&gt;all&lt;/strong&gt; women and girls.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…and the names and goals of initiatives like:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://seforall.org"&gt;Sustainable Energy for All&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://sum4all.org"&gt;Sustainable (Urban) Mobility for All&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is worthwhile to take these at face value.
In other words, I set aside the question of
whether any one or all of these are merely aspirational,
were made insincerely, and/or are promoted cynically:
whether the proponents (signatories, member states, secretariats, philanthropies)
don't &lt;em&gt;actually&lt;/em&gt; mean that ‘everyone’, ‘all’ etc. should enjoy the unimpaired rights,
material conditions, or capabilities described—merely that &lt;em&gt;most&lt;/em&gt; people should,
or perhaps &lt;em&gt;more&lt;/em&gt; than enjoy them today.
If we take these statements as written,
function &lt;strong&gt;W¹(X)&lt;/strong&gt; is clearly their most direct representation.
If &lt;em&gt;even one person&lt;/em&gt; lacks the thing in question
(“security of the person”, “sustainable energy”, etc.),
then &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 0&lt;/span&gt; for some &lt;span class="formula"&gt;&lt;i&gt;i&lt;/i&gt;&lt;/span&gt;,
thus &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;X&lt;/i&gt;) = 0&lt;/span&gt;,
and the stated, universal goal or target is not met: &lt;em&gt;not everyone&lt;/em&gt; has the thing.
For instance, if one woman or girl is not empowered,
then the goal to “empower all women and girls” is not achieved.&lt;/p&gt;
&lt;p&gt;The case of a single exception sounds extreme,
but is itself a well-known thought experiment.
In the classic short story
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/The_Ones_Who_Walk_Away_from_Omelas"&gt;The Ones Who Walk Away From Omelas&lt;/a&gt;
by Ursula K. LeGuin
(which won Locus and Hugo awards in 1974)
and Isabel J. Kim's &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Why_Don%27t_We_Just_Kill_the_Kid_In_the_Omelas_Hole"&gt;Why Don't We Just Kill The Kid In The Omelas Hole&lt;/a&gt;
(Nebula 2024, Locus 2025, Hugo nominee 2025),
the “Omelas child” is a person for whom &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;span class="text"&gt;Omelas child&lt;/span&gt;&lt;/sub&gt; = 0&lt;/span&gt;
—in a very stark and tragic sense.
Many positive things are said about the quality of life for everyone else in the city of Omelas,
yet &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;X&lt;/i&gt;) = 0&lt;/span&gt; for Omelas in particular, and for the world in which it exists.
In pop philosophy the so-called &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Trolley_problem"&gt;trolley problem&lt;/a&gt;
and other devices are sometimes used to frame similiar discussions:
some frivolous, some useful.&lt;/p&gt;
&lt;p&gt;It's not my aim here to discuss all these.
It's only to observe that a statement like
“Everyone &lt;em&gt;except for the kid in the Omelas hole&lt;/em&gt; has the right to liberty,”
is not what was endorsed by the signatories to the UDHR.
On the other hand, if we say that
a variable &lt;span class="formula"&gt;&lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; is 1 if and only if (‘iff’) a person enjoys their right to liberty,
then &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;) = 1&lt;/span&gt;
is unambiguously consistent with “universally enjoyed human rights.”
&lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;) = 0&lt;/span&gt; just as clearly indicates
that those rights are &lt;em&gt;not&lt;/em&gt; universally enjoyed:
they may be ‘widely’ enjoyed, or enjoyed by a lucky few, but not by ‘all’.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="practical-realities-the-no-answer-and-q2"&gt;
&lt;h2&gt;2. Practical realities, the ‘no’ answer, and Q2&lt;/h2&gt;
&lt;p&gt;If we tried to carry out the thought experiment,
we would immediately run into difficulties.
Some include:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;It is not easy to translate &lt;strong&gt;Q1&lt;/strong&gt; from English into the native language of each person in the world.
A word with the same denotation and connotation as ‘wellbeing’ may not exist (more on this shortly).&lt;/li&gt;
&lt;li&gt;‘Yes’ and ‘no’ responses may not be very natural in each language.&lt;/li&gt;
&lt;li&gt;The questioner and respondent inevitably stand in some social relationship to one another.
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Social-desirability_bias"&gt;Social desirability&lt;/a&gt;,
power dynamics,
and other well-known forms of response bias would interfere
in obtaining a genuine answer from each person.&lt;/li&gt;
&lt;li&gt;It would be very expensive to ask every person directly and collate the data.
I'll come back to this in section 5, below.&lt;/li&gt;
&lt;li&gt;Even if we did collect all &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;…&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;,
this would be only a snapshot at a certain point in time;
and we would not have information on &lt;em&gt;changes&lt;/em&gt; to each individual &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Another problem we would quickly meet is that
many people would answer Q1 with a ‘no’,
and that a ‘no’ answer, on its own, is not readily actionable.
Surely we also want to know:
what it is that &lt;em&gt;prevents&lt;/em&gt; a person from feeling that they have wellbeing?
Are they not empowered?
Do they not have food, water, health, sanitation, mobility, or the enjoyment of certain rights?
This supports our intention (surely virtuous) to help them address those barriers,
and in so doing enable them, and eventually all, to have wellbeing.&lt;/p&gt;
&lt;p&gt;To get this information we add a second question, &lt;strong&gt;Q2&lt;/strong&gt;: “Why not?”&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="subjectivity-and-objectivity"&gt;
&lt;h2&gt;3. Subjectivity and objectivity&lt;/h2&gt;
&lt;p&gt;Q2 leads directly into a vast and murky swamp where things get &lt;em&gt;very&lt;/em&gt; complicated.
Q1 is constructed to, as far as possible, get a Boolean answer.
In contrast,
valid answers to Q2 must include the entire scope of human experience.
Consider a very short selection of possible answers
(for an exercise, write 10 or 100 more of your own):&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;No—I do not have wellbeing, because I am hungry and thirsty.&lt;/li&gt;
&lt;li&gt;… I am cold.&lt;/li&gt;
&lt;li&gt;… I am sick and can't get health care.&lt;/li&gt;
&lt;li&gt;… my child is sick and can't get health care.&lt;/li&gt;
&lt;li&gt;… my neighbour's child is sick and can't get health care.&lt;/li&gt;
&lt;li&gt;… I hate my neighbour and wish to kill him, but the law forbids me and he remains alive.&lt;/li&gt;
&lt;li&gt;… I want to own a sports car, but I don't.&lt;/li&gt;
&lt;li&gt;… I want to own a private jet, but I don't.&lt;/li&gt;
&lt;li&gt;… the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Slender-billed_curlew"&gt;slender-billed curlew&lt;/a&gt; is extinct,
and I am inconsolably sad about this.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The core idea here is that &lt;em&gt;every person has a subjective notion of their own ‘wellbeing’&lt;/em&gt;.
When we ask Q1 to measure &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; and compute W¹(X), this is what we measure:
whether every person has what &lt;em&gt;they consider&lt;/em&gt; to be ‘wellbeing’.&lt;/p&gt;
&lt;p&gt;Here's a passage from &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Max_Horkheimer"&gt;Max Horkheimer&lt;/a&gt; in a
“Seminar on Needs” in 1942,
&lt;a class="reference external" href="https://jamescrane.substack.com/p/translation-excerpts-from-the-isr"&gt;translated by James Crane&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Thesis I.&lt;/strong&gt;
The juxtaposition of &lt;em&gt;material&lt;/em&gt; and &lt;em&gt;ideal&lt;/em&gt; needs proves untenable upon closer inspection.
The unchanging adherence to such cissions [&lt;em&gt;Scheidungen&lt;/em&gt;] leads to serious theoretical and political errors.&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thesis II.&lt;/strong&gt; To speak generally,
the ideal needs one might strive to fulfill are nothing other than the social form,
the manner and mode, in which material needs are to be satisfied.
When the demand for a pint of milk is raised, even from the mouth of a government official,
it contains a number of “formal” elements, which are not expressly stated:
that the milk is delivered in a clean container,
that it contains no dangerous bacteria, that it has a certain fat content, etc.
If one stuck strictly to the wording, the demand could be fulfilled;
nevertheless, the child would be cheated.
Dialectics recognizes that it is not only [elements such as] the nutritional value,
the kind of container, and so forth, which play a role in whether the child is cheated.
It is also crucial, for instance,
that the father and mother do not suffer under the burden of senseless labor,
and the child under the fear of losing them to it;
that the child lives in an orderly house,
that they have a good family doctor,
that there is no exploitative [and terroristic] domination—which
would necessarily be reflected in the very faces and being of the parents,
and throughout the child’s whole environment, and which, in the long run,
would spoil the milk so much more than a dirty container ever could.
&lt;strong&gt;The social order is as much a part of the milk as its fat content.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the drafting of our paper up through December 2024
we discussed for many hours very similar questions.
This translation was published later, in March 2025.
Our focus was on the needs-and-satisfiers frameworks of
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/Manfred_Max-Neef's_Fundamental_human_needs"&gt;Max-Neef&lt;/a&gt;,
Doyal &amp;amp; Gough, and others from the 1970s and 1980s.
It seems clear to me that these authors were influenced (directly or indirectly) by,
and attempting to elaborate,
the earlier work of Horkheimer and his colleagues in the Frankfurt School.&lt;/p&gt;
&lt;p&gt;The researcher/questioner in our thought experiment might face the temptation
to depart from X and W¹ when they hear a Q1 ‘no’
and Q2 “…because my milk was not delivered in a clean container.”
They might wish to respond:
“Well, this matter of the cleanliness of milk containers is too complicated;
I'm mainly trying to gather Q1 data and that's hard enough already.
I will put you down as ‘yes’ on Q1, and I'll make a little asterisk here
and a note: ‘adequate nutrition, but doesn't like the smudges on the bottle’.”
In this case, the researcher &lt;strong&gt;has not measured&lt;/strong&gt; &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;.
They have chosen to substitute something else that we can call &lt;span class="formula"&gt;&lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;:
“wellbeing—notwithstanding food container cleanliness.”
They use this to &lt;strong&gt;approximate&lt;/strong&gt; &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;.
In many cases &lt;span class="formula"&gt;&lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; and &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; may have the same value, but not always.&lt;/p&gt;
&lt;p&gt;I'll come back to alternates and approximations in the next section.
For now, let's focus on what the researcher has done.
Lists of fundamental human needs or rights often include ‘autonomy’ or related terms and concepts.
Surely one essential aspect of autonomy is the autonomy to choose &lt;em&gt;what matters to us&lt;/em&gt;;
to construct meaning, including the meaning of ‘wellbeing’.
People who &lt;em&gt;lack&lt;/em&gt; the capability or freedom to do this
—who are told by powerful people to not to complain,
even though they do not have wellbeing—
would surely answer Q1 with ‘no’,
and might say to Q2 “…because I am denied the right to my own subjectivity
and expression of what is essential to my wellbeing.”&lt;/p&gt;
&lt;p&gt;This also is why we pose Q1 and Q2 &lt;strong&gt;to every person&lt;/strong&gt;:
if we asked a dictator to give us data &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; for each of his subjects,
he could give ‘yes’ for every one without even consulting them.
If asked directly, many of them would no doubt answer Q1 with ‘no’ and Q2
“…because I live under a dictator!”&lt;/p&gt;
&lt;p&gt;Every possible answer to Q2 falls on an ethical continuum
from unobjectionable to unconscionable.
From the list of 10 answers above,
few would object to (1),
especially since the stated unmet needs align with
some of the widely (not to say universally!) agreed SDGs.
A researcher who says “I judge you to be well (&lt;span class="formula"&gt;&lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;)
even though you say you do not have enough food to eat”
would need to give a very strong justification for this choice.
At the far extreme, accepting (6) would lead to a world of unpunished murder and assault
in which the victims would certainly not have wellbeing.
In this case,
hopefully few would object to the researcher/questioner overruling the respondent.
In the middle, (7) might trigger debate:
do we accept that a person who has everything &lt;em&gt;except&lt;/em&gt; a sports car can &lt;em&gt;not&lt;/em&gt; be well?
Do we psychoanalyze them and say, “What you &lt;em&gt;actually&lt;/em&gt; lack is self-esteem;
we can give you another way to achieve that, one that's less destructive.
If that's your only complaint, we judge you to be otherwise well.”&lt;/p&gt;
&lt;p&gt;My claim 3 is simply that reckoning with this spectrum is unavoidable.
No matter how ‘objective’ or morally ‘neutral’ an approximation &lt;span class="formula"&gt;&lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt; is claimed to be,
it encodes value judgements on the part of the researcher;
ones that data subjects and readers are asked to accept.
At the very least, I hope,
we can do better to acknowledge, name, enumerate, and debate these judgements.
To paraphrase another recent paper,
&lt;a class="reference external" href="https://doi.org/10.31219/osf.io/ga5fb_v1"&gt;“[acknowledging] subjectivity is a feature, not a flaw.”&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="approximations-and-usefulness"&gt;
&lt;h2&gt;4. Approximations and usefulness&lt;/h2&gt;
&lt;p&gt;Let's imagine a couple more kinds of alternates and approximations.
One is:&lt;/p&gt;
&lt;div class="formula"&gt;
&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;X&lt;/i&gt;) = &lt;i&gt;N&lt;/i&gt;&lt;sup&gt; − 1&lt;/sup&gt;⋅&lt;span class="limits"&gt;&lt;sup class="limit"&gt; &lt;/sup&gt;&lt;span class="limit"&gt;&lt;span class="bigoperator"&gt;∑&lt;/span&gt;&lt;/span&gt;&lt;sub class="limit"&gt;&lt;i&gt;i&lt;/i&gt; ∈ &lt;i&gt;N&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;
&lt;/div&gt;
&lt;p&gt;…that is, the &lt;em&gt;share&lt;/em&gt; of people in the world for whom &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;.
This is a different function from W¹, computed on the same data,
but with a continuous value in the range (0, 1).&lt;/p&gt;
&lt;p&gt;A second kind of approximation is to replace the infinite space of Q2 answers
with a small, finite set of variables that express necessary conditions of wellbeing.
(This is the link to the literature on fundamental/universal human needs,
which tries to enumerate these, or at least give a finite number of categories.)
For instance, suppose:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;span class="formula"&gt;&lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt; if a person has adequate nutrition (even milk from a clean bottle!)&lt;/li&gt;
&lt;li&gt;&lt;span class="formula"&gt;&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt; if a person has access to health care.&lt;/li&gt;
&lt;li&gt;&lt;span class="formula"&gt;&lt;i&gt;d&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt; if a person has access to clean water.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then define another variable &lt;span class="formula"&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;∧&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;∧&lt;i&gt;d&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;.
We can either compute &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;A&lt;/i&gt;)&lt;/span&gt;, which is 1 if and only if
all &lt;span class="formula"&gt;&lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;d&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;,
or &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;A&lt;/i&gt;)&lt;/span&gt;, the share of people for whom &lt;span class="formula"&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;These approximations can certainly be more convenient and useful than x and W¹.
For instance, W¹ will remain 0 until universal wellbeing is achieved;
when the last person (the Omelas child) finally has wellbeing, W¹ will suddenly flip to 1.
This makes it not much help as an ‘indicator’ or ‘metric’ for measuring progress,
or to examine claims like “Action P will do more towards W¹ than action Q.”
In contrast, it is much more helpful and tractable to be able to say:
“Currently, W²(A) = 0.456.
With Action P, W²(A) could increase to 0.6 in 10 years.
With Action Q, W²(A) could increase to 0.7 in 20 years.”
For this reason it is valid and valuable to establish, measure, and compute these
alternate measures.&lt;/p&gt;
&lt;p&gt;However, can be W²(X), W¹(A), or W²(A) be a “measure of [universal] wellbeing”?
For W²(X), trivially yes: this function has the value 1.0 iff every &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;,
which then directly implies W¹(X) = 1.
But suppose every &lt;span class="formula"&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = 1&lt;/span&gt;,
such that every person has water, health care, and calories,
and thus &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;1&lt;/sup&gt;(&lt;i&gt;A&lt;/i&gt;) = 1&lt;/span&gt; and &lt;span class="formula"&gt;&lt;i&gt;W&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;A&lt;/i&gt;) = 1.0&lt;/span&gt;.
Is universal wellbeing necessarily achieved?
Just as trivially, no:
every human in a pod in the world of &lt;a class="reference external" href="https://en.wikipedia.org/wiki/The_Matrix#Plot"&gt;The Matrix&lt;/a&gt;
has water, health care, and calories,
but that is a dystopia, not a world of universal human wellbeing.&lt;/p&gt;
&lt;p&gt;To avoid confusing readers and one another,
here are some simple practices that researchers can adopt:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;If the topic of research is ‘[universal] wellbeing’ but X and W¹ are not used,
define clearly the measures (data Y, Z, … and/or functions W³, W⁴, …) used instead.&lt;/li&gt;
&lt;li&gt;Cite or provide evidence about how the chosen measures relate to X and W¹.
If possible, give quantitative relationship(s) with specific parameters.&lt;/li&gt;
&lt;li&gt;If such evidence does not exist or cannot be obtained:&lt;ul&gt;
&lt;li&gt;Don't refer to the alternate measures as measures of ‘wellbeing’.
Choose a descriptive name that does not create ambiguity.&lt;/li&gt;
&lt;li&gt;At least give some qualitative discussion:
In what ways might the measures depart from X and W¹?&lt;/li&gt;
&lt;li&gt;What real or imaginable conditions might exist such that, for instance,
W²(X) is low, but the chosen alternate W³(Y) is high?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Acknowledge the subjective judgements encoded in researchers' choice of alternates.
What is omitted or excluded?
Is it proper for the researchers to make such exclusions?&lt;/li&gt;
&lt;li&gt;Discuss other possible choices,
and if possible test robustness of conclusions against these.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="convenient-data-and-lock-in"&gt;
&lt;h2&gt;5. Convenient data and lock-in&lt;/h2&gt;
&lt;p&gt;In section (2) I noted that &lt;span class="formula"&gt;&lt;i&gt;N&lt;/i&gt; &amp;gt; 8×10&lt;sup&gt;9&lt;/sup&gt;&lt;/span&gt; is a large number.
Even for subpopulations, like smaller countries or cities,
it would be difficult to talk to every person in order to collect all &lt;span class="formula"&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;/span&gt;
and compute W¹ for that population.
In section (4) I noted that it is valuable, even necessary, to seek approximations.
However, this doesn't mean that &lt;em&gt;any&lt;/em&gt; chosen approximation is valid or helpful.
It's entirely possible for such choices to be bad.&lt;/p&gt;
&lt;p&gt;At one end of a spectrum of resolution, aggregate economic statistics such as GDP
have been taken as measures related to wellbeing, directly or via functions with
similarly coarse resolution.
As we noted in our paper,
the early literature on fundamental human needs, nearly 50 years ago,
already pointed out the inadequacy of this approach.&lt;/p&gt;
&lt;p&gt;At the far extreme of resolution, ‘big data’ have gained popularity in recent years
because of their convenience:
they afford to researchers the possibility
of getting a large number of data points at a relatively low cost (to the researcher).
Particularly, access to such data seems to remove any need for researchers to have direct contact with “data subjects.”&lt;/p&gt;
&lt;p&gt;Anyone who has worked with such data can attest that
there is a trade-off between the number of data points
and fitness for whatever purpose(s) a researcher has in mind
(here, measuring individual and collective wellbeing).
The data have usually been amassed through a system,
constructed and controlled by some other entity
(often a large, for-profit company)
that has a purpose different from the researchers.
For example, the goal of Alphabet/Google
in collecting map data and users' location data is ultimately
to make a profit by selling advertisements,
for instance to businesses in the same area.
They collect data that can be used to this end,
or to attendant ends like drawing in ad-viewers with free services.
In some cases, researchers can overcome this divergence in purpose with methodological creativity,
deriving measures for quantities of interest in ways that can be validated and tested.
In other cases, researchers abandon their original goals and questions,
and instead devise new ones that are answerable with the data
offered to or obtained by them.
For instance, Q1/Q2 above might get replaced with “Has this user visited a McDonald's in the past N days?”
Sometimes these choices are later rationalized, more or less weakly:
“visiting McDonald's might mean eating;
eating is part of getting adequate nutrition;
and this is a fundamental human need and a component of wellbeing.”&lt;/p&gt;
&lt;p&gt;Even if (a big if!) valid and empirically grounded of measures of wellbeing
can be constructed from such data, there is substantial risk of &lt;strong&gt;lock-in&lt;/strong&gt;.
If wellbeing is chiefly measured through the particular form of location data
collected and provided by Alphabet (or whomever), and methods built on those data,
then it is constructed as a thing that both
(a) is not measurable without Alphabet's cooperation and system of data collection,
and (b) can be known without ever asking any person Q1 directly.
Both of these seem to be immense flaws:
(a) because it creates total dependency on the data-gathering apparatus and the people who control it;
and (b) because the subjectivity of “data subjects” is entirely alienated. &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt;
Researchers risk becoming cheerleaders for total surveillance and its practitioners,
even if—like the dictator in section (3) above—the very existence and harms of such systems
would be cited by many as the reason for a lack of wellbeing.&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;At some point I'll write more on these two very different uses of ‘subject’.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
</content><category term="article"/><category term="data"/><category term="metrology"/><category term="mobility"/><category term="research"/><category term="wellbeing"/></entry><entry><title>Please don't feed me slop</title><link href="https://paul.kishimoto.name/2025/02/no-slop" rel="alternate"/><published>2025-02-18T00:00:00+01:00</published><updated>2025-02-18T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2025-02-18:/2025/02/no-slop</id><summary type="html">&lt;div class="section" id="a-parable"&gt;
&lt;h2&gt;A parable&lt;/h2&gt;
&lt;p&gt;Imagine you make a new acquaintance through friends, and through a brief conversation learn that the other person shares your love of food and cooking.
They invite you to come over one evening for a “home cooked meal,” and you gladly accept!&lt;/p&gt;
&lt;a class="reference external image-reference" href="https://commons.wikimedia.org/wiki/File:Spam_Treet_and_Great_Value_Luncheon_Meat.jpg"&gt;
&lt;img alt="Side by side comparison of Spam (L), Treet (C), and Walmart Great Value Luncheon Meat (R). Image from Wikimedia Commons." class="align-right" src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Spam_Treet_and_Great_Value_Luncheon_Meat.jpg/960px-Spam_Treet_and_Great_Value_Luncheon_Meat.jpg" style="width: 50%;" /&gt;
&lt;/a&gt;
&lt;p&gt;Once you arrive and sit down for dinner, they hand you a plate with some…shapes on it.
These shapes &lt;em&gt;look&lt;/em&gt; like food, more or less: one seems potato-shaped, another is shaped like a chicken wing.&lt;/p&gt;
&lt;p&gt;“Er, thanks,” you stammer. “You, um, made this?”&lt;/p&gt;
&lt;p&gt;“Yes!” your host beams.&lt;/p&gt;
&lt;p&gt;Too polite to say anything else, you take …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="section" id="a-parable"&gt;
&lt;h2&gt;A parable&lt;/h2&gt;
&lt;p&gt;Imagine you make a new acquaintance through friends, and through a brief conversation learn that the other person shares your love of food and cooking.
They invite you to come over one evening for a “home cooked meal,” and you gladly accept!&lt;/p&gt;
&lt;a class="reference external image-reference" href="https://commons.wikimedia.org/wiki/File:Spam_Treet_and_Great_Value_Luncheon_Meat.jpg"&gt;
&lt;img alt="Side by side comparison of Spam (L), Treet (C), and Walmart Great Value Luncheon Meat (R). Image from Wikimedia Commons." class="align-right" src="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Spam_Treet_and_Great_Value_Luncheon_Meat.jpg/960px-Spam_Treet_and_Great_Value_Luncheon_Meat.jpg" style="width: 50%;" /&gt;
&lt;/a&gt;
&lt;p&gt;Once you arrive and sit down for dinner, they hand you a plate with some…shapes on it.
These shapes &lt;em&gt;look&lt;/em&gt; like food, more or less: one seems potato-shaped, another is shaped like a chicken wing.&lt;/p&gt;
&lt;p&gt;“Er, thanks,” you stammer. “You, um, made this?”&lt;/p&gt;
&lt;p&gt;“Yes!” your host beams.&lt;/p&gt;
&lt;p&gt;Too polite to say anything else, you take a few bites.
The ‘food’—well, it seems to be food, it's kind of hard to say what it tastes like, but at least nothing bad—has a sort of strange texture that's more or less the same for the ‘potato’ and the ‘chicken wing’, and again hard to place.&lt;/p&gt;
&lt;p&gt;Your host is eating with gusto, but increasingly you feel uneasy about &lt;em&gt;what&lt;/em&gt;, exactly, you're eating.
Finally you ask, “Sorry, but I'm a little curious—&lt;em&gt;how&lt;/em&gt; did you make this?”&lt;/p&gt;
&lt;p&gt;“Oh, I used this amazing new ‘generative cooking’ service that just popped up in this neighbourhood.
It's free and easy to use: you just put some ingredients into it—and I shop at a high-end grocer, so I've got only the finest produce, meat, spices, and such in my fridge—and out pops a cooked and plated meal!”&lt;/p&gt;
&lt;p&gt;“…”&lt;/p&gt;
&lt;p&gt;“Sometimes there are bones or it tastes a little off, but you just feed it back into the hopper a few times and eventually it gets it right—mostly.
It's such a life-saver; I was so busy today and thought I wouldn't have time to prepare the meal, yet here we are!”&lt;/p&gt;
&lt;hr class="docutils" /&gt;
&lt;p&gt;What exactly has happened here?
You took time to visit someone's home based on what you believed was a shared understanding of what “home cooked” food (per their verbal invitation) was.
Instead, you were fed some kind of slop or spam.&lt;/p&gt;
&lt;p&gt;Your host didn't ‘prepare’ it in the sense of cooking a meal themself, but rather used some machine—new and unknown to you, created or operated by some other person that you don't know—to extrude something that only superficially resembles food that might be prepared by a real person.&lt;/p&gt;
&lt;p&gt;They didn't tell you that they would or did do this, but allowed you to believe it was their “cooking,” in the end forcing &lt;em&gt;you&lt;/em&gt; to raise the topic and discover the truth.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="why"&gt;
&lt;h2&gt;Why?&lt;/h2&gt;
&lt;p&gt;I'm writing this because, with increasing frequency, I encounter people and try to interact with them as if they were fellow scholars, researchers, or scientists.
But, instead, I am sent slop that has been extruded by “generative artificial intelligence (genAI)” tools &lt;a class="footnote-reference" href="#genai" id="footnote-reference-1"&gt;[1]&lt;/a&gt; —often without mention that this is what the other person has done.
Other times, I begin to work with someone and invest my effort on my parts of the work, then later realize that one or more of my collaborators have been pasting genAI output into a shared document, instead of their own writing.&lt;/p&gt;
&lt;p&gt;I recognize that this is a contested area.
For a contrasting example, consider the long-established norms on plagiarism and citation in academic work.
These norms may not be &lt;em&gt;uniform&lt;/em&gt;, or universally and consistently obeyed, but nonetheless they cohere and can be explained and learned.
Most importantly, when we encounter other scholars, we can reasonably expect that they've learned and adhere to &lt;em&gt;some&lt;/em&gt; kind of norms against plagiarism, or for citation.
We may have to fish a little to understand precisely what they believe; if they are a student, they may need some coaching and reminders on what passes for normal behaviour in our shared fields.&lt;/p&gt;
&lt;p&gt;Because ‘genAI’ is new, none of this is the case; norms are still being formed.
So this post is not an attempt to speak for anyone beyond myself.
It is slightly normative in that I do &lt;em&gt;hope&lt;/em&gt; that other researchers, especially those I work with, will find this a valid and compelling perspective and approach.
But I have only limited ability to affect that; so this is mostly descriptive of what &lt;strong&gt;I&lt;/strong&gt;, myself, will and won't do, and why.&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="genai" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;usually based on large language models (LLMs) or other types of machine learning (ML).&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="section" id="tl-dr-1"&gt;
&lt;h2&gt;&lt;a class="reference external" href="https://en.wiktionary.org/wiki/tl;dr"&gt;tl;dr&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Even if you don't read the rest of this post, here are a few simple rules:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Please, if you &lt;em&gt;send&lt;/em&gt; me something—text of any kind, code, data, images, etc.—prepared using ‘AI’, tell me &lt;em&gt;up-front&lt;/em&gt; (a) that you've done this and (b) precisely how.&lt;/li&gt;
&lt;li&gt;If you &lt;em&gt;plan&lt;/em&gt; to do #1 in the course of a research project, collaboration, editorial process, etc., warn me in advance.&lt;/li&gt;
&lt;li&gt;Understand and respect that it is my prerogative to not engage or work with you because you have (or have not) done #1 or #2, or because of &lt;em&gt;how&lt;/em&gt; you've done them.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The title of this post may be easier to remember: &lt;strong&gt;please don't feed me slop.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="a-few-more-points"&gt;
&lt;h2&gt;A few more points&lt;/h2&gt;
&lt;p&gt;There's a lot to be said about ‘genAI’ and the people creating and promoting it—too much to write here.&lt;/p&gt;
&lt;div class="section" id="thinking-together"&gt;
&lt;h3&gt;Thinking together&lt;/h3&gt;
&lt;p&gt;To me, the core issue is the one illustrated by the parable above.
I became and remain a researcher because I enjoy thinking (about certain topics, in certain ways).
Research collaboration is enjoyable because the other humans whom I prefer to work with have interesting thoughts.
It's exciting and helpful for me to think together with them: I enjoy when I can make them understand an idea I've had, or when they show me a new way of thinking about a problem or phenomenon, a new way of doing something, etc.&lt;/p&gt;
&lt;p&gt;When I'm handed slop, I am deprived of the chance to do these things.
Eating slop means I am spending my time, instead, looking at a sequence of words or pixels that, although they may statistically resemble text written by a person, &lt;em&gt;do not capture any thinking on the far side&lt;/em&gt;.
My thoughts and ideas are not being stimulated by someone's genuine effort to communicate their ideas to me, but by the mental equivalent of junk food.
Eating slop also means I have to grapple with the awareness that the person who has sent the slop does not respect me enough to do the work of sharing their thoughts with me: that they think I'm not worth that effort.
This makes it impossible to build the kind of collegial relationship that, in the best case, exists between fellow researchers: why should I invest in trusting someone whose actions communicate that they don't trust me?&lt;/p&gt;
&lt;p&gt;Again, I understand that this is a novel area for many people.
A person may not &lt;em&gt;intend to&lt;/em&gt; or &lt;em&gt;be aware that&lt;/em&gt; sending me slop communicates a lack of trust. &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-2"&gt;[2]&lt;/a&gt;
But the impact is what matters, not the intent.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="systemic-discrimination-and-exclusion"&gt;
&lt;h3&gt;Systemic discrimination and exclusion&lt;/h3&gt;
&lt;p&gt;I have worked with and know many excellent researchers from non-English backgrounds.
I know that it is a difficult language to learn and master (especially academic English); this is an obstacle unjustly faced by some researchers and not others merely by accident of where they were born.
Even after immense and hard work they may invest to learn a second/third/etc. language, people still face unfair discrimination for ‘non-native’ proficiency, or ignorance/lack of appreciation of that investment.&lt;/p&gt;
&lt;p&gt;However, using genAI tools to ‘fake’ such proficiency is not and can never be a real solution to these forms of systemic discrimination and disadvantage.
Systemic problems need systemic reform.
Worse: it actively gets in the way of the practice and effort necessary to improve one's own real skills.
It does not reclaim power for the disempowered, but rather transfers it (and much wealth) to the people who make and promote the use of ‘AI’ tools.&lt;/p&gt;
&lt;p&gt;The analogy of plagiarism to doping in sport has been made many times, but fits even better the use of ‘AI’: if scholarship and academic systems reward and select for people who can exploit ‘AI’ best, not only will actual research skills be devalued, but people who already have power, wealth, and other social advantages will find it easier to dope and to get away with doping.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="mentorship-and-training"&gt;
&lt;h3&gt;Mentorship and training&lt;/h3&gt;
&lt;p&gt;I choose to spend some of my time mentoring students so that those students can learn and develop their own skills.
I am especially excited if I can help them learn certain kinds of research thinking that I enjoy and believe should be more widely practiced, or help them to overcome discrimination based on gender, language, race, and other characteristics.
For this reason, I think I would be a poor mentor if I encouraged or permitted students to use ‘genAI’ tools—except in narrow, deliberative ways.&lt;/p&gt;
&lt;p&gt;For instance, there is a particular skill to closely read many papers from the literature, deeply understand what the authors are trying to say, and write a concise review/synthesis.
A student who only uses ‘genAI’ tools to produce ‘summaries’ is missing an important opportunity to learn and refine this skill.
In turn, that undermines &lt;em&gt;all&lt;/em&gt; the other academic skills built on top of it.
A mentor who permits or encourages a student to do this is sending the signal that what matters is the ‘content’, output, or text—when in fact what matters is the student's ability to do the &lt;em&gt;thinking&lt;/em&gt; that precedes any text.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="what-do-you-think"&gt;
&lt;h3&gt;What do &lt;em&gt;you&lt;/em&gt; think?&lt;/h3&gt;
&lt;p&gt;This is written off-the-cuff and to avoid repeating the same arguments in more e-mails.
I may come back to expand this text or add citations to more in-depth work and writing by others.
But—what do &lt;em&gt;you&lt;/em&gt; think?
Are you aware of other good examples (or counter-examples) of stated practice in research and scholarly behaviour that I can learn from?
If so, please do get in touch to share.&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;In particular, some people view research not as I describe here, but as a process of producing products—articles, reports, data sets, etc.
In this view, it doesn't matter whether the products are &lt;em&gt;good&lt;/em&gt; in any sense—for instance whether they contain ideas or express thinking that are sound an interesting—only that they &lt;em&gt;appear to&lt;/em&gt;.
This is in tension with my view of scholarship-as-thinking; it depresses me that people think this way, and if they do I would rather not work with them.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="article"/></entry><entry><title>Effective strategies for multi-sectoral research using large-scale models</title><link href="https://paul.kishimoto.name/2021/06/issst" rel="alternate"/><published>2021-06-23T00:00:00+02:00</published><updated>2021-06-23T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2021-06-23:/2021/06/issst</id><summary type="html">&lt;p&gt;A talk given at the &lt;a class="reference external" href="https://issst.net/issst-2021/"&gt;2021 meeting of the International Symposium for Sustainble Systems and Technology&lt;/a&gt;.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://pure.iiasa.ac.at/id/eprint/17286/1/slides.pdf"&gt;Slides&lt;/a&gt; (PDF, 436 kB) at IIASA PURE&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.youtube.com/watch?v=Osn1c3hQcmM"&gt;Recording&lt;/a&gt; on YouTube&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://github.com/khaeru/doc/tree/main/2021/06-23%20ISSST"&gt;TeX source and BibTeX citation&lt;/a&gt; on GitHub&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="abstract"&gt;
&lt;h2&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Large-scale integrated assessment models (IAMs) have become critical knowledge objects and tools for global-scope simulation of energy, economic, engineering, and environmental systems.
IAMs are widely used in assessment of climate change mitigation (for instance, within the IPCC) and other Sustainable Development Goals (SDGs). In order to sharpen the relevance of insights from large-scale modeling, researchers often link them into multi-model frameworks together with detailed sectoral (sub- …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;A talk given at the &lt;a class="reference external" href="https://issst.net/issst-2021/"&gt;2021 meeting of the International Symposium for Sustainble Systems and Technology&lt;/a&gt;.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="http://pure.iiasa.ac.at/id/eprint/17286/1/slides.pdf"&gt;Slides&lt;/a&gt; (PDF, 436 kB) at IIASA PURE&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://www.youtube.com/watch?v=Osn1c3hQcmM"&gt;Recording&lt;/a&gt; on YouTube&lt;/li&gt;
&lt;li&gt;&lt;a class="reference external" href="https://github.com/khaeru/doc/tree/main/2021/06-23%20ISSST"&gt;TeX source and BibTeX citation&lt;/a&gt; on GitHub&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="abstract"&gt;
&lt;h2&gt;Abstract&lt;/h2&gt;
&lt;p&gt;Large-scale integrated assessment models (IAMs) have become critical knowledge objects and tools for global-scope simulation of energy, economic, engineering, and environmental systems.
IAMs are widely used in assessment of climate change mitigation (for instance, within the IPCC) and other Sustainable Development Goals (SDGs). In order to sharpen the relevance of insights from large-scale modeling, researchers often link them into multi-model frameworks together with detailed sectoral (sub-)models of, for instance, transport and mobility; the building stock; critical materials; or water use—or with models of narrower scope (e.g. national or sub-national) but finer resolution.
These links capture feedbacks and interactions that may strongly shape transitions to comprehensive sustainability.&lt;/p&gt;
&lt;p&gt;This presentation begins with current expectations that guide IAM-based research.
In particular, it is no longer satisfactory that individual models and 1-to-1 frameworks can analyse, for instance, (a) possible recoveries from the COVID-19 pandemic; (b) the long-term evolution of transport and mobility; and (c) the energy and climate impacts of changing materials flows.
Increasingly, stakeholders require assessments that are both integrated &lt;em&gt;and&lt;/em&gt; highly detailed in multiple sectors/areas such as these.
Teams are challenged to produce this knowledge while also progressing in openness, transparency, reproducibility, and validity of research.&lt;/p&gt;
&lt;p&gt;I argue that meeting these challenges requires systems researchers and modelers to acknowledge that they are engaged in processes of collaborative software development: models are, in an important sense, also complex, long-lived, and evolving pieces of software.
This perspective motivates the use of strategies that are common in professional software development, yet woefully underutilized in academia and research: standardization, testing, modularity and reuse, an emphasis on documentation, and iterative workflows with short cycle times.&lt;/p&gt;
&lt;p&gt;Using the example of the MESSAGEix-GLOBIOM family of models developed by the IIASA Energy, Climate, and Environment (ECE) Program, I demonstrate how adopting best practices of development translates to better science that uses people and resources more efficiently.
For instance, the practice of unit-testing code is also a scientific strategy for ensuring internal validity: when code implements research methods, then automated tests ensure that those methods are correct representations of the phenomena represented.
This in turn avoids exhausting researchers' time in performing manual validity checks.
Next, the practice of modularity entails clearly-defined interfaces: in multi-sectoral or cross-domain integrated assessment frameworks, this is achieved through clear definitions of the background concepts, measures, scales, and system boundaries.
Making these items explicit helps researchers see quickly and precisely what translation is required to make (sub-)models interoperable with one another.&lt;/p&gt;
&lt;p&gt;Finally, sustainability requires the very research processes that support the transition to be equitable and inclusive.
I explain how the practices of making software free and open source, writing complete documentation, and continuous development lower barriers to understanding and participating in IAM-based research, especially for those not privileged to work at the few institutions that have the resources to maintain large-scale models.
As well, a broad user base translates to a flow of contributions, improved model quality, and ultimately improved perceptions of legitimacy for modeling work.&lt;/p&gt;
&lt;/div&gt;
</content><category term="article"/><category term="research"/></entry><entry><title>Structuring data with SDMX</title><link href="https://paul.kishimoto.name/2021/02/structuring-data-with-sdmx" rel="alternate"/><published>2021-02-01T00:00:00+01:00</published><updated>2021-02-01T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2021-02-01:/2021/02/structuring-data-with-sdmx</id><summary type="html">&lt;p&gt;This post expands on some text from the README of &lt;a class="reference external" href="https://github.com/IAMconsortium/units/#readme"&gt;iam-units&lt;/a&gt;, in order to illustrate some improved ways to structure data and metadata.
These are especially helpful in systems research, where data from multiple disciplines/domains/contexts are often combined.&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;iam-units&lt;/span&gt;&lt;/tt&gt; is a thin wrapper around the very useful &lt;a class="reference external" href="https://pint.readthedocs.io"&gt;pint&lt;/a&gt;, that I wrote with some colleagues to handle unit conversions for data from integrated assessment models (IAMs) of energy and climate, including &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Global_warming_potential"&gt;global warming potential&lt;/a&gt; (GWP) conversions between greenhouse gas (GHG) species:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;iam_units&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;registry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;convert_gwp&lt;/span&gt;

&lt;span class="c1"&gt;# Use a pint.UnitRegistry to convert from one unit to another …&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;This post expands on some text from the README of &lt;a class="reference external" href="https://github.com/IAMconsortium/units/#readme"&gt;iam-units&lt;/a&gt;, in order to illustrate some improved ways to structure data and metadata.
These are especially helpful in systems research, where data from multiple disciplines/domains/contexts are often combined.&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;iam-units&lt;/span&gt;&lt;/tt&gt; is a thin wrapper around the very useful &lt;a class="reference external" href="https://pint.readthedocs.io"&gt;pint&lt;/a&gt;, that I wrote with some colleagues to handle unit conversions for data from integrated assessment models (IAMs) of energy and climate, including &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Global_warming_potential"&gt;global warming potential&lt;/a&gt; (GWP) conversions between greenhouse gas (GHG) species:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;iam_units&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;registry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;convert_gwp&lt;/span&gt;

&lt;span class="c1"&gt;# Use a pint.UnitRegistry to convert from one unit to another&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;qty&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;registry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;3500 t&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Mt&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# The result has the expected magnitude: 3500 t = 3.5 kt = 0.035 Mt&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;qty&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Quantity&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.0035&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;megametric_ton&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="c1"&gt;# Convert from mass of N₂O to GWP-equivalent mass of CO₂,&lt;/span&gt;
&lt;span class="c1"&gt;# using the metric from the IPCC Fifth Assessment Report (AR5)&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;convert_gwp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;AR5GWP100&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;qty&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;N2O&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;CO2&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Quantity&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.9275&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;megametric_ton&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Contents&lt;/strong&gt;&lt;/p&gt;
&lt;div class="contents local topic" id="contents"&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference internal" href="#concept-observation-quantity-magnitude-unit" id="toc-entry-1"&gt;Concept, observation, quantity, magnitude, unit&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="#measurement-and-nominal-properties" id="toc-entry-2"&gt;Measurement and nominal properties&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#common-ways-to-handle-ghgs-and-gwp-equivalents" id="toc-entry-3"&gt;Common ways to handle GHGs and GWP-equivalents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#using-sdmx-to-be-explicit" id="toc-entry-4"&gt;Using SDMX to be explicit&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="#specify-the-concepts-and-data-structure" id="toc-entry-5"&gt;Specify the concepts and data structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#use-the-definitions-to-structure-the-data" id="toc-entry-6"&gt;Use the definitions to structure the data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#convert-carefully" id="toc-entry-7"&gt;Convert carefully&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#take-aways" id="toc-entry-8"&gt;Take-aways&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="#further-topics" id="toc-entry-9"&gt;Further topics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Here's the text I'd like to expand on, with emphasis added:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;convert_gwp()&lt;/tt&gt; converts from from mass (or mass-related units) of one specific greenhouse gas (GHG) species to an equivalent quantity of second species, based on GWP &lt;em&gt;metrics&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The function also accepts input with the commonly-used combination of mass (or related) units and the identity of a particular GHG species:&lt;/p&gt;
&lt;p&gt;Strictly, &lt;strong&gt;the original species is not a unit but a “nominal property”&lt;/strong&gt;; see the &lt;a class="reference external" href="https://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2008.pdf"&gt;International Vocabulary of Metrology&lt;/a&gt; (VIM) &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt; used in the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/International_System_of_Units"&gt;SI&lt;/a&gt;.
To avoid ambiguity, code handling GHG quantities should also track and output these nominal properties, including:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Original species.&lt;/li&gt;
&lt;li&gt;Species in which GWP-equivalents are expressed (e.g. CO₂ or C)&lt;/li&gt;
&lt;li&gt;GWP metric used to convert (1) to (2).&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is one of many cases where a little up-front effort to be precise—as opposed to loose and casual—about measurement can help us write code and produce data that is as interoperable as possible.
The investment pays dividends by reducing repeated work down the road in handling imprecise data.&lt;/p&gt;
&lt;div class="section" id="concept-observation-quantity-magnitude-unit"&gt;
&lt;h2&gt;Concept, observation, quantity, magnitude, unit&lt;/h2&gt;
&lt;p&gt;Before returning to GHGs, here's a second example: in transport research we often want to discuss the following &lt;em&gt;concept&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
total distance traveled by a person (or group of people)&lt;/blockquote&gt;
&lt;p&gt;For instance, if I walk to the corner store, ride my bike to a restaurant, and then take the train to visit a friend, I might travel in total 0.5 + 4 + 10 = 14.5 kilometres.
This is a &lt;em&gt;quantity&lt;/em&gt; that expresses one &lt;em&gt;observation&lt;/em&gt; of the above concept.
The observation was, hypothetically, obtained by a process of &lt;em&gt;measurement&lt;/em&gt; (more on that shortly).
The quantity consists of the &lt;em&gt;magnitude&lt;/em&gt; “14.5” and &lt;em&gt;unit reference&lt;/em&gt; “kilometre”.&lt;/p&gt;
&lt;p&gt;We might also say:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;registry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;14.5 km&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;mile&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Quantity&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;9.00988229&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;mile&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This is the very same &lt;em&gt;concept&lt;/em&gt;, &lt;em&gt;observation&lt;/em&gt;, and &lt;em&gt;quantity&lt;/em&gt;, but expressed in a different &lt;em&gt;unit&lt;/em&gt; and thus having a different &lt;em&gt;magnitude&lt;/em&gt;. &lt;a class="footnote-reference" href="#footnote-2" id="footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/p&gt;
&lt;div class="section" id="measurement-and-nominal-properties"&gt;
&lt;h3&gt;Measurement and nominal properties&lt;/h3&gt;
&lt;p&gt;Something is still missing in order to be unambiguous about the observation “the travel distance is 14.5 kilometres.”
We might ask:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Is this the actual distance traveled in a specific period of time?&lt;ul&gt;
&lt;li&gt;What period? A specific day? &lt;a class="footnote-reference" href="#footnote-3" id="footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Or, as in this case, a hypothetical, counterfactual, etc.?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Is it a computed statistic? For instance:&lt;ul&gt;
&lt;li&gt;The &lt;em&gt;mean&lt;/em&gt; or &lt;em&gt;average&lt;/em&gt; travel distance across 2+ periods, for just one person (me)?&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;sum&lt;/em&gt;/collective travel distance across 2+ people, but in the same period?&lt;/li&gt;
&lt;li&gt;Something else?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The VIM calls these &lt;strong&gt;nominal properties&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In systems research, it is common to combine data and knowledge from different streams of research that take place in different contexts, with different scope and resolution.
&lt;em&gt;Within&lt;/em&gt; any particular context, there can be certain natural choices for concepts, measurement process(es), and thus certain nominal properties of the data created/handled.
These will be understood implicitly by both author and audience as the background consensus, and don't vary within that context.
To list them explicitly doesn't achieve much, and might even be a distraction and barrier to clear communication; noise that buries the signal.&lt;/p&gt;
&lt;p&gt;However: when combining data from different contexts, problems can arise when we fail to notice that the concepts, measurement processes, and nominal properties differ.
A burden thus falls on the researcher to:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Make explicit the implicit features of measurement in the different domains supplying data that she wishes to combine,&lt;/li&gt;
&lt;li&gt;Identify any differences,&lt;/li&gt;
&lt;li&gt;Choose methods to adjust for (2), and&lt;/li&gt;
&lt;li&gt;Correctly implement (3).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These tasks consume resources and create opportunities for errors that could undermine the internal validity of research.
But they're also routine, so we can use some judicious automation to reduce the work involved while getting equally- or more-valid results.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="common-ways-to-handle-ghgs-and-gwp-equivalents"&gt;
&lt;h2&gt;Common ways to handle GHGs and GWP-equivalents&lt;/h2&gt;
&lt;p&gt;Suppose we have this data:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;species&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;N2O&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;CH4&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;CO2&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, N2O&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, CH4&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, CO2&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;100.3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;variable&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;unit&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, N2O&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;291.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, CH4&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;146.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, CO2&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;100.3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;variable&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;unit&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Let's be very precise about what we have:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Each observation in &lt;tt class="docutils literal"&gt;data_a&lt;/tt&gt; expresses a measured mass of emissions.&lt;/li&gt;
&lt;li&gt;Each observation in &lt;tt class="docutils literal"&gt;data_b&lt;/tt&gt; expresses a mass of CO₂ that, using the AR5 100-year metric, has the potential to contribute the same amount of global warming as the corresponding mass in &lt;tt class="docutils literal"&gt;data_a&lt;/tt&gt;.&lt;/li&gt;
&lt;li&gt;The ‘value’ column contains &lt;em&gt;magnitudes&lt;/em&gt;; actual &lt;em&gt;quantities&lt;/em&gt; are given by the ‘value’ and ‘unit’ columns together.&lt;/li&gt;
&lt;li&gt;The ‘variable’ column mixes concepts: the thing measured is the [mass] emitted and is the same for all observations; the species emitted varies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Clearly, it's wrong to do the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;data_b&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="mi"&gt;0&lt;/span&gt;    &lt;span class="mf"&gt;292.6&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;    &lt;span class="mf"&gt;151.7&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;    &lt;span class="mf"&gt;200.6&lt;/span&gt;
&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;float64&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;These magnitudes, as bare numbers, can of course be added togther.
But the results are scientifically meaningless, since the operands are conceptually incoherent: their units are the same, but they measure different things.&lt;/p&gt;
&lt;p&gt;There are some common ways to store information that is intended to help avoid errors like this.
Strategy A is to use a &lt;em&gt;unit-like expression&lt;/em&gt; that combines the actual &lt;em&gt;unit&lt;/em&gt; with a nominal property, i.e. the species:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_a&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;kt &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;species&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
         &lt;span class="n"&gt;variable&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt;    &lt;span class="n"&gt;unit&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N2O&lt;/span&gt;    &lt;span class="mf"&gt;1.1&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;N2O&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CH4&lt;/span&gt;    &lt;span class="mf"&gt;5.2&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;CH4&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;  &lt;span class="mf"&gt;100.3&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;unit&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;kt CO2-eq&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
         &lt;span class="n"&gt;variable&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt;       &lt;span class="n"&gt;unit&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N2O&lt;/span&gt;  &lt;span class="mf"&gt;291.5&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CH4&lt;/span&gt;  &lt;span class="mf"&gt;146.5&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;  &lt;span class="mf"&gt;100.3&lt;/span&gt;  &lt;span class="n"&gt;kt&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;eq&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;These expressions are a common prose shorthand or abbreviation, but are not standard.
For instance, ‘-e’/‘e’, ‘-eq’/‘eq’, ‘-equiv’, and other symbols are all in use in various contexts.&lt;/p&gt;
&lt;p&gt;Strategy B is to mash even more concepts into a column named something like ‘variable’, adding (3) and (4) to (1) and (2) here:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;The property that is measured, i.e. mass.&lt;/li&gt;
&lt;li&gt;The species emitted.&lt;/li&gt;
&lt;li&gt;The species in which a GWP-equivalent is expressed.&lt;/li&gt;
&lt;li&gt;The GWP metric used.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_a&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
         &lt;span class="n"&gt;variable&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N2O&lt;/span&gt;    &lt;span class="mf"&gt;1.1&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CH4&lt;/span&gt;    &lt;span class="mf"&gt;5.2&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt;  &lt;span class="mf"&gt;100.3&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data_b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;variable&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data_b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;variable&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot; (CO₂ equivalent, AR5GWP100)&amp;quot;&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
                                     &lt;span class="n"&gt;variable&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;N2O&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CO&lt;/span&gt;&lt;span class="err"&gt;₂&lt;/span&gt; &lt;span class="n"&gt;equivalent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AR5GWP100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="mf"&gt;291.5&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CH4&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CO&lt;/span&gt;&lt;span class="err"&gt;₂&lt;/span&gt; &lt;span class="n"&gt;equivalent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AR5GWP100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="mf"&gt;146.5&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="n"&gt;Emissions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CO2&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;CO&lt;/span&gt;&lt;span class="err"&gt;₂&lt;/span&gt; &lt;span class="n"&gt;equivalent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AR5GWP100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="mf"&gt;100.3&lt;/span&gt;   &lt;span class="n"&gt;kt&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Both of these strategies have the same basic flaw: they &lt;em&gt;combine&lt;/em&gt; instead of &lt;em&gt;distinguishing&lt;/em&gt; different aspects of measurement.
Researchers might make choices that feel ‘natural’ in specific contexts, yet which differ from equally natural choices made by others.
This creates a proliferation of idiosyncratic formats, and entails further work in parsing and harmonizing.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="using-sdmx-to-be-explicit"&gt;
&lt;h2&gt;Using SDMX to be explicit&lt;/h2&gt;
&lt;p&gt;I maintain &lt;a class="reference external" href="https://sdmx1.readthedocs.io"&gt;sdmx1&lt;/a&gt;, a Python package that implements the SDMX Information Model, or ISO 17369:2013.
An “information model” (IM) is a &lt;em&gt;model&lt;/em&gt; (a set of concepts and their relationships) for talking about &lt;em&gt;information&lt;/em&gt; (data and metadata) and its representation.
(The documentation for the package links to some &lt;a class="reference external" href="https://sdmx1.readthedocs.io/en/latest/resources.html"&gt;learning resources for SDMX&lt;/a&gt;; the details aren't repeated here.)&lt;/p&gt;
&lt;p&gt;Because it is carefully developed, the SDMX IM allows us to precisely capture the concepts and relationships in our example data, including our choices in measurement and of units.&lt;/p&gt;
&lt;p&gt;The rest of this post gives a minimal demonstration.&lt;/p&gt;
&lt;div class="section" id="specify-the-concepts-and-data-structure"&gt;
&lt;h3&gt;Specify the concepts and data structure&lt;/h3&gt;
&lt;p&gt;We start by defining each of the distinct concepts that occur in our data:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sdmx&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sdmx.model.v21&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;model&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;emission&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Concept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;EMISSION&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Mass of greenhouse gas emitted&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;species_concept&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Concept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;SPECIES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Chemical species or substance&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;gwp_metric&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Concept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GWP_METRIC&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Set of GWPs used to convert species&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="c1"&gt;# “UNIT_MEASURE” is commonly used in SDMX applications&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;unit_concept&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Concept&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;UNIT_MEASURE&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Unit of measurement&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Next, we define the structure of our data.
We start with the &lt;em&gt;primary measure&lt;/em&gt;, the concept that is measured:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataStructureDefinition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GHG_DATA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# - Refer to the concept&lt;/span&gt;
&lt;span class="c1"&gt;# - Use concept&amp;#39;s ID for the primary measure as well&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;pm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;concept_identity&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;emission&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;emission&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="c1"&gt;# Store in the DSD&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;measures&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Next, we specify that values for the &lt;tt class="docutils literal"&gt;gwp_metric&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;unit&lt;/tt&gt; concepts are stored as &lt;em&gt;attributes&lt;/em&gt;.
SDMX allows several options for where we attach these attributes.
Here, we specify that the attributes are attached to entire data sets.
This means that, in a particular data set, only one GWP metric can be used, and one unit: &lt;a class="footnote-reference" href="#footnote-4" id="footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# 1. Define the data attribute&lt;/span&gt;
&lt;span class="c1"&gt;#    - Refer to the concept&lt;/span&gt;
&lt;span class="c1"&gt;#    - Use concept&amp;#39;s ID for the attribute as well&lt;/span&gt;
&lt;span class="c1"&gt;#    - NoSpecifiedRelationship = attached to data set&lt;/span&gt;
&lt;span class="c1"&gt;# 2. Store in the DSD&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;concept&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gwp_metric&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;unit_concept&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;da&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;concept_identity&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;concept&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;concept&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;related_to&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NoSpecifiedRelationship&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;da&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Finally, we specify that our data has two dimensions.
Every observation in a data set must have a unique Key with values for these dimensions.&lt;/p&gt;
&lt;p&gt;Both dimensions refer to the same concept (species), but we give them different IDs and names to explain what these signify.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;SPECIES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Original species emitted&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="s2"&gt;&amp;quot;SPECIES_GWP&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="s2"&gt;&amp;quot;Species in which GWP equivalent is expressed&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;),&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)):&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;dim&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Dimension&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;concept_identity&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;species_concept&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dimensions&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dim&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We now have a complete description of our data structure:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;measures&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MeasureDescriptor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;27&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AttributeDescriptor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DataAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;annotations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;GWP_METRIC&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;urn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;concept_identity&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Concept&lt;/span&gt; &lt;span class="n"&gt;GWP_METRIC&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Set&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;GWPs&lt;/span&gt; &lt;span class="n"&gt;used&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;convert&lt;/span&gt; &lt;span class="n"&gt;species&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;local_representation&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;related_to&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="err"&gt;&amp;#39;&lt;/span&gt;&lt;span class="nc"&gt;sdmx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;v21&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NoSpecifiedRelationship&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;gt;, usage_status=None, concept_role=None); DataAttribute(annotations=[], id=&amp;#39;&lt;/span&gt;&lt;span class="n"&gt;UNIT_MEASURE&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;, uri=None, urn=None, concept_identity=&amp;lt;Concept UNIT_MEASURE: Unit of measurement&amp;gt;, local_representation=None, related_to=&amp;lt;class &amp;#39;&lt;/span&gt;&lt;span class="n"&gt;sdmx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;v21&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;NoSpecifiedRelationship&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;gt;, usage_status=None, concept_role=None)&amp;gt;&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;28&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dimensions&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;28&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;DimensionDescriptor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;annotations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;uri&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;urn&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Dimension&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Dimension&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="use-the-definitions-to-structure-the-data"&gt;
&lt;h3&gt;Use the definitions to structure the data&lt;/h3&gt;
&lt;p&gt;Now we can create a data set that is &lt;em&gt;structured by&lt;/em&gt; this definition:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;29&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;ds_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;structured_by&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We store the values of attributes attached to the data set:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# Define a function to create attribute values and store them.&lt;/span&gt;
&lt;span class="c1"&gt;# The `value_for` property links each value to the definition&lt;/span&gt;
&lt;span class="c1"&gt;# of the attribute in the DSD, and thus to a concept.&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;store_attributes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;values&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;concept_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;values&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;av&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AttributeValue&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;             &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;             &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;concept_id&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attrib&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;concept_id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;av&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;31&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;store_attributes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;GWP_METRIC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;(None)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;UNIT_MEASURE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;kt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Finally we store the individual observations.
In the case of &lt;tt class="docutils literal"&gt;data_a&lt;/tt&gt;, the labels for the SPECIES and SPECIES_GWP dimensions are the same:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# 1. Discard redundant portion of the ‘variable’ column.&lt;/span&gt;
&lt;span class="c1"&gt;# 2. Create a key object from labels for each dimension.&lt;/span&gt;
&lt;span class="c1"&gt;# 3. Create the observation.&lt;/span&gt;
&lt;span class="c1"&gt;#    - The value is ‘for’ the primary measure, i.e. emissions.&lt;/span&gt;
&lt;span class="c1"&gt;# 4. Store in the data set.&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;32&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data_a&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iterrows&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;variable&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Emissions, &amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;dims&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;make_key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dims&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;obs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;row&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;pm&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We now have a complete data set.
&lt;tt class="docutils literal"&gt;sdmx1&lt;/tt&gt; provides features for converting to other data structures and file formats:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;ds_a&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;DataSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;annotations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valid_from&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;described_by&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;structured_by&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;DataStructureDefinition&lt;/span&gt; &lt;span class="n"&gt;GHG_DATA&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N2O&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N2O&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CH4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CH4&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;5.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;100.3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)],&lt;/span&gt; &lt;span class="n"&gt;series&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;attrib&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;GWP_METRIC&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AttributeValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;GWP_METRIC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;UNIT_MEASURE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AttributeValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;UNIT_MEASURE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;kt&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="c1"&gt;# pandas.DataFrame&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;sdmx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_pandas&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;od&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;34&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="n"&gt;SPECIES&lt;/span&gt;  &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;
&lt;span class="n"&gt;N2O&lt;/span&gt;      &lt;span class="n"&gt;N2O&lt;/span&gt;              &lt;span class="mf"&gt;1.1&lt;/span&gt;
&lt;span class="n"&gt;CH4&lt;/span&gt;      &lt;span class="n"&gt;CH4&lt;/span&gt;              &lt;span class="mf"&gt;5.2&lt;/span&gt;
&lt;span class="n"&gt;CO2&lt;/span&gt;      &lt;span class="n"&gt;CO2&lt;/span&gt;            &lt;span class="mf"&gt;100.3&lt;/span&gt;
&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;float64&lt;/span&gt;

&lt;span class="c1"&gt;# Standardized SDMX-ML format&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;sdmx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_xml&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pretty_print&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="sa"&gt;b&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;lt;?xml version=&lt;/span&gt;&lt;span class="se"&gt;\&amp;#39;&lt;/span&gt;&lt;span class="s1"&gt;1.0&lt;/span&gt;&lt;span class="se"&gt;\&amp;#39;&lt;/span&gt;&lt;span class="s1"&gt; encoding=&lt;/span&gt;&lt;span class="se"&gt;\&amp;#39;&lt;/span&gt;&lt;span class="s1"&gt;utf-8&lt;/span&gt;&lt;span class="se"&gt;\&amp;#39;&lt;/span&gt;&lt;span class="s1"&gt;?&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;&amp;lt;mes:DataSet xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:com=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common&amp;quot; xmlns:data=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific&amp;quot; xmlns:footer=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer&amp;quot; xmlns:gen=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic&amp;quot; xmlns:md_ss=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific&amp;quot; xmlns:md=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic&amp;quot; xmlns:mes=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message&amp;quot; xmlns:reg=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry&amp;quot; xmlns:str=&amp;quot;http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure&amp;quot; structureRef=&amp;quot;GHG_DATA&amp;quot;&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;gen:Attributes&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:Value id=&amp;quot;GWP_METRIC&amp;quot; value=&amp;quot;(None)&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:Value id=&amp;quot;UNIT_MEASURE&amp;quot; value=&amp;quot;kt&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;/gen:Attributes&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES&amp;quot; value=&amp;quot;N2O&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES_GWP&amp;quot; value=&amp;quot;N2O&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;/gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsValue value=&amp;quot;1.1&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;/gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES&amp;quot; value=&amp;quot;CH4&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES_GWP&amp;quot; value=&amp;quot;CH4&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;/gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsValue value=&amp;quot;5.2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;/gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES&amp;quot; value=&amp;quot;CO2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;      &amp;lt;gen:Value id=&amp;quot;SPECIES_GWP&amp;quot; value=&amp;quot;CO2&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;/gen:ObsKey&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;    &amp;lt;gen:ObsValue value=&amp;quot;100.3&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;  &amp;lt;/gen:Obs&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;&amp;lt;/mes:DataSet&amp;gt;&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="convert-carefully"&gt;
&lt;h3&gt;Convert carefully&lt;/h3&gt;
&lt;p&gt;Finally, we can convert &lt;tt class="docutils literal"&gt;ds_a&lt;/tt&gt; using &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;iam-units&lt;/span&gt;&lt;/tt&gt; while maintaining an explicit and unambiguous data structure.&lt;/p&gt;
&lt;p&gt;We create a second data set using the same data structure definition:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;36&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;ds_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;structured_by&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Store attributes:&lt;/span&gt;
&lt;span class="c1"&gt;# GWP metric name to use in conversion&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;37&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;metric&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;AR5GWP100&amp;quot;&lt;/span&gt;

&lt;span class="c1"&gt;# Unit used in both data sets&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;attrib&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;UNIT_MEASURE&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;39&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;store_attributes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;ds_b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GWP_METRIC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;metric&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;UNIT_MEASURE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;unit&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;For each observation, we convert its magnitude, and change &lt;em&gt;only&lt;/em&gt; the “SPECIES_GWP” key value:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# Target species for conversion&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;target_species&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;CO2&amp;quot;&lt;/span&gt;

&lt;span class="c1"&gt;# 1. Store the original species.&lt;/span&gt;
&lt;span class="c1"&gt;# 2. Create a new key with SPECIES_GWP set to `target_species`.&lt;/span&gt;
&lt;span class="c1"&gt;# 3. Convert the magnitude using the metric and iam-units.&lt;/span&gt;
&lt;span class="c1"&gt;# 4. Create a new observation and store in `ds_b`.&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;41&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;obs&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;ds_a&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;species&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;SPECIES&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dsd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;make_key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;species&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;target_species&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;convert_gwp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;metric&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;registry&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Quantity&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;unit&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;species&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;target_species&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;magnitude&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="n"&gt;ds_b&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;             &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;pm&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;         &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The resulting data set has the same format as &lt;tt class="docutils literal"&gt;ds_a&lt;/tt&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;ds_b&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;DataSet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;annotations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;valid_from&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;described_by&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;structured_by&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;DataStructureDefinition&lt;/span&gt; &lt;span class="n"&gt;GHG_DATA&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;obs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N2O&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;291.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CH4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;145.6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;Observation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attached_attribute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;series_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dimension&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;SPECIES&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CO2&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;100.3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;group_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;value_for&lt;/span&gt;&lt;span class="o"&gt;=&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;PrimaryMeasure&lt;/span&gt; &lt;span class="n"&gt;EMISSION&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)],&lt;/span&gt; &lt;span class="n"&gt;series&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;group&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{},&lt;/span&gt; &lt;span class="n"&gt;attrib&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;GWP_METRIC&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AttributeValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;GWP_METRIC&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;AR5GWP100&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;UNIT_MEASURE&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AttributeValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;UNIT_MEASURE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;kt&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;43&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;sdmx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;to_pandas&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds_b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;attributes&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;do&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;43&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="n"&gt;SPECIES&lt;/span&gt;  &lt;span class="n"&gt;SPECIES_GWP&lt;/span&gt;
&lt;span class="n"&gt;N2O&lt;/span&gt;      &lt;span class="n"&gt;CO2&lt;/span&gt;            &lt;span class="mf"&gt;291.5&lt;/span&gt;
&lt;span class="n"&gt;CH4&lt;/span&gt;      &lt;span class="n"&gt;CO2&lt;/span&gt;            &lt;span class="mf"&gt;145.6&lt;/span&gt;
&lt;span class="n"&gt;CO2&lt;/span&gt;      &lt;span class="n"&gt;CO2&lt;/span&gt;            &lt;span class="mf"&gt;100.3&lt;/span&gt;
&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;float64&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="take-aways"&gt;
&lt;h2&gt;Take-aways&lt;/h2&gt;
&lt;p&gt;To review, by applying the SDMX Information Model, we were able to:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Define exactly the concepts relevant to our data.&lt;/li&gt;
&lt;li&gt;Use these to create a clear and unambigous structure, in which concepts were used for the primary measure, as attributes, or dimensions of multi-dimensional data.&lt;/li&gt;
&lt;li&gt;Unpack a ‘variable’ column into its constituent concepts, and avoid overloading it further with additional concepts.&lt;/li&gt;
&lt;li&gt;Store simple or bare SI units, parseable by &lt;tt class="docutils literal"&gt;pint&lt;/tt&gt;, for the “UNIT_MEASURE” attribute, and avoid overloading this with unrelated concepts.&lt;/li&gt;
&lt;li&gt;Access structured metadata and use it in the process of converting data.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="further-topics"&gt;
&lt;h3&gt;Further topics&lt;/h3&gt;
&lt;p&gt;The amount of code used to handle only 3 observations might seem excessive.
The up-front investment, however, unlocks further improvements in handling data and metadata.
As a sketch of these:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p class="first"&gt;Applications can additionally specify a &lt;em&gt;representation&lt;/em&gt; for any concept used for a measure, attribute, or dimension.&lt;/p&gt;
&lt;p&gt;For instance, we could specify that the “SPECIES” dimension represents the concept of species using only codes from a certain list of species understood to be GHGs: CH4, CO2, N2O, and so on.
The code list is a mechanism for communicating about the data:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;“This data contains codes that are invalid, not in the specified list” can flag errors in data preparation.&lt;/li&gt;
&lt;li&gt;A data provider can specify a subset of the codes that will appear in their published data sets or data flows.
Users then understand not to expect values outside this subset.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class="first"&gt;The concepts and other structures can be shared and reused.
For instance, as described in footnote &lt;a class="footnote-reference" href="#footnote-4" id="footnote-reference-5"&gt;[4]&lt;/a&gt;, we could construct a &lt;em&gt;different&lt;/em&gt; data structure definition using the &lt;em&gt;same&lt;/em&gt; concepts, as required for a different application.&lt;/p&gt;
&lt;p&gt;The re-use of the same concepts tells users about links between multiple data sets and flows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class="first"&gt;Published structures allow multiple data providers to prepare data that is guaranteed to be interoperable.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr class="docutils" /&gt;
&lt;p&gt;&lt;strong&gt;Footnotes&lt;/strong&gt;&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;The VIM is good reading and food for thought on these topics; more giant shoulders that we stand on, even if it seems as pedestrian as a dictionary.
I encourage everyone to skim it!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-2" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="first"&gt;It's very common to conflate concepts and units.
Do not do this.&lt;/p&gt;
&lt;p&gt;For instance, “passenger/person distance traveled” (PDT) is often called “PKT” (meaning “passenger kilometres travelled”) or “PMT” (“person-miles traveled”).
This conflates units (kilometres, miles) with the quantity (distance) measured.
Two data sets with observations labelled “PKT” and “PMT” might measure the same concept—that is, PDT—in the same way with the same nominal properties, but merely express the resulting quantities in different units.&lt;/p&gt;
&lt;p class="last"&gt;Always label dimensions or observations with the &lt;em&gt;concept measured&lt;/em&gt;, not the &lt;em&gt;units&lt;/em&gt; of particular measurements.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-3" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;…or, during this pandemic, month or year? 😭️&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-4" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;[4]&lt;/td&gt;&lt;td&gt;&lt;em&gt;(&lt;a class="fn-backref" href="#footnote-reference-4"&gt;1&lt;/a&gt;, &lt;a class="fn-backref" href="#footnote-reference-5"&gt;2&lt;/a&gt;)&lt;/em&gt; &lt;p&gt;This is simply for brevity, not a limitation of SDMX.&lt;/p&gt;
&lt;p class="last"&gt;We could equally, for instance, specify that &lt;tt class="docutils literal"&gt;gwp_metric&lt;/tt&gt; is attached to series keys or individual observations.
This would allow a single data set to contain the same measurements with magnitudes expressed in multiple ways via multiple GWP metrics.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="article"/><category term="data"/><category term="integrated-assessment"/><category term="python"/><category term="research"/><category term="sdmx"/><category term="software"/></entry><entry><title>Handling country codes</title><link href="https://paul.kishimoto.name/2021/01/handling-country-codes" rel="alternate"/><published>2021-01-28T00:00:00+01:00</published><updated>2021-01-28T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2021-01-28:/2021/01/handling-country-codes</id><summary type="html">&lt;p&gt;In research with global scope and country- or country-group resolution, it's common to handle data with one or more &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt; dimension(s) identifying a country (countries) for each observation.
Problems can arise when inconsistent identifiers—“United States” vs. “United States of America”—are used to label this dimension, either across different data sets, or within one data set.&lt;/p&gt;
&lt;p&gt;The best precaution against these problems is to convert idiosyncratic identifiers to short, standard ones, as soon as possible.
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes"&gt;ISO 3166 alpha-2 or alpha-3 codes&lt;/a&gt; (&lt;tt class="docutils literal"&gt;CA&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;CAN&lt;/tt&gt; for Canada) are a natural choice for standard identifiers. &lt;a class="footnote-reference" href="#footnote-2" id="footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this post, I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In research with global scope and country- or country-group resolution, it's common to handle data with one or more &lt;a class="footnote-reference" href="#footnote-1" id="footnote-reference-1"&gt;[1]&lt;/a&gt; dimension(s) identifying a country (countries) for each observation.
Problems can arise when inconsistent identifiers—“United States” vs. “United States of America”—are used to label this dimension, either across different data sets, or within one data set.&lt;/p&gt;
&lt;p&gt;The best precaution against these problems is to convert idiosyncratic identifiers to short, standard ones, as soon as possible.
&lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes"&gt;ISO 3166 alpha-2 or alpha-3 codes&lt;/a&gt; (&lt;tt class="docutils literal"&gt;CA&lt;/tt&gt; or &lt;tt class="docutils literal"&gt;CAN&lt;/tt&gt; for Canada) are a natural choice for standard identifiers. &lt;a class="footnote-reference" href="#footnote-2" id="footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this post, I show a way to do this in a few lines of performant Python code, using some common packages and tools.
The sections are titled with some general points of advice that also apply to other programming tasks.&lt;/p&gt;
&lt;div class="contents local topic" id="contents"&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference internal" href="#find-and-use-well-tested-tools" id="toc-entry-1"&gt;1. Find and use well-tested tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#understand-the-standard-library" id="toc-entry-2"&gt;2. Understand the standard library&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="#dict-get" id="toc-entry-3"&gt;&lt;tt class="docutils literal"&gt;dict.get()&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#decorate-with-functools-lru-cache" id="toc-entry-4"&gt;Decorate with &lt;tt class="docutils literal"&gt;functools.lru_cache()&lt;/tt&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#find-and-use-optimized-code" id="toc-entry-5"&gt;3. Find and use optimized code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="reference internal" href="#wrapping-up" id="toc-entry-6"&gt;Wrapping up&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="reference internal" href="#concluding-thoughts" id="toc-entry-7"&gt;Concluding thoughts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="find-and-use-well-tested-tools"&gt;
&lt;h2&gt;1. Find and use well-tested tools&lt;/h2&gt;
&lt;p&gt;In this example, we'll want to use &lt;a class="reference external" href="https://pypi.org/project/pycountry/"&gt;pycountry&lt;/a&gt;, a package that has existed since 2008 and, per its documentation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;…provides the ISO databases for the standards:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;3166 Countries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The package includes a copy from Debian’s pkg-isocodes and makes the data accessible through a Python API.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It's easy to use and fast:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pycountry&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;countries&lt;/span&gt;

&lt;span class="c1"&gt;# Get a country by its code&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;countries&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alpha_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;CA&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;Country&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alpha_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;CA&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alpha_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;CAN&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;🇨🇦&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Canada&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;numeric&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;124&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Lookup on any field: alpha_2, alpha_3, or name:&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;countries&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lookup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Canada&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;Country&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alpha_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;CA&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alpha_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;CAN&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;🇨🇦&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Canada&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;numeric&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;124&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Fuzzy search returns a list() of results&lt;/span&gt;
&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;countries&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;search_fuzzy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Korea&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Country&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alpha_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;KP&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alpha_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;PRK&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;common_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;North Korea&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;🇰🇵&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Korea, Democratic People&amp;#39;s Republic of&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;numeric&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;408&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;official_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Democratic People&amp;#39;s Republic of Korea&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
 &lt;span class="n"&gt;Country&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;alpha_2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;KR&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;alpha_3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;KOR&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;common_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;South Korea&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;flag&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;🇰🇷&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Korea, Republic of&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;numeric&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;410&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;pycountry&lt;/tt&gt; is downloaded about 56,000 times &lt;em&gt;every day&lt;/em&gt;:&lt;/p&gt;
&lt;img alt="Rate of PyPI downloads" src="https://img.shields.io/pypi/dd/pycountry" /&gt;
&lt;p&gt;As with &lt;tt class="docutils literal"&gt;pandas&lt;/tt&gt;, below, heavy usage is both an indicator of and contributor to quality.
Hypothetically, we could copy the ISO 3166 table from Wikipedia into a CSV file and write some code to query it.
But there's no point in doing this.
The result will certainly be slower, more likely to contain bugs, and have fewer features than &lt;tt class="docutils literal"&gt;pycountry&lt;/tt&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="understand-the-standard-library"&gt;
&lt;h2&gt;2. Understand the standard library&lt;/h2&gt;
&lt;p&gt;Some example data:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DataFrame&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Austria&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2021&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Bosnia&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2021&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;2.2&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Canada&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2021&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;3.3&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;UK&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2021&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.4&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;UK&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2022&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;5.5&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;year&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
   &lt;span class="n"&gt;country&lt;/span&gt;  &lt;span class="n"&gt;year&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;  &lt;span class="n"&gt;Austria&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;1.1&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;   &lt;span class="n"&gt;Bosnia&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;2.2&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;   &lt;span class="n"&gt;Canada&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;3.3&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;       &lt;span class="n"&gt;UK&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;4.4&lt;/span&gt;
&lt;span class="mi"&gt;4&lt;/span&gt;       &lt;span class="n"&gt;UK&lt;/span&gt;  &lt;span class="mi"&gt;2022&lt;/span&gt;    &lt;span class="mf"&gt;5.5&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;What is in the &amp;quot;country&amp;quot; column/dimension?&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;“Canada” and “Austria” are direct matches for the ‘name’ field of the ISO 3166-1 database.&lt;/li&gt;
&lt;li&gt;“Bosnia” is only a partial match for the name “Bosnia and Herzegovina”.&lt;/li&gt;
&lt;li&gt;“UK” is an idiosyncratic identifier: the ISO 3166-1 codes for the United Kingdom are &lt;tt class="docutils literal"&gt;GB&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;GBR&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We create a mapping with the idiosyncrasies of this data set:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;country_map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="s2"&gt;&amp;quot;Bosnia&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Bosnia and Herzegovina&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="s2"&gt;&amp;quot;UK&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;United Kingdom&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This allows us to look up a correct value for an incorrect one:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;country_map&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;UK&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;United Kingdom&amp;#39;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="section" id="dict-get"&gt;
&lt;h3&gt;&lt;tt class="docutils literal"&gt;dict.get()&lt;/tt&gt;&lt;/h3&gt;
&lt;p&gt;Do we need to include “Austria” and “Canada” in this dictionary?
No.
The standard &lt;a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict.Get"&gt;dict.get()&lt;/a&gt; method allows a &lt;cite&gt;default&lt;/cite&gt; argument:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;country_map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;span class="n"&gt;Austria&lt;/span&gt;
&lt;span class="n"&gt;Bosnia&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;Herzegovina&lt;/span&gt;
&lt;span class="n"&gt;Canada&lt;/span&gt;
&lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;When &lt;tt class="docutils literal"&gt;name&lt;/tt&gt; is “Canada”, the lookup fails; “Canada” is not a key in the dictionary.
The &lt;cite&gt;default&lt;/cite&gt; argument is returned: “Canada”.
This is a &lt;strong&gt;no-op&lt;/strong&gt; or &lt;strong&gt;pass-through&lt;/strong&gt;; it does nothing.
Code that passes through some values while altering others will always perform better than code that does comparisons (&lt;tt class="docutils literal"&gt;if name == &amp;quot;UK&amp;quot;: …&lt;/tt&gt;).&lt;/p&gt;
&lt;p&gt;Undersetanding that &lt;tt class="docutils literal"&gt;get()&lt;/tt&gt; takes a &lt;cite&gt;default&lt;/cite&gt; argument allows us to make &lt;tt class="docutils literal"&gt;country_map&lt;/tt&gt; &lt;strong&gt;parsimonious&lt;/strong&gt; and easy to read.
It includes only important information (the incorrect labels appearing in this data set) and does not obscure them with unnecessary information.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="decorate-with-functools-lru-cache"&gt;
&lt;h3&gt;Decorate with &lt;tt class="docutils literal"&gt;functools.lru_cache()&lt;/tt&gt;&lt;/h3&gt;
&lt;p&gt;A real data set, unlike our example &lt;tt class="docutils literal"&gt;data&lt;/tt&gt;, will contain many rows, sometimes with the same incorrect identifiers repeated many times.
To speed up any operation we want to do with this data, we can use &lt;a class="reference external" href="https://docs.python.org/3/library/functools.html#functools.lru_cache"&gt;lru_cache()&lt;/a&gt;, &lt;a class="footnote-reference" href="#footnote-3" id="footnote-reference-3"&gt;[3]&lt;/a&gt; a function from the &lt;tt class="docutils literal"&gt;functools&lt;/tt&gt; module of Python's standard library.&lt;/p&gt;
&lt;p&gt;Go read the documentation! I'll wait.&lt;/p&gt;
&lt;p&gt;We use this to &lt;strong&gt;decorate&lt;/strong&gt; a function.
It matches return values to input, and avoids running the (potentially slow) function when it sees a value for which a result has already been computed:&lt;/p&gt;
&lt;!-- NB use the "In […]:" syntax here to prevent the ipython.sphinxext code from eating the @lru_cache() --&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;functools&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;lru_cache&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="nd"&gt;@lru_cache&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;fix_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;country_map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fix_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;span class="n"&gt;Austria&lt;/span&gt;
&lt;span class="n"&gt;Bosnia&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;Herzegovina&lt;/span&gt;
&lt;span class="n"&gt;Canada&lt;/span&gt;
&lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;We can inspect the cache that is created as &lt;tt class="docutils literal"&gt;fix_name()&lt;/tt&gt; is called multiple times:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;fix_name&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cache_info&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;CacheInfo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;misses&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;maxsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;currsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;currsize=4&lt;/tt&gt; tells us that 4 values have been cached over 5 calls.
&lt;tt class="docutils literal"&gt;hits=1&lt;/tt&gt; tells us that the second occurrence of “UK” was handled by returning a cached value, instead of running the body of &lt;tt class="docutils literal"&gt;fix_name()&lt;/tt&gt; again with the same input. &lt;a class="footnote-reference" href="#footnote-4" id="footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="find-and-use-optimized-code"&gt;
&lt;h2&gt;3. Find and use optimized code&lt;/h2&gt;
&lt;p&gt;Our &lt;tt class="docutils literal"&gt;data&lt;/tt&gt; is a &lt;a class="reference external" href="https://pandas.pydata.org/docs/reference/index.html"&gt;pandas&lt;/a&gt; data structure.
Pandas is a very widely used library with many users and contributors. &lt;a class="footnote-reference" href="#footnote-5" id="footnote-reference-5"&gt;[5]&lt;/a&gt;
For these reasons, it is internally very sophisticated; many common operations—indeed, almost all operations that most of us will perform in daily use—have been optimized, some using low-level C code, for speed and memory performance.&lt;/p&gt;
&lt;p&gt;The simple upshot is that &lt;strong&gt;it is almost never necessary to write Python loops&lt;/strong&gt; (&lt;tt class="docutils literal"&gt;for …:&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;while …:&lt;/tt&gt;) when using pandas.
If you &lt;em&gt;do&lt;/em&gt; find yourself writing loops, it is likely that you can instead find and use existing, optimized functionality in pandas.&lt;/p&gt;
&lt;p&gt;I strongly recommend doing this: your code will be both simpler and more performant.&lt;/p&gt;
&lt;p&gt;Above, we looped over the values in the &amp;quot;country&amp;quot; column of &lt;tt class="docutils literal"&gt;data&lt;/tt&gt;.
(Remember: each column of a &lt;tt class="docutils literal"&gt;pandas.DataFrame&lt;/tt&gt; is a &lt;tt class="docutils literal"&gt;pandas.Series&lt;/tt&gt;.)
The feature we should use instead is &lt;a class="reference external" href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.apply.html"&gt;pandas.Series.apply()&lt;/a&gt;.
(Again: go read the documentation, all of it.)&lt;/p&gt;
&lt;p&gt;This looks like:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;apply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fix_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="mi"&gt;0&lt;/span&gt;                   &lt;span class="n"&gt;Austria&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;    &lt;span class="n"&gt;Bosnia&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;Herzegovina&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;                    &lt;span class="n"&gt;Canada&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;            &lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;span class="mi"&gt;4&lt;/span&gt;            &lt;span class="n"&gt;United&lt;/span&gt; &lt;span class="n"&gt;Kingdom&lt;/span&gt;
&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;country&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;object&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pandas takes care of calling &lt;tt class="docutils literal"&gt;fix_name()&lt;/tt&gt; many times, once for each value in this column, and assembling the result into a new series.
It internally speeds up and, where possible, parallelizes these calls: the point is &lt;em&gt;we don't need to think about how it does this&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Also, because we've memoized with &lt;tt class="docutils literal"&gt;lru_cache()&lt;/tt&gt;, after a certain point each call becomes as quick as a dictionary lookup, no matter how expensive &lt;tt class="docutils literal"&gt;fix_name()&lt;/tt&gt; is:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;fix_name&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cache_info&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;CacheInfo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;misses&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;maxsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;currsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;More cache hits have occurred.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="wrapping-up"&gt;
&lt;h2&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;Now we finally bring in &lt;tt class="docutils literal"&gt;pycountry&lt;/tt&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="nd"&gt;@lru_cache&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;code_for_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;countries&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;country_map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;alpha_3&lt;/span&gt;
   &lt;span class="o"&gt;....&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This function first uses &lt;tt class="docutils literal"&gt;country_map&lt;/tt&gt; to correct data set idiosyncrasies, then uses &lt;tt class="docutils literal"&gt;pycountry.get()&lt;/tt&gt; to look up a record using the ‘name’ field.
Finally, it returns the ‘alpha_3’ code from the record.&lt;/p&gt;
&lt;p&gt;We &lt;tt class="docutils literal"&gt;apply()&lt;/tt&gt; this new function to the ‘country’ column:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;apply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;code_for_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
&lt;span class="mi"&gt;0&lt;/span&gt;    &lt;span class="n"&gt;AUT&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;    &lt;span class="n"&gt;BIH&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;    &lt;span class="n"&gt;CAN&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;    &lt;span class="n"&gt;GBR&lt;/span&gt;
&lt;span class="mi"&gt;4&lt;/span&gt;    &lt;span class="n"&gt;GBR&lt;/span&gt;
&lt;span class="n"&gt;Name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;country&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;object&lt;/span&gt;

&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;code_for_name&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cache_info&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;CacheInfo&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;misses&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;maxsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;currsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And we can even update the data, discarding &lt;a class="footnote-reference" href="#footnote-6" id="footnote-reference-6"&gt;[6]&lt;/a&gt; the full names:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;In&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;country&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;country&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;apply&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;code_for_name&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;Out&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; 
  &lt;span class="n"&gt;country&lt;/span&gt;  &lt;span class="n"&gt;year&lt;/span&gt;  &lt;span class="n"&gt;value&lt;/span&gt;
&lt;span class="mi"&gt;0&lt;/span&gt;     &lt;span class="n"&gt;AUT&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;1.1&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;     &lt;span class="n"&gt;BIH&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;2.2&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;     &lt;span class="n"&gt;CAN&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;3.3&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;     &lt;span class="n"&gt;GBR&lt;/span&gt;  &lt;span class="mi"&gt;2021&lt;/span&gt;    &lt;span class="mf"&gt;4.4&lt;/span&gt;
&lt;span class="mi"&gt;4&lt;/span&gt;     &lt;span class="n"&gt;GBR&lt;/span&gt;  &lt;span class="mi"&gt;2022&lt;/span&gt;    &lt;span class="mf"&gt;5.5&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;div class="section" id="concluding-thoughts"&gt;
&lt;h3&gt;Concluding thoughts&lt;/h3&gt;
&lt;p&gt;The three points of advice here:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Find and use well-tested tools.&lt;/li&gt;
&lt;li&gt;Understand the standard library.&lt;/li&gt;
&lt;li&gt;Find and use optimized code.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;…fit two themes.&lt;/p&gt;
&lt;p&gt;One is that &lt;strong&gt;time spent developing fluency with basic tasks pays dividends&lt;/strong&gt;.
For instance, we practice taking derivatives and performing integrals over and over, so that we can do them automatically and combine steps in the course of tackling more complex mathematical problems.
Writing code for research is no different: we want to minimize the space and attention taken up by routine tasks, so that the real content—the methods and theory we are trying to implement—stands out prominently.&lt;/p&gt;
&lt;p&gt;The second is that &lt;strong&gt;we follow paths blazed and walked by others&lt;/strong&gt;.
While our codes may investigate a new question in a novel way, the elemental building blocks of that code are shared with many others.
Almost always, someone has put in work to create an elegant and performant way to do these atomic tasks.
We ought to discover, understand, and use the tools they provide us.&lt;/p&gt;
&lt;hr class="docutils" /&gt;
&lt;p&gt;&lt;strong&gt;Footnotes&lt;/strong&gt;&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Trade data, for instance, can have two country dimensions: origin and destination.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-2" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="first"&gt;These are sometimes called “ISO codes.”
&lt;strong&gt;Do not&lt;/strong&gt; do this.&lt;/p&gt;
&lt;p&gt;The ISO publishes (and &lt;tt class="docutils literal"&gt;pycountry&lt;/tt&gt; supports) standard code lists for languages, currencies, and many other concepts.
As soon as your software needs to handle data with both country and ≥1 of these other concepts—for instance, measures of economic activity denoted in local currency—the dimension label “ISO code” becomes ambiguous.&lt;/p&gt;
&lt;p&gt;Label dimensions with the &lt;em&gt;concept represented&lt;/em&gt;, not the &lt;em&gt;kind of representation&lt;/em&gt;.&lt;/p&gt;
&lt;p class="last"&gt;As well, &lt;strong&gt;do not&lt;/strong&gt; invent new codes.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-3" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-3"&gt;[3]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a class="reference external" href="https://docs.python.org/3/library/functools.html#functools.cache"&gt;cache()&lt;/a&gt; is also available from Python 3.9.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-4" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-4"&gt;[4]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;The code examples in this post are all fairly fast to begin with, so the gain from using &lt;tt class="docutils literal"&gt;lru_cache()&lt;/tt&gt; is not very large.
However, this is a good pattern to learn and apply when the repeated function (here &lt;tt class="docutils literal"&gt;country_code&lt;/tt&gt;) has some slow steps, or the data is big.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-5" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-5"&gt;[5]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;There have been &lt;a class="reference external" href="https://github.com/pandas-dev/pandas"&gt;over 25,000 commits&lt;/a&gt; modifying the &lt;tt class="docutils literal"&gt;pandas&lt;/tt&gt; code!&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="footnote-6" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-6"&gt;[6]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;p class="first"&gt;Exercise: with what we've covered here, write a simple function that restores ‘country’ to the ‘name’ field of each record.&lt;/p&gt;
&lt;p class="last"&gt;Again following the principle of parsimony, it is better to keep only the short, ISO 3166 alpha codes in ‘internal’ data throughout most of a program.
Restore the ‘country’ dimension to the full name(s) only if and when necessary, e.g. to make output more intelligible to a user.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="article"/><category term="pandas"/><category term="python"/><category term="research"/><category term="software"/></entry><entry><title>#StayHome</title><link href="https://paul.kishimoto.name/2020/03/stayhome" rel="alternate"/><published>2020-03-28T00:00:00+01:00</published><updated>2020-03-28T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2020-03-28:/2020/03/stayhome</id><summary type="html">&lt;p&gt;Family and friends in Canada and the United States have asked about my situation here in Vienna during the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic"&gt;COVID-19 pandemic&lt;/a&gt;.
This post is for you; I might write another, wonkier one that focuses more on science, (mis)information, and policy.&lt;/p&gt;
&lt;p&gt;First things first: I'm fine!&lt;/p&gt;
&lt;div class="section" id="timeline"&gt;
&lt;h2&gt;Timeline&lt;/h2&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;2011–2017&lt;/dt&gt;
&lt;dd&gt;During grad school, I was lucky to travel to China a number of times; live in Beijing for half of 2013; and make many Chinese friends. Through them—whether they live in China or abroad—I've been hearing about the situation since…&lt;/dd&gt;
&lt;dt&gt;late January 2020&lt;/dt&gt;
&lt;dd&gt;…when &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic#China"&gt;Lunar New Year celebrations were …&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Family and friends in Canada and the United States have asked about my situation here in Vienna during the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic"&gt;COVID-19 pandemic&lt;/a&gt;.
This post is for you; I might write another, wonkier one that focuses more on science, (mis)information, and policy.&lt;/p&gt;
&lt;p&gt;First things first: I'm fine!&lt;/p&gt;
&lt;div class="section" id="timeline"&gt;
&lt;h2&gt;Timeline&lt;/h2&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;2011–2017&lt;/dt&gt;
&lt;dd&gt;During grad school, I was lucky to travel to China a number of times; live in Beijing for half of 2013; and make many Chinese friends. Through them—whether they live in China or abroad—I've been hearing about the situation since…&lt;/dd&gt;
&lt;dt&gt;late January 2020&lt;/dt&gt;
&lt;dd&gt;…when &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic#China"&gt;Lunar New Year celebrations were cancelled&lt;/a&gt; in many cities, and the lockdown of Wuhan was announced.
By the time Austria locked down, some friends had been quarantined for more than six weeks.&lt;/dd&gt;
&lt;dt&gt;27 January&lt;/dt&gt;
&lt;dd&gt;First e-mail from the leaders of IIASA, where I work, concerning the pandemic.
Travel to affected areas in China was discouraged.&lt;/dd&gt;
&lt;dt&gt;Friday 31 January–Sunday 01 February&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;I made a weekend trip to Rome to visit A—, a friend from Boston who was studying Italian/working remotely.
We heard on the news that the &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Italy#First_confirmed_cases"&gt;first Italian COVID-19 cases&lt;/a&gt; had been identified, also in Rome.
Flights to and from China were quickly cancelled.
I saw &lt;a class="reference external" href="https://www.wantedinmilan.com/news/coronavirus-italy-declares-state-of-emergency.html"&gt;this report&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
[…] the director of the prestigious S. Cecilia music school has created controversy by banning all east Asian students from attending classes and exams until they take a medical test to prove they are not infected with the Coronavirus.&lt;/blockquote&gt;
&lt;p class="last"&gt;and shared with a friend, saying, “Yikes.” &lt;a class="footnote-reference" href="#f1" id="footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;25 February&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;The first cases in Austria were confirmed in Innsbruck in the state of Tyrol, which directly borders Italy.
See &lt;a class="reference external" href="https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Austria#Timeline"&gt;timeline of the pandemic in Austria&lt;/a&gt;.&lt;/p&gt;
&lt;p class="last"&gt;IIASA sent reminders of public health measures and resources for &lt;em&gt;within&lt;/em&gt; Austria.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;27 February&lt;/dt&gt;
&lt;dd&gt;I read that the first confirmed case in Vienna had stayed in the &lt;a class="reference external" href="https://goo.gl/maps/E7G1p3QV263Fhnpy9"&gt;Rudolfstiftung hospital&lt;/a&gt; in Vienna's 3rd district for about 10 days before being tested and diagnosed.
The hospital is about 200 metres from my flat.&lt;/dd&gt;
&lt;dt&gt;10 March&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;IIASA sent a reminder that “staff without symptoms must come to work,” excepting recent travel or possible exposure.&lt;/p&gt;
&lt;p class="last"&gt;Austria canceled outdoor events with ≥500 participants, or indoor events with ≥100 participants.
This effectively meant the closure of all universities, with some of the closures being delayed until 16 March.
Theatre, orchestra, and opera performances were also cancelled.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;Thursday 12 March&lt;/dt&gt;
&lt;dd&gt;IIASA encouraged staff to work from home, starting the next day.&lt;/dd&gt;
&lt;dt&gt;Friday 13 March&lt;/dt&gt;
&lt;dd&gt;I took a train to Bad Ischl, in Upper Austria, for a &lt;a class="reference external" href="https://www.instagram.com/p/B9zL6NiBxIP/"&gt;weekend getaway&lt;/a&gt;.&lt;/dd&gt;
&lt;dt&gt;Saturday/Sunday 14/15 March&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;Austria announced widespread restrictions taking effect on 16/17 March, including:&lt;/p&gt;
&lt;ul class="last simple"&gt;
&lt;li&gt;All non-essential workplaces closed, excluding only groceries, drug stores, banks, post offices, gas stations, and a few others.&lt;/li&gt;
&lt;li&gt;All restaurants closed. This was initially (Saturday) announced as a restriction on opening hours to 3 pm; but on Sunday was tightened to total closure.&lt;/li&gt;
&lt;li&gt;Penalties of up to €2180 for gatherings of more than 5 people, indoor or outdoor, unless those people live in the same dwelling.
We are only to leave our homes for:&lt;ul&gt;
&lt;li&gt;necessary purchases of groceries or medication,&lt;/li&gt;
&lt;li&gt;assisting other people,&lt;/li&gt;
&lt;li&gt;essential professional activities, or&lt;/li&gt;
&lt;li&gt;walks, alone.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;dt&gt;Monday 16 March&lt;/dt&gt;
&lt;dd&gt;I returned from Bad Ischl; trains and stations were very quiet despite a bright, early-spring day.&lt;/dd&gt;
&lt;dt&gt;22 March&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;I learned that a colleague of mine had tested positive for COVID-19.
This person had been at a 5 March event in Mexico with someone else who later, sadly, died of the disease.
I had been in a meeting with them on 9 March, but after that no contact until home office started on 13 March.&lt;/p&gt;
&lt;p class="last"&gt;According to Austria's rules (&lt;a class="reference external" href="https://coronavirus.wien.gv.at/site/faq-english/"&gt;here, on the City of Vienna website&lt;/a&gt;), this meant I should self-quarantine for 14 days, i.e. until 23 March, only one day after I received the notice.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;25 March&lt;/dt&gt;
&lt;dd&gt;I learned that two other colleagues of mine had also tested positive for COVID-19.&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class="section" id="how-and-what-i-m-doing"&gt;
&lt;h2&gt;How and what I'm doing&lt;/h2&gt;
&lt;p&gt;I'm &lt;strong&gt;working from home&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;I wrote most of my PhD dissertation sitting at my kitchen table in Cambridge, MA, US, so it's not an unfamiliar situation; in fact, one in which I can focus better, with fewer interruptions.
I recognize that I am extremely privileged in that I can be &lt;strong&gt;as or more productive&lt;/strong&gt; from home, since I carry all my work with me, on my laptop.
I have water, food, shelter, connectivity, no roommates, no need to go out frequently, no interruption to my income, a comfortable flat, plenty of unread books, and access to excellent medical care, should I need it. &lt;a class="footnote-reference" href="#f2" id="footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Neighbouring Italy, &lt;strong&gt;Austria reacted quickly&lt;/strong&gt;, or as quickly as could be reasonably expected.
I check &lt;a class="reference external" href="https://twitter.com/jburnmurdoch/status/1243637539350679554/photo/1"&gt;charts like this one&lt;/a&gt;, updated daily by John Burn-Murdoch of the &lt;em&gt;Financial Times&lt;/em&gt;.
The chart shows a star where a country instituted widespread lockdowns; in Italy, this came on the same day as the 800th (!) COVID-19 death; sooner in Spain (200), France (175), and China (30).
When Austria announced its lockdown on 14 March there had been about 500 cases and 1 death; by 16 March, when it took effect, only three people had died.
This gives me confidence that politicians here are listening to public health experts and acting decisively on their advice.&lt;/p&gt;
&lt;p&gt;The government of &lt;strong&gt;Canada has offered&lt;/strong&gt; &lt;a class="reference external" href="https://www.canada.ca/en/public-health/services/diseases/2019-novel-coronavirus-infection/canadas-reponse.html#sca"&gt;emergency loans for Canadians travelling abroad&lt;/a&gt; and &lt;a class="reference external" href="https://www.cbc.ca/news/politics/canadians-stranded-abroad-two-weeks-1.5511555"&gt;encouraged travelers to return&lt;/a&gt;.
If I were on vacation in Vienna, rather than living here—for instance, staying in a hotel without a kitchen and only a week's worth of clothes—I might consider returning.
Likewise if I was vacationing in a poorer country, whose government would be much more challenged to respond to the pandemic.&lt;/p&gt;
&lt;p&gt;As I see it, if I flew back to Canada, I would have to spend two weeks in quarantine, without any of the above comforts.
Then, if I stayed or made contact with my family members—many of them in at-risk age/health groups for COVID-19—I could only be a vector for them to get the disease, if I happened to be an asymptomatic carrier.
Finally, I worry that local, provincial, and federal orders of government in Canada have not responded, thus far, with the same alacrity and urgency as Vienna's.&lt;/p&gt;
&lt;p&gt;All things considered, it seems best for me to sit tight and catch up on work!&lt;/p&gt;
&lt;p&gt;Please get in touch if you have any questions, and I can update this post or write a follow-up.&lt;/p&gt;
&lt;p&gt;And again: &lt;strong&gt;#StayHome !&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Footnotes&lt;/strong&gt;&lt;/p&gt;
&lt;table class="docutils footnote" frame="void" id="f1" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-1"&gt;[1]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Racism, xenophobia, geopolitics, propaganda, misinformation, and backlashes to all of these have shaped responses to the pandemic; many have written about this in detail.
I don't think this particular person achieved anything besides showing their true colours.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table class="docutils footnote" frame="void" id="f2" rules="none"&gt;
&lt;colgroup&gt;&lt;col class="label" /&gt;&lt;col /&gt;&lt;/colgroup&gt;
&lt;tbody valign="top"&gt;
&lt;tr&gt;&lt;td class="label"&gt;&lt;a class="fn-backref" href="#footnote-reference-2"&gt;[2]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Austria ranks near the top of European countries in terms of &lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_countries_by_hospital_beds#Numbers"&gt;intensive/critical-care hospital beds per capita&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
</content><category term="2020"/><category term="COVID-19"/><category term="Vienna, AT"/></entry><entry><title>Using LaTeX in 17.310J</title><link href="https://paul.kishimoto.name/2017/09/using-latex-in-17310j" rel="alternate"/><published>2017-09-13T00:00:00+02:00</published><updated>2017-09-13T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-09-13:/2017/09/using-latex-in-17310j</id><summary type="html">&lt;p&gt;As a Technology &amp;amp; Policy Program student, you need to prepare a research thesis for your S.M.; if you're in another MIT graduate program, you will likely also need to prepare a thesis or academic publication at some point during your degree!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt; Compared to Microsoft Word, the &lt;a href="https://en.wikipedia.org/wiki/LaTeX"&gt;LaTeX&lt;/a&gt; document preparation system can save you considerable time in writing your thesis, as well as other documents such as academic publications and the writing assignments for &lt;em&gt;Science, Technology, and Public Policy&lt;/em&gt;. At the same time, the results will be more elegant, readable, reusable, and reproducible. STPP coursework is a great opportunity …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As a Technology &amp;amp; Policy Program student, you need to prepare a research thesis for your S.M.; if you're in another MIT graduate program, you will likely also need to prepare a thesis or academic publication at some point during your degree!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt; Compared to Microsoft Word, the &lt;a href="https://en.wikipedia.org/wiki/LaTeX"&gt;LaTeX&lt;/a&gt; document preparation system can save you considerable time in writing your thesis, as well as other documents such as academic publications and the writing assignments for &lt;em&gt;Science, Technology, and Public Policy&lt;/em&gt;. At the same time, the results will be more elegant, readable, reusable, and reproducible. STPP coursework is a great opportunity to begin climbing the LaTeX learning curve.&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;This post, and possibly subsequent posts, will contain opinionated&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; tips and links to resources. I'm also offering (perhaps foolishly) to help with any thorny LaTeX problems.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Please e-mail or post in the comments below with any suggested additions or resources that you find helpful in your LaTeX learning.&lt;/p&gt;
&lt;h2&gt;Getting started with Overleaf&lt;/h2&gt;
&lt;p&gt;Eventually, you will want to &lt;a href="https://en.wikibooks.org/wiki/LaTeX/Installation#Distributions"&gt;install LaTeX on your own computer&lt;/a&gt;—especially for working without Internet access. But for a quick start, &lt;a href="https://www.overleaf.com/signup?ref=a4249dbf1feb"&gt;&lt;strong&gt;Overleaf&lt;/strong&gt;&lt;/a&gt; is a great option. It's a collaborative, in-browser LaTeX editor; analogous to Google Docs.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Here is &lt;a href="https://www.overleaf.com/11056012tyqqdkqkdpcy"&gt;a template for the paper topic memo&lt;/a&gt;. Please &lt;em&gt;duplicate&lt;/em&gt; this project: go to your Overleaf dashboard/“My Projects” page, click the down arrow at right, and select “Open a Copy”.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bibliographies &amp;amp; the &lt;code&gt;17.310j-fa17&lt;/code&gt; repo&lt;/h2&gt;
&lt;p&gt;BibTeX and BibLaTeX (don't worry about the distinction) are powerful tools for citations and bibliographies. They allow you to free up mental space &amp;amp; effort from worrying about the trivialities of APA, MLA, Chicago or other citation styles.&lt;/p&gt;
&lt;p&gt;You instead use a BibTeX &lt;em&gt;database&lt;/em&gt; with entries that look like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@book{viscusi-2005,
    author = {Viscusi, W. Kip and Harrington, Jr., Joseph E. and Vernon, John M.},
    edition = {4},
    isbn = {9780262220750},  % print edition
    publisher = {MIT Press},
    title = {Economics of Regulation and Antitrust},
    year = {2005},
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and then, in your document, cite the entry using its key—here, &lt;code&gt;viscusi-2005&lt;/code&gt;. Most popular citation management tools—Mendeley, Zotero, etc.—and most journal and library websites support import/export of citations in BibTeX format.&lt;/p&gt;
&lt;p&gt;When your LaTeX document is compiled, BibLaTeX takes care of formatting both the citations and bibliography entries. Switching styles is as simple as changing an option, and many advanced features and customization options are offered.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/khaeru/17.310j-fa17"&gt;&lt;code&gt;17.310J-fa17&lt;/code&gt;&lt;/a&gt; is a Github repository where I will maintain a BibTeX database with some of the course readings. If you'd like to contribute to this database and are familiar with &lt;a href="https://git-scm.com"&gt;git&lt;/a&gt; and &lt;a href="https://github.com"&gt;Github&lt;/a&gt;,&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; please fork it, add any entries, and submit a &lt;a href="https://github.com/khaeru/17.310j-fa17/pulls"&gt;pull request&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Advanced topics&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://paul.kishimoto.name/2017/04/latex-using-atom"&gt;Another post on using the Atom editor&lt;/a&gt; for writing LaTeX documents.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Nothing is free; LaTeX is not entirely painless to learn and use. The chief difficulty is that error messages are sometimes cryptic, and one needs to learn how to ‘debug’: isolate part of a document that's interrupting compilation.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;As with any Free Software, there are many ways to skin a cat, and appropriate choices differ with task, context, and the skills of yourself or your collaborators. Here are only recommendations and opinions that I feel are appropriate for the context (solo work, mostly beginners) and tasks (simple papers) in this course.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Though co-learning with your classmates will often work just as well; &lt;a href="http://giyf.com"&gt;Google is your friend&lt;/a&gt;, as is &lt;a href="https://tex.stackexchange.com/"&gt;Stack Exchange&lt;/a&gt;; and you can always try to &lt;a href="https://en.wikipedia.org/wiki/RTFM"&gt;RTFM&lt;/a&gt;. Good troubleshooting skills are part of LaTeX knowledge!&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Note that you can get a free Github subscription using your MIT e-mail address at &lt;a href="https://education.github.com"&gt;education.github.com&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2017"/><category term="LaTeX"/></entry><entry><title>China to ban the sale of internal combustion engine vehicles (ICEVs)—Bloomberg</title><link href="https://paul.kishimoto.name/2017/09/china-to-ban-the-sale-of-internal-combustion-engine-vehicles-icevs-bloomberg" rel="alternate"/><published>2017-09-09T00:00:00+02:00</published><updated>2017-09-09T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-09-09:/2017/09/china-to-ban-the-sale-of-internal-combustion-engine-vehicles-icevs-bloomberg</id><summary type="html">&lt;p&gt;Bloomberg &lt;a href="https://www.bloomberg.com/news/articles/2017-09-09/china-to-ban-sale-of-fossil-fuel-cars-in-electric-vehicle-push"&gt;reports&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Xin Guobin, the vice minister of industry and information technology [MIIT], said the government is working with other regulators on a timetable to end production and sales [of fossil-fuel powered vehicles]. The move will have a profound impact on the environment and growth of China’s auto industry, Xin said at an auto forum in Tianjin on Saturday.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is, no doubt, a major announcement. China is the world's largest market for light-duty vehicles (LDVs; cars and light trucks), so the impact will be greater than that of earlier statements from governments in the UK and France. On …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Bloomberg &lt;a href="https://www.bloomberg.com/news/articles/2017-09-09/china-to-ban-sale-of-fossil-fuel-cars-in-electric-vehicle-push"&gt;reports&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Xin Guobin, the vice minister of industry and information technology [MIIT], said the government is working with other regulators on a timetable to end production and sales [of fossil-fuel powered vehicles]. The move will have a profound impact on the environment and growth of China’s auto industry, Xin said at an auto forum in Tianjin on Saturday.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is, no doubt, a major announcement. China is the world's largest market for light-duty vehicles (LDVs; cars and light trucks), so the impact will be greater than that of earlier statements from governments in the UK and France. On the other hand, there's a long road between articulating goals and putting rubber on the road. We can imagine the ways a nascent ban will complicate existing policy issues, and raise new ones. Here, I sketch and phrase a number of these as questions.&lt;/p&gt;
&lt;h1&gt;When?&lt;/h1&gt;
&lt;p&gt;There's no doubt that the market dominance of the ICE will end. The relatively low cost of electricity, the higher efficiency of EVs, the continually-dropping cost of batteries, and improvement in other technologies&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;, will in the long run combine to overcome the obstacles facing alternative powertrains.&lt;/p&gt;
&lt;p&gt;Put another way: ICEVs would someday all but disappear, even in the absence of a ban.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;How much does China's government want to accelerate this timeline?&lt;/strong&gt; This is a key indicator of the level of importance assigned to this goal. If we imagine ICEV market share gradually declining to single digits by, say, 2045, then a ban by 2040 does little. The ban will not come about overnight, but at the end of a phase-out period for ICEVs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDVs have a useful life of about 10–15 years.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; &lt;strong&gt;What will happen to the many LDVs on the road on the day the ban becomes complete?&lt;/strong&gt; Will they be allowed to continue in use? For how long? These questions point to a wedge between the end date of ICEVs sales and the end of their energy demand and GHG and pollution emissions. We can imagine a scenario where Chinese roads ca. 2060 resemble those of Havana, Cuba, with carefully-preserved, decades-old gasoline cars still in use.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;(How) Will the timing align with China's goals within the UN FCCC?&lt;/strong&gt; Decarbonizing transport will be one of the most costly and difficult aspects of mitigating climate change. Does a ban fit within a complete strategy to achieve an emissions trajectory for stabilization at the targeted level of &amp;lt;2°C?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;Who &amp;amp; why?&lt;/h1&gt;
&lt;p&gt;China's central government had previously announced goal of 8, 10 and 12% EVs in sales in upcoming years, with a credit trading system for firms unable to meet the target. These targets were recently delayed/watered down, after lobbying from both foreign and domestic automakers.&lt;/p&gt;
&lt;p&gt;This episode raises all the familiar issues from existing and past efforts at LDV regulation, including the U.S. CAFE standards, biofuel mandates, and tailpipe emissions regulation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;How will the Chinese government determine when, and at what cost, automakers can replace ICEVs in their offerings?&lt;/strong&gt; Firms face strong incentives to make this transition &lt;em&gt;appear&lt;/em&gt; costly and difficult. Even if they see the policy as inevitable, this steering of knowledge used in policymaking can buy them time to find ways to comply.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What opportunities for competitive advantage will firms and countries see in the timing and terms of the ban?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If China's domestic and JV automakers make a serious push to phase out ICEs on an aggressive timeline, they could develop capacities or technologies that position them well to compete internationally.&lt;/li&gt;
&lt;li&gt;On the other hand, in the near term, foreign manufacturers seem to have the technology advantage, and might benefit from a phase-out that begins in the next few years; &lt;em&gt;unless&lt;/em&gt; special consideration is given to domestics.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cities with vehicle license plate quotas are currently home to more than 100 million Chinese. In some of these systems, EV buyers are exempt from the need to participate in a license plate lottery or auction; an huge implict subsidy of up to USD 15,000, on top of the explicit ones. &lt;strong&gt;How would these exemptions—and the quotas themselves—change in the run-up to a ban?&lt;/strong&gt; With what effects?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;What &amp;amp; how?&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What's being banned?&lt;/strong&gt; Cynically, an EV is a “fossil-fuel powered vehicle” if the electricity powering it is generated by burning coal—as may largely be the case in China for many years. A ban on “combustion engine vehicles”—as I've taken the article to mean—is entirely different. The Bloomberg article doesn't contain a direct quote from the vice minister.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;How to create policy certainty?&lt;/strong&gt; It's very easy—as the recent EV quota example shows—to push back dates; a lesson that's also familiar to followers of carbon pricing. A ban can be an effective policy instrument if it follows a timeline that removes, rather than creates, risk for firms that act early to phase out the banned technology; yet there are many handy reasons to delay.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Aside from grandfathering of ‘pure’ ICEVs, &lt;strong&gt;what exemptions might exist?&lt;/strong&gt; The UK announcement was quickly given the caveat that range-extended EVs—like the Chevy Volt—would meet the terms of that ban. Hence the word ‘pure’: internal combustion &lt;em&gt;engines&lt;/em&gt; would continue to exist, so long as they weren't the sole component in a drivetrain. Will China offer a similar exemption to cover long-distance driving?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;What of trucks and heavy-duty vehicles?&lt;/strong&gt; The stakeholders and impacts in this market have significant differences and similarities to the LDV market. Road freight vehicles are still a larger component of energy demand and source of GHG and air pollution emissions in China. Policy targeting only ICEVs would leave a huge gap.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;for instance, hydrogen fuel cells for longer-range uses.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;in the transition to shared mobility, there's been some discussion that cars will face heavy-duty use, and be built for a shorter life—perhaps around five years.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2017"/><category term="Research"/><category term="China"/><category term="LDVs"/><category term="Energy"/><category term="Policy"/></entry><entry><title>LaTeX using Atom</title><link href="https://paul.kishimoto.name/2017/04/latex-using-atom" rel="alternate"/><published>2017-04-10T00:00:00+02:00</published><updated>2017-04-10T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-04-10:/2017/04/latex-using-atom</id><summary type="html">&lt;p&gt;I use LaTeX for my academic work. For some time &lt;a href="https://atom.io"&gt;Atom&lt;/a&gt; has been my editor of choice. Over the years, I've migrated through a variety of workflows, including using dedicated editors like &lt;a href="https://www.lyx.org"&gt;LyX&lt;/a&gt; to write my S.M. thesis.&lt;/p&gt;
&lt;p&gt;Atom is not a dedicated LaTeX editor, but it &lt;em&gt;is&lt;/em&gt; immensely popular. Consequently it has many useful features and packages that I've found improve my productivity for writing code (LaTeX documents are, after all, code).&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Some of these are LaTeX-specific, but many are not.&lt;/p&gt;
&lt;p&gt;See previous writing on this use-case by &lt;a href="http://blog.matteomerola.me/2016/02/atom-for-latex"&gt;Matteo Merola&lt;/a&gt; and others.&lt;/p&gt;
&lt;h2&gt;TeX environment &amp;amp; packages&lt;/h2&gt;
&lt;p&gt;I write …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I use LaTeX for my academic work. For some time &lt;a href="https://atom.io"&gt;Atom&lt;/a&gt; has been my editor of choice. Over the years, I've migrated through a variety of workflows, including using dedicated editors like &lt;a href="https://www.lyx.org"&gt;LyX&lt;/a&gt; to write my S.M. thesis.&lt;/p&gt;
&lt;p&gt;Atom is not a dedicated LaTeX editor, but it &lt;em&gt;is&lt;/em&gt; immensely popular. Consequently it has many useful features and packages that I've found improve my productivity for writing code (LaTeX documents are, after all, code).&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Some of these are LaTeX-specific, but many are not.&lt;/p&gt;
&lt;p&gt;See previous writing on this use-case by &lt;a href="http://blog.matteomerola.me/2016/02/atom-for-latex"&gt;Matteo Merola&lt;/a&gt; and others.&lt;/p&gt;
&lt;h2&gt;TeX environment &amp;amp; packages&lt;/h2&gt;
&lt;p&gt;I write on &lt;a href="https://www.ubuntu.com/desktop"&gt;Ubuntu&lt;/a&gt;, but most of the following are available for Mac OS or—with more difficulty—Windows.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://www.tug.org/texlive"&gt;TeX Live&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;This is the LaTeX distribution available with Ubuntu. By default it contains most of the packages listed below. I work with the default versions, with a small number of exceptions for “fast-moving” packages.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.ctan.org/pkg/beamer"&gt;beamer&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;For slides and posters. See the &lt;a href="https://en.wikibooks.org/wiki/LaTeX"&gt;LaTeX Wikibook&lt;/a&gt; for &lt;a href="https://en.wikibooks.org/wiki/LaTeX/Presentations"&gt;an introduction&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://github.com/matze/mtheme"&gt;Metropolis&lt;/a&gt; is an attractive, simple, modern theme for beamer. Because it uses more common TrueType (instead of TeX) fonts, it must be compiled with XeLaTeX—pass the &lt;code&gt;-xelatex&lt;/code&gt; option to &lt;code&gt;latexmk&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;My &lt;a href="https://github.com/khaeru/tex"&gt;TeX repository&lt;/a&gt; contains a derived &lt;a href="https://github.com/khaeru/tex/blob/master/beamerthememitidss.sty"&gt;MIT IDSS theme&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.ctan.org/pkg/biblatex"&gt;biblatex&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;BibLaTeX is a much-advanced, highly-configurable version of the old, BibTeX reference management software.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;I keep my BibTeX database in a separate directory and Git repository from my publications. My &lt;code&gt;~/.profile&lt;/code&gt; file sets the &lt;code&gt;$BIBINPUTS&lt;/code&gt; environment variable so that any LaTeX compilation can find it:&lt;pre&gt;export BIBINPUTS=$HOME/Documents/reference:$BIBINPUTS&lt;/pre&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The LaTeX Wikibook has &lt;a href="https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management#Entry_and_field_types_in_.bib_files"&gt;a handy table&lt;/a&gt; of entry and field types in BibLaTeX files.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://home.gna.org/kbibtex"&gt;KBibTeX&lt;/a&gt; is a useful GUI for editing my BibTeX database, when I need to. If the &lt;code&gt;localfile&lt;/code&gt; key is defined for an entry, it has a pane that shows an embedded view of the PDF.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://pgfplots.sourceforge.net/"&gt;pgfplots&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Generate figures and tables. Installed manually from version control:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git clone git://git.code.sf.net/p/pgfplots/code pgfplots
cd pgfplots
git checkout 1.14  # or latest version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Use &lt;code&gt;\pgfplotsset{compat=1.14}&lt;/code&gt; to disable compatibility features.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://www.ctan.org/pkg/gitinfo2"&gt;gitinfo2&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Installed manually. Watermark documents according to the revision information of the Git repository that contains them.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3&gt;Own scripts, mini-packages &amp;amp; snippets&lt;/h3&gt;
&lt;p&gt;My &lt;a href="https://github.com/khaeru/scripts"&gt;scripts repository&lt;/a&gt; contains command-line tools I use to help writing LaTeX documents:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;bib&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Some collected utilities in Python for managing a BibTeX database.&lt;pre&gt;&lt;code&gt;Commands:
  check_files  Check files listed with the 'localfiles'...
  import       (DEV) Read new entries into the database.
  kw_list      List all keywords appearing in entries.
  queue        Display a reading queue.
&lt;/code&gt;&lt;/pre&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;install-latexmk&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Install an up-to-date &lt;code&gt;latexmk&lt;/code&gt; on Ubuntu. Version 4.41 (in Ubuntu 16.10) fails to properly recompile BibLaTeX files in some instances.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;My TeX repository also contains some ‘mini’ packages and snippets of code:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;unicode-extra&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Define Unicode characters like &lt;code&gt;→γ₂&lt;/code&gt; so they can be used directly in equations—much more concise than &lt;code&gt;\rightarrow\gamma_2&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;zh&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;A command &lt;code&gt;\zh{北京}&lt;/code&gt; for short Chinese texts in non-CJK documents.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2&gt;Atom features &amp;amp; built-in packages&lt;/h2&gt;
&lt;p&gt;For Mac OS X keyboard shortcuts, substitute &lt;code&gt;Cmd&lt;/code&gt; for &lt;code&gt;Ctrl&lt;/code&gt;, or search in the Atom settings for the list of key bindings. The &lt;a href="http://flight-manual.atom.io/using-atom/"&gt;Atom documentation&lt;/a&gt; contains descriptions of other features.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Toggle line comments (&lt;code&gt;Ctrl+/&lt;/code&gt;)&lt;/dt&gt;
&lt;dd&gt;This is one of the default editor features. To debug LaTeX errors, isolate lines (or Beamer frames) that may contain the problem: select large chunks of your document, &lt;code&gt;Ctrl+/&lt;/code&gt; to comment them out, and recompile. Once you've found and spotted the errors, use &lt;code&gt;Ctrl+/&lt;/code&gt; to reverse.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://flight-manual.atom.io/using-atom/sections/editing-and-deleting-text"&gt;Multiple cursors&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Use &lt;code&gt;Shift+Alt+{Up,Down}&lt;/code&gt; to add cursors above and below the current cursor(s), or use &lt;code&gt;Ctrl&lt;/code&gt; + click to put a cursor anywhere. Any new characters typed, backspaces, or deletions will happen at every cursor simultaneously. This lets you quickly make changes that may be harder to find-and-replace.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;To make this feature more useful, keep your code indented and aligned so you can easily, for instance, add a decimal point to all the numbers in a table:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\begin{tabular}{lc}
  Foo &amp;amp; Bar \\
   12 &amp;amp;  10 \\
    1 &amp;amp; 100 \\
\end{tabular}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;…or prepend &lt;code&gt;\ttfamily&lt;/code&gt; to the description of each list entry:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\begin{description}
  \item [First] list entry.
  \item [Second] list entry.
\end{description}
&lt;/code&gt;&lt;/pre&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://flight-manual.atom.io/using-atom/sections/editing-and-deleting-text/#brackets"&gt;Bracket matching&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Leaving off a trailing &lt;code&gt;}&lt;/code&gt; in LaTeX can lead to immense headaches in debugging. Use &lt;code&gt;Ctrl+M&lt;/code&gt; (go to matching bracket) at any &lt;code&gt;{&lt;/code&gt; to find its partner—if the cursor doesn't move, there isn't one, and you've made a mistake.&lt;/p&gt;
&lt;p&gt;This package also lets you select all text inside the current brackets, jump to the nearest enclosing bracket, and remove all brackets inside a selection. Use the command palette (&lt;code&gt;Ctrl+P&lt;/code&gt;) or set a shortcut for each of these commands.&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://flight-manual.atom.io/using-atom/sections/snippets"&gt;Snippets&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;When starting a new LaTeX environment, such as &lt;code&gt;\begin{itemize}&lt;/code&gt;, type the first few letters of the name, and press &lt;code&gt;Tab&lt;/code&gt;. A complete environment is inserted, with a closing tag, so you don't forget it later. Snippets are customizable.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="http://flight-manual.atom.io/using-atom/sections/version-control-in-atom/#line-diffs"&gt;Git line diffs&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Easily identify which parts of source files have changed since the last commit. The file tree also colours changed or new files.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2&gt;Community Atom packages&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/language-latex"&gt;language-latex&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Syntax highlighting for LaTeX.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/linter-chktex"&gt;linter-chktex&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Linter plugin for LaTeX using &lt;a href="http://www.nongnu.org/chktex"&gt;chktex&lt;/a&gt;, requires &lt;a href="https://atom.io/packages/linter-chktex"&gt;&lt;code&gt;linter&lt;/code&gt;&lt;/a&gt;. A linter searches your code for ‘lint’; not errors, but little mistakes in comparison to proper style or syntax. I write with this package disabled, and only turn it on briefly when I'm finalizing a document or debugging, since it's very opinionated.&lt;/p&gt;
&lt;p&gt;For instance, &lt;code&gt;chktex&lt;/code&gt; will complain about &lt;code&gt;The time since 1900 A.D. has been…&lt;/code&gt; because the final &lt;code&gt;. &lt;/code&gt; would be misintepreted as ending a sentence, when in fact it should be followed by an interword space (&lt;code&gt;.\ &lt;/code&gt;).&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/build-make"&gt;build-make&lt;/a&gt; → &lt;a href="https://www.gnu.org/software/make/"&gt;GNU make&lt;/a&gt; → &lt;a href="http://personal.psu.edu/jcc8//software/latexmk-jcc"&gt;latexmk&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
&lt;p&gt;Depends on &lt;a href="https://atom.io/packages/build"&gt;&lt;code&gt;build&lt;/code&gt;&lt;/a&gt;. &lt;code&gt;make&lt;/code&gt; looks for a &lt;code&gt;Makefile&lt;/code&gt; in the root of your project, and executes commands based on rules in this file. I use it in concert with &lt;code&gt;latexmk&lt;/code&gt;, a program which understands how to run &lt;code&gt;pdflatex&lt;/code&gt;, &lt;code&gt;biblatex&lt;/code&gt;, and other programs repeatedly to compile a document (and ships with TeX Live). For this, it is sufficient to have a &lt;code&gt;Makefile&lt;/code&gt; with the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;all: paper.pdf

paper.pdf: paper.tex
    latexmk -pdf $&amp;lt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In this setup, Atom (&lt;code&gt;build-make&lt;/code&gt;) invokes &lt;code&gt;make&lt;/code&gt;, and &lt;code&gt;make&lt;/code&gt; in turn invokes &lt;code&gt;latexmk&lt;/code&gt;, which decides whether &lt;code&gt;paper.tex&lt;/code&gt; (or any the other files on which it depends) has changed and recompiles as needed.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;build-make&lt;/code&gt; can be configured to either invoke &lt;code&gt;make&lt;/code&gt; every time a file is saved, &lt;em&gt;or&lt;/em&gt; only when a command (default: &lt;code&gt;F9&lt;/code&gt;) is given. The former is fine for simple documents, but for complex documents that take some time to compile it usually results in my laptop sounding like a jet engine, distracting me from writing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To avoid a messy command line, put options to &lt;code&gt;latexmk&lt;/code&gt; in a file &lt;code&gt;.latexmkrc&lt;/code&gt;:&lt;pre&gt;
# Generate PDFs by default
$pdf_mode = 1;
# -file-line-error: more readable output on errors
# -shell-escape %O %S: allow pdflatex to invoke programs like pygmentize
$pdflatex = "pdflatex -file-line-error -shell-escape %O %S";
# Suppress most output from pdflatex etc.; check the .log file
$silent = 1;
&lt;/pre&gt;
    and give &lt;code&gt;latexmk -r /path/to/.latexmkrc&lt;/code&gt; on the command-line.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/wordcount"&gt;wordcount&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Counts words!&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/zen"&gt;zen&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Full-screen the editor and hide everything but the text.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3&gt;Other packages&lt;/h3&gt;
&lt;p&gt;Some other LaTeX-specific packages for Atom that I haven't found a need for or don't use, with reasons:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/latexer"&gt;latexer&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Certain LaTeX-specific autocompletions.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/autocomplete-bibtex"&gt;autocomplete-bibtex&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Autocompletion for BibTeX citations. I either am referring to a small number of papers which I've read (exhaustively) and for which I know the citation keys; or am working on a literature review, in which case I have KBibTeX open.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/latex-plus"&gt;latex-plus&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;Appears to be unmaintained.&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/latex"&gt;latex&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;A package for running &lt;code&gt;latexmk&lt;/code&gt; with some options. The &lt;code&gt;build&lt;/code&gt; and &lt;code&gt;build-make&lt;/code&gt; packages, being more general, are better maintained; also I use &lt;code&gt;make&lt;/code&gt; to do things besides compile LaTeX documents.&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/dd&gt;
&lt;dt&gt;&lt;a href="https://atom.io/packages/pdf-view"&gt;pdf-view&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;I use &lt;a href="https://wiki.gnome.org/Apps/Evince"&gt;Evince&lt;/a&gt;, the default document viewer on Ubuntu.&lt;sup id="fnref:5"&gt;&lt;a class="footnote-ref" href="#fn:5"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;My work often involves switching back and forth between a document, and code to support what I'm writing: primary analysis; post-processing code that produces figures and tables; and &lt;a href="https://atom.io/packages/Hydrogen"&gt;Hydrogen&lt;/a&gt; for quick calculations. Using a general-purpose editor, I can have these as different tabs in the same application, rather than different applications.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;TeX Live comes out with a new release every year, and Ubuntu releases every six months, so this entails any feature that I really need within a year of its being developed. Most popular LaTeX packages are fairly static, and new features cover use-cases that don't apply to my work.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;A subject for another post.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;My greatest complaint about Atom is performance. Atom is built on the &lt;a href="https://en.wikipedia.org/wiki/Electron_(software_framework)"&gt;Electron&lt;/a&gt; framework that includes the open-source version of Google Chrome. This is highly optimized for running JavaScript, but is not always as fast as native code. I have an old (ca. 2013) Dell XPS 13 laptop, and I also run &lt;a href="https://www.gitkraken.com"&gt;Gitkraken&lt;/a&gt; client for Github &amp;amp; friends—another Electron program; so I am running three browsers, which can bog down my system considerably. &lt;code&gt;pdf-view&lt;/code&gt; makes this problem worse.&amp;#160;&lt;a class="footnote-backref" href="#fnref:5" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;However, find and replace using &lt;a href="http://www.regular-expressions.info/tutorial.html"&gt;regular expressions&lt;/a&gt; is an immensely powerful skill that rewards invested time, especially when changes have to be made to similar, but not identical, text throughout a document. Atom has both file- (&lt;code&gt;Ctrl+F&lt;/code&gt;) and project-level (&lt;code&gt;Ctrl+Shift+F&lt;/code&gt;) find and replace.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2017"/><category term="LaTeX"/></entry><entry><title>Barcodes</title><link href="https://paul.kishimoto.name/2017/01/barcodes" rel="alternate"/><published>2017-01-30T00:00:00+01:00</published><updated>2017-01-30T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-01-30:/2017/01/barcodes</id><content type="html">&lt;p&gt;&lt;img alt="GitS:SaC newspaper 1" src="https://paul.kishimoto.name/image/2017-01-30_paper1.jpg" /&gt;
&lt;img alt="GitS:SaC newspaper 2" src="https://paul.kishimoto.name/image/2017-01-30_paper2.jpg" /&gt;
Source: &lt;a href="https://en.wikipedia.org/wiki/Ghost_in_the_Shell:_Stand_Alone_Complex"&gt;Ghost in the Shell: Stand Alone Complex&lt;/a&gt; (2006), via Imgur &lt;a href="http://imgur.com/a/f0BqZ"&gt;1&lt;/a&gt;, &lt;a href="http://imgur.com/a/LWTzR"&gt;2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Hundreds of people rally against the temporary travel ban during a protest at Detroit Metropolitan airport in Romulus, Michigan, on January 29, 2017." src="https://paul.kishimoto.name/image/2017-01-30_protest.jpg" /&gt;
Source: Rebecca Cook / Reuters (29 January 2017), via &lt;a href="https://www.theatlantic.com/photo/2017/01/a-weekend-of-protest-against-trumps-immigration-ban/514953/#img20"&gt;The Atlantic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is the first time I've seen, in person or a photograph, a poster or billboard containing &lt;em&gt;only&lt;/em&gt; a &lt;a href="https://en.wikipedia.org/wiki/QR_code"&gt;QR code&lt;/a&gt;—with no accompanying text.&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; The code contains a link to this clip from Charlie Chaplin's &lt;em&gt;The Great Dictator&lt;/em&gt; (1940):&lt;/p&gt;
&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/y9MMWLPT3Xc" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;

&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;One exception was a Google recruiting ad on the side of a bus shelter from ca. 2011, but I can't find any reference to it.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2017"/><category term="Science fiction"/></entry><entry><title>Cansplained: Executive orders</title><link href="https://paul.kishimoto.name/2017/01/cansplained-executive-orders" rel="alternate"/><published>2017-01-25T00:00:00+01:00</published><updated>2017-01-25T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-01-25:/2017/01/cansplained-executive-orders</id><summary type="html">&lt;p&gt;&lt;strong&gt;Cansplain (v):&lt;/strong&gt; (not to be confused with &lt;em&gt;mansplain&lt;/em&gt;)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;to nicely explain something about the United States, to Canadians;&lt;/li&gt;
&lt;li&gt;vice versa.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Within minutes of one another, two people asked me to cansplain &lt;strong&gt;executive orders&lt;/strong&gt;. Donald Trump is signing a lot of these, and people are distressed because they're seeming to do &lt;a href="www.vox.com/policy-and-politics/2017/1/25/14390106/leaked-drafts-trump-immigrants-executive-order"&gt;all kinds of terrible things&lt;/a&gt;. What are they?&lt;/p&gt;
&lt;p&gt;You could, of course, &lt;a href="https://en.wikipedia.org/wiki/Executive_order"&gt;read Wikipedia&lt;/a&gt;. Here's a fast-and-loose version.&lt;/p&gt;
&lt;h2&gt;Bureaucracy&lt;/h2&gt;
&lt;p&gt;Most of the work of government happens in a bureaucracy that's organized into units that I will call ‘departments’. There are some important differences:&lt;/p&gt;
&lt;table class="table table-striped table-hover table-responsive"&gt;
  &lt;thead&gt;&lt;tr&gt;
    &lt;th&gt;Thing&lt;/th&gt;
    &lt;th&gt;Canada&lt;/th&gt;
    &lt;th&gt;United States&lt;/th&gt;
  &lt;/tr&gt;&lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Head of government …&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;Cansplain (v):&lt;/strong&gt; (not to be confused with &lt;em&gt;mansplain&lt;/em&gt;)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;to nicely explain something about the United States, to Canadians;&lt;/li&gt;
&lt;li&gt;vice versa.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Within minutes of one another, two people asked me to cansplain &lt;strong&gt;executive orders&lt;/strong&gt;. Donald Trump is signing a lot of these, and people are distressed because they're seeming to do &lt;a href="www.vox.com/policy-and-politics/2017/1/25/14390106/leaked-drafts-trump-immigrants-executive-order"&gt;all kinds of terrible things&lt;/a&gt;. What are they?&lt;/p&gt;
&lt;p&gt;You could, of course, &lt;a href="https://en.wikipedia.org/wiki/Executive_order"&gt;read Wikipedia&lt;/a&gt;. Here's a fast-and-loose version.&lt;/p&gt;
&lt;h2&gt;Bureaucracy&lt;/h2&gt;
&lt;p&gt;Most of the work of government happens in a bureaucracy that's organized into units that I will call ‘departments’. There are some important differences:&lt;/p&gt;
&lt;table class="table table-striped table-hover table-responsive"&gt;
  &lt;thead&gt;&lt;tr&gt;
    &lt;th&gt;Thing&lt;/th&gt;
    &lt;th&gt;Canada&lt;/th&gt;
    &lt;th&gt;United States&lt;/th&gt;
  &lt;/tr&gt;&lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Head of government&lt;/td&gt;
      &lt;td&gt;Member of Parliament who is the leader of the party with the most seats.&lt;/td&gt;
      &lt;td&gt;Elected directly through the Electoral College; not a member of Congress.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Example department&lt;/td&gt;
      &lt;td&gt;&lt;a href="https://en.wikipedia.org/wiki/Health_Canada"&gt;Health Canada&lt;/a&gt;&lt;/td&gt;
      &lt;td&gt;&lt;a href="https://en.wikipedia.org/wiki/United_States_Department_of_Health_and_Human_Services"&gt;Health &amp; Human Services&lt;/a&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Head of department&lt;/td&gt;
      &lt;td&gt;‘Minister’ (usually)&lt;/td&gt;
      &lt;td&gt;‘Secretary’&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;How chosen&lt;/td&gt;
      &lt;td&gt;Elected as a Member of Parliament, then appointed by the Prime Minister.&lt;/td&gt;
      &lt;td&gt;Appointed by the President, then confirmed by the (elected) Senate.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;And some similarities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The &lt;strong&gt;legislature&lt;/strong&gt; (Parliament or Congress) passes &lt;em&gt;enabling legislation&lt;/em&gt; saying, “There shall be a Department of such-and-such, and its responsibilities are to do X, Y, and Z.” In this way, it delegates its authority, so that it doesn't have to pass a new law each time something (for instance) health-related must be done. The legislature might also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;set up &lt;em&gt;processes of rule-making&lt;/em&gt;, so that when large departments change what they do in ways that affect many people, they are required to give advance notice, consult the public, study the anticipated effects, etc.&lt;/li&gt;
&lt;li&gt;later pass amendments to &lt;em&gt;empower&lt;/em&gt; (“also do U, V, and W”) or &lt;em&gt;limit&lt;/em&gt; (“you are not allowed to get involved in A, B, or C”) departments.&lt;/li&gt;
&lt;li&gt;through the budgets it passes each year, add restrictions or conditions on &lt;em&gt;funding&lt;/em&gt; (“it is forbidden to spend money on A, B, or C”), and control departments' actions by providing or withholding money.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Minister or Secretary&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;3&lt;/a&gt;&lt;/sup&gt; can order the staff of the department to do &lt;em&gt;pretty much anything&lt;/em&gt;, as long as it doesn't:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Overstep this specific authority given to the department by the legislature, or&lt;/li&gt;
&lt;li&gt;Break the laws generally (including doing unconstitutional things).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If there's a dispute on either of these points, that's where (in both countries) the &lt;strong&gt;courts&lt;/strong&gt; get involved, and may order government to do, or stop doing, certain things.&lt;/p&gt;
&lt;p&gt;And, of course, things cost money.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Executive orders&lt;/h2&gt;
&lt;p&gt;In the U.S., the President will sign &lt;em&gt;executive orders&lt;/em&gt;, short documents directing one or more departments to do (or stop doing) certain things. His appointed heads of department then carry these things out. To my knowledge, EOs are &lt;em&gt;entirely customary&lt;/em&gt;. That is, the President is not required to issue them; (s)he could simply phone the department head. But most presidents have chosen to do so, since EOs were first used.&lt;/p&gt;
&lt;p&gt;In Canada, essentially the same thing could happen! However, in practice, decisions are often made by Cabinet in confidence, and then implemented with no signed document or proclamation ever coming from the Prime Minister's office.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2&gt;Who's more powerful?&lt;/h2&gt;
&lt;p&gt;To sidestep trenchant opposition in Congress, Barack Obama did many things by EO, instead of gambling on laws that might not pass. This means they were carefully designed to only contain actions that fit the criteria above. In turn, Trump can neatly nullify the same actions, also by EO.&lt;/p&gt;
&lt;p&gt;If (hypothetically) a U.S. President were to stop issuing EOs altogether and make policy by directing his appointees off-the-record, I suspect people might scream bloody murder, certain that undesirable things were happening. Yet in Canada, this happens every day! For this reason, &lt;a href="http://markjaccard.blogspot.com"&gt;Mark Jaccard&lt;/a&gt; and others refer to Canadian First Ministers (Premiers and the PM) as “temporary dictators.”&lt;/p&gt;
&lt;p&gt;Three Conservative governments under Stephen Harper pursued policies that many Canadians disagreed with—yet some of these actions were not clearly signalled or only became known after the fact, because there was no custom of issuing EOs or notices of Cabinet decision. It will be interesting to see whether the different mechanism in the U.S., by giving opponents of the Trump Administration more advance warning, will allow them to organize more effective opposition.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;This is part of why Canadians instead see documents like the fairly vague “budgets” booklets issued by federal governments, or ad-hoc products like the Conservatives' “Economic Action Plan”. These function as statements of policy goals, but on the other hand don't order specific actions, so they can seem vague.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Or, worse, whether a Trump administration will eschew the use of EOs!&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;and therefore, the head of government.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2017"/><category term="Politics"/><category term="Cansplaining"/></entry><entry><title>Use people's names</title><link href="https://paul.kishimoto.name/2017/01/use-peoples-names" rel="alternate"/><published>2017-01-25T00:00:00+01:00</published><updated>2017-01-25T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2017-01-25:/2017/01/use-peoples-names</id><summary type="html">&lt;p&gt;I often feel that I spend too much time engaged in online political discussion. As I do, I'm aware that this likely does little to change political &lt;em&gt;outcomes&lt;/em&gt;—who gets elected, and what policies they pursue—that concern me and drew me to those discussions in the first place. This is because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I am stuck in my own communities of like-minded people, and&lt;/li&gt;
&lt;li&gt;Any other person who stumbles across my posts and comments is unlikely to be swayed by reading them, no matter the tone.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All this said, I still try my best to enter or start discussions that help …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I often feel that I spend too much time engaged in online political discussion. As I do, I'm aware that this likely does little to change political &lt;em&gt;outcomes&lt;/em&gt;—who gets elected, and what policies they pursue—that concern me and drew me to those discussions in the first place. This is because:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I am stuck in my own communities of like-minded people, and&lt;/li&gt;
&lt;li&gt;Any other person who stumbles across my posts and comments is unlikely to be swayed by reading them, no matter the tone.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All this said, I still try my best to enter or start discussions that help people learn or evolve their viewpoints. In order to do so, I have a few rules of thumb, or &lt;a href="https://paul.kishimoto.name/tag/rules-of-engagement.html"&gt;engagement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The simplest is to &lt;strong&gt;use people's names&lt;/strong&gt;, and where possible the actual names of groups.&lt;/p&gt;
&lt;p&gt;Once a discussion gets slightly heated, it is only a matter of time until someone drops an epithet like &lt;em&gt;Drumpf&lt;/em&gt;, &lt;em&gt;Shillary&lt;/em&gt;, &lt;em&gt;Harpoid&lt;/em&gt;, &lt;em&gt;McGuilty&lt;/em&gt;, &lt;em&gt;CLOWNservative&lt;/em&gt;, or &lt;em&gt;libtard&lt;/em&gt;. Subtler examples depend on context, and might include &lt;em&gt;leftist&lt;/em&gt;, &lt;em&gt;Trumpkin&lt;/em&gt;, or the use of a diminutive or first name, like &lt;em&gt;Iggy&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Of course, satire, including calling people ridiculous titles and names, political cartoons, and the like, has a valuable political function, in that it refuses seriousness demanded by those who aren't owed deference. But when tossed off lazily in the context of a putative, earnest debate, such names aren't satire, nor are they particularly clever.&lt;/p&gt;
&lt;p&gt;Instead, they attempt to provoke an angry reaction that reduces the chance of any participant or observer learning anything, or changing her mind. They signal lack of respect for others, and thus an unwillingness to countenance or engage with their views.&lt;/p&gt;
&lt;p&gt;So: don't use them! As a corollary, when people do, make a point of using correct names in response, and not rising to the bait.&lt;/p&gt;</content><category term="2017"/><category term="Politics"/><category term="Rules of engagement"/></entry><entry><title>Listening tour</title><link href="https://paul.kishimoto.name/2016/11/listening-tour" rel="alternate"/><published>2016-11-10T00:00:00+01:00</published><updated>2016-11-10T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2016-11-10:/2016/11/listening-tour</id><summary type="html">&lt;p&gt;Echoing &lt;a href="http://www.robertstavinsblog.org/2016/11/10/what-does-the-trump-victory-mean-for-climate-change-policy/"&gt;Robert Stavins&lt;/a&gt;, I have only a narrow area of expertise,&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; and it does not include political science. I know that some of the following turns on empirical questions that can be answered with data and rigorous analysis, and that there are researchers trying to do just this. I should, and will, acquaint myself with the knowledge they have produced; but that will be a gradual project.&lt;/p&gt;
&lt;p&gt;In the meantime, I and others need to make decisions about how to get by in a world that seems, suddenly, different from the one some thought we lived in. We each …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Echoing &lt;a href="http://www.robertstavinsblog.org/2016/11/10/what-does-the-trump-victory-mean-for-climate-change-policy/"&gt;Robert Stavins&lt;/a&gt;, I have only a narrow area of expertise,&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; and it does not include political science. I know that some of the following turns on empirical questions that can be answered with data and rigorous analysis, and that there are researchers trying to do just this. I should, and will, acquaint myself with the knowledge they have produced; but that will be a gradual project.&lt;/p&gt;
&lt;p&gt;In the meantime, I and others need to make decisions about how to get by in a world that seems, suddenly, different from the one some thought we lived in. We each make our hasty guesses and generalizations about what exists, and why; how things could change, and what our role might be in that change. Many people have less time, training, and resources than I do to access the academic literature and update our assumptions—but still the sense of agency, however limited, resulting from these thoughts is important to our well-being.&lt;/p&gt;
&lt;h2&gt;Two busy days on social media&lt;/h2&gt;
&lt;p&gt;It's been a comfort this week to have thoughtful and nuanced conversations with my colleagues, and to see people, even Canadians back home, process their emotions openly, yet with maturity and respect. I won't link to every example, but there have been many.&lt;/p&gt;
&lt;p&gt;I want to try to tie together four things I've seen that appear to be in tension:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Mirroring the aftermath of the Brexit referendum—there has been an uptick in &lt;a href="https://twitter.com/i/moments/796417517157830656"&gt;reports of hate crimes&lt;/a&gt; in the past couple of days, targeting all the unfortunate groups one would expect.&lt;/li&gt;
&lt;li&gt;I have heard pained stories from friends and colleagues who grew up outside of the Northeast, and have rural, white family members and childhood friends who voted for Donald Trump. Their lives, as described, are worse than those of anyone I've known closely.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;4&lt;/a&gt;&lt;/sup&gt; My friends—with more cause for disappointment and anger than most—swear that their relatives would not commit hate crimes; I believe them.&lt;/li&gt;
&lt;li&gt;Many people have shared &lt;a href="http://www.cracked.com/blog/6-reasons-trumps-rise-that-no-one-talks-about/"&gt;articles like this one&lt;/a&gt; explaining how “economic anxiety” or disenfranchisment of rural, white Americans led them to not vote, or vote for Trump. Almost every time, someone offers the rebuttal, citing &lt;a href="http://www.nytimes.com/interactive/2016/11/08/us/politics/election-exit-polls.html"&gt;exit polls&lt;/a&gt;, that voters in the lowest income brackets went for Clinton, and higher earners for Trump.&lt;/li&gt;
&lt;li&gt;Finally, I've seen both calls for empathy and understanding (I &lt;a href="https://paul.kishimoto.name/2016/11/on-the-2016-us-election"&gt;made one myself&lt;/a&gt;), and on the other hand statements that there is no empathizing with anyone who is filled with hatred, and that we should not reward displays of hate (&lt;em&gt;i.e.&lt;/em&gt;, a Trump vote) with attention.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Morally satisfying vs. effective responses&lt;/h2&gt;
&lt;p&gt;We know that identity politics was successful in this election. We also know that social media, designed to show us as many ads as possible, encourages us to construct filter bubbles around ourselves, within which we interact only with the like-minded.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;2&lt;/a&gt;&lt;/sup&gt; &lt;a href="http://slatestarcodex.com/2014/09/30/i-can-tolerate-anything-except-the-outgroup/"&gt;This long, thorough reflection&lt;/a&gt; explains how we find it easier to experience a rich and vivid dislike for an outgroup that's close enough for us to recognize.&lt;/p&gt;
&lt;p&gt;So would not be easy to even meet Trump voters, for those who would choose to do so, much less come to empathize with them. In my post yesterday, I didn't mean to suggest this would be easy. Nor—I can't stress this enough—do I mean to say that anyone should be subject to hate or misogyny. Every human should be safe from these things. And we each must choose how much effort we devote to keeping people safe, versus reaching for members of outgroups.&lt;/p&gt;
&lt;p&gt;I will borrow an idea from &lt;a href="https://en.wikipedia.org/wiki/Ecomodernism"&gt;ecomodernists&lt;/a&gt; who, convincingly, point out that a strong stance against nuclear power is a self-imposed handicap in the fight against climate change—an uninformed and unnecessary one.&lt;/p&gt;
&lt;p&gt;In the current context, I think to write off people as &lt;em&gt;prima facie&lt;/em&gt; irredeemable xenopobhes, racists, misogynists, Islamophobes, anti-Semites, etc., necessarily handicaps the response to Trumpism. Without doubt, the worst examples of each of these joined the Trump camp, were emboldened by him, and are among his noisiest supporters, especially online.&lt;/p&gt;
&lt;p&gt;“Shy” Trump voters were not stopped by these displays. It is, obviously, satisfying or comforting to many to condemn their vote by saying it endorses those deplorable views. I can't disagree that it does; but people vote for a mix of many reasons, so I also cannot agree that it should be viewed &lt;em&gt;only&lt;/em&gt; as such an endorsement.&lt;/p&gt;
&lt;p&gt;More importantly, will it be possible to build a society that protects everyone whom progressives care about, without turning some of these shy voters away from Trump and his ilk? To this, I can't help but answer, no.&lt;/p&gt;
&lt;p&gt;Per #4 above, I know that it seems wildly unjust and dissatisfying to some people to reward a Trump vote with compassion; but I think the distinction should be made between a response which provides us with a comforting feeling of righteousness in the short term, and one which stands a chance of doing durable good for more people in the long term.&lt;/p&gt;
&lt;h2&gt;Trust and leadership&lt;/h2&gt;
&lt;p&gt;How would that work? My leadership education emphasized the importance trust between a leader and those led. The metaphor of a bank account was often used: certain actions by the leader build up trust; and it is drawn down when one asks others to follow.&lt;/p&gt;
&lt;p&gt;Little to no trust exists between strangers; indeed, one could argue, members of an outgroup start with a negative 'balance' in their account. For people to entertain different or new political ideas requires effort and cognitive dissonance. It is an ask; it requires trust.&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;3&lt;/a&gt;&lt;/sup&gt; Asking people to stand and endure condemnation, &lt;em&gt;even if it is just and deserved condemnation&lt;/em&gt;, also requires a balance in the account.&lt;/p&gt;
&lt;p&gt;Anyone who might want to lead some small fraction of Tuesday's 59 million—so that they might stop voting for Trump, and become allies of progress—needs to build trust. I don't think that would be easy; it would require a lot of patient listening to words that might sometimes echo the worst propaganda of Fox News or Breitbart. One would need to hear these things in silence, listening for the person underneath the canned lines. If the hearer felt compelled by conscience to interrupt, for instance to object to a direct call for violence against minorities, then she or he must; but this necessarily would slow the accumulation of trust.&lt;/p&gt;
&lt;p&gt;This is not work for politicians, I think. That kind of trust can't be developed by speaking &lt;em&gt;to&lt;/em&gt; people, or in groups of more than two or three, or even by listening for an hour or a day (though that's a start). It would require people to go, sit with, and come to closely know other individuals who have just voted for policies that will hurt the people they care most about.&lt;/p&gt;
&lt;p&gt;If done on a large enough scale, I believe it would work. At the same time, I won't be surprised if few want to do it.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Certainly, narrower than Stavins'!&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Think of the people you interact with on social media with whom you have substantive disagreements. They are likely to be people you know from "meatspace." (Disagreement with anonymous trolls is rarely substantive.) Anyone you've befriended online is apt to be like-minded.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;The converse explains why filter bubbles are durable: an emphatic statement of something you already believe is a tasty morsel that goes down easy. It requires little effort to consume—you can do it over and over again.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;I am not saying that there are not others—gays, people of colour, the undocumented, etc.—who have it worse.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/><category term="Politics"/></entry><entry><title>On the 2016 U.S. Election</title><link href="https://paul.kishimoto.name/2016/11/on-the-2016-us-election" rel="alternate"/><published>2016-11-09T00:00:00+01:00</published><updated>2016-11-09T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2016-11-09:/2016/11/on-the-2016-us-election</id><summary type="html">&lt;p&gt;My American friends, and friends in America,&lt;/p&gt;
&lt;p&gt;Think about your neighbours—women, the poor, immigrants, Muslims, Latinos, queers, trans people, and others. Think of the people in other countries who depend on U.S. aid, diplomacy and action for their survival or security—including from the threat of climate change. Think of their faces and their names. (If you don't know their names, resolve to learn them.)&lt;/p&gt;
&lt;p&gt;You may be tired after a 20-month campaign. They are, too. You may wish you could have a break, to recover yourself and your equilibrium. They won't get one. Trump, and the worst …&lt;/p&gt;</summary><content type="html">&lt;p&gt;My American friends, and friends in America,&lt;/p&gt;
&lt;p&gt;Think about your neighbours—women, the poor, immigrants, Muslims, Latinos, queers, trans people, and others. Think of the people in other countries who depend on U.S. aid, diplomacy and action for their survival or security—including from the threat of climate change. Think of their faces and their names. (If you don't know their names, resolve to learn them.)&lt;/p&gt;
&lt;p&gt;You may be tired after a 20-month campaign. They are, too. You may wish you could have a break, to recover yourself and your equilibrium. They won't get one. Trump, and the worst of the people he has energized, will be after them—immediately, and relentlessly.&lt;/p&gt;
&lt;p&gt;Remember &lt;a href="https://en.wikipedia.org/wiki/First_they_came_..."&gt;Niemöller's words&lt;/a&gt;. But remember also the &lt;a href="http://www.documentcloud.org/documents/238187-letter-to-canadians-from-jack-layton.html"&gt;words of Jack Layton&lt;/a&gt;, echoing the &lt;a href="http://peacealliance.org/tools-education/peace-inspirational-quotes/"&gt;great leaders of our time&lt;/a&gt;—many of whom were channeling the precepts of the world's old religions.&lt;/p&gt;
&lt;p&gt;Now is not for you to seek for your own comfort. Instead, now—today, this hour and moment—is for you to look to your neighbours and ask how you can help them. Every day for the next four years you have the option to act for their sake; or to be an armchair advocate, a virtue-signaller, or a clicktivist—acting to salve your conscience but not their real &amp;amp; coming wounds.&lt;/p&gt;
&lt;p&gt;This also extends to those who voted for Trump. You can opt to retweet the best, sharpest words condemning them; or you can seek to find, meet, speak to, understand, empathize with and ultimately sway them to better choices. The latter course is immensely more difficult; but it is the only thing that will put an end to the situation we wake up in today.&lt;/p&gt;
&lt;p&gt;Like prayers, these are decisions to be made, and renewed, every day.&lt;/p&gt;</content><category term="misc"/><category term="Politics"/><category term="Open letters"/></entry><entry><title>Fun &amp; Politics with Augmented Reality</title><link href="https://paul.kishimoto.name/2016/08/fun-politics-with-augmented-reality" rel="alternate"/><published>2016-08-05T00:00:00+02:00</published><updated>2016-08-05T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2016-08-05:/2016/08/fun-politics-with-augmented-reality</id><summary type="html">&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Pok%C3%A9mon_Go"&gt;Pokémon GO&lt;/a&gt; is sweeping the world, and generating a lot of interesting headlines. Here's one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.washingtonpost.com/news/the-switch/wp/2016/07/12/holocaust-museum-to-visitors-please-stop-catching-pokemon-here/"&gt;Holocaust Museum to visitors: Please stop catching Pokémon here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reactions to this—and other stories of Pokémon trainers falling into empty swimming pools, invading their neighbours' back yards, and committing other faux pas—varied. Some joked and punned, while one indignant Facebook commenter demanded to know, "Who gave them [Nintendo &amp;amp; Niantic, the game's creators] the &lt;em&gt;right&lt;/em&gt; to &lt;em&gt;impose&lt;/em&gt; AR [&lt;a href="https://en.wikipedia.org/wiki/Augmented_reality"&gt;augmented reality&lt;/a&gt;] there?" (emphasis added)&lt;/p&gt;
&lt;p&gt;Implicit in the phrasing of this remark is the idea that one has a right to control AR content associated&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1 …&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Pok%C3%A9mon_Go"&gt;Pokémon GO&lt;/a&gt; is sweeping the world, and generating a lot of interesting headlines. Here's one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.washingtonpost.com/news/the-switch/wp/2016/07/12/holocaust-museum-to-visitors-please-stop-catching-pokemon-here/"&gt;Holocaust Museum to visitors: Please stop catching Pokémon here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reactions to this—and other stories of Pokémon trainers falling into empty swimming pools, invading their neighbours' back yards, and committing other faux pas—varied. Some joked and punned, while one indignant Facebook commenter demanded to know, "Who gave them [Nintendo &amp;amp; Niantic, the game's creators] the &lt;em&gt;right&lt;/em&gt; to &lt;em&gt;impose&lt;/em&gt; AR [&lt;a href="https://en.wikipedia.org/wiki/Augmented_reality"&gt;augmented reality&lt;/a&gt;] there?" (emphasis added)&lt;/p&gt;
&lt;p&gt;Implicit in the phrasing of this remark is the idea that one has a right to control AR content associated&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; with real-world locations over which one has property rights. To some this might seem to be an intuitive, sensible and just idea; yet it is not yet enshrined in law or policy, and others will disagree.&lt;/p&gt;
&lt;p&gt;In simple terms, it's clear that the game is changing the incentives that people (its players) face for interacting with spaces in the world around them. Fear of a mugging is a reason to avoid a dark alley at night; worry about your neighbour's glare and disapproval might keep you out of her back yard. Now, for the avid Pokémon GO player, these incentives are balanced against the possibility of catching a rare Pokémon in those places. Facing the new set of options, people are making different choices.&lt;/p&gt;
&lt;h2&gt;Costs&lt;/h2&gt;
&lt;p&gt;An initial reaction of some friends to the story was, "Well, why didn't Nintendo simply avoid placing game items in the museum?"&lt;/p&gt;
&lt;p&gt;As far as I understand, game features are distributed using data from a prior Niantic game (&lt;a href="https://en.wikipedia.org/wiki/Ingress_(video_game)"&gt;Ingress&lt;/a&gt;) and map features extracted by &lt;a href="https://en.wikipedia.org/wiki/Geographic_information_system"&gt;GIS&lt;/a&gt;. For instance, water-type Pokémon are placed with high probability near the edges of bodies of water, and with low density elsewhere. It's straightforward to write such rules, implement them in software, and then run that software on available maps.&lt;/p&gt;
&lt;p&gt;However, it would be more difficult and—critically—costly for Nintendo to hand-check the results, across the entire inhabitated world. This would require:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Anticipating the behavioural changes of game players (perhaps through play-testing),&lt;/li&gt;
&lt;li&gt;Understanding which property owners would object strongly to having Pokémon trainers on their property, given said behaviour,&lt;/li&gt;
&lt;li&gt;Deciding which of these objections was worth accommodating by changing the game, and&lt;/li&gt;
&lt;li&gt;Implementing those changes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It's evident that Nintendo chose not to do these things.&lt;/p&gt;
&lt;h2&gt;Recourse&lt;/h2&gt;
&lt;p&gt;Nor were they obliged to. So what about the &lt;a href="http://bulbapedia.bulbagarden.net/wiki/Gastly_(Pok%C3%A9mon)"&gt;Gastly&lt;/a&gt; behaviour at the Holocaust Museum? Is there something the museum, or other property owners, can do, beyond putting up &lt;a href="http://www.cnet.com/news/this-man-wants-pokemon-go-players-to-get-off-his-lawn/"&gt;strongly-worded signs&lt;/a&gt;? On what basis can they argue for changes? These questions started a energetic debate over drinks at the Muddy Charles, during which this was posted:&lt;/p&gt;
&lt;p&gt;&lt;img alt="&amp;quot;Paul is a Gastly.&amp;quot;" src="https://paul.kishimoto.name/image/2016-07-15-gastly.jpg" /&gt;
Source: &lt;a href="https://www.facebook.com/photo.php?fbid=10100513324031476&amp;amp;set=pb.15501321.-2207520000.1470435104"&gt;Facebook/Michael Davidson&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To make the matter a little simpler, and abstract it from the details of the game, consider: if my friend can already draw virtual graffiti on my face and post it on Facebook, Twitter or a personal website, how is this made any worse by the prospect of widespread adoption of AR technology?&lt;/p&gt;
&lt;p&gt;One answer lies in the audience. On Facebook, my friend's contacts and his privacy settings determine who can see the photo;&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; on Twitter, it's shown by default to only his followers; and on a personal website, he'd have to attract viewers to the page to view it.&lt;/p&gt;
&lt;p&gt;On the other hand, through an AR platform with near-universal adoption, &lt;em&gt;any&lt;/em&gt; person walking through the bar with a smart phone&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; could see the virtual "KICK ME!" sign on my back, regardless of whether they knew my friend or I. I might like my chances, amongst our mutual Facebook contacts, of shaming my friend for his behaviour, or of laughing the matter off—yet I could still be unhappy about the impression left on the strangers at the bar.&lt;/p&gt;
&lt;p&gt;By the same token, I could float a large virtual billboard in the air over your house with embarrassing, yet not quite libelous, words or images; or racists could float &lt;a href="http://www.nytimes.com/2016/05/29/opinion/sunday/the-nazi-tweets-of-trump-god-emperor.html"&gt;markers over the homes of blacks, Jews, or activists&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It's easy to say that the creators and operators of AR platforms should not allow these uses. It will be far more difficult to write widely-accepted, general rules for them to apply when accepting and displaying user-generated locative content; and profit-oriented firms will want to have those rules in software, rather than involving expensive human judgement in the loop.&lt;/p&gt;
&lt;h2&gt;Art &amp;amp; protest&lt;/h2&gt;
&lt;p&gt;My imagination is inspired in this, as in many other things, by William Gibson. In his novel &lt;em&gt;Spook Country&lt;/em&gt; (2007) (which &lt;a href="https://en.wikipedia.org/wiki/Special:BookSources/0-670-91494-0?isbn=0670914940#Bookselling_and_swapping"&gt;you should buy&lt;/a&gt;), protagonist Hollis Henry is shown an example of 'locative' art in Los Angeles:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Now,” he said, and she heard him tap the laptop’s keyboard. Something shivered, in her field of vision. “Look. Look here.”&lt;/p&gt;
&lt;p&gt;She turned, following his gesture, and saw a slender, dark-haired body, facedown on the sidewalk.&lt;/p&gt;
&lt;p&gt;“Alloween night, 1993,” said Odile.&lt;/p&gt;
&lt;p&gt;Hollis approached the body. That wasn’t there. But was. Alberto was following her with the laptop, careful of the cable. She felt as if he were holding his breath. She was holding hers.&lt;/p&gt;
&lt;p&gt;The boy seemed birdlike, in death, the arch of his cheekbone, as she bent forward, casting its own small shadow. His hair was very dark. He wore dark, pin-striped trousers and a dark shirt. “Who?” she asked, finding her breath.&lt;/p&gt;
&lt;p&gt;“River Phoenix,” said Alberto, quietly.&lt;/p&gt;
&lt;p&gt;She looked up, toward the marquee of the Whiskey, then down again, struck by the fragility of the white neck. “River Phoenix was blond,” she said.&lt;/p&gt;
&lt;p&gt;“He’d dyed it,” Alberto said. “Dyed it for a role.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;An idea popped into my head shortly after reading this. In classic form, I've it carried around there until it has turned out to be stale and unoriginal.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tiananmen SquARed&lt;/em&gt; (&lt;a href="http://fourgentlemen.blogspot.com/2011/01/tiananmen-square-augmented-reality.html"&gt;1&lt;/a&gt;, &lt;a href="https://books.google.com/books?id=GP8pBAAAQBAJ&amp;amp;pg=PA73&amp;amp;lpg=PA73&amp;amp;dq=tiananmen+square+augmented+reality&amp;amp;source=bl&amp;amp;ots=TNsprOyHEv&amp;amp;sig=Gij3D8DPLxHAWG08hcHzqL9S9tU&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ved=0ahUKEwiF-ubhnavOAhWE2yYKHROCB3AQ6AEISzAJ#v=onepage&amp;amp;q=tiananmen%20square%20augmented%20reality&amp;amp;f=false"&gt;2&lt;/a&gt;, &lt;a href="http://www.artpractical.com/column/locating-technology-augmented-reality/"&gt;3&lt;/a&gt;), by a collective calling themselves 4Gentlemen, was designed for Beijing and &lt;a href="https://augmentationistinternational.wordpress.com/tiananmen-squared/"&gt;later shown&lt;/a&gt; in Venice, Cairo, Boston and New York. It involves 3D models of the &lt;a href="https://en.wikipedia.org/wiki/Goddess_of_Democracy"&gt;Goddess of Democracy&lt;/a&gt; statue erected by the 1989 protesters, and of the iconic &lt;a href="https://en.wikipedia.org/wiki/Tank_Man"&gt;Tank Man&lt;/a&gt;. Like Gibson's fictional River Phoenix piece, visitors using a particular AR app can view and walk around these recreations in the place where the historical events tooks place.&lt;/p&gt;
&lt;p&gt;From the screenshots, the 2010/2011 iteration doesn't achieve the verisimilitude that would prompt the visceral reaction that Gibson writes about, but this is only a matter of resources and sufficiently powerful hardware.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://techcrunch.com/2016/07/15/pokemon-gos-retention-rates-average-revenue-per-user-are-double-the-industry-average/"&gt;financial success&lt;/a&gt; of Pokémon GO will accelerate interest in locative content, and efforts to develop the technology. As AR becomes ubiquitious and eventually melds with what we currently consider social media, subversive pieces like &lt;em&gt;Tiananment SquARed&lt;/em&gt; will have greater reach and cultural currency, provoking correspondingly stronger reactions from governments.&lt;/p&gt;
&lt;p&gt;Facebook's policies on allowing, removing or censoring content in response to, or in anticipation of, protests from individuals, governments and other actors have become a notable arena for societal conflict. In the same way, locative AR will give rise to new debates arising from different ideas about the relationship between real and virtual space, and what consitutes appropriate behaviour in each. It should be fascinating to watch.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;To be clear, it is possible to have &lt;em&gt;non&lt;/em&gt;-locative AR. For instance, Coca Cola might release an app that displayed a little interactive 3-D animation anytime it recognized a bottle or can of the company's product, &lt;em&gt;no matter where it was&lt;/em&gt;. Here, I am mostly concerned with locative AR.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Try clicking the link, if you're not logged in.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;These days, it almost suffices to say "any person walking through the bar".&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/><category term="Art"/><category term="Augmented reality"/><category term="Technology"/><category term="Policy"/><category term="Unoriginal ideas"/></entry><entry><title>Salvation or Menace</title><link href="https://paul.kishimoto.name/2016/03/salvation-or-menace" rel="alternate"/><published>2016-03-07T00:00:00+01:00</published><updated>2016-03-07T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2016-03-07:/2016/03/salvation-or-menace</id><summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://thewalrus.ca/salvation-or-menace/"&gt;"Salvation or Menace"&lt;/a&gt; by Chris Turner in &lt;em&gt;The Walrus&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is all definitely cause for optimism, especially the degree of agreement among panelists. I was nearly dumbstruck yesterday to read about Patrick Brown stating plainly to the PC Party of Ontario that &lt;a href="http://www.huffingtonpost.ca/2016/03/06/patrick-brown-carbon-pricing-ontario-progressive_n_9393826.html"&gt;"Climate change is a fact, It is a threat. It is man made. We have to do something about it, and that something includes putting a price on carbon."&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My worry about proxy wars of all kinds is that it is not simply a matter of collective choice to avoid them. Energy East, for instance, must come before …&lt;/p&gt;</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://thewalrus.ca/salvation-or-menace/"&gt;"Salvation or Menace"&lt;/a&gt; by Chris Turner in &lt;em&gt;The Walrus&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is all definitely cause for optimism, especially the degree of agreement among panelists. I was nearly dumbstruck yesterday to read about Patrick Brown stating plainly to the PC Party of Ontario that &lt;a href="http://www.huffingtonpost.ca/2016/03/06/patrick-brown-carbon-pricing-ontario-progressive_n_9393826.html"&gt;"Climate change is a fact, It is a threat. It is man made. We have to do something about it, and that something includes putting a price on carbon."&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My worry about proxy wars of all kinds is that it is not simply a matter of collective choice to avoid them. Energy East, for instance, must come before the National Energy Board for a vote at some stage: the vote will be yes or no, and the temptation will be great for the pundits whom you called out in your last post to play up the conflict (and play down the complexity). They, in turn, will hound politicians until they say things that can be used to assign them to one notional "side" or the other.&lt;/p&gt;
&lt;p&gt;Put another way, we are constrained to shepherd these new goals through existing formal institutions. The Liberals could, of course, hand the NEB new marching orders (or replace its members) in order to prejudge pipeline cases. But that is not the same as establishing new bodies and processes as venues for decisions that balance the different elements of sustainability, and regional interests, under an explicit mandate to reduce GHG emissions.&lt;/p&gt;
&lt;p&gt;Until those exist, I think we are too dependent on premiers and others having the strength of character not to throw the shared goals under the bus for individual short-term gain.&lt;/p&gt;
&lt;p&gt;(&lt;a href="http://thewalrus.ca/salvation-or-menace/#comment-2556414100"&gt;Original&lt;/a&gt;)&lt;/p&gt;</content><category term="disqus_comment"/><category term="Disqus comment"/></entry><entry><title>Teaching Philosophy Statement</title><link href="https://paul.kishimoto.name/2015/06/teaching-philosophy-statement" rel="alternate"/><published>2015-06-14T00:00:00+02:00</published><updated>2015-06-14T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2015-06-14:/2015/06/teaching-philosophy-statement</id><summary type="html">&lt;p&gt;I view my teaching as a process of &lt;strong&gt;continual development&lt;/strong&gt;, in which I seek to become more able to create &lt;strong&gt;authentic experiences&lt;/strong&gt; for my students; &lt;strong&gt;respond flexibly&lt;/strong&gt; to their needs; judiciously &lt;strong&gt;incorporate new technology, techniques and research&lt;/strong&gt;; and convey to them my &lt;strong&gt;passion&lt;/strong&gt; for the topics I choose to teach.&lt;/p&gt;
&lt;h2&gt;Continual development&lt;/h2&gt;
&lt;p&gt;My graduate student teaching is in the areas of engineering &amp;amp; public policy, and engineering leadership development;&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; my undergraduate teaching includes these areas and also fundamentals of engineering analysis. I am familiar with and appreciate many of the criticisms of “traditional” engineering education in Canada and the United …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I view my teaching as a process of &lt;strong&gt;continual development&lt;/strong&gt;, in which I seek to become more able to create &lt;strong&gt;authentic experiences&lt;/strong&gt; for my students; &lt;strong&gt;respond flexibly&lt;/strong&gt; to their needs; judiciously &lt;strong&gt;incorporate new technology, techniques and research&lt;/strong&gt;; and convey to them my &lt;strong&gt;passion&lt;/strong&gt; for the topics I choose to teach.&lt;/p&gt;
&lt;h2&gt;Continual development&lt;/h2&gt;
&lt;p&gt;My graduate student teaching is in the areas of engineering &amp;amp; public policy, and engineering leadership development;&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; my undergraduate teaching includes these areas and also fundamentals of engineering analysis. I am familiar with and appreciate many of the criticisms of “traditional” engineering education in Canada and the United States; but—and I have been guilty of this—it is too easy to critique a straw man or stereotype.&lt;/p&gt;
&lt;p&gt;In fact, there are exemplary engineering educators at most institutions, and many programs, groups and researchers seeking to explore and rigorously test new curriculum designs, course structures, and classroom activities. Given that I also have substantial research responsibilities, there is too much such material for me to study in-depth—I am not an engineering education researcher. Therefore, instead of a goal to radically transform my teaching in a short time, I aim to continually develop my teaching abilities throughout my career. In practice, this entails:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Never teaching the same course twice—building on prior content, methods, format, order, etc. through incremental changes aimed at better student achievement of &lt;abbr title="intended learning objective"&gt;ILO&lt;/abbr&gt;s (and also evolving the ILOs);&lt;/li&gt;
&lt;li&gt;Finding regular opportunities to observe other instructors in action, and examining their teaching for particular techniques I can incorporate into my own; and&lt;/li&gt;
&lt;li&gt;Also regularly reviewing the academic literature on engineering education, so that my improvements are informed by validated research, and not only my own anecdotal experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Technology&lt;/h2&gt;
&lt;p&gt;The process of continual improvement is not random experimentation. In order to not risk failing to educate entire classes of students, I make only judicious changes that I have high confidence will lead to outcomes at least as good as my existing approach (or one inherited from another instructor).&lt;/p&gt;
&lt;p&gt;Although it is an appropriate strategy for the competitive, entrepreneurial world of mobile apps and devices, the adoption of new technologies “just to see what happens” is not suitable for the classroom—unless that is the &lt;em&gt;sole&lt;/em&gt; learning objective. In the vast majority of other cases, there is some other ILO that should not be compromised.&lt;/p&gt;
&lt;p&gt;Superficial adoption of technology can also yield a strong negative “gimmick” reaction. Understood cognitively, this actively undermines learning by interrupting students' efforts to keep new concepts in their working memory. Therefore, I think carefully about the student's experience of learning without, and with, any new tool—and only adopt it if the latter is richer.&lt;/p&gt;
&lt;h2&gt;Authentic student experience&lt;/h2&gt;
&lt;p&gt;Recent reflections on the academic job market sometimes argue&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; against the notion of student as ‘customer’. I agree, but further believe in treating university students—undergraduate and graduate—as adults, or future professionals and researchers. This perspective guides the creation of classroom activities and evaluation which are professional activities, in microcosm.&lt;/p&gt;
&lt;p&gt;To be clear, authentic classroom activities&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; need not be &lt;em&gt;fun&lt;/em&gt; or &lt;em&gt;creative&lt;/em&gt;. There is some degree of drudgery&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; in engineering and public policy research and analysis—crunching data, carefully constructing models, reading through legislation or long documents with stakeholder perspectives. But authentic activities can show students &lt;em&gt;why&lt;/em&gt; professionals and researchers voluntarily choose to engage in this ‘tedious’ work: because it prepares one for problem (re)framing, making persuasive and cogent arguments, or proposing innovative solutions.&lt;/p&gt;
&lt;p&gt;Having seen both quantitative and qualitative successes in a variety of courses at UofT and MIT, I seek to construct my own examples by actively thinking about cases which allow this kind of authentic learning. These cases are designed within the constraints of available resources (including classroom, instructor and TA time) and students' level of knowledge; they are refined and evolved based on student feedback.&lt;/p&gt;
&lt;h2&gt;Passion and motivation&lt;/h2&gt;
&lt;p&gt;Professionals and researchers also—ideally!—approach their work from a standpoint of intrinsic motivation.&lt;sup id="fnref:5"&gt;&lt;a class="footnote-ref" href="#fn:5"&gt;5&lt;/a&gt;&lt;/sup&gt; As &lt;em&gt;future&lt;/em&gt; professionals and researchers, students are both learning content, and searching for topics and questions that align well enough with their personal values to let them to develop intrinsic motivation.&lt;/p&gt;
&lt;p&gt;As an instructor, my role in this procedure differs according to context—whether students are graduates or undergraduates, in elective or mandatory programs and courses. I have my own research interests—topics towards which I am intrinsically motivated—that may not align with the future career foci of my students. In an elective graduate seminar, I can take a student's enrolment as a sign that they have a strong interest in the subject, and design the course and teach it in a way makes my passion for the topic a model for their own.&lt;/p&gt;
&lt;p&gt;In a mandatory undergraduate course, by contrast, many students will be at lower levels of extrinsic motivation.&lt;sup id="fnref:6"&gt;&lt;a class="footnote-ref" href="#fn:6"&gt;6&lt;/a&gt;&lt;/sup&gt; In such cases, an expectation that student behaviour reflects passion for the topic will inevitably be disappointed. Instead I can seek to present the material in a more neutral manner, and explicitly guide students in evaluating their reaction/level of interest—leading them to answer, “Is this something I want to learn more about?”&lt;/p&gt;
&lt;h2&gt;Flexibility&lt;/h2&gt;
&lt;p&gt;Workplaces of committed professionals with passion for their work are, today, decreasingly hierarchical. Individuals can be encouraged to be actively entrepreneurial in their work—Google's “20-percent time” is the oft-cited example. In addition, engineering and public policy work, and certainly leadership, involve work with stakeholders wherein authority relationships are ambiguous.&lt;/p&gt;
&lt;p&gt;For all these reasons a syllabus predetermined by me, the instructor, and followed to the letter, is inauthentic. To the extent possible—and in balance with delivering promised content and experiences—I aim to allow course material to evolve within an offering, and even &lt;em&gt;within&lt;/em&gt; particular classes. This allows me to be flexible and responsive to students' speed of learning, particular needs and interests, demonstrating my respect for them and modelling collegial behaviour. Yet, at the same time, I aim to show them how to respectfully request such changes of direction or elaboration—in a way that is mindful of their peers' needs in balance with their own.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;These very different topics call for very different course designs, classroom activities, and evaluation; therefore this statement focuses on higher-level elements of my philosophy, common across topics.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;For instance, &lt;a href="http://www.vox.com/2015/6/3/8706323/college-professor-afraid"&gt;this piece at Vox&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;McClymer &amp;amp; Knoles. “Ersatz Learning, Inauthentic Testing,” in Journal on Excellence In College Teaching, 3:33–50, 1992. &lt;a href="https://scholar.google.com/scholar?cluster=7562413547241758273"&gt;URL&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;That is, thinking at the lower levels of &lt;a href="https://cft.vanderbilt.edu/guides-sub-pages/blooms-taxonomy/"&gt;Bloom's taxonomy&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;Ryan &amp;amp; Deci. “Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being,” in American Psychologist, 55(1):68–78, 2000. &lt;a href="http://dx.doi.org/10.1037/0003-066X.55.1.68"&gt;10.1037/0003-066X.55.1.68&lt;/a&gt;&amp;#160;&lt;a class="footnote-backref" href="#fnref:5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;In fact, my own role as instructor in such courses may be extrinsically motivated; i.e. by departmental obligation…&amp;#160;&lt;a class="footnote-backref" href="#fnref:6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/></entry><entry><title>Platform 2015</title><link href="https://paul.kishimoto.name/2015/01/platform-2015" rel="alternate"/><published>2015-01-01T00:00:00+01:00</published><updated>2015-01-01T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2015-01-01:/2015/01/platform-2015</id><summary type="html">&lt;p&gt;Following the good advice of an instructor from last term, I am resolving for 2015 to write for 15 minutes every day!&lt;/p&gt;
&lt;p&gt;To be precise, the advice was to write material  with a non-zero probability of appearing in my thesis.
I realized that I already do spend more than 15 minutes writing each day, but without much focus. Instead, I &lt;a href="https://disqus.com/by/khaeru/comments/"&gt;comment in various places&lt;/a&gt;, or write blurbs to frame articles and other links shared on &lt;a href="https://www.facebook.com/paul.kishimoto/allactivity?log_filter=cluster_11"&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Though I probably spend more time on these non-research-related words than I should, that doesn't make them valueless. In fact, I usually choose to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Following the good advice of an instructor from last term, I am resolving for 2015 to write for 15 minutes every day!&lt;/p&gt;
&lt;p&gt;To be precise, the advice was to write material  with a non-zero probability of appearing in my thesis.
I realized that I already do spend more than 15 minutes writing each day, but without much focus. Instead, I &lt;a href="https://disqus.com/by/khaeru/comments/"&gt;comment in various places&lt;/a&gt;, or write blurbs to frame articles and other links shared on &lt;a href="https://www.facebook.com/paul.kishimoto/allactivity?log_filter=cluster_11"&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Though I probably spend more time on these non-research-related words than I should, that doesn't make them valueless. In fact, I usually choose to share or comment on things that strongly interest me—in 2014, these included transportation debates in the Toronto mayoral election, and government science and science policy in Canada, among many others.&lt;/p&gt;
&lt;p&gt;A more pertinent problem is that I am contributing "content" to others' websites in a way that doesn't help me to review my own writing. For instance, on the topics mentioned, it is hard to know how many times I have banged a particular drum, or to check how my views (or my ways of presenting them) have evolved.&lt;/p&gt;
&lt;p&gt;So, in order to centralize some of that miscellaneous writing, and to create a venue to use when I don't have anything thesis-related to  write, I am resurrecting the blog (yet again).&lt;/p&gt;
&lt;p&gt;One theme that will feature:&lt;/p&gt;
&lt;h2&gt;Platform 2015&lt;/h2&gt;
&lt;p&gt;Canada's next federal election is on Monday, October 19, 2015. In 2011, I set out to write &lt;a href="https://paul.kishimoto.name/2011/03/36-reasons-to-not-vote-conservative"&gt;one post per day&lt;/a&gt; of the 36-day campaign and—predictably—failed within a week. It was too high a volume to promise, and probably began too late to make a difference.&lt;/p&gt;
&lt;p&gt;This year, my goal will be to highlight, earlier, issues that I think should be important in the election. Again, many will stem from the current government's failures, but it is not enough to simply point these out. It would be quite dangerous for the opposition Liberals or NDP to skate to power solely on criticism of the Conservatives' record. In doing so, they would avoid making concrete policy promises they could be held to, once in office.&lt;/p&gt;
&lt;p&gt;So my task is to make not negative but instead positive statements—to describe a platform I &lt;em&gt;would&lt;/em&gt; gladly vote for. Doing so before the campaign officially begins and the parties' strategies are set in stone, I might convince you to write to candidates and others, asking them to state a clear position on these topics.&lt;/p&gt;
&lt;p&gt;I don't promise any particular schedule (&lt;em&gt;i.e.&lt;/em&gt;, tomorrow's 15 minutes may not produce a Platform 2015 post), but would welcome feedback and topic suggestions—please leave a comment!&lt;/p&gt;</content><category term="misc"/><category term="Platform 2015"/></entry><entry><title>‘The Second Machine Age’</title><link href="https://paul.kishimoto.name/2014/11/the-second-machine-age" rel="alternate"/><published>2014-11-12T00:00:00+01:00</published><updated>2014-11-12T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2014-11-12:/2014/11/the-second-machine-age</id><summary type="html">&lt;p&gt;&lt;strong&gt;Reviewed&lt;/strong&gt;:&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Erik Brynjolfsson &amp;amp; Andrew McAfee, &lt;em&gt;The Second Machine Age: Work, Progress and Prosperity in a Time of Brilliant Technologies&lt;/em&gt;, W.W. Norton &amp;amp; Co., New York, 2014. Hardcover, 320 pp.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The factory of the future will only have two employees, a man, and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.”
—Warren G. Bennis&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The hand-mill gives you society with the feudal lord; the steam-mill society with the industrial capitalist.”
—Karl Marx&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In their new book, Erik Brynjolfsson and Andrew McAfee draw …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;Reviewed&lt;/strong&gt;:&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Erik Brynjolfsson &amp;amp; Andrew McAfee, &lt;em&gt;The Second Machine Age: Work, Progress and Prosperity in a Time of Brilliant Technologies&lt;/em&gt;, W.W. Norton &amp;amp; Co., New York, 2014. Hardcover, 320 pp.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The factory of the future will only have two employees, a man, and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.”
—Warren G. Bennis&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The hand-mill gives you society with the feudal lord; the steam-mill society with the industrial capitalist.”
—Karl Marx&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In their new book, Erik Brynjolfsson and Andrew McAfee draw from the Industrial Revolution, its intellectual legacy, and recent research to set expectations for a new, digital revolution. Only now hitting full steam, this Second Machine Age will lead to a fresh transformation of the relations of production, with economic and social challenges no less drastic or far-reaching.&lt;/p&gt;
&lt;p&gt;Their treatment is in three parts: the drivers of the digital revolution; its individual and economic consequences; and recommendations for the men and dogs looking to retain their jobs in Warren Bennis' factory (less caricature, it seems, than inevitability).&lt;/p&gt;
&lt;p&gt;Two main drivers are exponential increases in computing power, represented by Moore's famous law, and the advent of big data—digitized information about the real world, with additional, wholly-digital layers. Crucially, information technology (IT) is identified as “general-purpose;” with improvements in business models, organizations and worker skills, it enables “recombinant innovation.” Brynjolfsson and McAfee present nuanced thinking on these factors, and argue persuasively that we should expect only shattered expectations and predictions falsified by astounding technical progress.&lt;/p&gt;
&lt;p&gt;Next, through an accessible, math-free survey of labour, productivity and growth economics, the authors give implications of technological change for growth (labeled “The Bounty”) and inequality (“The Spread”). The Spread encompasses two dynamics. First, the winner-take-all nature of highly-scalable digital markets leaves second-best musicians, newspapers and social networks far behind number-ones, giving us society with not the industrial capitalist—but the global superstar. Second, the automation of a broad variety of routine jobs, physical or mental, endangers the 40-hour workweek of today's middle class.&lt;/p&gt;
&lt;p&gt;So what's a poor, replaceable worker to do? Hope is found in a chess story: after Garry Kasparov was definitively bested by IBM's Deep Blue, ‘freestyle’ tournaments revealed that amateur players making savvy use of multiple machines could do even better. We must, then, learn to “race &lt;em&gt;with&lt;/em&gt; computers,” instead of letting technology race ahead. The complementarity of human ingenuity and digital technology, in well-designed symbiosis, will unlock the full, recombinant potential of the Second Machine Age. What's more, labor scarcity will lead to decent wages for those physical jobs that resist automation.&lt;/p&gt;
&lt;p&gt;Surely, this is all possible and desirable. But while the authors weakly disclaim technological determinism (p.255) and dismantle several happy illusions advanced by others,&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;2&lt;/a&gt;&lt;/sup&gt; they fail to let on that the way is exceedingly narrow. Substantial blind spots hide threats on all sides.&lt;/p&gt;
&lt;p&gt;These become clear in the third part, which lays out prescriptions for action. In order to race with computers, individuals are counselled to get the best education available, developing their uniquely-human creativity. Policy recommendations are, disappointingly, straight from Silicon Valley's latest lobbying playbook. U.S. immigration reform appears—H1-B visas for digital-economy workers but not, perhaps, Latin American laborers. The country's uneven public education system should be rebooted (with technology) to teach creativity—an admission that “best available” education is scarce. A discussion of tax reform dances around the question of whether the lopsided gains awarded by winner-take-all markets should be spread across The Spread.&lt;/p&gt;
&lt;p&gt;The U.S. framing omits larger challenges. For instance, the authors correctly argue (Chapter 8) that the metric of GDP fails to capture a substantial amount of intangible value linked to digital interactions. Only Internet advertising has proved a viable way to monetize this activity; the king of online advertising is, of course, Google. Can enough new markets, and business models, be found for each country to have its Google, Baidu or Publicis? It's heartening to be told that intangibles have real value, but uncaptured value does not buy food.&lt;/p&gt;
&lt;p&gt;The authors also observe that automation, by eroding the attraction of cheap labour, can “bring manufacturing back to America” (p.185). This is presented as benign. Will foreign workers be content to see winners in the United States, or China, take all? Will other nations—lacking robust, universal education that fosters creativity—greet “skill-biased technical change” warmly? In the global view, The Bounty predicted by Brynjolfsson &amp;amp; McAfee seems much smaller, and The Spread dauntingly wide.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The Second Machine Age&lt;/em&gt; will be most useful to those in digital business: corporate decision-makers facing the unenviable challenge of keeping their firms and (one hopes) employees afloat in a greatly uncertain future. Other readers can expect clear thinking on digital innovation and insights into the changing nature of work—but an incomplete, though skilful, elaboration of the far-reaching impacts. Brynjolfsson &amp;amp; McAfee have no solutions equal to the challenge…but then, who does?&lt;/p&gt;
&lt;p&gt;(754 words, 77 in quotes)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;for ESD.83, the Engineering Systems doctoral seminar, Fall 2014.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Such as the optimistic “strong bounty” view (p.166) that growing inequality can be overlooked because of continual improvement for the poorest.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;in Mark Fisher, &lt;em&gt;The Millionaire's Book of Quotations&lt;/em&gt;, Thorsons, London, 1991, p.15.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;The Poverty of Philosophy, Paris, 1847.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/><category term="Books"/></entry><entry><title>‘Everything Is Obvious’</title><link href="https://paul.kishimoto.name/2014/10/everything-is-obvious" rel="alternate"/><published>2014-10-08T00:00:00+02:00</published><updated>2014-10-08T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2014-10-08:/2014/10/everything-is-obvious</id><summary type="html">&lt;p&gt;&lt;strong&gt;Reviewed&lt;/strong&gt;:&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Duncan Watts, Everything Is Obvious (Once You Know The Answer), Crown Business, New York, 2011. Paperback, 269 pp. plus bibliography, notes and index.&lt;/p&gt;
&lt;p&gt;Lest we be paralyzed with indecision, we confidently go about our everyday lives making assumptions, reasoning from the few to the many, seeking regularity and choosing, optimistically, to interpret the outcomes of our decisions as confirmation that our haphazard approach was the best one. What's more, we do the same—and eagerly accept arguments developed in the same way—when we aim to digest current events and important societal trends.&lt;/p&gt;
&lt;p&gt;'Twas ever thus, from childhood's …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;Reviewed&lt;/strong&gt;:&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Duncan Watts, Everything Is Obvious (Once You Know The Answer), Crown Business, New York, 2011. Paperback, 269 pp. plus bibliography, notes and index.&lt;/p&gt;
&lt;p&gt;Lest we be paralyzed with indecision, we confidently go about our everyday lives making assumptions, reasoning from the few to the many, seeking regularity and choosing, optimistically, to interpret the outcomes of our decisions as confirmation that our haphazard approach was the best one. What's more, we do the same—and eagerly accept arguments developed in the same way—when we aim to digest current events and important societal trends.&lt;/p&gt;
&lt;p&gt;'Twas ever thus, from childhood's hour. In &lt;em&gt;Everything Is Obvious (Once You Know The Answer)&lt;/em&gt;, Duncan Watts—sociologist, and researcher at first Yahoo!, now Microsoft—walks readers fondly through the decay of this confidence in common-sense explanations of phenomena from politics, history, economics, culture and policy. A litany of cognitive biases, logical fallacies, unpredictable emergent behaviours and irreducible complexities are invoked to show how attractively simple explanations are, quite often, dead wrong. Making use of results from social science research, psychology, network theory and management literature—both famous and not, new and old—&lt;em&gt;Everything is Obvious&lt;/em&gt; lays out the limits of prediction, planning and causal reasoning in a complex world.&lt;/p&gt;
&lt;p&gt;Watts' attention ranges widely, from the philosophy of Arthur Danto, to Steven Levitt and Stephen Dubner's &lt;em&gt;Freakonomics&lt;/em&gt; and back to John Rawls. Tolstoy and &lt;em&gt;Harry Potter&lt;/em&gt;; the Mars Climate Orbiter and Twitter; Enron and AIG; Steve Jobs, Jane Jacobs, Newton and Paul Revere all make appearances. But though his cautionary messages may seem discouraging, Watts' style is welcoming and accessible. His explanations of the many obstacles to social science are developed in simple language, moving easily from familiar examples to general concepts and their implications. In the numerous endnotes are acknowledgements of the larger rhetorical leaps and, for the curious reader or academic, extra implications, caveats and references to an extensive bibliography. Later chapters reach back to earlier concepts, authors and references to tie the work together, and the author's several descriptions of his own research fit neatly into the flow of the book.&lt;/p&gt;
&lt;p&gt;Lest he be mistaken for other authors bridging the gap between social science and the under-appreciated complexity of everyday affairs, Watts reserves his most direct criticism for Malcolm Gladwell's &lt;em&gt;The Tipping Point&lt;/em&gt;, and “gadfly” statistician Nassim Nicholas Taleb's &lt;em&gt;The Black Swan&lt;/em&gt;. Gladwell's “law of the few” (suggesting that a few ‘super-influencers’ can cause the viral takeoff of a trend) is debunked, in a chapter on “Special People,” as a hopeful fable that ignores the structure of real-world social networks and ultimately proves a &lt;em&gt;post-hoc&lt;/em&gt; fallacy. Black swans—rare, highly unlikely but equally consequential events—are only visible from the far side of the paradigm shifts they trigger, and even then vanish into their context on close inspection or suffer from imprecise labelling. Everything is hard, it seems, and even that which is deceptively obvious may deceive for one of many reasons.&lt;/p&gt;
&lt;p&gt;In the latter half, Watts moves to outline what (little) &lt;em&gt;can&lt;/em&gt; be done, in light of the challenges laid out—and it's here that his enthusiasm for the opportunities of information technology gets the better of his methodical approach and the care that marks the opening chapters. A chapter on “The Measure of All Things” focuses heavily on the efforts of Internet advertisers to act on the voluminous user data from website visitors. Even if this content is useful for improving the same mechanism that generated it, its usefulness beyond advertising is not argued. Watts acknowledges, but does not thoroughly deal with, the objection that the “friendships” and “likes” of social media users may bear little or irregular relationship to social interactions in the offline world—and he omits that the companies creating these services may profit from creating and eliding such differences.&lt;/p&gt;
&lt;p&gt;The chapter on “Fairness and Justice” treats the example of a New York City police officer convicted of drunk driving, but fails to examine the fairness and justice of the same force's stop-and-frisk policy—surely a more consequential topic. Similarly, after dispelling “The Dream of Prediction,” Watts advises that readers “don't predict; react,” or at least not aim to do more than to “predict the present.” Yet on uncertain, global issues such as overpopulation&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; or the “super wicked” problem&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; of climate change, the luxury to retreat into reaction may not exist; or even if it does, could entail abandoning whole categories of effective and just solutions.&lt;/p&gt;
&lt;p&gt;Still, in dealing with these problems—as in daily life—we will need to understand the surprising behaviours of crowds, networks, and ourselves, and Watts' well-written book serves well as a spotter's guide to the inevitable missteps.&lt;/p&gt;
&lt;p&gt;(786 words)&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;for ESD.83, the Engineering Systems doctoral seminar, Fall 2014.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Gerland et al. “World population stabilization unlikely this century,” in Science, September 18, 2014. &lt;a href="http://dx.doi.org/10.1126/science.1257469"&gt;10.1126/science.1257469&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Levin, Cashore, Bernstein, and Auld. “Overcoming the tragedy of super wicked problems: constraining our future selves to ameliorate global climate change,” in Policy Sciences 45:123–152, 2012. &lt;a href="http://dx.doi.org/10.1007/s11077-012-9151-0"&gt;10.1007/s11077-012-9151-0&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/><category term="Books"/></entry><entry><title>The Colour of Television</title><link href="https://paul.kishimoto.name/2013/04/the-colour-of-television" rel="alternate"/><published>2013-04-29T00:00:00+02:00</published><updated>2013-04-29T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2013-04-29:/2013/04/the-colour-of-television</id><summary type="html">&lt;p&gt;&lt;img alt="A bright video screen shows images of blue sky on Tiananmen Square during a time of dangerous levels of air pollution, on January 23, 2013 in Beijing. (Feng Li/Getty Images)" src="https://paul.kishimoto.name/image/c09_59915304.jpg" /&gt;
Source: &lt;a href="http://www.theatlantic.com/infocus/2013/01/chinas-toxic-sky/100449/#img09"&gt;Feng Li/Getty Images, via The Atlantic&lt;/a&gt;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The sky above the port was the color of television, tuned to a dead
channel.&lt;/p&gt;
&lt;p&gt;—&lt;a href="http://en.wikipedia.org/wiki/Neuromancer"&gt;Neuromancer&lt;/a&gt;, opening lines.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The air beyond the window touches each source of light with a faint hepatic
corona, a tint of jaundice edging imperceptibly into brownish translucence.
Fine dry flakes of fecal snow, billowing in from the sewage flats, have
lodged in the lens of night.&lt;/p&gt;
&lt;p&gt;—&lt;a href="http://en.wikipedia.org/wiki/Virtual_Light"&gt;Virtual Light&lt;/a&gt;, p.1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;William Gibson, one of my favourite authors and Canadian &lt;em&gt;by choice&lt;/em&gt; to (a)boot, is sometimes referred to as a "noir prophet" for his work in the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="A bright video screen shows images of blue sky on Tiananmen Square during a time of dangerous levels of air pollution, on January 23, 2013 in Beijing. (Feng Li/Getty Images)" src="https://paul.kishimoto.name/image/c09_59915304.jpg" /&gt;
Source: &lt;a href="http://www.theatlantic.com/infocus/2013/01/chinas-toxic-sky/100449/#img09"&gt;Feng Li/Getty Images, via The Atlantic&lt;/a&gt;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The sky above the port was the color of television, tuned to a dead
channel.&lt;/p&gt;
&lt;p&gt;—&lt;a href="http://en.wikipedia.org/wiki/Neuromancer"&gt;Neuromancer&lt;/a&gt;, opening lines.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The air beyond the window touches each source of light with a faint hepatic
corona, a tint of jaundice edging imperceptibly into brownish translucence.
Fine dry flakes of fecal snow, billowing in from the sewage flats, have
lodged in the lens of night.&lt;/p&gt;
&lt;p&gt;—&lt;a href="http://en.wikipedia.org/wiki/Virtual_Light"&gt;Virtual Light&lt;/a&gt;, p.1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;William Gibson, one of my favourite authors and Canadian &lt;em&gt;by choice&lt;/em&gt; to (a)boot, is sometimes referred to as a "noir prophet" for his work in the genre of "cyberpunk." His excellent writing is ill-served when filed away as 'just' science fiction—for instance, right before that quote from Virtual Light is the very clever line, "business as usual, world without end."&lt;/p&gt;
&lt;p&gt;In both novels, a description of the physical atmosphere is key to the dystopian setting, and while he writes about Tokyo and Mexico City respectively, the words (maybe excepting "fecal flakes") could well apply to Beijing. The city's infamous air pollution both touches on the research that brings me and the experience of living here—less dramatic and more immediate than fiction.&lt;/p&gt;
&lt;p&gt;A lot of ink has been spilled over Beijing's air quality; you can read these &lt;a href="http://en.wikipedia.org/wiki/Beijing#Air_quality"&gt;these&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Pollution_in_China"&gt;articles&lt;/a&gt; or look at &lt;a href="http://www.theatlantic.com/infocus/2013/01/chinas-toxic-sky/100449/"&gt;these photos&lt;/a&gt; for a general introduction. Personally, I felt a real shortness of breath when I arrived in late February. Jet lag, hanging around in smoky cafés, and a cold I picked up on a crowded Line 13 subway all contributed, but so did three of perhaps five or six "Beyond Index" (or &lt;a href="http://www.guardian.co.uk/environment/blog/2010/nov/19/crazy-bad-beijing-air-pollution"&gt;"Crazy Bad"&lt;/a&gt;) days that have occurred in the past two months."&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; I missed the January "airpocalypse" that is the subject of the &lt;em&gt;In Focus&lt;/em&gt; photos.&lt;/p&gt;
&lt;p&gt;Cycling around or climbing several flights of stairs made the effect more noticeable, and I soon developed the habit of checking the &lt;a href="http://aqicn.org/city/beijing/m/"&gt;AQI&lt;/a&gt; before I left the house, and throwing on my &lt;a href="http://www.amazon.com/gp/product/B0002YKBV2/"&gt;handy N95 respirator&lt;/a&gt; if necessary. We also bought an air purifier and sat around it in the conference room.&lt;/p&gt;
&lt;p&gt;In mid-March, central heating is turned off almost everywhere, regardless of the temperature.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; I bundled up to go to bed, wore a hat in my apartment, but also noticed that the frequency and severity of very bad AQ days seemed to lessen, perhaps as coal burning decreased. Days with high winds often also had "Good" AQI—although a couple of times the winds also brought sand and grit from the Gobi Desert over the mountains to the northwest of Beijing and a sky that was more brown than grey.&lt;/p&gt;
&lt;p&gt;Writing and talking about the pollution is hard, because it is easy to fall into the terms we use to discuss the weather. The difference—perhaps the &lt;em&gt;critical&lt;/em&gt; difference—is that, unlike the weather, the pollution has entirely human origins. These are &lt;a href="http://scholar.google.com/scholar?as_ylo=2009&amp;amp;q=pm+beijing+transport+coal&amp;amp;hl=en&amp;amp;as_sdt=0,22"&gt;a subject of active research&lt;/a&gt;, but attention from scientists is different from the everyday or popular awareness that drives policy. No one is responsible for a stretch of cloudy days, but many are responsible for the haze, so it's important not to conflate the two.&lt;/p&gt;
&lt;p&gt;A rough summary of the science: some of the PM does not enter the atmosphere in the same form it enters the lungs of Beijingers, but is the result of chemical reactions. The "precursors" of these reactions can come from a variety of sources—especially factories, electric power plants…and vehicles!—and will be carried around by the wind and weather. What's breathed in Beijing may have come out of a tailpipe in Tianjin, which makes addressing pollution an especially sticky problem even after governments decide to do it.&lt;/p&gt;
&lt;p&gt;My small role in this involves modelling transportation activity in each of China's provinces. We can use this together with &lt;a href="http://www.acd.ucar.edu/wrf-chem/"&gt;atmospheric transport/chemistry models&lt;/a&gt;&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; to estimate how much, for instance, cleaner or fewer auto emissions in Beijing would affect the air, both nearby and far away. We can also connect this to the &lt;a href="http://www.nytimes.com/2013/04/23/world/asia/pollution-is-radically-changing-childhood-in-chinas-cities.html?pagewanted=all&amp;amp;_r=0"&gt;health impacts of pollution&lt;/a&gt;, which are considerable. A WHO study called the "&lt;a href="http://www.thelancet.com/themed/global-burden-of-disease"&gt;Global Burden of Disease&lt;/a&gt;" lists ischemic heart disease, stroke, chronic obstructive pulmonary disease, lower respiratory infections and lung cancer &lt;a href="http://www.healthmetricsandevaluation.org/gbd/visualizations/gbd-2010-leading-causes-and-risks-region-heat-map"&gt;among the top 8 causes of death&lt;/a&gt; in China in 2010,&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; and attributes 1.2 million annual deaths in China to these and other diseases related to air pollution. There's a number to make you catch your breath.&lt;/p&gt;
&lt;p&gt;Family and a couple friends have asked if I'm worried for my own health—I am not. Besides being young, healthy, rich enough to afford masks, air purifiers, etc., I am only a visitor. While research will certainly bring me back, I didn't grow up breathing the poor air, nor will I have to (unless I choose to) I am old and infirm. Enough time spent in the clear air of Toronto or Boston should spare me most of the risk.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Beyond Index" means the air quality index (AQI) is above 500 on a scale where 151-200 is already "Unhealthy". The numbers are dimensionless but roughly correspond to the amount of particulate matter 2.5 microns in size or smaller (PM2.5) measured in micrograms per cubic metre (μg/m³).&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Clever economists have used this 'natural experiment' to do various analyses, e.g. http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1327498&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;To make things more confusing, "transport[ation]" is used in one field to mean the movement of goods and people from place to place, and in another the movement of chemicals and particles over long distances in the atmosphere.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Road accidents are seventh.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="misc"/><category term="China"/><category term="Research"/></entry><entry><title>“What better place than here? What better time than now?”</title><link href="https://paul.kishimoto.name/2013/04/what-better-place-than-here-what-better-time-than-now" rel="alternate"/><published>2013-04-15T00:00:00+02:00</published><updated>2013-04-15T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2013-04-15:/2013/04/what-better-place-than-here-what-better-time-than-now</id><summary type="html">&lt;p&gt;One of the ways terrorism works—yes—is by provoking a reflexive reaction whereby the targets, out of &lt;em&gt;terror&lt;/em&gt; or anger, compromise their values. The &lt;a class="http" href="http://en.wikipedia.org/wiki/Availability_heuristic" title="http://en.wikipedia.org/wiki/Availability_heuristic"&gt;availability&amp;nbsp;heuristic&lt;/a&gt; leads them to worry that more violence is imminent and that they face a choice between principle and safety. From my untutored perspective, the chief reason&amp;nbsp;terrorism fails is that these reactions—especially revenge—don't tend to help alleviate the conditions that brought its perpetrators to anger and then violence against its targets. However, this doesn't diminish the&amp;nbsp;&lt;em&gt;schadenfreude&lt;/em&gt;&amp;nbsp;felt by terrorists as victims harm themselves.&lt;/p&gt;
&lt;p&gt;So as we respond&amp;nbsp;we must not …&lt;/p&gt;</summary><content type="html">&lt;p&gt;One of the ways terrorism works—yes—is by provoking a reflexive reaction whereby the targets, out of &lt;em&gt;terror&lt;/em&gt; or anger, compromise their values. The &lt;a class="http" href="http://en.wikipedia.org/wiki/Availability_heuristic" title="http://en.wikipedia.org/wiki/Availability_heuristic"&gt;availability&amp;nbsp;heuristic&lt;/a&gt; leads them to worry that more violence is imminent and that they face a choice between principle and safety. From my untutored perspective, the chief reason&amp;nbsp;terrorism fails is that these reactions—especially revenge—don't tend to help alleviate the conditions that brought its perpetrators to anger and then violence against its targets. However, this doesn't diminish the&amp;nbsp;&lt;em&gt;schadenfreude&lt;/em&gt;&amp;nbsp;felt by terrorists as victims harm themselves.&lt;/p&gt;
&lt;p&gt;So as we respond&amp;nbsp;we must not simply trust to our better natures but, with heightened self-awareness, choose to express caring, concern and love, while using our reason to temper harmful emotion—fear, anger, suspicion and hate. After &lt;a class="http" href="http://en.wikipedia.org/wiki/Sandy_Hook_Elementary_School_shooting" title="http://en.wikipedia.org/wiki/Sandy_Hook_Elementary_School_shooting"&gt;the December shooting in Newtown&lt;/a&gt;, I was encouraged by public figures, political leaders and those appearing in my Facebook news feed who brushed aside objections that it was too soon&amp;nbsp;to discuss gun control,&amp;nbsp;and instead calmly.&amp;nbsp;persistently proceeded on the premise that&amp;nbsp;in fact there was no better opportunity for a hard look at gun culture in the U.S. This has led to a more&amp;nbsp;thorough discussion of whether&amp;nbsp;&lt;a class="http" href="http://en.wikipedia.org/wiki/Second_Amendment_to_the_United_States_Constitution" title="http://en.wikipedia.org/wiki/Second_Amendment_to_the_United_States_Constitution"&gt;"the security of a free State"&lt;/a&gt;&amp;nbsp;is guaranteed by unregulated access to assault weapons, or compromised by the high and unceasing toll of gun violence.&lt;/p&gt;
&lt;p&gt;In that discussion, observers were at pains to combat the availability heuristic by &lt;a class="http" href="http://news.nationalpost.com/2013/01/15/graphic-31-days-later-u-s-gun-deaths-since-newtown/" title="http://news.nationalpost.com/2013/01/15/graphic-31-days-later-u-s-gun-deaths-since-newtown/"&gt;providing information on that latter point&lt;/a&gt;. Here I try to convince you&amp;nbsp;to now do the same for yourself. The New York Times &lt;a class="http" href="http://www.nytimes.com/2013/04/16/us/explosions-reported-at-site-of-boston-marathon.html" title="http://www.nytimes.com/2013/04/16/us/explosions-reported-at-site-of-boston-marathon.html"&gt;quotes&lt;/a&gt;&amp;nbsp;a Dr. Alasdair Conn of Massachusetts General Hospital:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“This is like a bomb explosion we hear about in Baghdad or Israel or other tragic points in the world,” Dr. Conn said, adding that he had never seen such carnage in Boston.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the tense minutes spent waiting for news of my mother, who was less than a kilometre from the finish line when the explosions occurred, I had this same thought. But then I wondered, "how &lt;em&gt;much&lt;/em&gt; is this like bombings at tragic points in the world?" I realized I didn't know. The way I informed myself was to open &lt;a href="http://news.google.com"&gt;Google News&lt;/a&gt; and search for "iraq bomb", "afghanistan bomb", "israel bomb", "pakistan bomb", etc. Seeing the results, I realized how the Copley Square bombing was &lt;em&gt;not&lt;/em&gt; like those we "hear about":&lt;ul&gt;&lt;li&gt;We actually heard about it. News spread quickly around the world on social media, and even those with no personal connection expressed their support.&lt;/li&gt;&lt;li&gt;Victims had access to extremely well-trained medical care from those like Dr. Conn at MGH.&lt;/li&gt;&lt;li&gt;The death toll was much lower.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;I make this last&amp;nbsp;observation not to minimize the tragedy of what happened, but to give context we cannot ignore as we react. &lt;a class="http" href="http://www.thenational.ae/news/world/middle-east/dozens-die-in-iraq-bomb-blasts" title="http://www.thenational.ae/news/world/middle-east/dozens-die-in-iraq-bomb-blasts"&gt;One story notes&lt;/a&gt;&amp;nbsp;that car bombs in Iraq on Sunday "kill[ed] at least 55[, making it] the deadliest day in nearly a month." To belabour the obvious, that indicates that less than a month ago, 56 or more people died violently in Iraq in a single day. Not so in the U.S. or Canada, although perhaps to a lesser extent&amp;nbsp;in &lt;a class="http" href="http://en.wikipedia.org/wiki/Mexican_Drug_War" title="http://en.wikipedia.org/wiki/Mexican_Drug_War"&gt;parts of Mexico&lt;/a&gt;&amp;nbsp;which we also hear too little about.&lt;/p&gt;
&lt;p&gt;The 55 dead Iraqis are part of&amp;nbsp;&lt;a class="http" href="http://www.iraqbodycount.org/" title="http://www.iraqbodycount.org/"&gt;another continuing tragedy&lt;/a&gt;&amp;nbsp;occasioned&amp;nbsp;by military adventurism that began after another terrorist attack on U.S. soil. We should both feel gratitude for our relative safety, and ask ourselves in what part it derives from a War on Terror; from particular technologies of government surveillance; from watchful, ethical and&amp;nbsp;well-trained,&amp;nbsp;or militarized,&amp;nbsp;police; from&amp;nbsp;the coherence and mutual support of communities, and so on. We should ask whether racial and religious accusations&amp;nbsp;serve our safety or undermine that mutual support, and consider how much safer&amp;nbsp;we have become through&amp;nbsp;&lt;a class="http" href="http://en.wikipedia.org/wiki/Drone_attacks_in_Pakistan" title="http://en.wikipedia.org/wiki/Drone_attacks_in_Pakistan"&gt;having&amp;nbsp;others die&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you believe, as do many of the people I admire, in the value of human life and the equality of people regardless of where they happen to be born (or who they are born as), these are not easy questions.&lt;/p&gt;
&lt;p&gt;Last night in Beijing I also finished a long research paper that's eaten all my waking hours over the past week, so soon I can&amp;nbsp;return to the promised, regular blogging about life in China. Thanks for reading.&lt;/p&gt;</content><category term="misc"/><category term="Politics"/><category term="Terror"/></entry><entry><title>你好 from 北京!</title><link href="https://paul.kishimoto.name/2013/03/ni-hao-from-bei-jing" rel="alternate"/><published>2013-03-30T00:00:00+01:00</published><updated>2013-03-30T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2013-03-30:/2013/03/ni-hao-from-bei-jing</id><summary type="html">&lt;p&gt;I am in Beijing, China from 22 February to 15 July this year (with some side-trips) to do research. My institutional host is the &lt;a href="http://3e.tsinghua.edu.cn"&gt;清华大学能源环境经济研究所&lt;/a&gt;&amp;nbsp;(&lt;em&gt;qīnghuá dàxué néngyuán huánjìng jīngjì yánjiū suǒ&lt;/em&gt;, Tsinghua University Institute of Energy, Environment and Economy), and I am mostly funded by the &lt;a href="http://web.mit.edu/misti/mit-china"&gt;MISTI/MIT-China program&lt;/a&gt;. I am subletting a room about a kilometre east of the university.&lt;/p&gt;
&lt;p&gt;Though I promised many I would blog about my experiences, so far I have only given &lt;a href="https://www.facebook.com/media/set/?set=a.10101188077106032.2990302.28100407&amp;amp;type=1&amp;amp;l=4b5319f26e"&gt;commentary on some photos&lt;/a&gt;&amp;nbsp;(please follow them, too!).&amp;nbsp;But after …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I am in Beijing, China from 22 February to 15 July this year (with some side-trips) to do research. My institutional host is the &lt;a href="http://3e.tsinghua.edu.cn"&gt;清华大学能源环境经济研究所&lt;/a&gt;&amp;nbsp;(&lt;em&gt;qīnghuá dàxué néngyuán huánjìng jīngjì yánjiū suǒ&lt;/em&gt;, Tsinghua University Institute of Energy, Environment and Economy), and I am mostly funded by the &lt;a href="http://web.mit.edu/misti/mit-china"&gt;MISTI/MIT-China program&lt;/a&gt;. I am subletting a room about a kilometre east of the university.&lt;/p&gt;
&lt;p&gt;Though I promised many I would blog about my experiences, so far I have only given &lt;a href="https://www.facebook.com/media/set/?set=a.10101188077106032.2990302.28100407&amp;amp;type=1&amp;amp;l=4b5319f26e"&gt;commentary on some photos&lt;/a&gt;&amp;nbsp;(please follow them, too!).&amp;nbsp;But after a month of first surviving, then being generally bewildered, I finally have a bit of time and headspace to write about some of the more striking differences between here and home, and my attempts to explore the city. I should also tip my hat to &lt;a href="http://househippo.org"&gt;Danielle&lt;/a&gt; and &lt;a href="http://whyislack.blogspot.com"&gt;Adrian&lt;/a&gt;, who despite being far busier than I set a good example by blogging regularly.&lt;/p&gt;
&lt;p&gt;The first, not-so-bite-size observation is that Beijing is &lt;strong&gt;big&lt;/strong&gt;. We had a research workshop attended by senior staff for Beijing's Environmental Protection Bureau; I reflected that their constituency, at about 20 million, is 60% of the entire population of Canada. The urban districts (&lt;a href="http://en.wikipedia.org/wiki/Beijing#Administrative_division"&gt;in orange and red here&lt;/a&gt;) are twice to five times as dense as Toronto, but the enormous population and broad streets (more on them later) make it quite a hike to get from place to place. Bicycle, subways—I haven't chanced the bus system yet—and taxis are critical.&lt;/p&gt;
&lt;p&gt;More soon! Please give a "What up!" in the comments below so I know that you're following, and who I'm writing for.&lt;/p&gt;</content><category term="misc"/><category term="China"/></entry><entry><title>Letter to Eve Adams, Olivia Chow</title><link href="https://paul.kishimoto.name/2012/06/letter-to-eve-adams-olivia-chow" rel="alternate"/><published>2012-06-12T00:00:00+02:00</published><updated>2012-06-12T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2012-06-12:/2012/06/letter-to-eve-adams-olivia-chow</id><summary type="html">&lt;p&gt;Ms Adams, Ms Chow;&lt;/p&gt;
&lt;p&gt;I grew up in Mississauga, living and voting in Ms Adams' riding; for seven years while attending the University of Toronto, I lived in Ms Chow's. Despite a keen interest in policy and consequent hypersensitivity to politics, this is my first time writing to my Member(s) of Parliament. The occasion is Bill C-38, which may have passed by the time you receive this; nevertheless I want to detail why I find the bill personally offensive.&lt;/p&gt;
&lt;p&gt;Ms Adams doubtless knows from her time as a councillor that the City of Mississauga's 2010 strategic plan, &lt;em&gt;Our Future …&lt;/em&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Ms Adams, Ms Chow;&lt;/p&gt;
&lt;p&gt;I grew up in Mississauga, living and voting in Ms Adams' riding; for seven years while attending the University of Toronto, I lived in Ms Chow's. Despite a keen interest in policy and consequent hypersensitivity to politics, this is my first time writing to my Member(s) of Parliament. The occasion is Bill C-38, which may have passed by the time you receive this; nevertheless I want to detail why I find the bill personally offensive.&lt;/p&gt;
&lt;p&gt;Ms Adams doubtless knows from her time as a councillor that the City of Mississauga's 2010 strategic plan, &lt;em&gt;Our Future Mississauga&lt;/em&gt;, included the following “strategic pillars for change” (goals):&lt;ul&gt;&lt;li&gt;Developing a transit-oriented city.&lt;/li&gt;&lt;li&gt;Completing our neighbourhoods.&lt;/li&gt;&lt;li&gt;Living green.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;
&lt;p&gt;As a child in Mississauga, I was aware of the need for these changes on a personal but unconscious level. Although I was raised in a comfortable subdivision it was difficult, until I earned my driver's license, for me to get anywhere in the city to shop, to spend time with friends, or to pursue my involvement with the Royal Canadian Air Cadets. Even once I had my license, I was only able to drive because my family was wealthy enough to own two vehicles—many of my friends weren't so lucky.&lt;/p&gt;
&lt;p&gt;It was not until my engineering undergraduate that I realized this situation wasn't merely a fact of life; it was a &lt;em&gt;result _of planning (or inattention to planning) that allowed much of Mississauga to be covered with auto-oriented but transit-, cycling- and walking-unfriendly developments. This process continued even as _Our Future Mississauga&lt;/em&gt; was drafted, and now—the science of urban planning and public policy tells us—it will be expensive and contentious to update existing neighbourhoods to be comfortably livable for an aging population, and those who cannot afford cars.&lt;/p&gt;
&lt;p&gt;I tell this story because it represents &lt;em&gt;a failure to use existing knowledge and expertise to provide the best possible life for Canadians&lt;/em&gt;. By the time my parents' neighbourhood was built in the early 1980s, the study of cities had been established by such intelligent people as Jane Jacobs (whose advocacy against the proposed Spadina Expressway strongly affects the present state of Ms Chow's riding). Yet governments allowed it to be built in an unsustainable form, when they could have done better.&lt;/p&gt;
&lt;p&gt;Spurred by this and similar realizations, I now study in the Technology &amp;amp; Policy Program at the Massachusetts Institute of Technology, writing my master's thesis on the future of transportation in China. Doing so, I have learned that China—whatever its democratic deficits—is a nation which does not need to be told that science, engineering, policy analysis and rational decision-making are necessary to achieve economic growth and improved quality of life for its people. Living in the United States, I have also learned about the U.S. Environmental Protection Act, Clean Water Act, Clean Air Act, and other laws, and how they underpin a long legal and regulatory tradition of which Americans are justifiably proud.&lt;/p&gt;
&lt;p&gt;This brings me to Bill C-38, in particular the sections which repeal the Canadian Environmental Assessment Act, and also those which grant power to Cabinet to override decisions of the National Energy Board with respect to pipeline permitting.&lt;/p&gt;
&lt;p&gt;In both China and the U.S., as mentioned, there are considerable political pressures on decision-makers to provide economic growth, and this goal often clashes with that of environmental protection. Canada is no different. This is why processes of assessment and evaluation are put in place; they create a sober forum where rational thought can prevail; where level-headed consideration of alternatives is possible.&lt;/p&gt;
&lt;p&gt;Bill C-38 does &lt;em&gt;not&lt;/em&gt; emphasize efficiency while maintaining such safeguards; instead, it substantially weakens environmental assessment, allowing the well-being of future Canadians to be very easily sacrificed by the mere invocation (without proof) of “efficiency” or “economic growth.” It would allow existing knowledge and expert input to be discarded in response to short-term political pressure, over the legitimate objections of Canadians.&lt;/p&gt;
&lt;p&gt;These changes are wrong, and they would allow Canadians to come to harm. They would create situations where we look back with regret, saying, “We knew better, and could have done better.” Further, I feel it is unconscionable and undemocratic to hide them in an unrelated, omnibus budget bill, when they would be soundly defeated if proposed alone. As my representatives, I ask for an expression of your agreement with the foregoing, and of your intent to vote to remove these provisions from the bill.&lt;br&gt;&lt;br&gt;Yours sincerely,&lt;br&gt;&lt;br&gt;Paul Natsuo Kishimoto&lt;/p&gt;</content><category term="misc"/></entry><entry><title>Photo</title><link href="https://paul.kishimoto.name/2012/05/photo" rel="alternate"/><published>2012-05-08T00:00:00+02:00</published><updated>2012-05-08T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2012-05-08:/2012/05/photo</id><content type="html">&lt;p&gt;&lt;a href="http://www.flickr.com/photos/mezumiiru/7155276690/"&gt;&lt;img alt="IMG_2516p" src="https://farm6.staticflickr.com/5312/7155276690_142b06e153_b.jpg" /&gt;&lt;/a&gt;
Source: &lt;a href="http://www.flickr.com/photos/mezumiiru/"&gt;MarlaYuriko&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/></entry><entry><title>Rhetorical question</title><link href="https://paul.kishimoto.name/2012/05/rhetorical-question" rel="alternate"/><published>2012-05-07T00:00:00+02:00</published><updated>2012-05-07T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2012-05-07:/2012/05/rhetorical-question</id><content type="html">&lt;p&gt;[Posting again after yet another year-long hiatus, some site updates, a new comment system, etc.]&lt;/p&gt;
&lt;p&gt;To test-drive all this, a question: are the ideas of &lt;em&gt;work-life balance&lt;/em&gt; and a person's &lt;em&gt;life's work&lt;/em&gt; compatible?&lt;/p&gt;</content><category term="misc"/></entry><entry><title>#5: No questions, please.</title><link href="https://paul.kishimoto.name/2011/04/5-no-questions-please" rel="alternate"/><published>2011-04-02T00:00:00+02:00</published><updated>2011-04-02T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-04-02:/2011/04/5-no-questions-please</id><summary type="html">&lt;p&gt;Earlier today I &lt;a href="/310"&gt;made the case&lt;/a&gt; that "The Government of Canada" shouldn't be renamed on whim or even deliberately, and using "Canada's New Government" (technically correct in a very narrow sense) or "Harper Government" (mirrors vulgar usage, but inappropriate) rests on dangerously misleading semantics.&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;The next of at least &lt;a href="/posts/2011-election"&gt;36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in May is one facet of their treatment of our press. This will emerge as another theme—the CBC will get its own post, later.&lt;/p&gt;
&lt;p&gt;Before that, though: the names of things are important. Juliet, in a &lt;a href="http://en.wikisource.org/wiki/The_Tragedy_of_Romeo_and_Juliet#SCENE_II._Capulet.27s_orchard."&gt;famous passage&lt;/a&gt;, laments:&lt;/p&gt;
&lt;blockquote&gt;
…Romeo, doff thy name …&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;Earlier today I &lt;a href="/310"&gt;made the case&lt;/a&gt; that "The Government of Canada" shouldn't be renamed on whim or even deliberately, and using "Canada's New Government" (technically correct in a very narrow sense) or "Harper Government" (mirrors vulgar usage, but inappropriate) rests on dangerously misleading semantics.&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;The next of at least &lt;a href="/posts/2011-election"&gt;36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in May is one facet of their treatment of our press. This will emerge as another theme—the CBC will get its own post, later.&lt;/p&gt;
&lt;p&gt;Before that, though: the names of things are important. Juliet, in a &lt;a href="http://en.wikisource.org/wiki/The_Tragedy_of_Romeo_and_Juliet#SCENE_II._Capulet.27s_orchard."&gt;famous passage&lt;/a&gt;, laments:&lt;/p&gt;
&lt;blockquote&gt;
…Romeo, doff thy name,
And for that name which is no part of thee
Take all myself.
&lt;/blockquote&gt;
&lt;p&gt;But of course the two can't escape their names, and perish. &lt;a href="http://en.wikipedia.org/wiki/A_Wizard_of_Earthsea"&gt;Other authors&lt;/a&gt; have made explicit the magic in the power of names.&lt;/p&gt;
&lt;p&gt;The lesson is that, despite the difficulty, we ought to make an earnest effort to call spades, spades. You won't see 'Harpo,' 'Iggy,' 'Jack' or 'Liz' in this space, nor 'C(L)O(W)Nservative,' 'LIEberal,' 'Dipper' or any of the endless epithets that appear in newspaper comment threads. To me, their usage signals an unwillingness to confront the complex reality of the things the &lt;em&gt;actual&lt;/em&gt; names refer to. They are one-word caricatures.&lt;/p&gt;
&lt;p&gt;Likewise, if we use reductive proxies for information of real importance, we run a strong risk of making bad policy.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; Good policy is difficult even with full and correct information. As electors, our votes and inter-election communication with MPs present a mandate to enact certain policies, so we need access to the same information.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; Hence the importance of &lt;a href="/309"&gt;CAIRS&lt;/a&gt;; hence also the important of a free and independent press. In a list of tactics used in malfunctioning democracies to pervert elections, muzzling the press (or state control of media) would be up top with voter intimidation and ballot stuffing. Sunshine, as they say, is the best disinfectant.&lt;/p&gt;
&lt;p&gt;A 2006 event typifies the Conservative actions on this point. In news conferences&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; with the Prime Minister, a member of the Parliamentary Press Gallery used to pick which others would get to ask questions. The government decided that they, instead, would make that decisions. When the gallery walked out of a subsequent conference to protest, Stephen Harper &lt;a href="http://www.cbc.ca/news/canada/story/2006/05/24/harper05242006.html"&gt;falsely conflated&lt;/a&gt; press scrutiny with the activities of the Official Opposition, and then claimed that &lt;a href="http://www.cbc.ca/news/canada/story/2006/05/25/harper-press.html"&gt;"It ain't no thang anyway."&lt;/a&gt; Journalists being journalistic, others have &lt;a href="http://www.rabble.ca/news/stephen-harpers-press-gallery-take-down"&gt;written at length on this topic&lt;/a&gt;, and a &lt;a href="http://www.politicswatch.com/gallery-april13-2006.htm"&gt;timeline is available&lt;/a&gt;. The Prime Minister's Office went on to &lt;a href="http://www.cbc.ca/news/politics/story/2009/12/03/f-mcgregor-pmo-video.html"&gt;do similar things with news photography&lt;/a&gt;, and reportedly the press accompanying Mr. Harper during the campaign are—like children—expected to be seen, but not heard unless spoken to.&lt;/p&gt;
&lt;p&gt;In our daily lives, we may find ourselves in conversations where there is an elephant in the room. Between equals, we can &lt;a href="http://www.youtube.com/watch?v=3-son3EJTrU&amp;amp;hd=1"&gt;choose indirection&lt;/a&gt;, but in others cases we are on the weak end of a power relationship. When bosses, supervisors, significant others or parents ask questions, we must answer regardless of our discomfort with our inadequate answers, or the perceived unfairness of the questions.&lt;/p&gt;
&lt;p&gt;Our elected officials govern at the behest of the people. When the press asks questions of the government on their behalf, there is no ambiguity in where the power lies, or who ought to be able to compel answers. The Conservatives' treatment of the press in Ottawa is an inexcusable effort to subvert or reverse this relationship, and yet another reason to reprimand them when you cast your vote.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tomorrow (today?)&lt;/strong&gt; I will solicit accusations of anti-Semitism, despite my best efforts not to do so.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;em&gt;Intentionally&lt;/em&gt; misleading? Again, plausible deniability applies, but then there's no strict need to prove &lt;em&gt;mens rea&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;This applies also to the long form census…another future topic.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;This is a necessary but not a sufficient condition. We also need help interpreting the information.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Contrast &lt;em&gt;conference&lt;/em&gt; with &lt;em&gt;announcement&lt;/em&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>#4: "Canada's New Government"</title><link href="https://paul.kishimoto.name/2011/04/4-canadas-new-government" rel="alternate"/><published>2011-04-01T00:00:00+02:00</published><updated>2011-04-01T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-04-01:/2011/04/4-canadas-new-government</id><summary type="html">&lt;p&gt;In case you hadn't noticed, I am writing a series of daily posts on &lt;a href="/posts/2011-election"&gt;~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; this Election Day. This was supposed to be yesterday's post, but was delayed by work.&lt;/p&gt;
&lt;p&gt;The matter here is fairly simple: for almost two years at the beginning of their time in office, the Conservatives forced public servants to use the phrase &lt;a href="https://en.wikipedia.org/Canada%27s_New_Government"&gt;&lt;em&gt;Canada's New Government&lt;/em&gt;&lt;/a&gt; in the place of &lt;em&gt;Government of Canada&lt;/em&gt;. More recently, they resurrected the tactic with the phrase &lt;a href="http://www.cbc.ca/news/politics/story/2011/03/04/pol-harper-govt-brand.html"&gt;&lt;em&gt;Harper Government&lt;/em&gt;&lt;/a&gt;. Harper's &lt;u&gt;magazine&lt;/u&gt;&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; covered a related incident in &lt;a href="http://harpers.org/archive/2006/12/0081298"&gt; typical (cheeky) fashion.&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;
&lt;img style="width:80%" src="/image/gc-2.png"/&gt;
&lt;img style="width:80%" src="/image/gc-1.png"/&gt;&lt;br/&gt;
(Images: take a wild guess)
&lt;/center&gt;

&lt;p&gt;Often …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In case you hadn't noticed, I am writing a series of daily posts on &lt;a href="/posts/2011-election"&gt;~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; this Election Day. This was supposed to be yesterday's post, but was delayed by work.&lt;/p&gt;
&lt;p&gt;The matter here is fairly simple: for almost two years at the beginning of their time in office, the Conservatives forced public servants to use the phrase &lt;a href="https://en.wikipedia.org/Canada%27s_New_Government"&gt;&lt;em&gt;Canada's New Government&lt;/em&gt;&lt;/a&gt; in the place of &lt;em&gt;Government of Canada&lt;/em&gt;. More recently, they resurrected the tactic with the phrase &lt;a href="http://www.cbc.ca/news/politics/story/2011/03/04/pol-harper-govt-brand.html"&gt;&lt;em&gt;Harper Government&lt;/em&gt;&lt;/a&gt;. Harper's &lt;u&gt;magazine&lt;/u&gt;&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; covered a related incident in &lt;a href="http://harpers.org/archive/2006/12/0081298"&gt; typical (cheeky) fashion.&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;
&lt;img style="width:80%" src="/image/gc-2.png"/&gt;
&lt;img style="width:80%" src="/image/gc-1.png"/&gt;&lt;br/&gt;
(Images: take a wild guess)
&lt;/center&gt;

&lt;p&gt;Often we use "government" to denote departments, ministries and agencies and the people who work in them. I usually call this the public- or civil service. Alternately, "government" can mean something very different: the Prime Minister, the members of Cabinet and the other MPs in the governing party. Sometimes this is capitalized—e.g. "the Official Opposition asked the Government…" The two are unlike each another in many ways—for instance, one is elected; the other is not.&lt;/p&gt;
&lt;p&gt;In the United States there is &lt;em&gt;separation of powers&lt;/em&gt; between the legislature, executive and judiciary; but in our parliamentary system the executive is drawn from members of the legislature, and is responsible directly to it. In Canada, agencies are granted authority directly by Parliament; they answer to Ministers who are usually MPs. In the United States, agencies are granted authority by Congress, but their directors are unelected appointees of the President (executive). These are important distinctions with important ramifications, and you sat through a Civics course in middle or high school that was supposed to help you understand how &lt;em&gt;our&lt;/em&gt; system works.&lt;/p&gt;
&lt;p&gt;We all recognize the logos above as identifying the public service (government-as-organization); &lt;em&gt;not&lt;/em&gt; the government-as-elected-ruling-party. They contain the text "Government of Canada". I don't deny that this is branding, nor that it is an important way of ensuring people value, recognize and respect the public institutions which do so much work on their behalf. But we might expect that this brand should be &lt;em&gt;stable&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;To replace "Government of Canada" with some other phrase is &lt;em&gt;re-_branding, which is unnecessary and makes little to no sense. When the re-branding is occasioned by a change in the _elected&lt;/em&gt; government, but the "new" label is applied to the &lt;em&gt;permanent&lt;/em&gt; government, it creates confusion by effacing the distinction between the two.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; Unless one is paying close attention—and stayed awake in Civics—it was quite possible to miss this change this entirely.&lt;/p&gt;
&lt;p&gt;This is, I assert, wrong—at the very least because it deeply undermines our education system. I would also be extremely interested in a comparative study of press releases and other government communications which &lt;em&gt;did&lt;/em&gt; and &lt;em&gt;did not&lt;/em&gt; use the label. A casual search reveals ministers galore using the label in press conferences and policy announcements, but one wonders: did the elected government also appropriate credit due to the public service when it produced bad news? Did anyone ever release language like, "Canada's New Government has published data showing an increase in the unemployment rate"?&lt;/p&gt;
&lt;p&gt;The newer label ("Harper Government") is even worse, because it was not even ordered at the juncture of an election, and because it introduces further confusion with presidential systems in which the head of government is &lt;em&gt;also&lt;/em&gt; the head of state.&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; It pains me that I must repeat it, but we do not have a presidential system.&lt;/p&gt;
&lt;p&gt;More generally, government is not easy work. There are more important, worthy issues to be dealt with than there is time or money for; this is the thing that necessitates difficult value judgements about policy priorities. Even if you wanted and tried to please everyone, you couldn't. That the Conservatives chose to work on a misleading re-branding exercise instead of insert-any-real-issue-here is an insult to the electorate, and my fourth reason to not vote for them on May 2.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Follow-up:&lt;/strong&gt; The Globe and Mail has a &lt;a href="http://www.theglobeandmail.com/news/opinions/opinion/the-f-35-not-whether-to-buy-it-but-why/article1965633/"&gt;guest column&lt;/a&gt; covering the same argument I made about the F-35 in &lt;a href="/307"&gt;my first post&lt;/a&gt;. It's better written.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Next:&lt;/strong&gt; "No comment."&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;One of my favourite periodicals. The name similiarity is a coincidence. &lt;a href="http://harpers.org"&gt;harpers.org&lt;/a&gt;↗&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;It also raises the secondary question of what name the &lt;em&gt;next&lt;/em&gt; government would use, if it repeats the Conservatives' mistake. &lt;em&gt;Canada's Next Government&lt;/em&gt;? At that rate, we will run out of synonyms for "new" before too long.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Not so here. Pop quiz: name our head of state.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>#3: CAIRS</title><link href="https://paul.kishimoto.name/2011/03/3-cairs" rel="alternate"/><published>2011-03-31T00:00:00+02:00</published><updated>2011-03-31T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-03-31:/2011/03/3-cairs</id><summary type="html">&lt;p&gt;Twice is coincidence—thrice, a trend!&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; This post continues a &lt;a href="/posts/2011-election"&gt;list of ~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in the 2011 Canadian federal election.&lt;/p&gt;
&lt;p&gt;In a footnote to &lt;a href="/308"&gt;yesterday's item on Abousfian Abdelrazik&lt;/a&gt;, I lamented that we might never know who was behind denying him diplomatic aid. The failure of Lawrence Cannon to reverse that action was bad enough in itself, but it's still natural to want to assign blame for the initial decision. However, it's unlikely that information could be obtained on who made the call; in its absence there is frustrating "plausible deniability" for Minister Cannon or …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Twice is coincidence—thrice, a trend!&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; This post continues a &lt;a href="/posts/2011-election"&gt;list of ~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in the 2011 Canadian federal election.&lt;/p&gt;
&lt;p&gt;In a footnote to &lt;a href="/308"&gt;yesterday's item on Abousfian Abdelrazik&lt;/a&gt;, I lamented that we might never know who was behind denying him diplomatic aid. The failure of Lawrence Cannon to reverse that action was bad enough in itself, but it's still natural to want to assign blame for the initial decision. However, it's unlikely that information could be obtained on who made the call; in its absence there is frustrating "plausible deniability" for Minister Cannon or whomever we suspect was at fault.&lt;/p&gt;
&lt;p&gt;Consider two ideas about governments. One: they are secretive, jealous, and the civil service always covers its tracks in ways which are at odds with the public interest, including limiting public knowledge of their mistakes. Politicians use the same cloak of darkness to cover all kinds of dastardly deeds. Two: government should be completely open, and the public must be able to, at will, walk in and peruse any work being done on our behalf. Our servants ought to quickly and fully comply with our requests for this information.&lt;/p&gt;
&lt;p&gt;Obviously these are both caricatures. Compared to private business, government is subject to much more varied and more intense scrutiny. We might guess that, given a government and large business with the same number of employees, less is known by outsiders about major and minor mistakes made by the corporation. Considering what each is required by law to disclose reinforces this point. Government is not, in short, a particularly good secrecy machine, and we know quite a lot about what it does.&lt;/p&gt;
&lt;p&gt;On the second point, complete transparency is not desirable. We are concerned when a website has its database raided for hundreds of thousands of credit card records, or a government &lt;a href="http://www.cbc.ca/news/canada/toronto/story/2009/12/22/health-information.html"&gt;loses a large number of medical records&lt;/a&gt;, because we consider such information private, and we share it only on the expectation that others will guard it. Government, inasmuch as its activities touch all citizens at some point in their lives, needs to be good at protecting the private information it collects about them.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; There are several other good reasons for secrecy; for example, premature disclosure of regulatory decisions might be &lt;a href="http://www.cbc.ca/news/canada/story/2010/11/24/f-greg-weston-taseko.html"&gt;confer unfair market advantage&lt;/a&gt;; or enemies who obtain military plans could lay deadly ambushes.&lt;/p&gt;
&lt;p&gt;Where am I going with this? The point is that there is a &lt;em&gt;balance&lt;/em&gt; to be struck between openness and necessary confidentiality,&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; one that can't be painted in broad strokes but must be instead carefully considered and decided in each new situation. Most crucially, rather than a &lt;em&gt;laissez-faire&lt;/em&gt; approach,&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; we establish officers like the Information Commissioner and Privacy Commissioner who have somewhat conflicting purposes. Their role, much like the defence and prosecution in criminal law, is to articulate detailed arguments &lt;em&gt;for&lt;/em&gt; and &lt;em&gt;against&lt;/em&gt; secrecy (or disclosure), so that informed decisions can be made.&lt;/p&gt;
&lt;p&gt;When this adversarial approach yields a decision rule or guideline that is useful in a well-defined set of situations, we enshrine it as best practice and create procedures or systems based on it. These avoid endless rehashing of the same debates, and bring me to the substance of today's item. The &lt;a href="http://www.cbc.ca/news/canada/story/2008/05/02/cairs.html"&gt;Coordination of Access to Information Requests System&lt;/a&gt; was one such embodiment—until the Conservative government shut it down. Originally created to allow government departments to act in concert on related AIRs,&lt;sup id="fnref:5"&gt;&lt;a class="footnote-ref" href="#fn:5"&gt;5&lt;/a&gt;&lt;/sup&gt; it was also ripe for allowing the public to view that information online. Because the chief obstacles in filing AIRs—the small fee, the paperwork, and the delay while the information is assembled—were bureaucratic, and not often privacy-related, CAIRS offered a rare opportunity to greatly increase transparency with little downside risk.&lt;/p&gt;
&lt;p&gt;Why was the order given to stop using it? Did it have some faults we might have fixed while preserving its benefits? In what will become a recurring theme, no reason was given besides a vague, untraceable reference to expert advice and aspersions cast on 'centralization' in general. As a result we are &lt;a href="http://www.foia.gov/data.html?foia/Services/DataRequest.jsp?agencyName=DOJ&amp;amp;requestYear=2010"&gt;behind the United States&lt;/a&gt; on this matter; and the &lt;a href="http://www.cbc.ca/news/politics/inside-politics-blog/2010/12/hold-the-applause-some-federal-government-departments-are-posting-access-to-information-requests-onl.html"&gt;few agencies&lt;/a&gt; that &lt;em&gt;are&lt;/em&gt; taking CAIRS-like action duplicate effort and expense by doing so in parallel. I have confidence that we will eventually catch up; but for setting us back at least a decade in this area, the Conservative party deserves a reprimand at the ballot box.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tomorrow:&lt;/strong&gt; "Canada's New Government," or, what's in a name?&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;It is past midnight on the east coast, but not the west, so I'll claim I hit my Wednesday target.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;Even &lt;em&gt;non&lt;/em&gt;-private information, if the data set is large enough, can be abused by unscrupulous people. Navigating around such problems earned Statistics Canada an international reputation—more on that later.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Be wary of anyone who makes an unequivocal case for either one.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;For example, accepting at face value an unsubstantiated claim that some information would "harm national security."&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;If you're not familiar with the general concept or Canada's implementation of &lt;a href="https://en.wikipedia.org/wiki/Access_to_Information_Act"&gt;access to information legislation&lt;/a&gt;, I encourage you to educate yourself about it. It is an essential feature of the world's strongest democracies.&amp;#160;&lt;a class="footnote-backref" href="#fnref:5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>#2: Abousfian Abdelrazik</title><link href="https://paul.kishimoto.name/2011/03/2-abousfian-abdelrazik" rel="alternate"/><published>2011-03-29T00:00:00+02:00</published><updated>2011-03-29T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-03-29:/2011/03/2-abousfian-abdelrazik</id><summary type="html">&lt;p&gt;Who? &lt;a href="http://en.wikipedia.org/wiki/Abousfian_Abdelrazik"&gt;This guy&lt;/a&gt;:&lt;/p&gt;
&lt;center&gt;
![Abousfian Abdelrazik]({static}/image/mtl-Abdelrazik-face-cp-0312.jpg)
![Abousfian Abdelrazik]({static}/image/abdelrazik-cp-8063505.jpg)

(Images: CBC)
&lt;/center&gt;

&lt;p&gt;He's one of &lt;a href="/posts/2011-election"&gt;~36 reasons to not vote Conservative&lt;/a&gt; in the May 2 general election. Yesterday was the &lt;a href="/307"&gt;F-35&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I'm short on time, so this will be a brief post; but it introduces a theme that I can expand on later by talking about Suaad Hagi Mohamud and Omar Khadr. The Wikipedia article (link above) provides a good overview of what happened to Mr. Abdelrazik, so I won't bother with paraphrase.&lt;/p&gt;
&lt;p&gt;There are some unsurprising things in his case. One is that the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Who? &lt;a href="http://en.wikipedia.org/wiki/Abousfian_Abdelrazik"&gt;This guy&lt;/a&gt;:&lt;/p&gt;
&lt;center&gt;
![Abousfian Abdelrazik]({static}/image/mtl-Abdelrazik-face-cp-0312.jpg)
![Abousfian Abdelrazik]({static}/image/abdelrazik-cp-8063505.jpg)

(Images: CBC)
&lt;/center&gt;

&lt;p&gt;He's one of &lt;a href="/posts/2011-election"&gt;~36 reasons to not vote Conservative&lt;/a&gt; in the May 2 general election. Yesterday was the &lt;a href="/307"&gt;F-35&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I'm short on time, so this will be a brief post; but it introduces a theme that I can expand on later by talking about Suaad Hagi Mohamud and Omar Khadr. The Wikipedia article (link above) provides a good overview of what happened to Mr. Abdelrazik, so I won't bother with paraphrase.&lt;/p&gt;
&lt;p&gt;There are some unsurprising things in his case. One is that the Canadian Security Intelligence Service (CSIS) and the U.S. Federal Bureau of Investigation (FBI) were overzealous and acted thuggish, saying things like, "You'll never return to Canada!" Pure, unadulterated Hollywood cliché.&lt;/p&gt;
&lt;p&gt;We expect rigour and thoroughness in our security agencies and personnel, and we might tolerate a bit of zeal for that reason. We don't grant them license to act like cowboys.&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; We also acknowledge (even when they won't) that they make occasional mistakes. For example, you might remember the names Abdullah Almalki and Ahmed El Maati (I didn't) and I really hope you recall Maher Arar. The experiences of these three occurred before the Conservatives came to power, so the fact that Mr. Abdelrazik was flagged as a "false positive" can't be pinned on them.&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; So how does blame attach?&lt;/p&gt;
&lt;p&gt;The proper response to a mistake, if I learned anything from my parents, is to apologize, make good the harm done, and learn a lesson about avoiding the same mistake in the future. The government has demonstrably not done any of these things for Mr. Abdelrazik. Worse, it &lt;a href="http://www.theglobeandmail.com/news/world/article719739.ece"&gt;actively denied him diplomatic help.&lt;/a&gt; On Sunday, I wrote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Our Members of Parliament…delegate some of [their] responsibility to the civil service, but [they] are ultimately responsible.
So while the hands-off message was delivered by a Department of Foreign Affairs official,&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; Foreign Minister Lawrence Cannon is answerable for that action; and for his continued failure to reverse it, reprimand the official, or implement any policy to prevent similar occurrences in the future.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tomorrow:&lt;/strong&gt; who cares about CAIRS?&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Or cowgirls! CSIS is an equal opportunity employer.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;There is a very interesting legal question here about whether the occasional wrongful detention of a Canadian &lt;em&gt;not in Canada&lt;/em&gt;, on a precautionary basis, without conviction, can be squared with &lt;a href="http://lois-laws.justice.gc.ca/eng/charter/page-1.html#anchorbo-ga:l_I-gb:s_1"&gt;"reasonable limits prescribed by law [which] can be demonstrably justified in a free and democratic society,"&lt;/a&gt; if that society happens to be worried about terrorism. I feel as if that's a capitulation to &lt;em&gt;actual&lt;/em&gt; terrorists.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;We might never—though we have every right to—know if this happened with the knowledge or approval of the minister.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>#1: The Joint Strike Fighter</title><link href="https://paul.kishimoto.name/2011/03/1-the-joint-strike-fighter" rel="alternate"/><published>2011-03-28T00:00:00+02:00</published><updated>2011-03-28T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-03-28:/2011/03/1-the-joint-strike-fighter</id><summary type="html">&lt;iframe title="YouTube video player" width="640" height="390" src="https://www.youtube.com/embed/f_j-ho4y5Tw?rel=0" frameborder="0" allowfullscreen="1"&gt; &lt;/iframe&gt;

&lt;p&gt;Shiny, innit?&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Nevertheless, the F-35 is one of &lt;a href="/306"&gt;~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in the 2011 Canadian general election, and the first post in my daily series.&lt;/p&gt;
&lt;p&gt;At least part of each item will involve me asserting some kind of authority on the topic, in order to make you receptive to what I say. Sometimes that will be a stretch; in this case, it's not. I have been a fighter jet nerd&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; since I was a kid; this led me to join Air Cadets while in junior high, earn my pilot's license, briefly consider joining the Canadian …&lt;/p&gt;</summary><content type="html">&lt;iframe title="YouTube video player" width="640" height="390" src="https://www.youtube.com/embed/f_j-ho4y5Tw?rel=0" frameborder="0" allowfullscreen="1"&gt; &lt;/iframe&gt;

&lt;p&gt;Shiny, innit?&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; Nevertheless, the F-35 is one of &lt;a href="/306"&gt;~36 reasons to &lt;em&gt;not&lt;/em&gt; vote Conservative&lt;/a&gt; in the 2011 Canadian general election, and the first post in my daily series.&lt;/p&gt;
&lt;p&gt;At least part of each item will involve me asserting some kind of authority on the topic, in order to make you receptive to what I say. Sometimes that will be a stretch; in this case, it's not. I have been a fighter jet nerd&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; since I was a kid; this led me to join Air Cadets while in junior high, earn my pilot's license, briefly consider joining the Canadian Forces, and eventually study aerospace engineering for about six years. I have seen Top Gun about a dozen times, etc.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Viz.&lt;/em&gt;, I like planes.&lt;/p&gt;
&lt;p&gt;Yesterday I linked to the &lt;a href="http://en.wikipedia.org/wiki/Canadian_Lockheed_Martin_F-35_Lightning_II_procurement"&gt;history of Canada's involvement in the procurement process&lt;/a&gt;. As it stands, the Conservatives have committed to buying 65 jets as replacements for our current &lt;a href="http://en.wikipedia.org/wiki/McDonnell_Douglas_CF-18_Hornet"&gt;CF-18s&lt;/a&gt;. The Parliamentary Budget Officer&lt;sup id="fnref:3"&gt;&lt;a class="footnote-ref" href="#fn:3"&gt;3&lt;/a&gt;&lt;/sup&gt; has estimated the total cost of ownership to be $29.3 billion.&lt;/p&gt;
&lt;p&gt;The issue of what the "real" price is, and who should have told whom about it when, is important, but I'll deal with that in the future. Let's just focus on the purchase itself.&lt;/p&gt;
&lt;p&gt;Here are some relevant policy questions, from broad to specific:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What is Canada's role in the world?&lt;/li&gt;
&lt;li&gt;What threats, if any, does it face?&lt;/li&gt;
&lt;li&gt;To fulfill #1 and address #2, is military action required?&lt;/li&gt;
&lt;li&gt;What kind?&lt;/li&gt;
&lt;li&gt;What military capability would we need, cost being no object?&lt;/li&gt;
&lt;li&gt;What equipment is necessary to support that capability?&lt;/li&gt;
&lt;li&gt;How much (given our other priorities), are we willing to pay for it?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The answers that would make the purchase a clear good idea are roughly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Do the same kinds of things the U.S. does.&lt;/li&gt;
&lt;li&gt;People coming to attack us with things that can be stopped using air superiority.&lt;/li&gt;
&lt;li&gt;Yes, inevitably.&lt;/li&gt;
&lt;li&gt;Air combat, close air support, or bombing.&lt;/li&gt;
&lt;li&gt;An air command capable of performing the above tasks.&lt;/li&gt;
&lt;li&gt;Manned jet aircraft.&lt;/li&gt;
&lt;li&gt;~$30 billion.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;These are either weak or highly reductive.&lt;/p&gt;
&lt;p&gt;On defence (#2), obviously not. The Cold War is over; there are no longer Soviets eager to bring death to us over the pole.&lt;sup id="fnref:4"&gt;&lt;a class="footnote-ref" href="#fn:4"&gt;4&lt;/a&gt;&lt;/sup&gt; Even were valuable resources discovered on the Arctic seafloor—now sadly accessible in the summer—there would be intensive diplomatic and trade disputes, but no war, nor any need for deterrence in our northern airspace. On this matter good points are raised about the value of unmanned aircraft for surveillance and the risks of flying a single-engine jet in remote areas.&lt;sup id="fnref:5"&gt;&lt;a class="footnote-ref" href="#fn:5"&gt;5&lt;/a&gt;&lt;/sup&gt; These are valid; but air superiority in the north is still of limited value.&lt;/p&gt;
&lt;p&gt;In terms of action abroad, I can't imagine a situation where we would act without the blessing of both the UN Security Council and NATO, as in Libya. In such cases we will always act with allies who happily spend lots of their money on significant jet air power. Good for them. There is no requirement that our participation in joint military action be in-kind. My understanding is that the Canadian Forces are renowned for the high calibre of their training; we can certainly supply more than our share of talented infantry, artillery, airlift, naval support and &lt;a href="http://www.cbc.ca/news/world/story/2011/03/25/libya-nato-mission.html"&gt;commanders&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In Iraq and Afghanistan, the real air power story is unmanned aerial vehicles (UAVs). These raise &lt;a href="http://www.ted.com/talks/pw_singer_on_robots_of_war.html"&gt;interesting questions about autonomy&lt;/a&gt;, but they are certainly cheaper by orders of magnitude and in some senses perform better than manned aircraft.&lt;sup id="fnref:6"&gt;&lt;a class="footnote-ref" href="#fn:6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Finally, on cost. The best figure I can find on the CF-18 procurement was $2.4b in 1977 dollars, which is &lt;a href="http://www.bankofcanada.ca/en/rates/inflation_calc.html"&gt;roughly $8.4b today&lt;/a&gt;, or only a quarter of the F-35 price (for twice as many aircraft). This "replacement" would, perhaps, be the largest defence procurement in Canadian history; and yet there is no discussion happening on the above questions. Nor is anyone advancing those shaky intermediate answers, trying to provide an alternate justification,&lt;sup id="fnref:7"&gt;&lt;a class="footnote-ref" href="#fn:7"&gt;7&lt;/a&gt;&lt;/sup&gt; or claiming that we can't address the many needs of the Canadian Forces with anything less than $29.3b.&lt;/p&gt;
&lt;p&gt;It's reasonable to expect that a new Conservative government would interpret their mandate as one to go ahead with the purchase; that's one reason to &lt;em&gt;not&lt;/em&gt; elect one on May 2.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tomorrow:&lt;/strong&gt; &lt;a href="http://en.wikipedia.org/wiki/Abousfian_Abdelrazik"&gt;Absousfian Abdelrazik&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Your comments and suggestions are welcome.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;I realize that Canada would not be buying the &lt;a href="http://en.wikipedia.org/wiki/STOVL"&gt;STOVL&lt;/a&gt; variant. The video is not an attempt to mislead on this point.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;I am several kinds of nerd.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;Kevin Page gets an entire post to himself, later.&amp;#160;&lt;a class="footnote-backref" href="#fnref:3" title="Jump back to footnote 3 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;One wonders how few in the USSR ever &lt;em&gt;were&lt;/em&gt; eager.&amp;#160;&lt;a class="footnote-backref" href="#fnref:4" title="Jump back to footnote 4 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:5"&gt;
&lt;p&gt;The CF-18 has two; if a goose flies into one, you limp home on the other.&amp;#160;&lt;a class="footnote-backref" href="#fnref:5" title="Jump back to footnote 5 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:6"&gt;
&lt;p&gt;The U.S.'s perennial problems with civilian deaths in Pakistan may suggest that even precision air strikes are too blunt an instrument for dealing with terrorists; but so-called &lt;a href="http://www.cbc.ca/news/background/friendlyfire/"&gt;collateral damage can be a problem even with human pilots&lt;/a&gt;.&amp;#160;&lt;a class="footnote-backref" href="#fnref:6" title="Jump back to footnote 6 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:7"&gt;
&lt;p&gt;For example, economics; Canadian firms might help build the jets we buy, yes. But is buying an already-designed American military aircraft the best way to stimulate our aircraft industry? Why is it a better choice than supporting new, domestic, civil aircraft?&amp;#160;&lt;a class="footnote-backref" href="#fnref:7" title="Jump back to footnote 7 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>~36 Reasons To NOT Vote Conservative</title><link href="https://paul.kishimoto.name/2011/03/36-reasons-to-not-vote-conservative" rel="alternate"/><published>2011-03-27T00:00:00+01:00</published><updated>2011-03-27T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2011-03-27:/2011/03/36-reasons-to-not-vote-conservative</id><summary type="html">&lt;p&gt;By now you've heard that the next federal election will be on Monday, May 2. Despite talk of it being "unwanted", I feel it's long overdue.&lt;/p&gt;
&lt;p&gt;The first and most important thing is that &lt;strong&gt;you should vote&lt;/strong&gt;. &lt;a href="http://elections.ca"&gt;Elections Canada&lt;/a&gt; has good information on how to do that. You can vote early, by mail (as I will), or on Election Day itself. In the latter case, you are entitled &lt;em&gt;by law&lt;/em&gt; to three hours off work, 100% consequence-free, in which to go cast your ballot. Mark your calendar. The turnout in 2008 was 59.1%, which was embarrassing enough. The same …&lt;/p&gt;</summary><content type="html">&lt;p&gt;By now you've heard that the next federal election will be on Monday, May 2. Despite talk of it being "unwanted", I feel it's long overdue.&lt;/p&gt;
&lt;p&gt;The first and most important thing is that &lt;strong&gt;you should vote&lt;/strong&gt;. &lt;a href="http://elections.ca"&gt;Elections Canada&lt;/a&gt; has good information on how to do that. You can vote early, by mail (as I will), or on Election Day itself. In the latter case, you are entitled &lt;em&gt;by law&lt;/em&gt; to three hours off work, 100% consequence-free, in which to go cast your ballot. Mark your calendar. The turnout in 2008 was 59.1%, which was embarrassing enough. The same turnout would be even more shameful this May, when people will still (presumably) be catching bullets in the Middle East from governments they would prefer to elect.&lt;/p&gt;
&lt;p&gt;The lineup at your polling station will be shorter than the one you may have stood in to buy the latest Apple device, concert ticket, or Boxing Day doorcrasher. If you have a well-articulated, principled reason for not supporting any candidate in your riding, go in anyway to spoil the ballot. There is really &lt;em&gt;no&lt;/em&gt; good excuse to not show up.&lt;/p&gt;
&lt;p&gt;Next—to deliver on an idea I've made some noise about in past months, this entry introduces a daily series of very short&lt;sup id="fnref:1"&gt;&lt;a class="footnote-ref" href="#fn:1"&gt;1&lt;/a&gt;&lt;/sup&gt; posts on why you should &lt;em&gt;not&lt;/em&gt; vote for the Conservative candidate (if there is one) in your riding. There will be one reason per day. Your suggestions (in the comments) are welcome.&lt;/p&gt;
&lt;p&gt;I don't intend to tell you who to vote &lt;em&gt;for&lt;/em&gt;. That's a difficult question, and there are many ways to justify a vote &lt;em&gt;for&lt;/em&gt; someone. However, one reason to vote &lt;em&gt;against&lt;/em&gt; someone is to fire them. Our Members of Parliament are sent to Ottawa and paid well to do a specific job: govern the country. They delegate some of this responsibility to the civil service (Elections Canada, for example), but the elected representatives are ultimately responsible. If they prove irresponsible, that is a very solid reason to replace them.&lt;/p&gt;
&lt;p&gt;My method here will be to survey the evidence that the Government (i.e. sitting Conservatives, the Ministers among them, and the Prime Minister) has either been not governing or governing badly&lt;sup id="fnref:2"&gt;&lt;a class="footnote-ref" href="#fn:2"&gt;2&lt;/a&gt;&lt;/sup&gt; for the last five years, and ought to be fired. I will not convince you, but will arm you to convince &lt;em&gt;yourself&lt;/em&gt; that another Conservative minority or a majority would continue in the same poor vein. This would also, incidentally, be a good reason to doubt that replacing your &lt;em&gt;non&lt;/em&gt;-Conservative incumbent MP with a Conservative would not significantly alter the party's course.&lt;/p&gt;
&lt;p&gt;Bookmark &lt;a href="http://paul.kishimoto.name/posts/2011-election"&gt;http://paul.kishimoto.name/posts/2011-election&lt;/a&gt; or grab the RSS feed at that URL.
&lt;strong&gt;Tomorrow:&lt;/strong&gt; the &lt;a href="http://en.wikipedia.org/wiki/Canadian_Lockheed_Martin_F-35_Lightning_II_procurement"&gt;Joint Strike Fighter&lt;/a&gt;.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Previous attempts at series of posts have &lt;a href="/305"&gt;died on the vine&lt;/a&gt;, so I will not promise to be a news source (search the CBC's archives), an authoritative reference (Wikipedia is a start), a barometer of fact, or anything of the sort. I will sketch, summarize, remind, direct you to other sources and editorialize a bit.&amp;#160;&lt;a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;A common rejoinder is that the opposition parties have been blocking the work of the government. But suppose the &lt;em&gt;opposition&lt;/em&gt; parties failed to &lt;em&gt;oppose&lt;/em&gt; legislation brought by a minority government that contained provision to which their constituents (and they) disagreed. They would neglect their &lt;em&gt;own&lt;/em&gt; responsibilities. Also, a well-intentioned government stymied by obstinate opposition will produce different results from one foiled in its pursuit of unreasonable policies. We've been seeing more of the latter.&amp;#160;&lt;a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text"&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="2011"/></entry><entry><title>Pork and Beans</title><link href="https://paul.kishimoto.name/2010/10/pork-and-beans" rel="alternate"/><published>2010-10-23T00:00:00+02:00</published><updated>2010-10-23T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-10-23:/2010/10/pork-and-beans</id><summary type="html">&lt;p&gt;This is the first entry in what will be a regular feature on life in Boston—including Cambridge &amp;amp; &lt;a href="http://web.mit.edu"&gt;MIT&lt;/a&gt;—mainly aimed at family, friends, colleagues, acquaintances, etc. (you know who you are) from Toronto—including Mississauga &amp;amp; &lt;a href="http://utoronto.ca"&gt;UofT&lt;/a&gt;. The title comes from the nicknames &lt;a href="http://en.wikipedia.org/wiki/Name_of_Toronto#Nicknames"&gt;&lt;strong&gt;Hogtown&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://www.boston.com/travel/boston/boston_nicknames"&gt;&lt;strong&gt;Beantown&lt;/strong&gt;&lt;/a&gt;. "Pork &amp;amp; Beans" is also a Weezer tune with a &lt;a href="http://www.youtube.com/watch?v=PQHPYelqr0E"&gt;meme-packed music video&lt;/a&gt;, and the &lt;a href="http://www.bosstonesmusic.com/"&gt;&lt;u&gt;Bos&lt;/u&gt;s&lt;u&gt;ton&lt;/u&gt;e&lt;/a&gt; musical joke was already taken.&lt;/p&gt;
&lt;p&gt;My aims are…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;to give you a sense of what it's like to live here,&lt;/li&gt;
&lt;li&gt;to make you want to visit me, and&lt;/li&gt;
&lt;li&gt;to make sure I don't forget what makes …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;This is the first entry in what will be a regular feature on life in Boston—including Cambridge &amp;amp; &lt;a href="http://web.mit.edu"&gt;MIT&lt;/a&gt;—mainly aimed at family, friends, colleagues, acquaintances, etc. (you know who you are) from Toronto—including Mississauga &amp;amp; &lt;a href="http://utoronto.ca"&gt;UofT&lt;/a&gt;. The title comes from the nicknames &lt;a href="http://en.wikipedia.org/wiki/Name_of_Toronto#Nicknames"&gt;&lt;strong&gt;Hogtown&lt;/strong&gt;&lt;/a&gt; and &lt;a href="http://www.boston.com/travel/boston/boston_nicknames"&gt;&lt;strong&gt;Beantown&lt;/strong&gt;&lt;/a&gt;. "Pork &amp;amp; Beans" is also a Weezer tune with a &lt;a href="http://www.youtube.com/watch?v=PQHPYelqr0E"&gt;meme-packed music video&lt;/a&gt;, and the &lt;a href="http://www.bosstonesmusic.com/"&gt;&lt;u&gt;Bos&lt;/u&gt;s&lt;u&gt;ton&lt;/u&gt;e&lt;/a&gt; musical joke was already taken.&lt;/p&gt;
&lt;p&gt;My aims are…&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;to give you a sense of what it's like to live here,&lt;/li&gt;
&lt;li&gt;to make you want to visit me, and&lt;/li&gt;
&lt;li&gt;to make sure I don't forget what makes home, home!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm also curious if more people will read and comment on these than on previous posts, i.e. if gonzo journalism will prove more engaging than my usual wonkery. At the same time, I'll try to avoid merely touristic content. Expect new entries once a week or so. Whether the two months since my 20 August arrival will ever get backfilled is uncertain.&lt;/p&gt;
&lt;h2&gt;Why I'm here (in 60 words or less)&lt;/h2&gt;
&lt;p&gt;I'm studying in the &lt;a href="http://tppserver.mit.edu"&gt;Technology &amp;amp; Policy Program (TPP)&lt;/a&gt;, a two-year master's program leading to an SM degree. There's both coursework and research involved. It's part of the &lt;a href="http://esd.mit.edu"&gt;Engineering Systems Division&lt;/a&gt; at MIT, which also has a PhD program that I intend to get into. Why policy? Perhaps read more of this website.&lt;/p&gt;
&lt;h2&gt;MIT by the numbers&lt;/h2&gt;
&lt;p&gt;We all like numbers. Consider some data about four entities: the &lt;a href="http://www.utoronto.ca/about-uoft/quickfacts.htm"&gt;University of Toronto&lt;/a&gt;; UofT's &lt;a href="http://www.engineering.utoronto.ca/About/Facts_Figures.htm"&gt;Faculty of Applied Science and Engineering&lt;/a&gt;; &lt;a href="http://web.mit.edu/facts/enrollment.html"&gt;MIT&lt;/a&gt;; and MIT's &lt;a href="http://engineering.mit.edu/about/statistics/statistics.php"&gt;School of Engineering&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;UofT&lt;/th&gt;&lt;th&gt;APSE&lt;/th&gt;&lt;th&gt;MIT&lt;/th&gt;&lt;th&gt;SoE&lt;/th&gt;&lt;/tr&gt;
  &lt;/thead&gt;

  &lt;tbody&gt;
    &lt;tr&gt;&lt;td&gt;Undergraduates&lt;/td&gt;&lt;td&gt; 33,371 &lt;/td&gt;&lt;td&gt; 4668 &lt;/td&gt;&lt;td&gt; 4232 &lt;/td&gt;&lt;td&gt; 1886 &lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;Grad Students&lt;/td&gt;&lt;td&gt; 11,638 &lt;/td&gt;&lt;td&gt; 1476 &lt;/td&gt;&lt;td&gt; 6152 &lt;/td&gt;&lt;td&gt; 2794 &lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;Total&lt;/td&gt;&lt;td&gt; ~45,000 &lt;/td&gt;&lt;td&gt; 6144 &lt;/td&gt;&lt;td&gt; 10,384 &lt;/td&gt;&lt;td&gt; 4680 &lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;Faculty&lt;/td&gt;&lt;td&gt; 2551 &lt;/td&gt;&lt;td&gt; 230 &lt;/td&gt;&lt;td&gt; 1009 &lt;/td&gt;&lt;td&gt; 370 &lt;/td&gt;&lt;/tr&gt;
    &lt;tr&gt;&lt;td&gt;Campus area&lt;/td&gt;&lt;td&gt; 71 ha &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; 68 ha &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;td&gt; &lt;/td&gt;&lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Curiously, the UofT Engineering annual report (link above) cites a global ranking for the category of &lt;em&gt;public&lt;/em&gt; universities, which excludes rich, private schools like MIT and results in a higher placement. But with roughly eight times the endowment (USD 8 billion vs. CAD 1.3 billion) and one fifth as many students as UofT, it's not a fair comparison. We also see that the graduate/undergraduate ratio is much higher here.&lt;/p&gt;
&lt;p&gt;In this context you can appreciate UofT's plans to slightly increase the graduate student population at the St. George campus and shift some of the arts &amp;amp; science student body to the satellite campuses.&lt;/p&gt;
&lt;h2&gt;Other miscellaneous observations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://whereis.mit.edu/?go=NW30"&gt;My residence&lt;/a&gt; is in a corner of campus, north of a cross-cutting rail corridor, that is populated by big biotech firms, small biotech firms, and biotech firms of middling size. These include &lt;a href="http://www.mlnm.com/"&gt;Takeda Millenium Oncology&lt;/a&gt;, &lt;a href="http://www.novartis.com/"&gt;Novartis&lt;/a&gt;, &lt;a href="http://www.sanofi-aventis.us/"&gt;Sanofi Aventis&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There's quite a lot of craft beer in Boston, which is a good thing because the lowest common denominator (&lt;a href="http://www.ratebeer.com/beer/pabst-blue-ribbon/734/"&gt;PBR&lt;/a&gt;, &lt;a href="http://www.ratebeer.com/beer/miller-high-life/407/"&gt;Miller High Life&lt;/a&gt;, &lt;a href="http://www.ratebeer.com/beer/bud-light/474/"&gt;Bud Light&lt;/a&gt;) is low indeed. Some good pours I've had are &lt;a href="http://www.ratebeer.com/beer/harpoon-ipa/694/"&gt;Harpoon IPA&lt;/a&gt;, &lt;a href="http://www.ratebeer.com/beer/21st-amendment-brew-free-or-die-ipa/8189/"&gt;21st Amendment IPA&lt;/a&gt; and &lt;a href="http://www.ratebeer.com/beer/green-flash-stout-double-stout/84962/"&gt;Green Flash Double Stout&lt;/a&gt;. Unibroue stuff also seems to be popular.&lt;/li&gt;
&lt;li&gt;More Mexican food than I've seen in my life, and less variety in everything else (especially Chinese, Japanese, Korean, Indian). I haven't found anything to match &lt;a href="http://www.ethiopianhouse.com/"&gt;Ethiopian House&lt;/a&gt; or &lt;a href="http://www.mteverestrestaurant.ca/"&gt;Mount Everest&lt;/a&gt;, and I am overdue to &lt;a href="http://www.yelp.com/search?find_desc=pho&amp;amp;ns=1&amp;amp;find_loc=02139+Boston,+MA"&gt;find a place to satisfy a phō craving&lt;/a&gt;. It looks like the nearest places are at least 2 km away. Burritos may replace noodle soup as a cheap staple.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://harvard.edu/"&gt;That &lt;em&gt;other&lt;/em&gt; university&lt;/a&gt; has a dragon boat team, but MIT has none. There maybe be four teams in the whole city…if I've missed one. Compare with at least ten teams of varying competitiveness from UofT alone that show up at &lt;a href="http://www.dragonboats.com/pages/home.html"&gt;TIDBRF&lt;/a&gt; each June.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is becoming a bit of a grab bag, and long, so I'll end here. The next post will be more focused on the student body, ESD and "freebies." If there are other things you'd specifically like to hear about please leave a comment!&lt;/p&gt;</content><category term="2010"/></entry><entry><title>Fun &amp; games with dbus-python</title><link href="https://paul.kishimoto.name/2010/08/fun-games-with-dbus-python" rel="alternate"/><published>2010-08-04T00:00:00+02:00</published><updated>2010-08-04T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-08-04:/2010/08/fun-games-with-dbus-python</id><summary type="html">&lt;p&gt;Getting Things GNOME! (well, at least &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/dbus-server"&gt;my GSoC branch of it&lt;/a&gt;) is on its way to having a feature-complete DBus interface to its data store and the objects (Tasks and Tags) inside of it, as well as a client-side library.&lt;/p&gt;
&lt;p&gt;More on that later. This post is a memo of some lessons learned while reading &amp;amp; grokking the entire dbus-python codebase, its &lt;a href="http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html"&gt;still-incomplete tutorial&lt;/a&gt;, and trying to make use of it all. &lt;a href="http://bazaar.launchpad.net/~aptdaemon-developers/aptdaemon/main/files"&gt;Aptdaemon&lt;/a&gt; was an invaluable help.&lt;/p&gt;
&lt;h2&gt;1. Claim your bus…and give it up nicely&lt;/h2&gt;
&lt;p&gt;This is akin to your mother telling you to, "Clean your room!" Claiming an object …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Getting Things GNOME! (well, at least &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/dbus-server"&gt;my GSoC branch of it&lt;/a&gt;) is on its way to having a feature-complete DBus interface to its data store and the objects (Tasks and Tags) inside of it, as well as a client-side library.&lt;/p&gt;
&lt;p&gt;More on that later. This post is a memo of some lessons learned while reading &amp;amp; grokking the entire dbus-python codebase, its &lt;a href="http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html"&gt;still-incomplete tutorial&lt;/a&gt;, and trying to make use of it all. &lt;a href="http://bazaar.launchpad.net/~aptdaemon-developers/aptdaemon/main/files"&gt;Aptdaemon&lt;/a&gt; was an invaluable help.&lt;/p&gt;
&lt;h2&gt;1. Claim your bus…and give it up nicely&lt;/h2&gt;
&lt;p&gt;This is akin to your mother telling you to, "Clean your room!" Claiming an object path (&lt;code&gt;/org/gnome/GTG/Server&lt;/code&gt;) on a bus (&lt;code&gt;org.gnome.GTG&lt;/code&gt;) and then silently exiting is a good way to confuse the session bus and any clients who are trying to talk to your object. There's no automatic notification that you're gone; the proxies and interfaces they may be using won't &lt;a href="http://www.youtube.com/watch?v=MA2KmJMKFrQ#t=1m23s"&gt;self-destruct&lt;/a&gt;. Even the session bus may think you're still there, and tell new clients to look in the wrong place.&lt;/p&gt;
&lt;p&gt;This can lead to client code blocking for a &lt;em&gt;long&lt;/em&gt; time as it waits in vain for a response—annoying! To avoid this, explicitly claim the bus from the server on startup:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; import dbus
&amp;gt;&amp;gt;&amp;gt; dbus.SessionBus().request_name('org.gnome.GTG')
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;…and on shutdown (even if it's caused by a process signal or exception) be sure to release it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; dbus.SessionBus().release_name('org.gnome.GTG')
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can also do this by creating a &lt;a href="http://dbus.freedesktop.org/doc/dbus-python/api/dbus.service.BusName-class.html"&gt;&lt;code&gt;dbus.service.BusName&lt;/code&gt;&lt;/a&gt; instance, but be sure to &lt;code&gt;del&lt;/code&gt; it before exiting.&lt;/p&gt;
&lt;h2&gt;2. Start simply&lt;/h2&gt;
&lt;p&gt;Like us, you may be able to start the server-side code from the command line (&lt;code&gt;gtg --daemon&lt;/code&gt;). Trying to call this directly—for example via an &lt;a href="http://docs.python.org/library/os.html#os.popen"&gt;os.popen&lt;/a&gt;—is asking for a major headache. There is also no need to muck about with &lt;a href="http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/"&gt;daemonization recipes&lt;/a&gt; or ensure the server code runs in the proper environment; the DBus authors and your distro developers have taken care of that.&lt;/p&gt;
&lt;p&gt;Instead, make use of service definition files. On Ubuntu, these go in &lt;code&gt;/usr/share/dbus-1/services/&lt;/code&gt; and look like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[D-BUS Service]
Name=org.gnome.GTG
Exec=/usr/bin/gtg --daemon
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;From your code, you can invoke this precisely and directly with the single call:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; import dbus
&amp;gt;&amp;gt;&amp;gt; dbus.SessionBus().start_service_by_name('org.gnome.GTG')
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If the server is already running, the method simply returns a different value.&lt;/p&gt;
&lt;h2&gt;3. Object paths aren't URLs&lt;/h2&gt;
&lt;p&gt;In the age of Google, we are accustomed to seeing all kinds of data URL-encoded, resulting in monstrosities like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://maps.google.ca/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=Vancouver,+BC&amp;amp;daddr=Winnipeg,+Manitoba+to:Trans-Canada+Hwy%2FON-17+S+to:45.422733,-75.698376+to:Halifax,+Nova+Scotia&amp;amp;hl=en&amp;amp;geocode=FQt57wIdQIKp-CkllQ21IO6FVDEciNbXbMfgpg%3BFYMz-QIdZ5A1-ikRKxr5-3PqUjFkyrnG-hoqKw%3BFTbY6QIdrG7H-g%3B%3BFbFJqQId8Oo1_CnB-tsHFCFaSzHcLYtDpuNrZg&amp;amp;mra=dpe&amp;amp;mrcr=1&amp;amp;mrsp=3&amp;amp;sz=14&amp;amp;via=2,3&amp;amp;sll=45.415865,-75.694084&amp;amp;sspn=0.064467,0.055189&amp;amp;ie=UTF8&amp;amp;t=h&amp;amp;z=14&amp;amp;layer=c&amp;amp;cbll=45.423222,-75.698705&amp;amp;panoid=W0H3GL0BecRylGpWyASQVQ&amp;amp;cbp=12,338.79,,1,-4.03"&gt;http://maps.google.ca/maps?f=d&amp;amp;source=s_d&amp;amp;saddr=Vancouver,+BC&amp;amp;daddr=Winnipeg,+Manitoba+to:Trans-Canada+Hwy%2FON-17+S+to:45.422733,-75.698376+to:Halifax,+Nova+Scotia&amp;amp;hl=en&amp;amp;geocode=FQt57wIdQIKp-CkllQ21IO6FVDEciNbXbMfgpg%3BFYMz-QIdZ5A1-ikRKxr5-3PqUjFkyrnG-hoqKw%3BFTbY6QIdrG7H-g%3B%3BFbFJqQId8Oo1_CnB-tsHFCFaSzHcLYtDpuNrZg&amp;amp;mra=dpe&amp;amp;mrcr=1&amp;amp;mrsp=3&amp;amp;sz=14&amp;amp;via=2,3&amp;amp;sll=45.415865,-75.694084&amp;amp;sspn=0.064467,0.055189&amp;amp;ie=UTF8&amp;amp;t=h&amp;amp;z=14&amp;amp;layer=c&amp;amp;cbll=45.423222,-75.698705&amp;amp;panoid=W0H3GL0BecRylGpWyASQVQ&amp;amp;cbp=12,338.79,,1,-4.03&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…and creating a market for &lt;a href="http://tinyurl.com"&gt;URL shorteners&lt;/a&gt;. Even file system paths are in Unicode, and the DBus documentation &lt;a href="http://dbus.freedesktop.org/doc/dbus-tutorial.html#objects"&gt;misleadingly suggests&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;The object path looks like a filesystem path, for example an object could be named `/org/kde/kspread/sheets/3/cells/4/5`.&lt;/blockquote&gt;

&lt;p&gt;Don't get too excited by this. The characters you can use in a DBus object path are: /, a-z, A-Z, 0-9 and _. That's it. In GTG!, we use UUIDs for Task and Tag IDs:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; import uuid
&amp;gt;&amp;gt;&amp;gt; str(uuid.uuid())
'9bcb25f3-a630-4030-b82f-cd4cb7b17d65'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So you might guess that a path for this object (a Task, say) could be &lt;code&gt;/org/gnome/GTG/Task/9bcb25f3-a630-4030-b82f-cd4cb7b17d65&lt;/code&gt;, right? Wrong. The hyphens aren't allowed, and we have to use:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; uuid.uuid4().hex
'4a08654fce994a92b49a8b62ff5a7817'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Similarly, if you want to use human-readable strings (Tag names, for example) in paths, you'll either have to munge them to be acceptable, or deny your users the use of hyphens and spaces. Messy. Much easier just to choose a simple scheme of unique identifiers and pass &lt;em&gt;actual&lt;/em&gt; data through &lt;em&gt;actual&lt;/em&gt; method calls.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>GTG GSoC, week 7 — "Testing, testing, 1, 2, 3…"</title><link href="https://paul.kishimoto.name/2010/07/gtg-gsoc-week-7-testing-testing-1-2-3" rel="alternate"/><published>2010-07-12T00:00:00+02:00</published><updated>2010-07-12T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-07-12:/2010/07/gtg-gsoc-week-7-testing-testing-1-2-3</id><summary type="html">&lt;p&gt;Recently I have been working on two things related to achieving a client-server separation in Getting Things GNOME!&lt;/p&gt;
&lt;p&gt;One is a test suite that will cover all aspects and functionality of the DBus interfaces. The second is low-level code to support the interfaces themselves.&lt;/p&gt;
&lt;p&gt;Why not do them in sequence? Well, tinkering with the low level code is helping to outline what will and will not be possible with the
"DBus magic" I've blogged about on two &lt;a href="http://paul.kishimoto.name/300"&gt;previous&lt;/a&gt; &lt;a href="http://paul.kishimoto.name/301"&gt;occasions&lt;/a&gt;. Tests don't have to target against code that &lt;em&gt;already&lt;/em&gt; exists, but they should at least target code that &lt;em&gt;could&lt;/em&gt; exist.&lt;/p&gt;
&lt;p&gt;To …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Recently I have been working on two things related to achieving a client-server separation in Getting Things GNOME!&lt;/p&gt;
&lt;p&gt;One is a test suite that will cover all aspects and functionality of the DBus interfaces. The second is low-level code to support the interfaces themselves.&lt;/p&gt;
&lt;p&gt;Why not do them in sequence? Well, tinkering with the low level code is helping to outline what will and will not be possible with the
"DBus magic" I've blogged about on two &lt;a href="http://paul.kishimoto.name/300"&gt;previous&lt;/a&gt; &lt;a href="http://paul.kishimoto.name/301"&gt;occasions&lt;/a&gt;. Tests don't have to target against code that &lt;em&gt;already&lt;/em&gt; exists, but they should at least target code that &lt;em&gt;could&lt;/em&gt; exist.&lt;/p&gt;
&lt;p&gt;To explain more, the concept is to have more than just a DBus interface on the server. For the client, the dbus-python &lt;code&gt;ProxyObject&lt;/code&gt; and &lt;code&gt;Interface&lt;/code&gt; classes are a useful starting point, but I want to go further and let GTG! clients behave as if the objects they are handling were local (although, as James &lt;a href="http://paul.kishimoto.name/300#comment-1171"&gt;pointed out&lt;/a&gt;, clients will be faster if they don't naïvely trigger too many calls on the bus). This means providing a &lt;em&gt;client library&lt;/em&gt; that clients can optionally import and use, instead of grappling directly with the server's DBus interface.&lt;/p&gt;
&lt;p&gt;In coding this client library several interesting winkles have come up. For example, the &lt;a href="http://dbus.freedesktop.org/doc/dbus-tutorial.html"&gt;DBus tutorial&lt;/a&gt; discusses the distinction between &lt;em&gt;well-known&lt;/em&gt; names ('org.gnome.GTG') and &lt;em&gt;unique&lt;/em&gt; names (:34-907)—but these are only for buses. Each object (e.g. a GTG! Tag or Task) available on a bus needs to have an object path ('/org/gnome/GTG/Task/12345' or '/org/gnome/GTG/Task/54321').&lt;/p&gt;
&lt;p&gt;Because of the DBus message-passing architecture, &lt;em&gt;there is no way to know if anything exists at a given object path, until you try to access it&lt;/em&gt;. By analogy, the Internet's &lt;a href="http://en.wikipedia.org/wiki/Domain_Name_System"&gt;Domain Name System (DNS)&lt;/a&gt; can tell you that my website &lt;code&gt;paul.kishimoto.name&lt;/code&gt; exists at such-and-such an IP. But to determine if there is anything at a specific URL (http://paul.kishimoto.name/notapage), you need to try to access it and maybe get an HTTP &lt;a href="http://en.wikipedia.org/wiki/404_error"&gt;404 error&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Clients only care about actual Tasks and Tags, and repeatedly checking that its proxies still reference valid targets would be a pain in the neck. The solution is to provide &lt;a href="http://bazaar.launchpad.net/~gtg-contributors/gtg/dbus-server/annotate/head:/GTG/client.py#L159"&gt;helper code&lt;/a&gt; that checks the remote object exists before it hands a proxy to the client.&lt;/p&gt;
&lt;p&gt;Another problem that is cropping up is that the client needs to be able to understand and manipulate the tree hierarchy of Tags and Tasks, over the bus. But that will be another post…&lt;/p&gt;</content><category term="2010"/></entry><entry><title>Ignorance, or spite</title><link href="https://paul.kishimoto.name/2010/06/ignorance-or-spite" rel="alternate"/><published>2010-06-27T00:00:00+02:00</published><updated>2010-06-27T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-06-27:/2010/06/ignorance-or-spite</id><summary type="html">&lt;p&gt;Some thoughts on the occasion of the G20 summit in Toronto.&lt;/p&gt;
&lt;p&gt;The police presence and violent protest were both of a scale unprecedented for this city. The security cost, at over $1 billion, was also unprecedented in the history of the G-summits and is &lt;a href="http://www.theglobeandmail.com/news/world/g8-g20/news/sarkozy-says-his-g8g20-will-cost-one-tenth-of-canadas/article1619637/"&gt;unlikely to ever be equalled&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Much ink will be shed on the taxonomy of protesters (a term which, apparently, also now includes opportunist vandals with no policy demands), the validity of their various motives and the contemptible nature of their actions. Equally, the actions of individuals among the tens of thousands of police involved will be …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some thoughts on the occasion of the G20 summit in Toronto.&lt;/p&gt;
&lt;p&gt;The police presence and violent protest were both of a scale unprecedented for this city. The security cost, at over $1 billion, was also unprecedented in the history of the G-summits and is &lt;a href="http://www.theglobeandmail.com/news/world/g8-g20/news/sarkozy-says-his-g8g20-will-cost-one-tenth-of-canadas/article1619637/"&gt;unlikely to ever be equalled&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Much ink will be shed on the taxonomy of protesters (a term which, apparently, also now includes opportunist vandals with no policy demands), the validity of their various motives and the contemptible nature of their actions. Equally, the actions of individuals among the tens of thousands of police involved will be put under the microscope.&lt;/p&gt;
&lt;p&gt;Both those debates will prove fruitless. To me, it is more important to see the three outsized aspects of the event—police presence, violence and cost—as foreseeable consequences of the unnecessary and astoundingly poor choice of a venue for the summit.&lt;/p&gt;
&lt;p&gt;I have heard two believable theories about &lt;em&gt;how&lt;/em&gt; the choice was made: ignorance and spite.&lt;/p&gt;
&lt;p&gt;The 'ignorance' theory was advanced on &lt;a href="http://www.cbc.ca/thecurrent/2010/06/june-21-2010.html"&gt;CBC's The Current&lt;/a&gt; by Deborah Cowen of the University of Toronto. She noted that the Conservative government, with almost no seats in Toronto, Montréal or Vancouver, has an essentially rural background on which it draws and little firsthand knowledge about how large cities &lt;em&gt;actually are&lt;/em&gt;. The implication is that they might have honestly but falsely believed that the effect of promoting Toronto, Ontario and/or Canada would outweigh any disruption caused by security measures and protests.&lt;/p&gt;
&lt;p&gt;The 'spite' theory (of my more cynical friends) holds that the disruption was expected and anticipated by the government. In this view, the decision was to be seen—and appreciated—by the Conservatives' rural base as a giant middle finger raised towards Toronto and its citizens.&lt;/p&gt;
&lt;p&gt;The first explanation wins by Ockham's Razor, at least; but whichever is more accurate, it is certain the decision was made for political, not economical (read: cost-saving) reasons.&lt;/p&gt;
&lt;p&gt;To explain a bit more &lt;em&gt;why&lt;/em&gt; I think the choice was 'astoundingly poor,' and the consequences 'predictable' I will channel Jane Jacobs, late Torontonian, whose &lt;em&gt;The Death and Life of Great American Cities&lt;/em&gt; I recently read and enjoyed. Any errors in my paraphrase of her writings are, of course, my own.&lt;/p&gt;
&lt;p&gt;One of Jacobs' criteria for distinguishing Great (&lt;a href="http://en.wiktionary.org/wiki/great"&gt;very big, large scale; important&lt;/a&gt;) Cities is diversity of use. On a summer weekend in Toronto, the downtown streets might be used by shoppers, baseball fans, theatregoers, businesspeople, diners, marketers, people-watchers, store clerks, deliverymen, walkers, those passing through to the lake or parts west, east or north, local residents, café patrons, cyclists, taxi drivers, buskers, runners, transit staff, and a whole cast of others my imagination is too weak to summon. The vast majority of these people are strangers to one another, but their mere presence civilizes the streets, so that events like the &lt;a href="http://en.wikipedia.org/wiki/Jane_Creba"&gt;2005 Boxing Day shooting of Jane Creba&lt;/a&gt; are truly rare, unexpected and shocking.&lt;/p&gt;
&lt;p&gt;Jacobs contrasts diverse use with the atmosphere in single-use residential projects, where the same advantages (many eyes at all hours) are not enjoyed and, not coincidentally, comparatively more gang-related violence occurs.&lt;/p&gt;
&lt;p&gt;During an event like the current summit, normal usage is suppressed. Within the security perimeter, there is no use at all by locals. Security measures impede normal use in surrounding areas, so that the Blue Jays and theatres take their business elsewhere or cancel whole performances (even at large cost). People who would have attended these larger events have no reason to be in the same areas for meals and other secondary activities. The secondary businesses they would have frequented, always sensitive to demand, run reduced staffs, further depleting the stock of people on the streets. And so on. In the current, extraordinary situation, even residents flee who are able to stay with friends in the suburbs or out of town.&lt;/p&gt;
&lt;p&gt;Note that at no point is a collective decision made along the lines of, "Let's turn over the streets to rioters!"; instead, the deadening is an aggregate result of reasonable responses by normal individuals.&lt;/p&gt;
&lt;p&gt;The few uses that remain can be numbered on one hand: peaceful protesting, spectating (both amateur and professional), policing and violence. The dead streets are a boon only to those engaged in the latter two activities, who find it easier to identify members of the other groups without actual citizens around.&lt;/p&gt;
&lt;p&gt;Without any hysterics about professional anarchists or police &lt;em&gt;agents provocateurs&lt;/em&gt;, then, it is easy to see why emptying the city invites situations that would be impossible under everyday circumstances. That this conclusion can be reached on the basis of accessible, popular writing from the 1960s makes me doubt that no one in government raised an objection to the choice of location. Mayor David Miller and other representatives of the city claim openly that they put forward the Exhibition grounds (which, note, are &lt;em&gt;already&lt;/em&gt; largely empty) as an alternative.&lt;/p&gt;
&lt;p&gt;Those voices were obviously disregarded when the decision was made, and that disregard is the root cause of everything we have witnessed.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>GTG GSoc, week 4 — Magic, dates, specs and more shuffling</title><link href="https://paul.kishimoto.name/2010/06/gtg-gsoc-week-4-magic-dates-specs-and-more-shuffling" rel="alternate"/><published>2010-06-20T00:00:00+02:00</published><updated>2010-06-20T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-06-20:/2010/06/gtg-gsoc-week-4-magic-dates-specs-and-more-shuffling</id><summary type="html">&lt;p&gt;My fourth Getting Things GNOME! Summer of Code week had four work foci (a trend which will hopefully not continue 'til week 10…)&lt;/p&gt;
&lt;p&gt;One, I put up &lt;a href="http://paul.kishimoto.name/300"&gt;some code&lt;/a&gt; to the Planet, having been encouraged by &lt;a href="http://paul.kishimoto.name/298#comments"&gt;good responses to earlier queries&lt;/a&gt;. This time I stuck my neck out by proposing something larger, and in short order was told three new things to consider—for example, the &lt;a href="http://en.wikipedia.org/wiki/Mixin"&gt;mixin concept&lt;/a&gt;. With this input, I have improved my &lt;code&gt;FancyInterface&lt;/code&gt;, which lets you access DBus properties as Python attributes of &lt;code&gt;ProxyObject&lt;/code&gt;s. Check out the code (standalone, for the moment) &lt;a href="http://bazaar.launchpad.net/~khaeru/+junk/dbus-magic/files"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many of the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;My fourth Getting Things GNOME! Summer of Code week had four work foci (a trend which will hopefully not continue 'til week 10…)&lt;/p&gt;
&lt;p&gt;One, I put up &lt;a href="http://paul.kishimoto.name/300"&gt;some code&lt;/a&gt; to the Planet, having been encouraged by &lt;a href="http://paul.kishimoto.name/298#comments"&gt;good responses to earlier queries&lt;/a&gt;. This time I stuck my neck out by proposing something larger, and in short order was told three new things to consider—for example, the &lt;a href="http://en.wikipedia.org/wiki/Mixin"&gt;mixin concept&lt;/a&gt;. With this input, I have improved my &lt;code&gt;FancyInterface&lt;/code&gt;, which lets you access DBus properties as Python attributes of &lt;code&gt;ProxyObject&lt;/code&gt;s. Check out the code (standalone, for the moment) &lt;a href="http://bazaar.launchpad.net/~khaeru/+junk/dbus-magic/files"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Many of the the &lt;em&gt;fields&lt;/em&gt; in the GTG data model will be exported as DBus &lt;em&gt;properties&lt;/em&gt; using the above code. &lt;a href="http://live.gnome.org/gtg/DBus"&gt;These chunks of XML code&lt;/a&gt; give an overall picture of the interfaces that will be used in GTG, in the standard &lt;a href="http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format"&gt;DBus introspection format&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Third, I've &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/new-date-class/+merge/28009"&gt;proposed a new Date class&lt;/a&gt; for GTG. Dates in GTG go beyond what's provided by the &lt;a href="http://docs.python.org/library/datetime.html"&gt;&lt;code&gt;datetime&lt;/code&gt;&lt;/a&gt; module, because we support some 'fuzzy' concepts like &lt;em&gt;now&lt;/em&gt;, &lt;em&gt;soon&lt;/em&gt; and &lt;em&gt;later&lt;/em&gt;. Not only must these be stored and sorted (alongside fixed dates and non-/null dates), but they'll have to go over DBus as strings once my project is complete…hence the new class.&lt;/p&gt;
&lt;p&gt;Fourth and last, the divorce proceedings for existing code continue! With &lt;a href="http://wiki.github.com/jgoerzen/offlineimap/"&gt;OfflineIMAP&lt;/a&gt; (&lt;em&gt;highly&lt;/em&gt; recommended) as my inspiration, &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/code-layout-2"&gt;this merge&lt;/a&gt; will make the "gtg" executable your one-stop shop for GTK, command-line and other, future UIs. Forcing "gtcli" and "gtg" together helped me see which dependencies were of &lt;em&gt;one&lt;/em&gt; UI; which were of &lt;em&gt;all&lt;/em&gt; UIs, and which things are needed by both the UIs and core.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>Class attributes with dbus-python</title><link href="https://paul.kishimoto.name/2010/06/class-attributes-with-dbus-python" rel="alternate"/><published>2010-06-14T00:00:00+02:00</published><updated>2010-06-14T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-06-14:/2010/06/class-attributes-with-dbus-python</id><summary type="html">&lt;p&gt;DBus is great, and so is Python—each for their own reasons. One mismatch is that everything passing over the bus must be a &lt;em&gt;message&lt;/em&gt; or &lt;em&gt;signal&lt;/em&gt;. You wind up with Python code that looks like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;proxyobject.SetThis('foo')
bar = proxyobject.GetThat()
proxyobject.DoSomeOtherStuff()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But then you realize the dbus-python binding is very Pythonic, so you can extend it in a Pythonic way. Here's something I banged together in about half an hour:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; import dbus

 class FancyInterface(dbus.Interface):
     """A fancier DBus Interface.

     Derived classes should define a list of strings __dbus_properties__ and a
     _dbus_interface. For every listed property ('foo' …&lt;/code&gt;&lt;/pre&gt;</summary><content type="html">&lt;p&gt;DBus is great, and so is Python—each for their own reasons. One mismatch is that everything passing over the bus must be a &lt;em&gt;message&lt;/em&gt; or &lt;em&gt;signal&lt;/em&gt;. You wind up with Python code that looks like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;proxyobject.SetThis('foo')
bar = proxyobject.GetThat()
proxyobject.DoSomeOtherStuff()
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But then you realize the dbus-python binding is very Pythonic, so you can extend it in a Pythonic way. Here's something I banged together in about half an hour:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; import dbus

 class FancyInterface(dbus.Interface):
     """A fancier DBus Interface.

     Derived classes should define a list of strings __dbus_properties__ and a
     _dbus_interface. For every listed property ('foo') the named interface
     should support two methods:
       * GetFoo() -- accepts nothing, returns a single value.
       * SetFoo(..) -- returns nothing, accepts a single value of the same type
         as GetFoo.

     Then DerivedClass.foo may be accessed as if it were a normal variable.

     """
     def __init__(self, object):
         # next four lines from dbus.Interface.__init__()
         if isinstance(object, dbus.Interface):
             self._obj = object.proxy_object
         else:
             self._obj = object
         # set up properties
         for a in self.__dbus_properties__:
             fget = lambda self: self._obj.get_dbus_method('Get' +
               a.capitalize())()
             fset = lambda self, value: self._obj.get_dbus_method('Set' +
               a.capitalize())(value)
             setattr(self.__class__, a, property(fget, fset))


 class Sample(FancyInterface):
     _dbus_interface = 'com.example.SampleInterface'
     __dbus_properties__ = ('foo', 'bar',)
     def __init__(self, object): FancyInterface.__init__(self, object)
     # this class is 'empty' otherwise…
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Using &lt;code&gt;FancyInterface&lt;/code&gt;, it becomes even easier to forget you're talking to a proxy of a remote object:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;bus = dbus.SessionBus()
o = Sample(bus.get_object('com.example.SampleService',
  '/SomeObject'))
o.foo = 'Hello, '
o.bar = 'world!'
print o.foo, o.bar
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Look for this stuff being used in &lt;a href="https://launchpad.net/gtg"&gt;GTG&lt;/a&gt; in the near future! (Also, fixes to my blog CSS…)&lt;/p&gt;</content><category term="2010"/></entry><entry><title>GTG GSoc, week 3 — Grilled cheese sandwiches!</title><link href="https://paul.kishimoto.name/2010/06/gtg-gsoc-week-3-grilled-cheese-sandwiches" rel="alternate"/><published>2010-06-12T00:00:00+02:00</published><updated>2010-06-12T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-06-12:/2010/06/gtg-gsoc-week-3-grilled-cheese-sandwiches</id><summary type="html">&lt;p&gt;The third week of my Summer of Code project (separating client and server parts of Getting Things GNOME!) was a busy one.&lt;/p&gt;
&lt;p&gt;In some long but well-reasoned discussion on the &lt;a href="https://launchpad.net/~gtg-contributors"&gt;gtg-contributors&lt;/a&gt; mailing list, we reached consensus that the GTG data model will add task duration, and drop an older kind of task ID in favour of &lt;a href="http://docs.python.org/library/uuid.html"&gt;UUID&lt;/a&gt;s. The duration field will let users estimate how long it will take them to complete a task or set of tasks. As for UUIDs, the benefit ("universally unique") is in the name!&lt;/p&gt;
&lt;p&gt;One other proposal—adding a priority field—is still under …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The third week of my Summer of Code project (separating client and server parts of Getting Things GNOME!) was a busy one.&lt;/p&gt;
&lt;p&gt;In some long but well-reasoned discussion on the &lt;a href="https://launchpad.net/~gtg-contributors"&gt;gtg-contributors&lt;/a&gt; mailing list, we reached consensus that the GTG data model will add task duration, and drop an older kind of task ID in favour of &lt;a href="http://docs.python.org/library/uuid.html"&gt;UUID&lt;/a&gt;s. The duration field will let users estimate how long it will take them to complete a task or set of tasks. As for UUIDs, the benefit ("universally unique") is in the name!&lt;/p&gt;
&lt;p&gt;One other proposal—adding a priority field—is still under debate.&lt;/p&gt;
&lt;p&gt;Also, the &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/code-layout/+merge/27279"&gt;first part&lt;/a&gt; of an aforementioned code reorganization went in. (Of about seven bzr branches I've had merged with &lt;code&gt;lp:gtg&lt;/code&gt;, the biggest are &lt;a href="https://code.launchpad.net/~khaeru/gtg/prefs-dialog/+merge/19367"&gt;1909&lt;/a&gt;, 624 and &lt;a href="https://code.launchpad.net/~khaeru/gtg/bugfix-lp-492713"&gt;225&lt;/a&gt; lines, a trend which might continue…but still no match for &lt;a href="https://code.launchpad.net/~gtg-user/gtg/backends-first-merge/+merge/26532"&gt;&lt;em&gt;this&lt;/em&gt;&lt;/a&gt;!)&lt;/p&gt;
&lt;p&gt;This week and next, my biggest task is deciding which DBus interfaces should be exposed by the server part of GTG, and what each one should look like. It turns out that when your application is a delicious &lt;a href="http://en.wikipedia.org/wiki/Grilled_cheese_sandwich#Grilled_cheese_sandwich_.2F_Toasted_Sandwich"&gt;grilled cheese sandwich&lt;/a&gt; of usefulness, the decision to pull it apart means you need to deal with a glue-like mass of sticky, melted cheese.&lt;/p&gt;
&lt;p&gt;…maybe that food-based metaphor will only work for fellow Canadians. What I mean is that a line needs to be drawn across the codebase demarcating what is "server" and what is "client", and in any moderately-complex application that line ends up crossing many, many function calls. The sheer number of these, a non-issue for a monolithic app, becomes problematic because each will need to be spec'd and later maintained to spec.&lt;/p&gt;
&lt;p&gt;In this case, the way out was to &lt;code&gt;grep&lt;/code&gt; up &lt;a href="http://live.gnome.org/gtg/SoC/2010/PaulKishimoto/DBusNotes"&gt;a list of calls from the GTG UI to GTG core&lt;/a&gt;. Examination of this list suggested &lt;a href="http://live.gnome.org/gtg/SoC/2010/PaulKishimoto/DBusNotes#Changes"&gt;several ways&lt;/a&gt; to streamline the flow of data, which become work items that give me lots of coding to do. Onward!&lt;/p&gt;</content><category term="2010"/></entry><entry><title>GTG SoC, week 2 — GNOME's Next Top Model</title><link href="https://paul.kishimoto.name/2010/06/gtg-soc-week-2-gnomes-next-top-model" rel="alternate"/><published>2010-06-07T00:00:00+02:00</published><updated>2010-06-07T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-06-07:/2010/06/gtg-soc-week-2-gnomes-next-top-model</id><summary type="html">&lt;p&gt;Following on my last week's work &lt;a href="http://paul.kishimoto.name/297"&gt;mapping the Getting Things GNOME! data model&lt;/a&gt;, week 2 of my GSoC experience involved preparing &lt;a href="http://live.gnome.org/gtg/DataModel/Analysis"&gt;this somewhat-lengthy analysis&lt;/a&gt; of how we store tasks in GTG, and how it should change. Of course, it doesn't hold a candle to things like the &lt;a href="http://tools.ietf.org/html/rfc5545"&gt;168-page iCalendar RFC&lt;/a&gt;…of which a &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.3.10"&gt;good&lt;/a&gt; &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.8.4.4"&gt;ten&lt;/a&gt; &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.8.5"&gt;percent&lt;/a&gt; is devoted to the recurrence specification grammar for VEVENTs and VTODOs.&lt;/p&gt;
&lt;p&gt;Needless to say, I recommended we find a more straightforward way of solving &lt;a href="https://bugs.launchpad.net/gtg/+bug/344432"&gt;this bug&lt;/a&gt;. To make you read the actual analysis, I won't give away my other conclusions here!&lt;/p&gt;
&lt;p&gt;I have also …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Following on my last week's work &lt;a href="http://paul.kishimoto.name/297"&gt;mapping the Getting Things GNOME! data model&lt;/a&gt;, week 2 of my GSoC experience involved preparing &lt;a href="http://live.gnome.org/gtg/DataModel/Analysis"&gt;this somewhat-lengthy analysis&lt;/a&gt; of how we store tasks in GTG, and how it should change. Of course, it doesn't hold a candle to things like the &lt;a href="http://tools.ietf.org/html/rfc5545"&gt;168-page iCalendar RFC&lt;/a&gt;…of which a &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.3.10"&gt;good&lt;/a&gt; &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.8.4.4"&gt;ten&lt;/a&gt; &lt;a href="http://tools.ietf.org/html/rfc5545#section-3.8.5"&gt;percent&lt;/a&gt; is devoted to the recurrence specification grammar for VEVENTs and VTODOs.&lt;/p&gt;
&lt;p&gt;Needless to say, I recommended we find a more straightforward way of solving &lt;a href="https://bugs.launchpad.net/gtg/+bug/344432"&gt;this bug&lt;/a&gt;. To make you read the actual analysis, I won't give away my other conclusions here!&lt;/p&gt;
&lt;p&gt;I have also started &lt;a href="http://live.gnome.org/gtg/UserStories"&gt;a page for user stories&lt;/a&gt; to guide future development, and begun &lt;a href="https://code.launchpad.net/~gtg-contributors/gtg/code-layout/+merge/26624"&gt;moving around large blocks of code&lt;/a&gt; to start to tease apart the user-facing and core portions of GTG.&lt;/p&gt;
&lt;p&gt;Some questions for the Planet hive mind:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Which is preferred idiom — &lt;code&gt;import sys; sys.exit(1)&lt;/code&gt; or &lt;code&gt;raise SystemExit(1)&lt;/code&gt;? The latter avoids an import…&lt;/li&gt;
&lt;li&gt;Likewise, most modern PyGTK applications include a &lt;code&gt;pygtk.require('2.0')&lt;/code&gt; wrapped in a &lt;code&gt;try/except&lt;/code&gt; clause. Is this suggested/required in &lt;em&gt;every&lt;/em&gt; file that imports &lt;code&gt;gtk&lt;/code&gt;, only the &lt;em&gt;lowest&lt;/em&gt; level, or only &lt;em&gt;once&lt;/em&gt; per application (presumably in the root or top-level UI module)?&lt;/li&gt;
&lt;/ol&gt;</content><category term="2010"/></entry><entry><title>Getting Things GNOME!</title><link href="https://paul.kishimoto.name/2010/05/getting-things-gnome" rel="alternate"/><published>2010-05-29T00:00:00+02:00</published><updated>2010-05-29T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-05-29:/2010/05/getting-things-gnome</id><summary type="html">&lt;p&gt;Hello, Planet GNOME! I'm Paul Kishimoto, working this summer on &lt;a href=""&gt;Getting Things GNOME!&lt;/a&gt; as part of Google's Summer of Code. You've already heard from &lt;a href="http://allievi.sssup.it/techblog/?cat=71"&gt;Luca&lt;/a&gt; and &lt;a href="http://karlojez.wordpress.com/2010/05/23/"&gt;Karlo&lt;/a&gt;, my partners in &lt;del&gt;crime&lt;/del&gt; coding.&lt;/p&gt;
&lt;p&gt;To complement both Karlo's &lt;a href="http://live.gnome.org/gtg/soc2010_jez"&gt;web-based interface to GTG&lt;/a&gt; (which will let you &lt;em&gt;access&lt;/em&gt; your tasks from anywhere) and Luca's &lt;a href="http://live.gnome.org/gtg/soc2010_invernizzi"&gt;multi-backend overhaul&lt;/a&gt; (which will let you &lt;em&gt;store&lt;/em&gt; them anywhere), I will be working on a client-server separation in GTG. If you are interested, you can read &lt;a href="http://live.gnome.org/gtg/SoC/2010/PaulKishimoto"&gt;details in my work plan&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The possibility of client-server separation in GTG will be largely enabled by the wonderful DBus. Accordingly, I have …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello, Planet GNOME! I'm Paul Kishimoto, working this summer on &lt;a href=""&gt;Getting Things GNOME!&lt;/a&gt; as part of Google's Summer of Code. You've already heard from &lt;a href="http://allievi.sssup.it/techblog/?cat=71"&gt;Luca&lt;/a&gt; and &lt;a href="http://karlojez.wordpress.com/2010/05/23/"&gt;Karlo&lt;/a&gt;, my partners in &lt;del&gt;crime&lt;/del&gt; coding.&lt;/p&gt;
&lt;p&gt;To complement both Karlo's &lt;a href="http://live.gnome.org/gtg/soc2010_jez"&gt;web-based interface to GTG&lt;/a&gt; (which will let you &lt;em&gt;access&lt;/em&gt; your tasks from anywhere) and Luca's &lt;a href="http://live.gnome.org/gtg/soc2010_invernizzi"&gt;multi-backend overhaul&lt;/a&gt; (which will let you &lt;em&gt;store&lt;/em&gt; them anywhere), I will be working on a client-server separation in GTG. If you are interested, you can read &lt;a href="http://live.gnome.org/gtg/SoC/2010/PaulKishimoto"&gt;details in my work plan&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The possibility of client-server separation in GTG will be largely enabled by the wonderful DBus. Accordingly, I have spent a good amount of time vacuuming down the &lt;a href="http://www.freedesktop.org/wiki/Software/dbus#Documentation"&gt;excellent DBus documentation&lt;/a&gt; in an effort to get beyond being a mere hacker and to the point where I can exploit its features fully.&lt;/p&gt;
&lt;p&gt;Once you board the bus, there are many people already on it to talk to. It also turns out that some of those people care about &lt;em&gt;tasks&lt;/em&gt;, in similar ways to GTG!, and furthermore there are other task enthusiasts who don't yet ride the bus. So, my second work item for this week was to &lt;a href="http://live.gnome.org/gtg/DataModel"&gt;map out exactly what GTG thinks a task &lt;em&gt;is&lt;/em&gt;&lt;/a&gt;, and then go about &lt;a href="http://spreadsheets.google.com/ccc?key=0AhRkDXhnjLt8dHM3MmZ0YmJnMm1UM1hySFNlaDBVc1E&amp;amp;hl=en_GB"&gt;comparing it to other tools&lt;/a&gt;, including (in no particular order) &lt;a href="http://projects.gnome.org/tracker/"&gt;Tracker&lt;/a&gt;, &lt;a href="http://projecthamster.wordpress.com"&gt;Hamster&lt;/a&gt;, &lt;a href="http://live.gnome.org/action/show/GnomeActivityJournal"&gt;Zeitgeist&lt;/a&gt;, &lt;a href="http://live.gnome.org/Planner"&gt;Planner&lt;/a&gt;, and more.&lt;/p&gt;
&lt;p&gt;Understanding these relationships is key to making GTG! work together closely and intelligently with whatever set of other applications each user prefers, ultimately giving them the freedom to work in the way they want.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>A very simple creature</title><link href="https://paul.kishimoto.name/2010/04/a-very-simple-creature" rel="alternate"/><published>2010-04-05T00:00:00+02:00</published><updated>2010-04-05T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-04-05:/2010/04/a-very-simple-creature</id><summary type="html">&lt;p&gt;Recently several people have expressed frustration, within hearing range, over infuriating actions of large companies. For example, Apple's practice of generating excessive hype for unremarkable hardware by applying a spot of polish and a kiloton of marketing. &lt;a href="http://www.cbc.ca/consumer/story/2010/03/29/air-canada-challenge-toronto-island.html"&gt;Aggressive lawsuits&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Patent_troll"&gt;patent trolling&lt;/a&gt; are another instance. &lt;a href="http://www.hudsondredging.com/harpers_missed_the_boat/"&gt;Attacks on the reputability&lt;/a&gt; of excellent sources of journalism are a third.&lt;/p&gt;
&lt;p&gt;The corporation is a paradox. Unlike the human beings that own and work for it, the corporate entity can be physically massive and far-reaching, to the point of incomprehensibility. We are hard-pressed to even picture Toyota's 300,000 employees, or the 9 million …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Recently several people have expressed frustration, within hearing range, over infuriating actions of large companies. For example, Apple's practice of generating excessive hype for unremarkable hardware by applying a spot of polish and a kiloton of marketing. &lt;a href="http://www.cbc.ca/consumer/story/2010/03/29/air-canada-challenge-toronto-island.html"&gt;Aggressive lawsuits&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Patent_troll"&gt;patent trolling&lt;/a&gt; are another instance. &lt;a href="http://www.hudsondredging.com/harpers_missed_the_boat/"&gt;Attacks on the reputability&lt;/a&gt; of excellent sources of journalism are a third.&lt;/p&gt;
&lt;p&gt;The corporation is a paradox. Unlike the human beings that own and work for it, the corporate entity can be physically massive and far-reaching, to the point of incomprehensibility. We are hard-pressed to even picture Toyota's 300,000 employees, or the 9 million cars it sells annually. Conversely, while the behaviour of their employees and investors as individuals is complex, corporate 'behaviour' is very simply-motivated.&lt;/p&gt;
&lt;p&gt;In fact, it is not &lt;em&gt;reductio ad absurdum&lt;/em&gt; to say that nearly all business ventures have a single purpose: to generate a return on investment. This is an ineluctable truth, their &lt;em&gt;raison d'être&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;With this in mind, we see that it is unreasonable to treat corporate behaviour as if it were human behaviour. "Singly-motivated" humans are frequently described as insane. Likewise, it is unreasonable to describe corporate behaviour using the human qualities of hypocrisy, audacity, justice, honesty, fairness, consistency, etc.&lt;/p&gt;
&lt;p&gt;On the other hand, lower life forms, which respond predictably to changes in their environment, are a good model. If I say that ivy will put roots in weak mortar, unable to know that such action will cause the wall on which it lives to collapse, you can begin to see my meaning.&lt;/p&gt;
&lt;p&gt;Bacterial colonies can be made to commit suicide by consuming all the food in a closed container. Similarly, when the return on investment is demanded quickly, the corporation can be expected shoot itself in the foot by generating short-term profit and ignoring (or actively denying) the possibility of long-term repercussions.&lt;/p&gt;
&lt;p&gt;There are, of course, attempts to quantify the human impact of corporate activities. In such discussions you hear the terms goodwill, corporate social responsibility, ethical consumerism, and so on. But at root these are ways of assigning monetary value to efforts to limit profit-reducing public backlash against corporate actions which are seen as 'evil'. In nature, small creatures will avoid the unwanted attention of predators and competitors.&lt;/p&gt;
&lt;p&gt;Applying this sort of analysis doesn't reduce the human damage often caused by corporate actors, but it certainly renders most instances unsurprising. The comparison works best for larger companies, in which the actions of the whole are most divorced from any good intent of the many individual employees. It also explains why we tend to see fewer 'inhumane' behaviours from non-profit organizations and charities. Freed of the overriding imperative to generate returns, these entities can adopt decision-making structures that tend to increase other outcomes.&lt;/p&gt;
&lt;p&gt;Finally, to my mind, the analogy clarifies the issue of public versus private provision of government services. To shoehorn the positive societal impacts we expect from certain government programs into the measure of profit or return on investment is often inappropriate. Even where it is, private service providers can &lt;em&gt;only&lt;/em&gt; be expected to yield the desired outcome if the direction of increased return is carefully aligned with more positive societal impact. On the other hand, as outlined above, the same providers can be expected to find &lt;em&gt;all&lt;/em&gt; new ways of generating returns which do not necessarily correspond to any societal improvement—bursting like so many blades of grass through cracks in the figurative pavement.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>Obesity</title><link href="https://paul.kishimoto.name/2010/02/obesity" rel="alternate"/><published>2010-02-16T00:00:00+01:00</published><updated>2010-02-16T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2010-02-16:/2010/02/obesity</id><summary type="html">&lt;p&gt;I have almost finished reading the brilliant book &lt;a href="http://www.beacon.org/productdetails.cfm?PC=1384"&gt;&lt;em&gt;Beyond Growth&lt;/em&gt;&lt;/a&gt; by the economist &lt;a href="http://en.wikipedia.org/wiki/Herman_Daly"&gt;Herman Daly&lt;/a&gt;. It is worth quoting at length:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We have three economic problems to consider: allocation, distribution and scale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Allocation&lt;/strong&gt; refers to the apportioning of resources among alternative product uses—food, bicycles, cars, medical care. An allocation is &lt;em&gt;efficient&lt;/em&gt; if it corresponds to effective demand, that is, the relative preferences of the citizens as weighted by their relative incomes, both taken as given. An &lt;em&gt;inefficient&lt;/em&gt; allocation will use resources to produce a number of things that people will not buy, and will fail to produce other things …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;I have almost finished reading the brilliant book &lt;a href="http://www.beacon.org/productdetails.cfm?PC=1384"&gt;&lt;em&gt;Beyond Growth&lt;/em&gt;&lt;/a&gt; by the economist &lt;a href="http://en.wikipedia.org/wiki/Herman_Daly"&gt;Herman Daly&lt;/a&gt;. It is worth quoting at length:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We have three economic problems to consider: allocation, distribution and scale.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Allocation&lt;/strong&gt; refers to the apportioning of resources among alternative product uses—food, bicycles, cars, medical care. An allocation is &lt;em&gt;efficient&lt;/em&gt; if it corresponds to effective demand, that is, the relative preferences of the citizens as weighted by their relative incomes, both taken as given. An &lt;em&gt;inefficient&lt;/em&gt; allocation will use resources to produce a number of things that people will not buy, and will fail to produce other things that people would buy if only they could find them. It would be characterized by shortages of the latter and surpluses of the former.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Distribution&lt;/strong&gt; refers to the apportioning of goods produced (and the resources they embody) among different people (as opposed to different commodities). Distributions are &lt;em&gt;just&lt;/em&gt; or &lt;em&gt;unjust&lt;/em&gt;; allocations are &lt;em&gt;efficient&lt;/em&gt; or &lt;em&gt;inefficient&lt;/em&gt;. There is an efficient allocation for each distribution of income.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scale&lt;/strong&gt; refers to the physical size of the economy relative to the ecosystem. The economy is viewed, in its physical dimensions, as a subsystem of the larger ecosystem. Scale is measured as population times per capita resource use—in other words total resource use—the volume of the matter/energy throughput (metabolic flow) by which the ecosystem sustains the economic subsystem. Scale may be &lt;em&gt;sustainable&lt;/em&gt; or &lt;em&gt;unsustainable&lt;/em&gt;. An &lt;em&gt;efficient&lt;/em&gt; allocation does not imply a &lt;em&gt;just&lt;/em&gt; distribution. Neither an &lt;em&gt;efficient&lt;/em&gt; allocation or a &lt;em&gt;just&lt;/em&gt; distribution, nor both, implies a &lt;em&gt;sustainable&lt;/em&gt; scale.&lt;/p&gt;
&lt;p&gt;The three concepts are quite distinct, although relations among them exist, as noted above.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(I had planned to write on this topic, but instead put a gift card towards this purchase—a lucky choice, in hindsight. Usually I am happier to read on new topics than to share my clumsy initial thoughts. Experience is starting to show this is a good habit.)&lt;/p&gt;
&lt;p&gt;Daly points out that economics and the problem of &lt;em&gt;scale&lt;/em&gt; cannot escape elementary thermodynamics. Human economic activity takes low-entropy matter &amp;amp; energy as input and produces high-entropy wastes. The ecosystem has a limited ability to convert the latter to the former. He also hints that the scale of the economy is &lt;strong&gt;un&lt;/strong&gt;sustainable, or will soon be at current rates of growth. There are also a number of elegantly simple diagrams I will surely reproduce and reuse. &lt;/p&gt;
&lt;p&gt;The very clear explanations lend weight to a number of incubating personal beliefs:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;"Ethical-" or "green consumerism" cannot solve problems of _scale_. The much-touted power of individuals making smart product choices is limited to adjusting effective demand, and in turn _allocation_. Really the only choice which can help us (well-off North Americans) solve the scale problem is to _not consume_.&lt;/li&gt;
  &lt;li&gt;Posturing about "equal treatment" of rich and poor nations in (for example) carbon-limiting agreements is misguided. If there is an optimal scale for the global economy, the corresponding per capita resource use is certainly lower than the current level in the richest nations, or higher than that in the poorest. The necessary adjustments differ greatly depending on which is the case.&lt;/li&gt;
  &lt;li&gt;As a corollary to the above, poor nations (Daly says bluntly "the South") cannot follow the same historical trajectory of development as the North. China and India, for example, err badly in aiming for the North American level of consumption. North America, unconscious of the image it presents, errs badly in encouraging such aims. We cannot all live this way; the only "fair" thing is that no one try either to achieve _or maintain_ it.&lt;/li&gt;
  &lt;li&gt;Population control is an inescapable necessity. Either our current 6.8-billion must live in general poverty, or some lower number may live comfortably. It is better to accomplish this peacefully than violently.&lt;/li&gt;
  &lt;li&gt;In order to muster the political courage to control population, we must first prove to ourselves that we can solve other problems associated with reaching optimal scale.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These considerations motivate major changes, but of course they don't mean that we must choose to be unhealthy, uncomfortable, hungry or unhappy.&lt;/p&gt;
&lt;p&gt;More (hopefully) soon.&lt;/p&gt;</content><category term="2010"/></entry><entry><title>Schopenhauer and the Art of Controversy</title><link href="https://paul.kishimoto.name/2009/12/schopenhauer-and-the-art-of-controversy" rel="alternate"/><published>2009-12-31T00:00:00+01:00</published><updated>2009-12-31T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-12-31:/2009/12/schopenhauer-and-the-art-of-controversy</id><summary type="html">&lt;p&gt;I stumbled across a short but fascinating work by the 19&lt;sup&gt;th&lt;/sup&gt;-century philosopher &lt;a href="http://en.wikipedia.org/wiki/Arthur_Schopenhauer"&gt;Arthur Schopenhauer&lt;/a&gt; called variously the &lt;em&gt;The Art of Controversy&lt;/em&gt; or &lt;em&gt;The Art of Being Right&lt;/em&gt;. Wikisource has &lt;a href="http://en.wikisource.org/wiki/The_Art_of_Being_Right"&gt;one version&lt;/a&gt;; another site has what seems to be &lt;a href="http://www.coolhaus.de/art-of-controversy/"&gt;the same English text alongside the original German&lt;/a&gt;. Read it in full!&lt;/p&gt;
&lt;p&gt;His topic is controversial dialectic:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;…the art of disputing, and of disputing in such a way as to hold one's own, whether one is in the right or the wrong—&lt;em&gt;per fas et nefas&lt;/em&gt;. A man may be objectively in the right, and nevertheless in the eyes of …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;I stumbled across a short but fascinating work by the 19&lt;sup&gt;th&lt;/sup&gt;-century philosopher &lt;a href="http://en.wikipedia.org/wiki/Arthur_Schopenhauer"&gt;Arthur Schopenhauer&lt;/a&gt; called variously the &lt;em&gt;The Art of Controversy&lt;/em&gt; or &lt;em&gt;The Art of Being Right&lt;/em&gt;. Wikisource has &lt;a href="http://en.wikisource.org/wiki/The_Art_of_Being_Right"&gt;one version&lt;/a&gt;; another site has what seems to be &lt;a href="http://www.coolhaus.de/art-of-controversy/"&gt;the same English text alongside the original German&lt;/a&gt;. Read it in full!&lt;/p&gt;
&lt;p&gt;His topic is controversial dialectic:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;…the art of disputing, and of disputing in such a way as to hold one's own, whether one is in the right or the wrong—&lt;em&gt;per fas et nefas&lt;/em&gt;. A man may be objectively in the right, and nevertheless in the eyes of bystanders, and sometimes in his own, he may come off worst.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The prefatory rationale for this discussion is interesting, but more useful are the thirty-eight tactics proposed in the body of the work. For example, here is #24 ("State a false syllogism"):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This trick consists in stating a false syllogism. Your opponent makes a proposition, and by false inference and distortion of his ideas you force from it other propositions which it does not contain and he does not in the least mean; nay, which are absurd or dangerous. It then looks as if his proposition gave rise to others which are inconsistent either with themselves or with some acknowledged truth, and so it appears to be indirectly refuted. This is the diversion, and it is another application of the fallacy &lt;em&gt;non causae ut causae&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have no idea of the popularity of this work among modern politicians, but even if they are entirely unaware, Schopenhauer literally &lt;em&gt;wrote the book&lt;/em&gt; on argumentation—in 1831! The presentation is neutral, but I am inclined to read it as a spotter's guide to dishonest debate. Of statements by public figures and the online commentariat which infuriate me, not a single example falls outside his categories.&lt;/p&gt;
&lt;p&gt;Armed with this knowledge, I have been able to point out the underlying fallacies or distractions when I see these methods in use, instead of falling prey to them. Often the author retreats from an unsupportable claim. When I prepare arguments myself, I check to see that I am giving my case honestly, and not using these shortcuts to merely &lt;em&gt;appear&lt;/em&gt; persuasive via distraction.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>Velocipede!</title><link href="https://paul.kishimoto.name/2009/12/velocipede" rel="alternate"/><published>2009-12-10T00:00:00+01:00</published><updated>2009-12-10T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-12-10:/2009/12/velocipede</id><summary type="html">&lt;p&gt;Some time ago I stumbled across the following:&lt;/p&gt;
&lt;object type="application/x-shockwave-flash" data="https://www.youtube-nocookie.com/v/LXVhm3xakq0&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"
 width="640" height="505"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;Whoops, no Flash?&lt;/object&gt;

&lt;p&gt;Despite the objections of purists and the present high cost, it's clear that this is the way of the future. &lt;a href="http://www.bikeradar.com/news/article/shimano-dura-ace-di2-electronic-first-ride-18283"&gt;Reviews&lt;/a&gt; point out the sophistication of the electronic control; for example, the cages adjust slightly when cross-shifted (an outer gear at the crank and an inner gear at the rear cassette, or vice versa) to eliminate the familiar rattle. The rear derailleur also overshoots so that the chain is driven into the new gear quickly.&lt;/p&gt;
&lt;p&gt;Only professional cyclists could have the finesse to do this through delicate control of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some time ago I stumbled across the following:&lt;/p&gt;
&lt;object type="application/x-shockwave-flash" data="https://www.youtube-nocookie.com/v/LXVhm3xakq0&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"
 width="640" height="505"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;Whoops, no Flash?&lt;/object&gt;

&lt;p&gt;Despite the objections of purists and the present high cost, it's clear that this is the way of the future. &lt;a href="http://www.bikeradar.com/news/article/shimano-dura-ace-di2-electronic-first-ride-18283"&gt;Reviews&lt;/a&gt; point out the sophistication of the electronic control; for example, the cages adjust slightly when cross-shifted (an outer gear at the crank and an inner gear at the rear cassette, or vice versa) to eliminate the familiar rattle. The rear derailleur also overshoots so that the chain is driven into the new gear quickly.&lt;/p&gt;
&lt;p&gt;Only professional cyclists could have the finesse to do this through delicate control of conventional shift levers, and I know I would be never be capable—certainly not while pounding up the &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=casa+loma+toronto&amp;amp;sll=53.634721,-113.626742&amp;amp;sspn=0.01243,0.013175&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Casa+Loma,+Toronto,+Ontario,+Canada&amp;amp;ll=43.678346,-79.411299&amp;amp;spn=0,359.997253&amp;amp;t=h&amp;amp;z=19&amp;amp;layer=c&amp;amp;cbll=43.676831,-79.410365&amp;amp;panoid=Of6Dv3IODqMlhtAF3RLitQ&amp;amp;cbp=12,343.22,,0,5"&gt;steep hill on Walmer Road, near Casa Loma&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This, and other other innovations such as Cervélo's &lt;a href="http://www.cervelo.com/bikes.aspx?bike=P42009#2"&gt;hidden rear brake&lt;/a&gt; and powerful, &lt;a href="http://ecom1.planetbike.com/3045.html"&gt;two-watt LED front lights&lt;/a&gt; suggest further ideas:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Bottom bracket dynamos ([hub dynamos](http://en.wikipedia.org/wiki/Hub_dynamo) already exist),&lt;/li&gt;
  &lt;li&gt;Wireless tachometry for cycling computers integrated with the above,&lt;/li&gt;
  &lt;li&gt;Batteries in wind-shadowed areas (e.g. under the saddle),&lt;/li&gt;
  &lt;li&gt;Wireless and/or regenerative braking,&lt;/li&gt;
  &lt;li&gt;Turn signals, and&lt;/li&gt;
  &lt;li&gt;Cellphones and mobile devices as cycling computers via Bluetooth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A more modest idea is a &lt;em&gt;crankset side light&lt;/em&gt;. Many &lt;a href="http://en.wikipedia.org/wiki/Crankset"&gt;cranksets&lt;/a&gt; (including the FSA Omega on my 2008 Kona Jake) have one arm—on the side opposite the chainrings—clamped around a hollow axle that passes through the bottom bracket. The tube is covered by a small dust cap. Instead of the cap, insert a small device with a dynamo, battery, and a single, blinking LED. This side light would serve the same purpose as spoke-mounted reflectors.&lt;/p&gt;
&lt;p&gt;The general concept is that small accessories don't require huge, or any, batteries. By efficiently diverting a fraction of the &lt;a href="http://en.wikipedia.org/wiki/Human-powered_transport#Available_muscle_power"&gt;rider's output&lt;/a&gt;, electronic parts can be powered reliably whenever a bicycle is in motion.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>"Welcome" mat in an empty field</title><link href="https://paul.kishimoto.name/2009/10/welcome-mat-in-an-empty-field" rel="alternate"/><published>2009-10-19T00:00:00+02:00</published><updated>2009-10-19T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-10-19:/2009/10/welcome-mat-in-an-empty-field</id><summary type="html">&lt;p&gt;To avoid the taint of modernity, I'll lie and say that a friend once &lt;em&gt;remarked&lt;/em&gt;, apropos of nothing, "'Welcome' mat in an empty field."&lt;/p&gt;
&lt;p&gt;Some weeks later, I was walking behind the University of Toronto Press warehouse on Dufferin when I saw the item in question. It was about noon early in the summer, before the oppressive, July-August Toronto heat scorched the colour out of the city. There was a welcome mat sitting on a low, grassy hill, where the back of the warehouse faces G. Ross Lord Park and the West Don River.&lt;/p&gt;
&lt;p&gt;What strikes me now is the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;To avoid the taint of modernity, I'll lie and say that a friend once &lt;em&gt;remarked&lt;/em&gt;, apropos of nothing, "'Welcome' mat in an empty field."&lt;/p&gt;
&lt;p&gt;Some weeks later, I was walking behind the University of Toronto Press warehouse on Dufferin when I saw the item in question. It was about noon early in the summer, before the oppressive, July-August Toronto heat scorched the colour out of the city. There was a welcome mat sitting on a low, grassy hill, where the back of the warehouse faces G. Ross Lord Park and the West Don River.&lt;/p&gt;
&lt;p&gt;What strikes me now is the minimalism with which the idea was conveyed.&lt;/p&gt;
&lt;p&gt;Were I first to see it, &lt;em&gt;I&lt;/em&gt; might have tried to write haiku. Another friend, a photographer, would have stepped back and pulled out his DSLR camera for a shot, which to the average Flickr browser would have even odds of being carefully staged. Others I know would write contemplative short fiction.&lt;/p&gt;
&lt;p&gt;Instead the concept was presented bare, without even an imperative — "Imagine an…", or, "Ask me where you can see the…" — anchored only by the unmentioned existence of the thing referred to. It took me some time to realize the elegance of this method.&lt;/p&gt;
&lt;p&gt;And, full disclosure: It was his instant messaging status!&lt;/p&gt;</content><category term="2009"/></entry><entry><title>"Corporate Governance", Identity and Meat</title><link href="https://paul.kishimoto.name/2009/08/corporate-governance-identity-and-meat" rel="alternate"/><published>2009-08-17T00:00:00+02:00</published><updated>2009-08-17T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-08-17:/2009/08/corporate-governance-identity-and-meat</id><summary type="html">&lt;p&gt;At the risk of stating the obvious, democratic government is unlike running a business in a number of important ways. David Olive gives one of the &lt;a href="http://thestar.blogs.com/recession/2009/08/why-so-many-blacks-remain-mired-in-poverty.html"&gt;&lt;em&gt;similarities&lt;/em&gt;&lt;/a&gt; in his &lt;a href=""&gt;excellent blog&lt;/a&gt; at the Toronto Star:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is the death of any commercial enterprise to starve itself of necessary expenditures on R&amp;amp;D, new-product development and marketing. I'll never understand how today's conservatives fail to make that connection, slavishly devoted as they claim to be to free-market principles. Maybe it's because so few of them have run a business. Or had to make their way in the private sector - as I …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;At the risk of stating the obvious, democratic government is unlike running a business in a number of important ways. David Olive gives one of the &lt;a href="http://thestar.blogs.com/recession/2009/08/why-so-many-blacks-remain-mired-in-poverty.html"&gt;&lt;em&gt;similarities&lt;/em&gt;&lt;/a&gt; in his &lt;a href=""&gt;excellent blog&lt;/a&gt; at the Toronto Star:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is the death of any commercial enterprise to starve itself of necessary expenditures on R&amp;amp;D, new-product development and marketing. I'll never understand how today's conservatives fail to make that connection, slavishly devoted as they claim to be to free-market principles. Maybe it's because so few of them have run a business. Or had to make their way in the private sector - as I do - without being subsidized by a Rupert Murdoch, the Fraser Institute or the Heritage Foundation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Incompetence is universal. It should be evident that the architects of such spectacular failures as the overdue Boeing 787 project, the GM bankruptcy or the Wall Street meltdown would do no better in public office, where oversight is more open but less effective. However, even successful companies are usually inappropriate models for government.&lt;/p&gt;
&lt;p&gt;Choose Apple, for example, whose innovation and focus on design has made it wildly successful and won it hordes of fans who might well vote for a President Steven P. Jobs. But the breath-taking, march-stealing nature of Apple's product launches depends on a rigid and &lt;a href="http://www.nytimes.com/2009/06/23/technology/23apple.html"&gt;well-documented culture of secrecy&lt;/a&gt;. As much as politicos might envy the impact of Apple announcements, they would be ill-advised to try and duplicate it. Funding announcements without stakeholder input will miss the mark and be ineffective; unannounced funding and/or cuts make the granting government look guilty when they are inevitably unearthed.&lt;/p&gt;
&lt;p&gt;Yet governing parties at all levels, in Canada and elsewhere, continue think they can engineer positive surprises and suppress negative ones—and they continue to fail in doing so.&lt;/p&gt;
&lt;h2&gt;Identity&lt;/h2&gt;
&lt;p&gt;You can observe a number of common privacy tactics among your friend with an online presence:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Private or semi-private blogs or portions of blog posts.&lt;/li&gt;
  &lt;li&gt;Using partial names on social networking services ("Paul K").&lt;/li&gt;
  &lt;li&gt;The use of handles or pseudonyms.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I use none of the above. If identify theft is a concern, they will foil only casual (harmless) attempts. As for sharing details of one's personal life, it is mostly pretentious to expect they are consequential, or that large numbers of others will be interested in them. I—and certainly others—often neglect &lt;em&gt;life&lt;/em&gt; proper, so why further the problem by spending time writing about it?&lt;/p&gt;
&lt;p&gt;Alternate identities are another easy target. We spend entire phases of our lives struggling with identity, so maintaining a second (or third, or fourth) introduces needless complications. Where concerns about one's employer motivate anonymity, there is doubtless a value conflict that deserves close examination.&lt;/p&gt;
&lt;p&gt;Having grown up before the advent of cyber-bulling and, being male, unlikely to be the target of sexual violence, I am no doubt privileged in being able to hold these views. Still, I firmly believe in consistency and honesty of online identity.&lt;/p&gt;
&lt;h2&gt;Meat!&lt;/h2&gt;
&lt;p&gt;Finally, the Walrus (after &lt;a href="/node/272"&gt;disappointing&lt;/a&gt; in May) redeems itself with &lt;a href="http://walrusmagazine.com/articles/2009.09-fiction-summer-of-the-flesh-eater-Canadian-fiction-zsuzsi-Gartner-jillian-tamaki"&gt;this excellent short story&lt;/a&gt; by Zsuzsi Gartner in its September issue. Delicious! If the quality of writing remains so high for a full year, I can quit whining forever.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>Terror alert level: PEE PEE PANTS</title><link href="https://paul.kishimoto.name/2009/04/terror-alert-level-pee-pee-pants" rel="alternate"/><published>2009-04-16T00:00:00+02:00</published><updated>2009-04-16T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-04-16:/2009/04/terror-alert-level-pee-pee-pants</id><summary type="html">&lt;p&gt;The May issue of &lt;em&gt;The Walrus&lt;/em&gt; contained &lt;a href="http://www.walrusmagazine.com/articles/2009.05-security-are-we-safe-yet/"&gt;this article&lt;/a&gt; by Daniel Stoffman. An illustrative quote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because they are amateurs, homegrown terrorists prefer soft, undefended targets — a restaurant rather than a military installation, a bus rather than a hydro dam. And because they are part of the community, they are hard to detect. “We have cases of white Anglo-Saxon Protestants converting to the most radical forms of Islam…"&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The author perhaps hopes you will supply your own, "…because we all know &lt;a href="http://en.wikipedia.org/wiki/Timothy_McVeigh"&gt;white Anglo-Saxons could never be terrorists.&lt;/a&gt;" The paragraph also opens with one of many &lt;a href="http://en.wikipedia.org/wiki/Tactics_of_the_Iraqi_insurgency#Non-military_and_civilian_targets"&gt;misleading or patently false&lt;/a&gt; assertions about …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The May issue of &lt;em&gt;The Walrus&lt;/em&gt; contained &lt;a href="http://www.walrusmagazine.com/articles/2009.05-security-are-we-safe-yet/"&gt;this article&lt;/a&gt; by Daniel Stoffman. An illustrative quote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because they are amateurs, homegrown terrorists prefer soft, undefended targets — a restaurant rather than a military installation, a bus rather than a hydro dam. And because they are part of the community, they are hard to detect. “We have cases of white Anglo-Saxon Protestants converting to the most radical forms of Islam…"&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The author perhaps hopes you will supply your own, "…because we all know &lt;a href="http://en.wikipedia.org/wiki/Timothy_McVeigh"&gt;white Anglo-Saxons could never be terrorists.&lt;/a&gt;" The paragraph also opens with one of many &lt;a href="http://en.wikipedia.org/wiki/Tactics_of_the_Iraqi_insurgency#Non-military_and_civilian_targets"&gt;misleading or patently false&lt;/a&gt; assertions about terrorism and terrorists.&lt;/p&gt;
&lt;p&gt;Stoffman seems to be an author of &lt;a href="http://www.amazon.com/Who-Gets-Canadas-immigration-program/dp/1551990954/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1239906501&amp;amp;sr=8-1"&gt;xenophobic books&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Internet_troll"&gt;a troll&lt;/a&gt; and doubtless enjoys &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:SOUP"&gt;spitting in people's soup&lt;/a&gt;—so be it. I would still read his writing, and gladly, if it were at all constructive. What distresses me most is that &lt;em&gt;The Walrus&lt;/em&gt; has chosen to waste ink on the &lt;a href="http://en.wikipedia.org/wiki/Human_rights_complaints_against_Maclean%27s_magazine"&gt;cheap sensationalism, fearmongering and demagoguery&lt;/a&gt; of publications I deliberately choose to avoid supporting. Instead, strive for forward-looking, intelligent, creative discussion. Publish the controversial, by all means, but don't publish the merely &lt;em&gt;bad&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you like, read &lt;a href="http://www.walrusmagazine.com/articles/2009.05-security-are-we-safe-yet/#1806"&gt;
more of my disappointed logorrhea&lt;/a&gt; on &lt;em&gt;The Walrus'&lt;/em&gt; website.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>Software and the small organization</title><link href="https://paul.kishimoto.name/2009/04/software-and-the-small-organization" rel="alternate"/><published>2009-04-05T00:00:00+02:00</published><updated>2009-04-05T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-04-05:/2009/04/software-and-the-small-organization</id><summary type="html">&lt;p&gt;I have been involved in a number of small organizations in which I held either explicit or &lt;em&gt;de facto&lt;/em&gt; roles as a director of communications or webmaster. These include the &lt;a href="http://dragonboat.skule.ca"&gt;Iron Dragons&lt;/a&gt;, the &lt;a href="http://skule.ca"&gt;University of Toronto Engineering Society&lt;/a&gt;, the Leaders of Tomorrow &lt;a href="http://engsci.utoronto.ca/wiki/Leadership"&gt;Working Group (WG) for Engineering Science&lt;/a&gt; and later the &lt;a href="http://lot.utoronto.ca/grad"&gt;Graduate&lt;/a&gt; WG, as well as project groups for several courses.&lt;/p&gt;
&lt;p&gt;As a web development tinker, I have been able to introduce a number of tools to these groups, including:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;[Drupal](http://drupal.org) websites.&lt;/li&gt;
  &lt;li&gt;Wikis, using [MoinMoin](http://moinmo.in), [PmWiki](http://pmwiki.org) or [MediaWiki](http://www.mediawiki …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I have been involved in a number of small organizations in which I held either explicit or &lt;em&gt;de facto&lt;/em&gt; roles as a director of communications or webmaster. These include the &lt;a href="http://dragonboat.skule.ca"&gt;Iron Dragons&lt;/a&gt;, the &lt;a href="http://skule.ca"&gt;University of Toronto Engineering Society&lt;/a&gt;, the Leaders of Tomorrow &lt;a href="http://engsci.utoronto.ca/wiki/Leadership"&gt;Working Group (WG) for Engineering Science&lt;/a&gt; and later the &lt;a href="http://lot.utoronto.ca/grad"&gt;Graduate&lt;/a&gt; WG, as well as project groups for several courses.&lt;/p&gt;
&lt;p&gt;As a web development tinker, I have been able to introduce a number of tools to these groups, including:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;[Drupal](http://drupal.org) websites.&lt;/li&gt;
  &lt;li&gt;Wikis, using [MoinMoin](http://moinmo.in), [PmWiki](http://pmwiki.org) or [MediaWiki](http://www.mediawiki.org/wiki/MediaWiki).&lt;/li&gt;
  &lt;li&gt;Mailing lists, typically with an instance of [GNU Mailman](http://www.gnu.org/software/mailman/index.html).&lt;/li&gt;
  &lt;li&gt;[Doodle](http://doodle.com) for scheduling meetings.&lt;/li&gt;
  &lt;li&gt;[FTP](http://en.wikipedia.org/wiki/FTP) accounts for file sharing.&lt;/li&gt;
  &lt;li&gt;[Google Apps](http://google.com/apps/) e-mail, calendar and documents.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some thought processes are useful when choosing and deploying such tools.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Identify the spanning set.&lt;/strong&gt; I have written about this &lt;a href="/node/256"&gt;previously&lt;/a&gt;. Technology needs to be applied judiciously. For example, using MediaWiki for most small projects is &lt;a href="http://www.dilbert.com/strips/comic/1993-03-27/"&gt;a little bit like sandblasting a soup cracker&lt;/a&gt;. Ask yourself the following questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How computer-literate are my users? How much time and effort can they devote to learning new tools? How much can I devote to teaching them?&lt;/li&gt;
&lt;li&gt;What communication is most important? Is it the communication between executives? Between regular members? From the executive to outsiders? Will the software I am considering obstruct the flow along these popular channels?&lt;/li&gt;
&lt;li&gt;What computing capability is available to me?&lt;/li&gt;
&lt;li&gt;How much time to I want to spend babysitting the configuration? Are my other responsibilities to the organization more important?&lt;/li&gt;
&lt;li&gt;Do I want to write code that someone must later maintain?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The answers should help guide your selection of software tools for the organization. Further, once you have committed to a tool, they may govern how you use its features. Larger Drupal websites rely on interlocking &lt;a href="http://drupal.org/project/Modules"&gt;contributed modules&lt;/a&gt;, configuration and theming. Often there are many ways to skin a cat; instead of using the first you come across, research and make a careful choice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Question the need for control.&lt;/strong&gt; Not every organization is committed to being an &lt;a href="http://flors.wordpress.com/2008/05/04/the-paradigm-of-the-open-organization"&gt;Open Organization&lt;/a&gt;, but many would do better to try. Consider information:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Regular reports&lt;/strong&gt; - Reported activities and future plans allow monitoring and participation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Information accessible&lt;/strong&gt; - Even internal operational information is available by default.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explicit confidentiality&lt;/strong&gt; - It is explained what areas are confidential, why and who access them.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first is often a requirement; especially in representative (student) government, where reporting of minutes is a mechanism for accountability. Even in smaller groups, #3 can be useful. By acknowledging and delineating what information is shared, you defend the organization against the unpredictable actions of members who feel they are being shut out of decisions they care strongly about. Finally, #2 can serve two purposes; the first is recruiting. The casual visitor may be enticed if (s)he sees something intriguing; it would take considerable effort to replicate this effect through deliberate marketing. In groups whose activities include leadership development, internal operational information further serves as evidence of the development process, as well as fodder for reflection.&lt;/p&gt;
&lt;p&gt;In using software, implementing access control to hide certain information is always extra work. With the above principles in mind, question why it is necessary to maintain separate and perhaps dissonant sets of information for internal and external audiences.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use Free Software.&lt;/strong&gt; Call this bias if you like, but it is more reasonable to point your successors to http://openoffice.org than to expect them to have access to a (questionably legal) "copy" of Word. If your organization is a business, the former practice does away with worries about software piracy.&lt;/p&gt;
&lt;p&gt;Free software is not without its faults, however, one of which is that it develops in an ecosystem. Projects which fail to attract users stagnate and ultimately disappear. Balance the features of available alternatives against the apparent health of their community; as with proprietary software, avoid "vendor lock-in". If the community behind your current software seems to be dying, migrate out.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plan for the future.&lt;/strong&gt; What is your level of knowledge in web development and software administration? Can you expect your successors to reliably be as knowledgeable? Even if not, favour simpler configurations which are more easily maintained. Perhaps this entails (where it means no inefficiency elsewhere) changing practice in your organization to suit the stock behaviour of some software.&lt;/p&gt;
&lt;p&gt;Documentation is invaluable. Even if your own knowledge was assembled from hours of schizophrenic Googling, save and share a collection of links. Spend a few hours recalling problems which at first had you stymied, and explain how you overcame them. Keep this documentation in the simplest possible form, to remove any barrier to your successors in updating it.&lt;/p&gt;
&lt;p&gt;It is the organization, and not you, which learns lessons. Do what is necessary to ensure the organization's future behaviour reflects them. The alternative is that your successor, knowing no better, will repeat your rookie mistakes, undo your hard work, and—worst of all—potentially damage the organization's data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Work hard.&lt;/strong&gt; If you find yourself grappling with these issues, you have already decided that your organization can communicate more effectively and therefore work better with the use of technology. But you need to do more than simply mentioning as many Web 2.0 social networking sites as you can in one breath ("FacebookMySpaceTwitterYouTubeDigg…"). Indeed, shoddy work can mean an unintuitive setup that will create an aversion reaction in your peers, at which point you have immunized the organization against &lt;em&gt;all&lt;/em&gt; technology. The only course is to do the hard work necessary to get a good suite of tools which are  accepted and adopted.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>The city mouse</title><link href="https://paul.kishimoto.name/2009/02/the-city-mouse" rel="alternate"/><published>2009-02-22T00:00:00+01:00</published><updated>2009-02-22T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-02-22:/2009/02/the-city-mouse</id><summary type="html">&lt;p&gt;Public policy is a growing personal interest, building on my background in engineering, my morbid fixation with local, provincial and federal politics, and a view for leadership.&lt;/p&gt;
&lt;p&gt;This term I have a fascinating graduate course in Engineering &amp;amp; Public Policy at the University of Toronto. While much of the material would likely cause the reader's eyes to glaze over, I hope to write about some situations that motivate the use of policy.&lt;/p&gt;
&lt;p&gt;My mother grew up in what was essentially farmland in Aurora, Ontario in the 1950s and '60s. School always involved a long bus ride; the nearest neighbours were miles …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Public policy is a growing personal interest, building on my background in engineering, my morbid fixation with local, provincial and federal politics, and a view for leadership.&lt;/p&gt;
&lt;p&gt;This term I have a fascinating graduate course in Engineering &amp;amp; Public Policy at the University of Toronto. While much of the material would likely cause the reader's eyes to glaze over, I hope to write about some situations that motivate the use of policy.&lt;/p&gt;
&lt;p&gt;My mother grew up in what was essentially farmland in Aurora, Ontario in the 1950s and '60s. School always involved a long bus ride; the nearest neighbours were miles away. Her love of the outdoors led our family to own a ski chalet on 8 acres of land in upstate New York in the '90s, and for decades she has enjoyed an annual, week-long canoe trip with several women her age to one of Ontario's many parks. The works of the Group of Seven are among her favourite art.&lt;/p&gt;
&lt;p&gt;I, on the other hand, have resolved never to own a car, which mostly confines my working life to urban areas. I am still interested in living in a Japanese-style one-bedroom apartment, the sort that tend to be too small for even a shower (a nearby bathhouse substitutes). Bicycle activism interests me, and recently I use 'driver' as an ephithet more often that not. Despite these contrasts I find that I share a high valuation of nature, of open spaces away from civilization, of the pristine. I cycle, ski, run and dragon boat because I love being outdoors. Nature's majesty has an unrivalled capacity to awe me.&lt;/p&gt;
&lt;p&gt;Whereas earlier generations, especially in North America, had a concept of nature as bountiful and boundless, we are aware today of the limits of our planet. Conventional wisdom has it that a person is entitled to his own homestead, his plot of land, or at least his suburban home on a large lot. When space is plentiful, this is excellent—if each child had his own patch of woods to tromp through, we would surely have better mental health overall.&lt;/p&gt;
&lt;p&gt;In Mississauga, where I grew up, there is no longer empty land; every hectare within the city limits has been zoned, and much of it for housing. The consequence is sprawl; youth who feel disconnected from communities they cannot traverse without a license and a vehicle; poor public transit in areas with density too low to support frequent service. Development, far from ceasing, continues in Brampton and other municipalities further from downtown Toronto.&lt;/p&gt;
&lt;p&gt;I don't think this should be interpreted to mean that we no longer value nature. Imagery of the Great White North is central to our national identity and we are loath to abandon it. Nor are the developers and new homeowners inherently evil. Instead, I feel, our behaviour has been slow to change and no longer suits our values.&lt;/p&gt;
&lt;p&gt;The course has confirmed my distaste for the varieties of conservatism that favour small government and markets. In the Greater Toronto Area, the &lt;em&gt;de facto&lt;/em&gt; policy of letting the housing market alone has only allowed the efficient paving of large areas of green land. Yet the market provides no incentive to use instruments of collective benefit (parks, transit and multiple dwellings) over those of individual benefit (backyards, cars and individual homes). Thus the need for progressive policy. Looking to Western Europe and East Asia we can see myriad examples of both success and failure in this policy space, and we have the luxury of adapting the former to our own cities.&lt;/p&gt;
&lt;p&gt;Thus also I can reconcile my 'city mouse' predilections with my 'country mouse' values. When wilderness and nature—the urban park, the lakeshore, the ski slopes and national parks a few hours away—are within easy reach, urban living need not feel confined or artificial.&lt;/p&gt;</content><category term="2009"/></entry><entry><title>Thorn</title><link href="https://paul.kishimoto.name/2009/02/thorn" rel="alternate"/><published>2009-02-01T00:00:00+01:00</published><updated>2009-02-01T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2009-02-01:/2009/02/thorn</id><content type="html">&lt;blockquote&gt;
&lt;p&gt;The scabbard wants its negative;&lt;br/&gt;
Grip and pommel scarce can guard&lt;br/&gt;
The jagged tang, for on it thicker&lt;br/&gt;
Clots the knight than foe on blade.&lt;/p&gt;
&lt;p&gt;The rifle's flesh to bone is rimed,&lt;br/&gt;
Corrupted—fused with like white heat,&lt;br/&gt;
Hungry rust or binding frost&lt;br/&gt;
As barrel, breech and chamber clog.&lt;/p&gt;
&lt;p&gt;Most shrapnel thickly skyward swarms,&lt;br/&gt;
Up, swift up the bomb's long arc.&lt;br/&gt;
It flies true to the bombardier,&lt;br/&gt;
To pierce and burrow, fester, maim.&lt;/p&gt;
&lt;p&gt;What youth is not surprised to find—&lt;br/&gt;
Loosing anger's early blow—&lt;br/&gt;
His nails grown sharper, longer in&lt;br/&gt;
The soft palm of his clenchèd hand?&lt;/p&gt;
&lt;/blockquote&gt;</content><category term="2009"/></entry><entry><title>Dulce et decorum est</title><link href="https://paul.kishimoto.name/2008/11/dulce-et-decorum-est" rel="alternate"/><published>2008-11-11T00:00:00+01:00</published><updated>2008-11-11T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-11-11:/2008/11/dulce-et-decorum-est</id><summary type="html">&lt;blockquote&gt;
&lt;p&gt;Take up our quarrel with the foe:&lt;br/&gt;
To you from failing hands we throw&lt;br/&gt;
&amp;nbsp;&amp;nbsp;The torch; be yours to hold it high.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;If ye break faith with us who die&lt;br/&gt;
We shall not sleep, though poppies grow&lt;br/&gt;
&amp;nbsp;&amp;nbsp;In Flanders fields.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;—from &lt;a href="http://en.wikisource.org/wiki/In_Flanders_Fields"&gt;&lt;em&gt;In Flanders Fields&lt;/em&gt; (1915)&lt;/a&gt;, John McCrae&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you could hear, at every jolt, the blood&lt;br/&gt;
Come gargling from the froth-corrupted lungs,&lt;br/&gt;
Obscene as cancer, bitter as the cud&lt;br/&gt;
Of vile, incurable sores on innocent tongues,–&lt;br/&gt;
My friend, you would not tell with such high zest&lt;br/&gt;
To children ardent for some desperate glory,&lt;br/&gt;
The old Lie: &lt;em&gt;Dulce et decorum est …&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;Take up our quarrel with the foe:&lt;br/&gt;
To you from failing hands we throw&lt;br/&gt;
&amp;nbsp;&amp;nbsp;The torch; be yours to hold it high.&lt;br/&gt;
&amp;nbsp;&amp;nbsp;If ye break faith with us who die&lt;br/&gt;
We shall not sleep, though poppies grow&lt;br/&gt;
&amp;nbsp;&amp;nbsp;In Flanders fields.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;—from &lt;a href="http://en.wikisource.org/wiki/In_Flanders_Fields"&gt;&lt;em&gt;In Flanders Fields&lt;/em&gt; (1915)&lt;/a&gt;, John McCrae&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;lt;!&amp;gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you could hear, at every jolt, the blood&lt;br/&gt;
Come gargling from the froth-corrupted lungs,&lt;br/&gt;
Obscene as cancer, bitter as the cud&lt;br/&gt;
Of vile, incurable sores on innocent tongues,–&lt;br/&gt;
My friend, you would not tell with such high zest&lt;br/&gt;
To children ardent for some desperate glory,&lt;br/&gt;
The old Lie: &lt;em&gt;Dulce et decorum est&lt;br/&gt;
Pro patria mori&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;—from &lt;a href="http://en.wikisource.org/wiki/Dulce_et_Decorum_Est"&gt;&lt;em&gt;Dulce et Decorum est&lt;/em&gt; (1917)&lt;/a&gt;, Wilfrid Owen&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The English slogan for &lt;a href="http://en.wikipedia.org/wiki/Remembrance_Day"&gt;Remembrance Day&lt;/a&gt; is "Lest We Forget," but I prefer the more active French &lt;em&gt;je me souviens&lt;/em&gt;. The day is to remember the sacrifices (life, limb or otherwise) of those who have fought in wars past. Consider, though—why remember, why rehearse old pain? What is the use?&lt;/p&gt;
&lt;p&gt;The observance dates to the Great War, and the two World Wars are foremost in the minds of many; but there are many other conflicts in which Canadians have &lt;a href="http://www.canmilair.com/tribute.htm"&gt;done yeoman's work&lt;/a&gt;. My uncle retired from the Maritime Command as a Commander; my cousin was seriously wounded in the Balkans when his APC drove over a land mine. One major conflict is ongoing. As an ex-Air Cadet, I have teenage friends who went on to serve in the Canadian Forces—at least one in Afghanistan, and others possibly there depending on how long the mission lasts.&lt;/p&gt;
&lt;p&gt;The Toronto Star has a &lt;a href="http://www.thestar.com/fpLarge/video/532858"&gt;striking video&lt;/a&gt; of a soldier reflecting—his "a hundred lives" refers to the 97 Canadian deaths since 2003. We are exhorted to "support the troops," often with the unspoken demand to also "support &lt;em&gt;this&lt;/em&gt; war so the deaths were not in vain." Our own most noted WWI poet telegraphs that the dead wish us to take up their quarrel. What then are we to make of Wilfrid Owen's bitter invective against Horace's Old Lie, "It is sweet and noble to die for one's country"?&lt;/p&gt;
&lt;p&gt;To me, Owen's words reflect the undeniable truth that it is young (wo)men who fight the wars of the old; it is they who make the sacrifices. But the horror of war is well-known—surely Canadians would not, time and again, leave their homes and families, cross oceans, and throw themselves into the breach in strange lands, merely because they had been well lied-to. Nor do I think this is ever the case. If the third World War were—God forbid—to break out and somehow not descend into nuclear holocaust, I might go to fight, but never with a heart full of sweet and noble feelings.&lt;/p&gt;
&lt;p&gt;Instead, soldiers seem to go to war with their jaws set. For some few there may be a sense of adventure; but that is the &lt;em&gt;esprit de corps&lt;/em&gt; created by good leaders. The remainder go out of duty, because they value service and their own freedom, because they remember how hard-won that freedom was, and because they feel others should also be free from tyranny and oppression.&lt;/p&gt;
&lt;p&gt;Because I cannot fault this, I can only praise the many peacekeeping missions to which we have sent contributions. To me, peacekeeping is untainted by the Old Lie, because the peacekeeper consciously plants him- or herself in a place of danger and says to the opposing sides, "No. We will not let you do this, because our mothers and fathers have done it and we are haunted yet by their suffering. Live instead."&lt;/p&gt;
&lt;p&gt;In the cynical political arena it is easy to justify a war of aggression fought for some material gain, but difficult to explain why our troops are making themselves targets—with bright blue helmets and white jeeps—for the benefit of strangely-dressed foreigners living in mud huts. This selfish calculus should not govern us in the slightest. We can reconcile McCrae and Owen by realizing that the former's foe is not the Hun or the Islamists but &lt;em&gt;human suffering&lt;/em&gt;, writ large. One's country is little more than a flag and some lines on a map, but one's fellow man is perhaps worth dying for, even if he lives within a different set of lines.&lt;/p&gt;
&lt;p&gt;I will not say that lives lost in Afghanistan—or anywhere else—are &lt;em&gt;wasted&lt;/em&gt;, that other casualties are &lt;em&gt;needless&lt;/em&gt;. That is very rarely the case. But in the Middle East, once Mesopotamia, the cradle of civilization, conflict is perpetual because some people remember only the &lt;em&gt;count&lt;/em&gt; of the dead, as a grim yardstick for vengeance. If we bypass the official histories and read instead the letters sent home by lost servicemen and -women, we will remember that they simply wanted peace, for themselves and for others.&lt;/p&gt;
&lt;p&gt;Having not found an opportunity to buy a poppy (and too lazy to find one), I instead offer these reflections on Remembrance Day.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>…and under no circumstances are you to associate with that Machiavelli boy!</title><link href="https://paul.kishimoto.name/2008/10/and-under-no-circumstances-are-you-to-associate-with-that-machiavelli-boy" rel="alternate"/><published>2008-10-27T00:00:00+01:00</published><updated>2008-10-27T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-10-27:/2008/10/and-under-no-circumstances-are-you-to-associate-with-that-machiavelli-boy</id><summary type="html">&lt;p&gt;The third of three short items for today concerns &lt;a href="http://en.wikipedia.org/wiki/Niccol%C3%B2_Machiavelli"&gt;Niccolò Machiavelli&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/The_Prince"&gt;&lt;em&gt;The Prince&lt;/em&gt;&lt;/a&gt;. I read the work for an excellent Modern Western Civilization course in high school, but hadn't seen the text again until an excerpt in &lt;a href="http://laphamsquarterly.org"&gt;Lapham's Quarterly&lt;/a&gt; prompted these remarks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Everyone realizes how praiseworthy it is for a prince to honor his word and to be straightforward rather than crafty in his dealings; nonetheless, &lt;em&gt;contemporary experience&lt;/em&gt; shows that princes who have achieved great things have been those who have given their word lightly, who have known how to trick men with their cunning, and who, in the …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;The third of three short items for today concerns &lt;a href="http://en.wikipedia.org/wiki/Niccol%C3%B2_Machiavelli"&gt;Niccolò Machiavelli&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/The_Prince"&gt;&lt;em&gt;The Prince&lt;/em&gt;&lt;/a&gt;. I read the work for an excellent Modern Western Civilization course in high school, but hadn't seen the text again until an excerpt in &lt;a href="http://laphamsquarterly.org"&gt;Lapham's Quarterly&lt;/a&gt; prompted these remarks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Everyone realizes how praiseworthy it is for a prince to honor his word and to be straightforward rather than crafty in his dealings; nonetheless, &lt;em&gt;contemporary experience&lt;/em&gt; shows that princes who have achieved great things have been those who have given their word lightly, who have known how to trick men with their cunning, and who, in the end, have overcome those abiding by honest principles.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(Italics mine) Consider that "contemporary" means "16th century Florentine" and that the intended audience was &lt;a href="http://en.wikipedia.org/wiki/Lorenzo_de%27_Medici"&gt;Lorenzo de' Medici&lt;/a&gt;. The book has great value, certainly, but it lies in discerning the motivations of such people and some rulers who have since attempted to emulate them. It worries me to see friends and colleagues admire it as a work of &lt;em&gt;personal philosophy&lt;/em&gt; or &lt;em&gt;modern politics&lt;/em&gt;, purposes for which it is ill-used.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Men are so simple, and so much creatures of circumstance, that the deceiver will always find someone ready to be deceived.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Amid today's economic turbulence, espousing such views puts one in the poor company of predatory lenders who made a tidy profit trapping homeowners into bad loans. A mercenary approach to public institutions weakens them; the tarnish the Bush administration has left on the apparatus of government being a clear example. As citizens, if we undermine aspects of society when they are of personal inconvenience, we risk obsoleting functioning structures which must then be replaced or bolstered by more, more complex and more costly ones. This is in no-one's self-interest.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Men in general judge by their eyes rather than by their hands; because everyone is in a position to watch, few are in a position to come in close touch with you. Everyone sees what you appear to be, few experience what you really are.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In our private lives, few are entirely free from scrutiny, and we rarely—if ever—can manage to hold ourselves in princely remove from those around us. The discrepancies between our words and actions are plain, detracting both from our integrity and the cooperation it earns us from others.&lt;/p&gt;
&lt;p&gt;I say nothing against pragmatism or even against the pursuit of self-interest. However, if you are seeking applicable lessons, there are far better sources than one which assumes you &lt;em&gt;are&lt;/em&gt; the law, can exercise physical force with impunity, and are fully insulated from the consequences of your deliberate dishonesty.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Manufacturing in Ontario</title><link href="https://paul.kishimoto.name/2008/10/manufacturing-in-ontario" rel="alternate"/><published>2008-10-26T00:00:00+02:00</published><updated>2008-10-26T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-10-26:/2008/10/manufacturing-in-ontario</id><summary type="html">&lt;p&gt;&lt;img alt="REPower turbine" src="https://paul.kishimoto.name/image/REpower_5M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Manufacturing jobs in Ontario, the prophesy goes, are disappearing and will soon be extinct. I think this is unnecessarily dire. I recently &lt;a href="http://www.thestar.com/Business/article/445983"&gt;read a report&lt;/a&gt; that &lt;a href="http://www.multibrid.com/index.php?id=1&amp;amp;L=1"&gt;Multibrid&lt;/a&gt; was weighing manufacturing the turbines for a &lt;a href="http://www.trilliumpower.com/flash/"&gt;large wind project&lt;/a&gt; in Lake Ontario.&lt;/p&gt;
&lt;p&gt;Read the attached brochure from REpower, another Germany company making 5 MW turbines, and note the &lt;em&gt;thirty-two&lt;/em&gt; endorsements from presidents of subcontractors and associated companies. Some of those companies do work exclusively in support of wind power manufacturing, which—if the world's third-largest GDP were not enough—should convince you that Germany knows what it is doing in terms of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="REPower turbine" src="https://paul.kishimoto.name/image/REpower_5M.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Manufacturing jobs in Ontario, the prophesy goes, are disappearing and will soon be extinct. I think this is unnecessarily dire. I recently &lt;a href="http://www.thestar.com/Business/article/445983"&gt;read a report&lt;/a&gt; that &lt;a href="http://www.multibrid.com/index.php?id=1&amp;amp;L=1"&gt;Multibrid&lt;/a&gt; was weighing manufacturing the turbines for a &lt;a href="http://www.trilliumpower.com/flash/"&gt;large wind project&lt;/a&gt; in Lake Ontario.&lt;/p&gt;
&lt;p&gt;Read the attached brochure from REpower, another Germany company making 5 MW turbines, and note the &lt;em&gt;thirty-two&lt;/em&gt; endorsements from presidents of subcontractors and associated companies. Some of those companies do work exclusively in support of wind power manufacturing, which—if the world's third-largest GDP were not enough—should convince you that Germany knows what it is doing in terms of both sustainability and economic growth. If the provincial government could connect its left and right hands, I suspect the &lt;a href="http://www.powerauthority.on.ca"&gt;Ontario Power Authority&lt;/a&gt; would be quickly convinced to drop its weak claim that offshore wind projects are too expensive for the Ontario grid.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Tax Freedom Day</title><link href="https://paul.kishimoto.name/2008/10/tax-freedom-day" rel="alternate"/><published>2008-10-26T00:00:00+02:00</published><updated>2008-10-26T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-10-26:/2008/10/tax-freedom-day</id><summary type="html">&lt;p&gt;The first of three short pieces for today deals with the concept of &lt;a href="http://en.wikipedia.org/wiki/Tax_freedom_day"&gt;Tax Freedom Day&lt;/a&gt;, which divides the working calendar year in the same proportion as the income tax paid by the average taxpayer (around 40%, in Ontario). Promoted in Canada by the conservative &lt;a href="http://www.fraserinstitute.org"&gt;Fraser Institute&lt;/a&gt;, it is also highlighted by the &lt;a href="http://www.taxpayer.com/main/news.php?news_id=1143"&gt;Canadian Taxpayers Federation&lt;/a&gt; (CTF) with words such as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another, albeit more depressing, way to view our tax burden is through the lens of a typical day…after working all morning for Paul Martin, Ernie Eves and Mel Lastman (or substitute your own mayor), it’s time for …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;The first of three short pieces for today deals with the concept of &lt;a href="http://en.wikipedia.org/wiki/Tax_freedom_day"&gt;Tax Freedom Day&lt;/a&gt;, which divides the working calendar year in the same proportion as the income tax paid by the average taxpayer (around 40%, in Ontario). Promoted in Canada by the conservative &lt;a href="http://www.fraserinstitute.org"&gt;Fraser Institute&lt;/a&gt;, it is also highlighted by the &lt;a href="http://www.taxpayer.com/main/news.php?news_id=1143"&gt;Canadian Taxpayers Federation&lt;/a&gt; (CTF) with words such as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Another, albeit more depressing, way to view our tax burden is through the lens of a typical day…after working all morning for Paul Martin, Ernie Eves and Mel Lastman (or substitute your own mayor), it’s time for a quick sandwich and then back to work to make money to pay the bills. This scenario represents the daily grind for the average Ontario taxpayer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The CTF has at its core the vaguely insulting reduction of 'citizen' to 'taxpayer', which both ignores civic duty and elides the crucial fact that the set of citizens and set of taxpayers are not the same. From the CTF's standpoint, children—not being, for the most part, taxpayers—are only of value to the extent that they earn tax breaks for their parents, and certainly their education (paid for by taxes) is assigned no objective value that might distinguish it from other "waste".&lt;/p&gt;
&lt;p&gt;Regarding Tax Freedom Day itself, the key fault is evident in the quotation above, which supposes the money is solely lining the pockets of elected officials. While those do earn salaries—about which I will express no opinion—a more honest report would acknowledge that a &lt;em&gt;taxpaying citizen&lt;/em&gt;'s days until mid-June are spent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;paving the road he drives to work on,&lt;/li&gt;
&lt;li&gt;caring for her infirm parents or grandparents,&lt;/li&gt;
&lt;li&gt;policing and carrying out justice in his community,&lt;/li&gt;
&lt;li&gt;educating her children,&lt;/li&gt;
&lt;li&gt;defending his country from any enemies,&lt;/li&gt;
&lt;li&gt;aiding the poor abroad, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, the hope is that you will imagine yourself to be a serf working for a greedy landlord who allows you but a fraction of your meagre income. When this is successful, the citizen comes to believe he is only a taxpayer, becomes blind to the benefits of government and therefore howls for it to be demolished.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>LaTeX tools</title><link href="https://paul.kishimoto.name/2008/10/latex-tools" rel="alternate"/><published>2008-10-01T00:00:00+02:00</published><updated>2008-10-01T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-10-01:/2008/10/latex-tools</id><summary type="html">&lt;p&gt;Over the past few months, I have moved almost entirely to &lt;a href="http://en.wikipedia.org/wiki/LaTeX"&gt;LaTeX&lt;/a&gt; for word processing. The transition started at the end of AER407 Space Systems Design, when OpenOffice (or my five-year-old desktop) choked on a 200-page document with over 120 figures. While it was too late to transfer that entire report to LaTeX, I now use it even for one- or two-page documents. Why?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I am accustomed to editing HTML and other source code files and so habitually abstract content from its appearance—exactly the purpose of LaTeX.&lt;/li&gt;
&lt;li&gt;Gedit (a text editor) is much faster to start and even more …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Over the past few months, I have moved almost entirely to &lt;a href="http://en.wikipedia.org/wiki/LaTeX"&gt;LaTeX&lt;/a&gt; for word processing. The transition started at the end of AER407 Space Systems Design, when OpenOffice (or my five-year-old desktop) choked on a 200-page document with over 120 figures. While it was too late to transfer that entire report to LaTeX, I now use it even for one- or two-page documents. Why?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I am accustomed to editing HTML and other source code files and so habitually abstract content from its appearance—exactly the purpose of LaTeX.&lt;/li&gt;
&lt;li&gt;Gedit (a text editor) is much faster to start and even more responsive than OpenOffice. I can also have documents I am referring to (e.g. other LaTeX documents included in a master document, source code files) open in other tabs.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/BibTeX"&gt;BibTeX&lt;/a&gt;. 'Nuff said.&lt;/li&gt;
&lt;li&gt;The results are beautiful PDF files.&lt;/li&gt;
&lt;li&gt;It's free!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some tips and tricks to streamline LaTeX authoring:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the &lt;a href="http://live.gnome.org/Gedit/LaTeXPlugin"&gt;LaTeX plugin for gedit&lt;/a&gt;. This adds a handy toolbar for common commands, and the document can be compiled with a simple &lt;strong&gt;Ctrl+Alt+1&lt;/strong&gt;. The plugin requires Emmanuel Beffara's excellent &lt;a href="http://www.pps.jussieu.fr/~beffara/soft/rubber"&gt;rubber&lt;/a&gt; compiler, which obviates the need to run pdflatex or other programs repeatedly (&lt;a href="apt:rubber"&gt;install&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tug.dk/FontCatalogue/charter"&gt;Charter BT&lt;/a&gt; (&lt;a href="http://www.tug.dk/FontCatalogue/charter/charter.pdf"&gt;PDF sample&lt;/a&gt;) a slightly chunky but still elegant serif font. This is in the &lt;code&gt;texlive-fonts-recommended&lt;/code&gt; package (&lt;a href="apt:texlive-fonts-recommended"&gt;install&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add a right-click menu item to folders in Nautilus using the &lt;code&gt;nautilus-actions&lt;/code&gt; package (&lt;a href="apt:nautilus-actions"&gt;install&lt;/a&gt;). This item removes all the extra files (.aux, .bbl, .out, .blg) created as intermediate stages of compiling a LaTeX document.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;System &amp;gt; Preferences &amp;gt; Nautilus Actions Configuration&lt;/strong&gt;, click &lt;strong&gt;&lt;u&gt;A&lt;/u&gt;dd&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Label: Remove LaTeX byproducts&lt;/li&gt;
&lt;li&gt;Tooltip: Remove temporary files created when rubber compiles *.tex documents.&lt;/li&gt;
&lt;li&gt;Icon: gtk-clear&lt;/li&gt;
&lt;li&gt;Path: find&lt;/li&gt;
&lt;li&gt;Parameters: %M -name *.tex -execdir rubber --clean '{}' \;&lt;/li&gt;
&lt;li&gt;Conditions: Appears if selection contains only folders.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use \input{…} at the top of documents to include a header file like &lt;a href="/sites/paul.kishimoto.name/files/article-general.tex"&gt;article-general.tex&lt;/a&gt; containing shortcuts and some common package includes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;texdoc _packagename_&lt;/code&gt;, which is like "man", only for LaTeX packages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="/sites/paul.kishimoto.name/files/nautilus-actions-rubber.png"/&gt;&lt;/p&gt;
&lt;p&gt;I also collect links at http://delicious.com/khaeru/latex.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Leadership &amp; the 2008 Canadian election</title><link href="https://paul.kishimoto.name/2008/09/leadership-the-2008-canadian-election" rel="alternate"/><published>2008-09-21T00:00:00+02:00</published><updated>2008-09-21T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-09-21:/2008/09/leadership-the-2008-canadian-election</id><summary type="html">&lt;p&gt;A friend posted the following today:&lt;/p&gt;
&lt;iframe title="YouTube video player" width="640" height="390" src="https://www.youtube.com/embed/C5UDpj4ptEo?rel=0" frameborder="0" allowfullscreen="1"&gt; &lt;/iframe&gt;

&lt;p&gt;I'm not going to say much on the upcoming election, mainly out of concern that this post will turn into an undirected, irate rant. Still, the above ad prompted me to scratch a weeks-old itch.&lt;/p&gt;
&lt;p&gt;One of the parties in this election is casting its prime ministerial candidate as a strong leader, and attacking his chief competitor as "not a leader." The portrayal includes an effort to conflate demonstrating leadership with exercising authority. This elides the core question regarding positional leadership: are you a leader because of where you sit and the power you …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A friend posted the following today:&lt;/p&gt;
&lt;iframe title="YouTube video player" width="640" height="390" src="https://www.youtube.com/embed/C5UDpj4ptEo?rel=0" frameborder="0" allowfullscreen="1"&gt; &lt;/iframe&gt;

&lt;p&gt;I'm not going to say much on the upcoming election, mainly out of concern that this post will turn into an undirected, irate rant. Still, the above ad prompted me to scratch a weeks-old itch.&lt;/p&gt;
&lt;p&gt;One of the parties in this election is casting its prime ministerial candidate as a strong leader, and attacking his chief competitor as "not a leader." The portrayal includes an effort to conflate demonstrating leadership with exercising authority. This elides the core question regarding positional leadership: are you a leader because of where you sit and the power you wield, or because of what you accomplish and how you accomplish it?&lt;/p&gt;
&lt;p&gt;Most people who have encountered both strong authority figures and inspiring leaders will tell you the two sets overlap only in the rarest of cases. My Air Cadet career taught me extensively about positional leadership in a quasi-military organization. However, experiences of the past year have convinced me of the greater potential, difficulty and value of non-positional leadership. I have learned that it is especially useful in situations of great complexity and ambiguity—for example, national government.&lt;/p&gt;
&lt;p&gt;The NDP ad covers my point: the Prime Minister has certainly thrown his weight around in the past 2.5 years, but hasn't demonstrated much in the way of actual leadership.&lt;/p&gt;
&lt;p&gt;That's just my opinion—but consider the following statements distinguishing leaders from those who &lt;em&gt;merely&lt;/em&gt; exercise authority.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Leaders inspire others and gain support from everyone by expressing a vision of the future. Authority figures exclude or marginalize those who disagree with them.&lt;/li&gt;
&lt;li&gt;Leaders take the time to have open, honest discussions about their vision and plans. Authoritarians don't disclose or discuss points that would lead to opposition.&lt;/li&gt;
&lt;li&gt;Leaders are open to questions from those who don't understand their motivations. Authoritarians see no use in fielding such questions.&lt;/li&gt;
&lt;li&gt;Leaders show integrity in their actions. Authority figures act on the principle that "the end justifies the means."&lt;/li&gt;
&lt;li&gt;Authority figures view winning as getting what they want, fastest and first. Leaders view winning as bringing as many people as possible with them to the finish.&lt;/li&gt;
&lt;li&gt;Authority figures can bully. Bullying is anathema to a leader.&lt;/li&gt;
&lt;li&gt;Leaders cannot afford to walk away from their mistakes or their followers. Authority figures view themselves as above and distinct from their subjects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Think what you will about the platforms of the various parties, but please don't accept arbitrary claims about leadership without considering the grounds those claims are made on. If you're a fan of Machiavelli, I've probably failed to convince you of anything; I will say only that we live in a democracy and not a feudal city-state, and remind you that a self-styled Prince can be relied on only to say to you whatever is necessary in order to keep his throne.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Why the TTC needs capital &amp; policy support</title><link href="https://paul.kishimoto.name/2008/08/why-the-ttc-needs-capital-policy-support" rel="alternate"/><published>2008-08-26T00:00:00+02:00</published><updated>2008-08-26T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-08-26:/2008/08/why-the-ttc-needs-capital-policy-support</id><summary type="html">&lt;p&gt;A &lt;a href="http://thestar.com/News/GTA/article/485476"&gt;Toronto Star article&lt;/a&gt; about the TTC potentially axing the free parking benefit for Metropass holders caught my attention this morning. While the Star's online comment system doesn't encourage nuanced viewpoints (more on that later), the general outrage is understandable. This isn't a good idea, and it wouldn't be a good choice. Unfortunately the Star fails to point out the real reason why: lack of vision and support.&lt;/p&gt;
&lt;p&gt;Note the info box at the side of the page:&lt;/p&gt;
&lt;blockquote&gt;BALANCE SHEET
Impact of ending free parking at TTC lots for Metropass holders:
Parking revenues (after increase): $5.5M to $7.5M …&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;A &lt;a href="http://thestar.com/News/GTA/article/485476"&gt;Toronto Star article&lt;/a&gt; about the TTC potentially axing the free parking benefit for Metropass holders caught my attention this morning. While the Star's online comment system doesn't encourage nuanced viewpoints (more on that later), the general outrage is understandable. This isn't a good idea, and it wouldn't be a good choice. Unfortunately the Star fails to point out the real reason why: lack of vision and support.&lt;/p&gt;
&lt;p&gt;Note the info box at the side of the page:&lt;/p&gt;
&lt;blockquote&gt;BALANCE SHEET
Impact of ending free parking at TTC lots for Metropass holders:
Parking revenues (after increase): $5.5M to $7.5M
Reduced fare revenues as a result: $2.5M to $3.5M
Increased operating costs: $100,000
Net: $2.9M to $3.9M
&lt;cite&gt;Source: TTC staff report&lt;/cite&gt;
&lt;/blockquote&gt;

&lt;p&gt;What has happened here?&lt;/p&gt;
&lt;p&gt;One, the environmental cost is wrongly excluded from the balance sheet. I acknowledge that the TTC has no mandate to consider the environmental impact of their decisions, and no authority to spend money to reduce such. Without free parking, a Metropass holder from the 905 might elect to drive into the downtown core instead of parking at Kipling, Downsview, Finch or Kennedy and taking the subway. Under a reasonable scheme for taxing pollution, the extra cost of gas or toll roads would outweigh the ~$6 for TTC parking. Mass transit would remain the more attractive option. Absent this incentive, observe that the TTC expects to lose up to $3.5M annually (almost 3000 full-year Metropass subscriptions) from the change; i.e. it is a &lt;em&gt;net disincentive&lt;/em&gt; to ridership.&lt;/p&gt;
&lt;p&gt;Second, I refer to the &lt;a href="http://en.wikipedia.org/wiki/MTR_Corporation_Limited#Privatisation"&gt;Hong Kong model&lt;/a&gt; again:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;MTR Corporation has always been reliant on developing properties next to railway stations for its profits (although the rail lines are profitable themselves); many recently built stations are incorporated into large housing estates or shopping complexes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Far from reliance, the TTC does no property development whatsoever; even hints at repurposing its lands involve their sale to developers who would retain any revenue. Consider the three &lt;a href="http://tridel.com/essex"&gt;Tridel Nuvo/Essex condominiums&lt;/a&gt; on the &lt;a href="http://www3.ttc.ca/Subway/Stations/Kipling/parking.jsp"&gt;north side of St. Albans Road at Kipling Station&lt;/a&gt;. These &amp;gt;25-story buildings are nearly sold out; 1 bedroom + den units are already being &lt;a href="http://toronto.kijiji.ca/c-housing-housing-for-sale-Tridel-Condo-For-Sale-1Bdrm-Den-Etobicoke-by-Kipling-Station-W0QQAdIdZ61031926"&gt;resold for over $230,000&lt;/a&gt;. A fourth building is planned, and you can be certain this is not because Tridel is losing money on the first three.&lt;/p&gt;
&lt;p&gt;An identical building, owned by the TTC, could fit in the South Lot at Kipling. A fraction of the revenue from rent or residents' fees could fund the simultaneous building of a 3+-layer parking garage (above or below grade) on the North Lot; with a net &lt;em&gt;increase&lt;/em&gt; in parking spaces. Further, a majority of the residents/tenants would certainly be Metropass holders who &lt;em&gt;would not use parking spaces&lt;/em&gt; — because they could walk directly into the station — so free parking could be maintained for Etobicoke and Mississauga commuters.&lt;/p&gt;
&lt;p&gt;However this sort of win-win-win-win-etc. proposition is only feasible if someone will fund the capital cost of the new building on the South Lot. The province of Ontario provides little money for this sort of project, and the federal government offers none. This is what I consider when voting in provincial and federal elections: who is likely to make this sort of positive change possible?&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Password strength</title><link href="https://paul.kishimoto.name/2008/07/password-strength" rel="alternate"/><published>2008-07-08T00:00:00+02:00</published><updated>2008-07-08T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-07-08:/2008/07/password-strength</id><summary type="html">&lt;p&gt;https://secure.pctools.com/guides/password/ is a useful tool. Many people use &lt;a href="http://en.wikipedia.org/wiki/Password_strength#Guidelines_for_strong_passwords"&gt;weak passwords&lt;/a&gt;, and further use the same password for many sites online. Knowing this was a bad idea, for a long time I used a system that involved choosing an obscure word with several vowels and applying a simple cypher to make it more secure:
&lt;code&gt;
aeiost
431057
&lt;/code&gt;
…so that, for example, 'supercalifragilisticexpialidocious' became 5up3rc4l1fr4g1l1571c3xp14l1d0c10u5'. Occasionally I would also capitalize a non-leading letter. This is what is referred to as "&lt;a href="http://en.wikipedia.org/wiki/Leet_speak"&gt;leet speak&lt;/a&gt;", and the substitutions quickly feel natural, even if you use them for nothing but passwords.&lt;/p&gt;
&lt;p&gt;However …&lt;/p&gt;</summary><content type="html">&lt;p&gt;https://secure.pctools.com/guides/password/ is a useful tool. Many people use &lt;a href="http://en.wikipedia.org/wiki/Password_strength#Guidelines_for_strong_passwords"&gt;weak passwords&lt;/a&gt;, and further use the same password for many sites online. Knowing this was a bad idea, for a long time I used a system that involved choosing an obscure word with several vowels and applying a simple cypher to make it more secure:
&lt;code&gt;
aeiost
431057
&lt;/code&gt;
…so that, for example, 'supercalifragilisticexpialidocious' became 5up3rc4l1fr4g1l1571c3xp14l1d0c10u5'. Occasionally I would also capitalize a non-leading letter. This is what is referred to as "&lt;a href="http://en.wikipedia.org/wiki/Leet_speak"&gt;leet speak&lt;/a&gt;", and the substitutions quickly feel natural, even if you use them for nothing but passwords.&lt;/p&gt;
&lt;p&gt;However, these passwords are just as weak as the dictionary words they are based on, because it is as easy for a password-cracking program to perform these substitutions as it is for a human. If we use &lt;a href="http://mozilla.com"&gt;Firefox&lt;/a&gt;, we can do better with the help of &lt;a href="http://support.mozilla.com/en-US/kb/Smart+keywords"&gt;smart keywords&lt;/a&gt; and the password storage feature. We can use a different password for each website, and rely on a master password (or a locked screen on our workstation) to prevent their use by someone with physical access to a machine.&lt;/p&gt;
&lt;p&gt;Go to the password generator, click all the checkboxes, choose &lt;strong&gt;50&lt;/strong&gt; from the &lt;em&gt;Quantity&lt;/em&gt; drop-down, and finally click &lt;em&gt;Generate Password(s)&lt;/em&gt;. Presto! Pick one of the passwords and use it. Note that since the site was accessed via HTTPS, no one else is likely to have snooped the list you received. Even if the site is maliciously remembering passwords (which I doubt), it does not know which of the 50 you have chosen, or where you used it.&lt;/p&gt;
&lt;p&gt;Finally, examine the URL:
&lt;code&gt;https://secure.pctools.com/guides/password/?length=8&amp;amp;phonetic=on&amp;amp;alpha=on&amp;amp;mixedcase=on&amp;amp;numeric=on&amp;amp;punctuation=on&amp;amp;nosimilar=on&amp;amp;quantity=50&amp;amp;generate=true&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Replace the length with a wildcard:
&lt;code&gt;https://secure.pctools.com/guides/password/?length=%s&amp;amp;phonetic=on&amp;amp;alpha=on&amp;amp;mixedcase=on&amp;amp;numeric=on&amp;amp;punctuation=on&amp;amp;nosimilar=on&amp;amp;quantity=50&amp;amp;generate=true&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Save this as a bookmark with the keyword &lt;strong&gt;pw&lt;/strong&gt;, and you can generate passwords quickly by typing &lt;strong&gt;F6&lt;/strong&gt; (select the Address Bar), "pw 10", &lt;strong&gt;Alt+Enter&lt;/strong&gt; (open in new tab). For important passwords, you can even write the phoenetics on a card and keep it in your wallet, relying on your own memory to associate the password with the place you use it; or send the phoenetics (&lt;em&gt;never&lt;/em&gt; the actual password) over e-mail or (preferably) instant messaging.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Unintuitive type conversions in Python</title><link href="https://paul.kishimoto.name/2008/07/unintuitive-type-conversions-in-python" rel="alternate"/><published>2008-07-04T00:00:00+02:00</published><updated>2008-07-04T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-07-04:/2008/07/unintuitive-type-conversions-in-python</id><content type="html">&lt;p&gt;In response to &lt;a href="http://wisefly.blogspot.com/2008/07/anti-apple.html"&gt;Bob's post on unintuitive interfaces&lt;/a&gt;, consider, in Python:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt;bool('False')
True
&amp;gt;&amp;gt;&amp;gt;bool(str(False))
True
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Huh?&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt;bool(eval('False'))
False
&amp;gt;&amp;gt;&amp;gt;bool(eval(str(False)))
False
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ah, that's better. Apparently I'm &lt;a href="http://mail.python.org/pipermail/python-dev/2007-February/071333.html"&gt;not the only person&lt;/a&gt; to get bitten by this.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Old arguments that won't die</title><link href="https://paul.kishimoto.name/2008/05/old-arguments-that-wont-die" rel="alternate"/><published>2008-05-29T00:00:00+02:00</published><updated>2008-05-29T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-05-29:/2008/05/old-arguments-that-wont-die</id><summary type="html">&lt;p&gt;Reuters has &lt;a href="http://ca.reuters.com/article/domesticNews/idCAN2844735920080529?sp=true"&gt;a story&lt;/a&gt; today about the current Canadian government's resistance to agriculture proposals in the Doha round of &lt;acronym value="World Trade Organization"&gt;WTO&lt;/acronym&gt; talks. Some domestic farm produce (dairy, poultry) is apparently protected by import tariffs of over 200 percent (!).&lt;/p&gt;
&lt;p&gt;At the same time &lt;a href="http://canadianpress.google.com/article/ALeqM5gxnH-FTEsphWbh92nlKQDbwW616w"&gt;a report from CIBC World Markets&lt;/a&gt; indicates that even if the current USD 130+ price of oil is merely a spike (&lt;a href="/node/254"&gt;wanna bet?&lt;/a&gt;), higher energy costs will act to counteract globalization in many fields. Also, in &lt;a href="http://www.ted.com/talks/view/id/121"&gt;a TED talk&lt;/a&gt; I have been spamming people with recently (but delivered in 2004) James Howard Kunstler repeatedly emphasizes that integrating farming with …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Reuters has &lt;a href="http://ca.reuters.com/article/domesticNews/idCAN2844735920080529?sp=true"&gt;a story&lt;/a&gt; today about the current Canadian government's resistance to agriculture proposals in the Doha round of &lt;acronym value="World Trade Organization"&gt;WTO&lt;/acronym&gt; talks. Some domestic farm produce (dairy, poultry) is apparently protected by import tariffs of over 200 percent (!).&lt;/p&gt;
&lt;p&gt;At the same time &lt;a href="http://canadianpress.google.com/article/ALeqM5gxnH-FTEsphWbh92nlKQDbwW616w"&gt;a report from CIBC World Markets&lt;/a&gt; indicates that even if the current USD 130+ price of oil is merely a spike (&lt;a href="/node/254"&gt;wanna bet?&lt;/a&gt;), higher energy costs will act to counteract globalization in many fields. Also, in &lt;a href="http://www.ted.com/talks/view/id/121"&gt;a TED talk&lt;/a&gt; I have been spamming people with recently (but delivered in 2004) James Howard Kunstler repeatedly emphasizes that integrating farming with urbanized pockets is by far the most sensible format for continued development in North America.&lt;/p&gt;
&lt;p&gt;It is unfortunate that so much effort and grief is expended on the issue of protectionism, and so little on encouraging local buying. Worse is the isolation of these issues into unrelated 'topics', a disservice done to readers by media outlets. A well-designed carbon tax or cap-and-trade system would almost automatically reward people for eating locally, and push the price of what Kunstler calls the "3000-mile Caesar salad" towards a corresponding $3000. Because import=distance=emissions=cost, domestic farmers would be supported. The average citizen would probably save on groceries, and certainly the government could divert resources from protracted trade negotiations to more pressing work.&lt;/p&gt;
&lt;p&gt;Instead, I worry these issues—tariffs, energy and local eating—will be tackled separately, and despite the best intentions of many the end result will be as unworkable as the current situation.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Spanning sets</title><link href="https://paul.kishimoto.name/2008/05/spanning-sets" rel="alternate"/><published>2008-05-18T00:00:00+02:00</published><updated>2008-05-18T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-05-18:/2008/05/spanning-sets</id><summary type="html">&lt;p&gt;I want to introduce a concept to some who won't be familiar with it, and then use it to illustrate a constructive way of thinking. For those who have had a course in linear algebra, please skip to the second part while ignoring my clumsy mathematical explanation in the first.&lt;/p&gt;
&lt;h2&gt;Spans and Bases&lt;/h2&gt;
&lt;p&gt;Points on a two-dimensional plane can be expressed by &lt;em&gt;ordered pairs&lt;/em&gt; such as (4,5), where the first number is an x-coordinate and the second a y-coordinate. In three-dimensional space, we can use (4,5,2). This extends up to any number of dimensions (although once we …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I want to introduce a concept to some who won't be familiar with it, and then use it to illustrate a constructive way of thinking. For those who have had a course in linear algebra, please skip to the second part while ignoring my clumsy mathematical explanation in the first.&lt;/p&gt;
&lt;h2&gt;Spans and Bases&lt;/h2&gt;
&lt;p&gt;Points on a two-dimensional plane can be expressed by &lt;em&gt;ordered pairs&lt;/em&gt; such as (4,5), where the first number is an x-coordinate and the second a y-coordinate. In three-dimensional space, we can use (4,5,2). This extends up to any number of dimensions (although once we get past three, it becomes hard to think about).&lt;/p&gt;
&lt;p&gt;In a plane, we can take two &lt;em&gt;vectors&lt;/em&gt; like &lt;strong&gt;A&lt;/strong&gt; (0,1) and &lt;strong&gt;B&lt;/strong&gt; (1,0) and use them to express any point in the plane:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(4,5) = 5 × (0,1) + 4 × (1,0)
In fact, there are many different pairs of &lt;strong&gt;A&lt;/strong&gt; and &lt;strong&gt;B&lt;/strong&gt; we can do this with. Consider:
(4,5) = 5 × (0,1) + 2 × (2,0)
or even:
(4,5) = 4.5 × (1,1) - 0.5 × (1,-1)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt; and &lt;strong&gt;B&lt;/strong&gt; are called a &lt;em&gt;basis&lt;/em&gt; because they can give you any point in the plane, just by multiplying them by some numbers. We could also add &lt;strong&gt;C&lt;/strong&gt; (10,11), but we find it doesn't help much:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(4,5) = 5 × (0,1) + 4 × (1,0) + 0 × (10,11)
…because &lt;strong&gt;C&lt;/strong&gt; is not &lt;em&gt;independent&lt;/em&gt;; it can be made up of &lt;strong&gt;A&lt;/strong&gt; and &lt;strong&gt;B&lt;/strong&gt;:
(10,11) = 11 × (0,1) + 10 × (1,0)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;, &lt;strong&gt;B&lt;/strong&gt; and &lt;strong&gt;C&lt;/strong&gt; together are called a &lt;em&gt;spanning set&lt;/em&gt;, because they can also give you every point in the plane. A basis is actually a spanning set with the fewest possible vectors — that is, with no extra vectors (&lt;strong&gt;C&lt;/strong&gt;) that can be made from other vectors in the set (&lt;strong&gt;A&lt;/strong&gt; and &lt;strong&gt;B&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;If you think a bit, you will also realize that in three-dimensional space, a basis must have three vectors in it, and so on.&lt;/p&gt;
&lt;h2&gt;Everyday applications&lt;/h2&gt;
&lt;p&gt;The foregoing will be extremely intuitive to anyone with a math or science background, and should make good sense to anyone who has taken high school math. Next, consider how the concept extends to non-mathematical situations.&lt;/p&gt;
&lt;p&gt;Every task one attempts requires certain &lt;em&gt;capabilities&lt;/em&gt;. In many cases you need a certain level of aptitude or proficiency, or skilled capability in order to accomplish a task. For example, I can skate, but only very poorly, so I can't play hockey… or if I did, it would definitely be laughable.&lt;/p&gt;
&lt;p&gt;Sometimes the innate skill you need is very basic, but you can use a &lt;em&gt;tool&lt;/em&gt; to magnify its effect. If I were building a house, for example, I could use a hammer and nails; but it requires almost no additional skill to use a nail gun, and the house would get build much faster. In other cases, tools aren't very helpful; better skates will not make me a better skater.&lt;/p&gt;
&lt;p&gt;For any task, each of the required capabilities may be affected by your skill and/or the tools at hand. Sometimes one tool may help you achieve more than one requirement. This analogy (capabilities are dimensions; skills and tools provide vectors) allow one to reflect, upon beginning a task:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;What am I trying to achieve? What task must be accomplished?&lt;/li&gt;
  &lt;li&gt;What capabilities are required to accomplish the task?&lt;/li&gt;
  &lt;li&gt;Do I have the necessary skills? Can I develop them?&lt;/li&gt;
  &lt;li&gt;Are there tools I can use to magnify my capability?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most people do this unconsciously. The benefit of doing it consciously is that you can begin to ask yourself more nuanced questions. For me, the most important of these is: &lt;em&gt;am I relying on too many tools?&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Minimalism and marketing&lt;/h2&gt;
&lt;p&gt;In responding to this question, two key influences need acknowledgment.&lt;/p&gt;
&lt;p&gt;One is consumer culture. The function of marketing is to convince you that the product marketed addresses some need or is a tool to help you obtain some capability you require. The obvious downside of relying on advertising to define your requirements is that it will always — indeed, it exists solely to — convince you that the product is necessary. On the other hand, a frank appraisal of your &lt;em&gt;actual needs&lt;/em&gt; will lead one to seek out the products which are actually needed, and may save money.&lt;/p&gt;
&lt;p&gt;Consider the automobile and the iPod. For too many people, car ownership is the perceived price of entry into society. This is an artifact of marketing — question it and it becomes unclear if or when you will actually &lt;em&gt;require&lt;/em&gt; a car of your own. Apple MP3 players are very, very well marketed as the best, indeed the only alternative for portable listening, when in fact myriad options are available.&lt;/p&gt;
&lt;p&gt;The other influence is minimalism. Many people refer to themselves proudly as &lt;a href="http://en.wikipedia.org/wiki/Luddite"&gt;neo-Luddites&lt;/a&gt;, as if rejection of technology is preferable to its informed use. No hermit has ever accomplished anything world-changing, and in my experience judicious and careful application of small amounts of technology often yields enormous benefits.&lt;/p&gt;
&lt;p&gt;Most people recognize the necessity of constantly building their skillset; this is gospel for career counselors. I don't advocate using &lt;em&gt;only&lt;/em&gt; a set of tools that forms a &lt;em&gt;basis&lt;/em&gt; for the required capability; but it's always best to consider how large the spanning set must be, and which tools are providing little added benefit while causing needless confusion. The results is a streamlined workflow, more efficient behaviour and less extraneous &lt;em&gt;stuff&lt;/em&gt;… points I hope to address in further writing.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Seven for one</title><link href="https://paul.kishimoto.name/2008/05/seven-for-one" rel="alternate"/><published>2008-05-05T00:00:00+02:00</published><updated>2008-05-05T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-05-05:/2008/05/seven-for-one</id><summary type="html">&lt;p&gt;There is general agreement that a world food crisis is occurring. Biofuel (especially ethanol made from corn) has borne a large part of the blame. I'm not convinced that it overshadows other factors — speculation, water scarcity and the effect of the price of oil — but it certainly allows for the most vivid imagery.&lt;/p&gt;
&lt;p&gt;Once again I am reminded of a passage from &lt;em&gt;Dune&lt;/em&gt;. The titular planet is mostly desert, dry to the point where water is currency and windtraps are constructed to harvest airborne moisture. Two characters talk about trees planted brazenly outside the mansion of the ruling Duke:&lt;/p&gt;
&lt;blockquote&gt;The …&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;There is general agreement that a world food crisis is occurring. Biofuel (especially ethanol made from corn) has borne a large part of the blame. I'm not convinced that it overshadows other factors — speculation, water scarcity and the effect of the price of oil — but it certainly allows for the most vivid imagery.&lt;/p&gt;
&lt;p&gt;Once again I am reminded of a passage from &lt;em&gt;Dune&lt;/em&gt;. The titular planet is mostly desert, dry to the point where water is currency and windtraps are constructed to harvest airborne moisture. Two characters talk about trees planted brazenly outside the mansion of the ruling Duke:&lt;/p&gt;
&lt;blockquote&gt;The way the passing people looked at the palm trees! She saw envy, some hate…even a sense of hope. Each person raked those trees with a fixity of expression.

…

"Those minds," he said. "They look at those trees and they think: 'There are one hundred of us.' That's what they think."

She turned a puzzled frown on him. "Why?"

"Those are date palms," he said. "One date palm requires forty litres of water a day. A man requires but eight litres. A palm, then, equals five men. There are twenty palms out there—one hundred men."&lt;/blockquote&gt;

&lt;p&gt;And in a &lt;a href="http://www.cbc.ca/technology/story/2008/05/05/fungus.html"&gt;CBC article&lt;/a&gt; today, a statistic from the Sierra Club which I hadn't previously heard:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;…it takes five hectares of cornfields to produce enough ethanol to run a car for a year. The same land could feed seven people for a year.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Reality being naturally less dramatic, the hungry people are on other continents, and we are spared being "raked with a fixity of expression" as we climb in our sedans and SUVs for the morning commute. If we experienced those glares directly, I don't doubt our behaviour would change much faster.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>$150 oil</title><link href="https://paul.kishimoto.name/2008/04/150-oil" rel="alternate"/><published>2008-04-24T00:00:00+02:00</published><updated>2008-04-24T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-04-24:/2008/04/150-oil</id><summary type="html">&lt;p&gt;Agitating to lower "unfair" gas prices isn't something I would ever be caught doing; I like the idea of expensive gas forcing the stiff-necked to actually use public transit. Regardless, I'm attentive spectator on the way to peak oil, so I came up with a little game:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When will crude oil cost USD 150 per barrel?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So far we've got:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;1 July 2008 — Konrad P&lt;/li&gt;
  &lt;li&gt;15 August 2008 — Matt M&lt;/li&gt;
  &lt;li&gt;1 November 2008 — Greg T&lt;/li&gt;
  &lt;li&gt;1 January 2009 — Paul K&lt;/li&gt;
  &lt;li&gt;14 February 2009 — Amy J&lt;/li&gt;
  &lt;li&gt;Never — ??&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to leave a guess in the comments, or to revise your initial …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Agitating to lower "unfair" gas prices isn't something I would ever be caught doing; I like the idea of expensive gas forcing the stiff-necked to actually use public transit. Regardless, I'm attentive spectator on the way to peak oil, so I came up with a little game:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When will crude oil cost USD 150 per barrel?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So far we've got:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;1 July 2008 — Konrad P&lt;/li&gt;
  &lt;li&gt;15 August 2008 — Matt M&lt;/li&gt;
  &lt;li&gt;1 November 2008 — Greg T&lt;/li&gt;
  &lt;li&gt;1 January 2009 — Paul K&lt;/li&gt;
  &lt;li&gt;14 February 2009 — Amy J&lt;/li&gt;
  &lt;li&gt;Never — ??&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to leave a guess in the comments, or to revise your initial guess (only once the date passes). I'll get a prize of some sort for the "winner."&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Spring</title><link href="https://paul.kishimoto.name/2008/04/spring" rel="alternate"/><published>2008-04-16T00:00:00+02:00</published><updated>2008-04-16T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-04-16:/2008/04/spring</id><content type="html">&lt;p&gt;Chirruping brightly
(through dusty, long-closed windows)
Spring comes, insistent&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Wars and a man I sing…</title><link href="https://paul.kishimoto.name/2008/04/wars-and-a-man-i-sing" rel="alternate"/><published>2008-04-12T00:00:00+02:00</published><updated>2008-04-12T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-04-12:/2008/04/wars-and-a-man-i-sing</id><summary type="html">&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;—an exile driven on by Fate,
he was the first to flee the coast of Troy,
destined to reach Lavinian shores and Italian soil,
yet many blows he took on land and sea from the god above—
thanks to cruel Juno's relentless rage—and many losses
he bore in battle, too, before he could found a city,
bring his gods to Latium, source of the Latin race,
the Alban lords and the high walls of Rome.&lt;/blockquote&gt;

&lt;p&gt;At the University of Toronto Bookstore yesterday, I discovered I had been too hasty in buying &lt;a href="http://cn.penguinclassics.com/nf/Book/BookDisplay/0,,9780140449327,00.html"&gt;the David West prose translation&lt;/a&gt; of Virgil's &lt;em&gt;Aeneid …&lt;/em&gt;&lt;/p&gt;</summary><content type="html">&lt;blockquote&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;—an exile driven on by Fate,
he was the first to flee the coast of Troy,
destined to reach Lavinian shores and Italian soil,
yet many blows he took on land and sea from the god above—
thanks to cruel Juno's relentless rage—and many losses
he bore in battle, too, before he could found a city,
bring his gods to Latium, source of the Latin race,
the Alban lords and the high walls of Rome.&lt;/blockquote&gt;

&lt;p&gt;At the University of Toronto Bookstore yesterday, I discovered I had been too hasty in buying &lt;a href="http://cn.penguinclassics.com/nf/Book/BookDisplay/0,,9780140449327,00.html"&gt;the David West prose translation&lt;/a&gt; of Virgil's &lt;em&gt;Aeneid&lt;/em&gt; last year. Penguin has just released &lt;a href="http://cn.penguinclassics.com/nf/Book/BookDisplay/0,,9780143105138,00.html"&gt;a new verse translation&lt;/a&gt; by Robert Fagles, whose verse editions of Homer's &lt;em&gt;The Iliad&lt;/em&gt; and &lt;em&gt;The Odyssey&lt;/em&gt; I have enjoyed and own. If the new work is anything like the previous two, it will be eminently readable.&lt;/p&gt;
&lt;p&gt;You may have been turned off, as I once was, by the tendency of translators of Greek and Latin works to use archaic English grammar ("thee/thou/thy") and diction to emphasize the age of the originals. The best feature of Fagles' translations is modern English with excellent diction and vivid imagery. "Fresh" is a common descriptor in the broad critical praise his works have earned, and for good reason. The accessibility of the language makes it easier for casual readers to immerse themselves in the stories, which become as compelling as they must have been to contemporaries of the authors.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>What's next?</title><link href="https://paul.kishimoto.name/2008/04/whats-next" rel="alternate"/><published>2008-04-11T00:00:00+02:00</published><updated>2008-04-11T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2008-04-11:/2008/04/whats-next</id><summary type="html">&lt;p&gt;&lt;em&gt;The prepared text of a speech given at the Engineering Science Alumni Dinner, Friday 04 April 2008.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good evening. I have been asked to speak briefly about my personal experience, and about student development and leadership in the Division of Engineering Science. This is an extraordinarily difficult assignment. Not only do I follow Prof. Cheng and others of intellect and stature, but you, my audience, are a variety of Engineering Science undergraduates and alumni. If the Registrar's office is correct, at least three quarters of you are smarter than me. So though I resolve to avoid truisms about the Division …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;The prepared text of a speech given at the Engineering Science Alumni Dinner, Friday 04 April 2008.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Good evening. I have been asked to speak briefly about my personal experience, and about student development and leadership in the Division of Engineering Science. This is an extraordinarily difficult assignment. Not only do I follow Prof. Cheng and others of intellect and stature, but you, my audience, are a variety of Engineering Science undergraduates and alumni. If the Registrar's office is correct, at least three quarters of you are smarter than me. So though I resolve to avoid truisms about the Division, I am all but guaranteed to put my foot in my mouth. Please forgive me.&lt;/p&gt;
&lt;p&gt;Yet perhaps that is a good place to start. I once had a proclivity for offering wholly fabricated technical explanations for things I knew next to nothing about. It didn't help that these explanations were plausible and often accepted, or that only my mother regularly saw through my 'BS'. In fact, not until I arrived at UofT and encountered some uncommonly brilliant classmates did I learn to shut my mouth and truly think before I spoke.&lt;/p&gt;
&lt;p&gt;And this is what EngSci does; it changes you. It transforms you from the big fish in the small pond to a very self-conscious tadpole in a startlingly wide ocean. It makes you aware, through duress, of precisely where your limits lie, and how grossly you had underestimated them. It alters your perspective on learning — from a classroom activity to the first step in solving any worthy problem.&lt;/p&gt;
&lt;p&gt;The one thing it does not change, however, is natural curiosity. The typical EngSci student is a "What's next?" person. As early as primary school, she was impatient with her teachers and the curriculum. "What's next?" was what she wanted to know. As an undergraduate, he stumbles to class at the tail end of an all-nighter to submit an assignment, yet wearily asks, "What's next?" (Usually another problem set!) And I would argue, upon graduation, we still demand to know "What's next?"&lt;/p&gt;
&lt;p&gt;Well, what &lt;em&gt;is&lt;/em&gt; next? We are often told that "the world is getting smaller." I feel this is misleading; the Earth and the human race remain mind-bogglingly large. What is meant is that everything is now done faster…bigger, longer, and more often than a decade or century ago. Every aspect of human endeavour is amplified, and the effects are writ large on the planet, our society and ourselves.&lt;/p&gt;
&lt;p&gt;Engineering is a key mechanism of this progress, especially the traditional engineer's happy function of devising better widgets. But it is increasingly apparent that the erstwhile reading of 'better' — that is, cheaper, more powerful, longer-lasting — was naïve. Further, the very concept of the traditional engineer has all but been thrown out the window.&lt;/p&gt;
&lt;p&gt;As EngScis, we know this innately. We know that when the widget is part of a more durable assault rifle, or when it is a valve in a more powerful but gas-hungry automobile engine, 'better' becomes a false descriptor. Other examples are less stark, yet we know that engineers in traditional disciplines still spend a majority of their time iterating problems already solved. Meanwhile, poverty, hunger, anthropogenic climate change and armed conflict continue.&lt;/p&gt;
&lt;p&gt;Many of us are here precisely because we have so little patience with that widget. We know what it is, and does; we want to know "what's next?" Where codes of engineering ethics urge us not to harm society through negligence, many EngScis proactively take their talents to the fields of medicine, law, governance and humanitarianism. We view today's challenges not merely as a heavy obligation attendant on our profession — though they are that — but an opportunity for sophisticated analysis, creative design and elegant solutions.&lt;/p&gt;
&lt;p&gt;This is what I see in the Division's motto — Engineers For The World, E4TW — which always earns some eye-rolling as a "cheesy rip-off" of the older and more brash ERTW. Such eye-rolling is symptomatic of the way we sometimes ape the sterotype of the traditional engineer. The Division staff have given it serious thought, and the outcomes are exciting student development activities, some of which I have been privileged to take part in.&lt;/p&gt;
&lt;p&gt;Several of these are curricular. Through the Praxis courses and a fourth-year, student-facilitated seminar, we discuss ethics, real intelligent design and issues like water security, technology transfer to developing countries, and nuclear power versus proliferation. After asking itself "What's next?" the Division is introducing an Energy Option this fall, because that is among the most pressing of the coming global resource issues.&lt;/p&gt;
&lt;p&gt;Few EngScis left behind student governance, social activism, musicianship and athletic excellence when they came here. For many, it was obvious what was next, and the result is a disproportionate number of EngScis leading student groups, clubs and teams across the university. The Division thus took the laudable step of joining the Leaders of Tomorrow program, which encompasses student working groups, tailored workshops for personal development, and even a full-term course taught by former DuPont Canada CEO and Chairman — and UofT grad — David Colcleugh.&lt;/p&gt;
&lt;p&gt;The students in these working groups, classes and workshops learn communications, motivation and goal-setting. They learn to think, to respond carefully and decisively to complex issues in complex organizations — and very often they think of their juniors in the Division and ask  "How can I pass on what I've just learned?" The Division obliged by creating venues such as Online Orientation for incoming first years, and peer tutoring groups where mentorship promotes learning outside of the classroom.&lt;/p&gt;
&lt;p&gt;It is exhilarating to be part of these changes, and see them working. Their aim is clear. The EngSci student is already driven by instinct to discover "What's next?" But when she graduates equipped with a world-class technical background &lt;em&gt;plus&lt;/em&gt; an awareness of emerging problems and of her capacity to lead, she becomes a truly formidable force for change. No leap of the imagination is required to predict that such people will topple barriers, shift paradigms and redefine 'better'.&lt;/p&gt;
&lt;p&gt;So, "What's next?" New realms of engineering. As undergraduates, we must believe our professors when they remind us that the true challenges lie beyond exams and problem sets.&lt;/p&gt;
&lt;p&gt;"What &lt;em&gt;is&lt;/em&gt; next?" Leadership. My fellow 0T7+PEYs and 0T8s, we must realize that we are equipped for more than just 'a job' or 'more school.'&lt;/p&gt;
&lt;p&gt;"What is next?" Alumni, professors and mentors, we rely on you to help us answer this question — please, when you meet younger EngScis, graduate or no, dangle some impossible, Herculean task in front of them. The results will certainly astound you.&lt;/p&gt;</content><category term="2008"/></entry><entry><title>Personal mission statement</title><link href="https://paul.kishimoto.name/2007/12/personal-mission-statement" rel="alternate"/><published>2007-12-20T00:00:00+01:00</published><updated>2007-12-20T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-12-20:/2007/12/personal-mission-statement</id><summary type="html">&lt;p&gt;As part of the &lt;em&gt;excellent&lt;/em&gt; course APS501 Leadership &amp;amp; Leading for Groups &amp;amp; Organizations, we were offered leading (ha) questions and guidelines for writing a personal mission statement. Before you scream "Flake!" you should know our professor did more or less the same in his mid-20s, and considered it instrumental in attaining his eventual position as &lt;em&gt;president, CEO &amp;amp; chairman of DuPont Canada&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;That's not easily dismissed.&lt;/p&gt;
&lt;p&gt;Here's what I came up with:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To become a balanced, thoughtful &amp;amp; serene person, so that I may always approach life and people with care and respect, and through doing so become a model of goodwill for …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;As part of the &lt;em&gt;excellent&lt;/em&gt; course APS501 Leadership &amp;amp; Leading for Groups &amp;amp; Organizations, we were offered leading (ha) questions and guidelines for writing a personal mission statement. Before you scream "Flake!" you should know our professor did more or less the same in his mid-20s, and considered it instrumental in attaining his eventual position as &lt;em&gt;president, CEO &amp;amp; chairman of DuPont Canada&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;That's not easily dismissed.&lt;/p&gt;
&lt;p&gt;Here's what I came up with:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To become a balanced, thoughtful &amp;amp; serene person, so that I may always approach life and people with care and respect, and through doing so become a model of goodwill for those around me. I will do this by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;focusing on the timeless joys of friends, family, food, music and literature, rather than modern distractions,&lt;/li&gt;
&lt;li&gt;living a healthy, active life and maintaining a high level of personal fitness,&lt;/li&gt;
&lt;li&gt;appreciating the enlightening &amp;amp; liberating value of hard work, instead of working for compensation &amp;amp; recognition, and&lt;/li&gt;
&lt;li&gt;sharing experiences through listening, leadership and honest discussion.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;While much accessory thought was involved, exegesis of one's own writing is the height of vanity, so it must stand for itself.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Very large structures (2 of 2)</title><link href="https://paul.kishimoto.name/2007/10/very-large-structures-2-of-2" rel="alternate"/><published>2007-10-15T00:00:00+02:00</published><updated>2007-10-15T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-10-15:/2007/10/very-large-structures-2-of-2</id><summary type="html">&lt;p&gt;Carrying on from the &lt;a href="/node/216"&gt;previous post&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;Though we can't simply dismiss Carl Sagan's universe-architects in &lt;em&gt;Contact&lt;/em&gt; by saying 'a &lt;em&gt;π&lt;/em&gt; is a &lt;em&gt;π&lt;/em&gt; is a &lt;em&gt;π&lt;/em&gt;,' it's still true that the task of creating a universe is inconceivable, given that we hardly understand what our universe is and how it came into being. Another inconceivable endeavour is the building of a &lt;a href="http://en.wikipedia.org/wiki/Dyson_sphere"&gt;Dyson sphere&lt;/a&gt;—a structure completely enclosing a star so as to capture all its radiation on the inner surface.&lt;/p&gt;
&lt;p&gt;But of course as soon as 'inconceivable' is aired, someone's going to bring up that Princess Bride quote: "You keep …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Carrying on from the &lt;a href="/node/216"&gt;previous post&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;Though we can't simply dismiss Carl Sagan's universe-architects in &lt;em&gt;Contact&lt;/em&gt; by saying 'a &lt;em&gt;π&lt;/em&gt; is a &lt;em&gt;π&lt;/em&gt; is a &lt;em&gt;π&lt;/em&gt;,' it's still true that the task of creating a universe is inconceivable, given that we hardly understand what our universe is and how it came into being. Another inconceivable endeavour is the building of a &lt;a href="http://en.wikipedia.org/wiki/Dyson_sphere"&gt;Dyson sphere&lt;/a&gt;—a structure completely enclosing a star so as to capture all its radiation on the inner surface.&lt;/p&gt;
&lt;p&gt;But of course as soon as 'inconceivable' is aired, someone's going to bring up that Princess Bride quote: "You keep using that word. I do not think it means what you think it means."&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Is&lt;/em&gt; it possible to build a Dyson sphere? Less than a hundred years ago, it would have been inconceivable to build the International Space Station (ISS). Go back another few centuries and the Three Gorges Dam would be inconceivable. Prehistoric man would doubtlessly have regarded the Great Wall of China as a feature of the landscape, unable to believe it had been shaped by human hands.&lt;/p&gt;
&lt;p&gt;Superficially this is an issue of technology, but another aspect is intriguing: the non-technical resources required for these 'inconceivable' projects. This dovetails neatly with one theme of a Leadership course I'm taking this term; that engineers increasingly require leadership qualities and become useless without them as the world shrinks.&lt;/p&gt;
&lt;p&gt;Major engineering efforts are also major leadership challenges. Examining the ISS or Three Gorges, the sheer number of people involved both directly and in support (mining and refining raw materials, fabricating parts, feeding and clothing the workers, etc.) is as stunning as the products. Many large projects rely on existing structures to get their immense workforces moving in the same direction, but this isn't always possible.&lt;/p&gt;
&lt;p&gt;Take for example the new Airbus A380, an aircraft so huge one might say it's inconceivable that it could ever leave the ground. It's been hampered by years of delays, not because it is technically &lt;em&gt;infeasible&lt;/em&gt;, but simply because there was no existing &lt;em&gt;human structure&lt;/em&gt; necessary to engineer a redundant and multiply-failsafe electrical system containing over 500 km of wire. Creating such a thing for the first time was bound to be problematic. The ISS has been threatened by the variable political will behind some of its member agencies. These are not issues of technology, but of its &lt;em&gt;application&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Returning to Dyson spheres, consider the scale of such an enterprise. It's probable that there are not enough people (or engineers) now living to complete such a project in a millenium, even if the technology were available. Assuming (very generously) that humanity continues to grow without eliminating itself, and manages to free itself from the Earth before the heat death of the Sun, we can hypothesize that the necessary technology would, in time, become available. Complete stagnation in the sciences would probably coincide with the failure of the species.&lt;/p&gt;
&lt;p&gt;Then wondrously consider: what sort of &lt;em&gt;human structures&lt;/em&gt; would be required to build Dyson's sphere? How would billions of people be motivated to work on a project that might span even an extended human lifetime? To speculate on such questions is the purview of some very interesting fiction, including Frank Herbert's &lt;em&gt;Dune&lt;/em&gt; series that I return to again and again. Religion seems to be a likely candidate structure, and that's where I ended my train of thought: it is &lt;em&gt;inconceivable&lt;/em&gt; that 'engineering' could entail fashioning entire religions simply to ensure a project is completed.&lt;/p&gt;
&lt;p&gt;…Isn't it?&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Very large structures (1 of 2)</title><link href="https://paul.kishimoto.name/2007/10/very-large-structures-1-of-2" rel="alternate"/><published>2007-10-06T00:00:00+02:00</published><updated>2007-10-06T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-10-06:/2007/10/very-large-structures-1-of-2</id><summary type="html">&lt;p&gt;I was trolling (in the conventional sense) through Wikipedia today, reading about the Oort cloud&lt;/a&gt;, cosmology&lt;/a&gt;, and various superstructures&lt;/a&gt; and -voids&lt;/a&gt; in the Universe.&lt;/p&gt;
&lt;p&gt;I also read about the &lt;a href="http://en.wikipedia.org/wiki/Shape_of_the_Universe"&gt;shape of the Universe&lt;/a&gt;. For anyone without a math or science background, this is should be as baffling as I found it to be at first. More easily grasped is Gauss' &lt;a href="http://en.wikipedia.org/wiki/Theorema_Egregium"&gt;Theorema Egregrium&lt;/a&gt;, which has to to do with curved surfaces, for example the surface of the Earth. The Theorema describes a characteristic of flat maps that anyone can observe: when displaying geographical features, flat maps distort shapes, distances, or both …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I was trolling (in the conventional sense) through Wikipedia today, reading about the Oort cloud&lt;/a&gt;, cosmology&lt;/a&gt;, and various superstructures&lt;/a&gt; and -voids&lt;/a&gt; in the Universe.&lt;/p&gt;
&lt;p&gt;I also read about the &lt;a href="http://en.wikipedia.org/wiki/Shape_of_the_Universe"&gt;shape of the Universe&lt;/a&gt;. For anyone without a math or science background, this is should be as baffling as I found it to be at first. More easily grasped is Gauss' &lt;a href="http://en.wikipedia.org/wiki/Theorema_Egregium"&gt;Theorema Egregrium&lt;/a&gt;, which has to to do with curved surfaces, for example the surface of the Earth. The Theorema describes a characteristic of flat maps that anyone can observe: when displaying geographical features, flat maps distort shapes, distances, or both. If you've ever noticed that Greenland appears larger than Canada on some maps, you can appreciate what this means.&lt;/p&gt;
&lt;p&gt;More precisely, Gauss's results mean that the curvature of the Earth (or any other surface) can be determined by measuring some angles and distances on the surface, and that this determination is unique in some sense. If you draw a &lt;a href="http://en.wikipedia.org/wiki/Image:Hyperbolic_triangle.svg"&gt;triangle on a curved surface&lt;/a&gt;, you can see that its angles do not add up to 180°. Now, the crucial point is this: &lt;em&gt;the same principle applies to space&lt;/em&gt;. Space has a curvature which determines the relation of distances and angles within it.&lt;/p&gt;
&lt;p&gt;I find it's best to just accept that without trying too hard to picture it.&lt;/p&gt;
&lt;p&gt;Anyway, the 'Shape of the Universe' article discusses the ramifications of &lt;a href="http://en.wikipedia.org/wiki/Shape_of_the_Universe#Local_geometry_.28spatial_curvature.29"&gt;the space curvature of the Universe&lt;/a&gt;. If a parameter &lt;em&gt;Ω&lt;/em&gt; is not exactly 1, then space is curved and some interesting things happen: the Pythagorean theorem (a²+b²=c²) becomes false, and the value of &lt;em&gt;π&lt;/em&gt; varies.&lt;/p&gt;
&lt;p&gt;This brought to mind the galactic architects of Carl Sagan's &lt;em&gt;Contact&lt;/em&gt; and the concept of &lt;a href="http://en.wikipedia.org/wiki/Contact_%28novel%29#A_message_from_God_in_pi"&gt;a message from God in &lt;em&gt;π&lt;/em&gt;&lt;/a&gt;. Interestingly enough, that article states:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Any&lt;/em&gt; intelligence, working in any universe—no matter what the characteristics of its particular "space-time fabric"—must deduce the same value of π, presuming they are able to think of numbers at all, and that logic is not a property of the Cosmos.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If we're very particular, we can argue that this statement is false without the qualifier, "when &lt;em&gt;Ω&lt;/em&gt;=1."&lt;/p&gt;
&lt;p&gt;I seem to be pushing my usual word count, so I'll continue my thoughts in another post.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Solving the wrong problem</title><link href="https://paul.kishimoto.name/2007/10/solving-the-wrong-problem" rel="alternate"/><published>2007-10-02T00:00:00+02:00</published><updated>2007-10-02T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-10-02:/2007/10/solving-the-wrong-problem</id><summary type="html">&lt;p&gt;I missed &lt;a href="http://scotiabanknuitblanche.com"&gt;Nuit Blanche&lt;/a&gt; last year, so I had a great time this Saturday and Sunday wandering around with some teammates from the Iron Dragons. I won't say more, but you can view some photos at &lt;a href="http://torontoist.com/2007/10/postnuit_blanch.php"&gt;Torontoist&lt;/a&gt; or on Kim's &lt;a href="http://www.flickr.com/photos/kmullins/tags/nuitblanche2007/"&gt;Flickr account&lt;/a&gt;. Also, I have to go back to &lt;a href="http://www.bau-xi.com"&gt;Bau-Xi&lt;/a&gt; sometime for a less hurried look.&lt;/p&gt;
&lt;p&gt;Around 1 AM we were passing through Yorkville and squeezed into the packed Bay &amp;amp; Cumberland Starbucks to get some java (Disclaimer: I'm still a Second Cup nut! A friend passed me a $20 Starbucks card he was given but didn't intend to use). I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I missed &lt;a href="http://scotiabanknuitblanche.com"&gt;Nuit Blanche&lt;/a&gt; last year, so I had a great time this Saturday and Sunday wandering around with some teammates from the Iron Dragons. I won't say more, but you can view some photos at &lt;a href="http://torontoist.com/2007/10/postnuit_blanch.php"&gt;Torontoist&lt;/a&gt; or on Kim's &lt;a href="http://www.flickr.com/photos/kmullins/tags/nuitblanche2007/"&gt;Flickr account&lt;/a&gt;. Also, I have to go back to &lt;a href="http://www.bau-xi.com"&gt;Bau-Xi&lt;/a&gt; sometime for a less hurried look.&lt;/p&gt;
&lt;p&gt;Around 1 AM we were passing through Yorkville and squeezed into the packed Bay &amp;amp; Cumberland Starbucks to get some java (Disclaimer: I'm still a Second Cup nut! A friend passed me a $20 Starbucks card he was given but didn't intend to use). I picked up a couple of bottles of &lt;a href="http://ethoswater.com"&gt;ethos water&lt;/a&gt; for our friends.&lt;/p&gt;
&lt;p&gt;This ended up bothering me for the rest of the night. &lt;em&gt;Ethos water&lt;/em&gt;? The premise (providing clean water to poor children) is nice, but I have a very strong distaste for "consumption philanthropy." Eliminating breast cancer is another cause that is &lt;a href="http://www.upress.umn.edu/Books/K/king_pink.html"&gt;avariciously exploited&lt;/a&gt;. Faced with the choice to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;enable people to do marginal good via increased consumption, or&lt;/li&gt;
&lt;li&gt;encourage people to do good for its own sake &lt;em&gt;and&lt;/em&gt; reduce consumption&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;…the latter is vastly preferable. Some entries in the August Harper's Index echoed facts available on &lt;a href="http://en.wikipedia.org/wiki/Bottled_Water#Environmental_impact"&gt;Wikipedia&lt;/a&gt;; namely that 3-5 l of water is used to produce and transport a bottle of water, not including the water being sold, that the millions of bottles sold annually are made from petrochemicals, and that they are rarely recycled. On top of this, though 10¢ of my more-than-$2 purchase went to humanitarian work, Ethos Water made some unspecified profit.&lt;/p&gt;
&lt;p&gt;Put another way, why not buy a Nalgene and use it (as my mother has) for 20 years. You'd spend $10 once and the (clean, conveniently fluorinated) tap water is free. Instead of buying two-dollar bottled water a few times a week, spending perhaps $6000 and thereby contributing $300, you could save or even invest that money, give thousands to humanitarian works and reduce your carbon footprint.&lt;/p&gt;
&lt;p&gt;With a little thought, it's usually apparent how to solve the &lt;em&gt;right&lt;/em&gt; problem.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Will Butler</title><link href="https://paul.kishimoto.name/2007/09/will-butler" rel="alternate"/><published>2007-09-23T00:00:00+02:00</published><updated>2007-09-23T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-09-23:/2007/09/will-butler</id><content type="html">&lt;blockquote&gt;
&lt;p&gt;"Either way, it takes up too much space in your mind. It's not what you should be thinking about.
"You should be thinking about how good the cup of coffee you're drinking tastes. Everything figures itself out from there. At least it has up to this point. And I assume it'll keep figuring itself out without too much bother."
&lt;cite&gt;—Will Butler of Arcade Fire
V. Wagner. "The Heat Begins To Rise." &lt;em&gt;Toronto Star&lt;/em&gt; (Feb. 11, 2007), sec. C p. 4.&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content><category term="2007"/></entry><entry><title>On Rousseau</title><link href="https://paul.kishimoto.name/2007/08/on-rousseau" rel="alternate"/><published>2007-08-08T00:00:00+02:00</published><updated>2007-08-08T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-08-08:/2007/08/on-rousseau</id><summary type="html">&lt;p&gt;I'm reading Jean-Jacques Rousseau's &lt;em&gt;The Social Contract&lt;/em&gt; (&lt;a href="http://www.goodreads.com/book/show/763942.The_Social_Contract"&gt;Goodreads&lt;/a&gt;, &lt;a href="http://www.penguinclassics.ca/nf/Book/BookDisplay/0,,9780140442014,00.html"&gt;Penguin&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/The_Social_Contract"&gt;Wikipedia&lt;/a&gt;) and really enjoying it. Either translation from French to English is a perfected art nowadays, or the originally writing is good. Both is more likely both. Whatever the reason, the prose is very clean and many good points are made simply and strongly in every paragraph.&lt;/p&gt;
&lt;p&gt;The book clarifies one's thoughts on the roles and authority of citizens and governments. Of particular usefulness is the distinction between the &lt;em&gt;general will&lt;/em&gt; and the &lt;em&gt;will of all&lt;/em&gt;. The former is the opinion of the whole civic body, whereas the latter is merely …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I'm reading Jean-Jacques Rousseau's &lt;em&gt;The Social Contract&lt;/em&gt; (&lt;a href="http://www.goodreads.com/book/show/763942.The_Social_Contract"&gt;Goodreads&lt;/a&gt;, &lt;a href="http://www.penguinclassics.ca/nf/Book/BookDisplay/0,,9780140442014,00.html"&gt;Penguin&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/The_Social_Contract"&gt;Wikipedia&lt;/a&gt;) and really enjoying it. Either translation from French to English is a perfected art nowadays, or the originally writing is good. Both is more likely both. Whatever the reason, the prose is very clean and many good points are made simply and strongly in every paragraph.&lt;/p&gt;
&lt;p&gt;The book clarifies one's thoughts on the roles and authority of citizens and governments. Of particular usefulness is the distinction between the &lt;em&gt;general will&lt;/em&gt; and the &lt;em&gt;will of all&lt;/em&gt;. The former is the opinion of the whole civic body, whereas the latter is merely the sum of the particular (i.e. subjective) will of each individual. Rousseau explains how the former naturally tends to act for the public good, whereas the latter inevitably reflects  self-interest. He goes on to identify general will as the only possible guidance for good government, which to my mind is a strong rebuttal to things like tax cuts for the purpose of vote-buying.&lt;/p&gt;
&lt;p&gt;The relevance of some of the observations to modern politics is amazing for a book more than 200 years old. Here are some quotes from &lt;a href="http://www.constitution.org/jjr/socon_03.htm#004"&gt;Book III, Chapter 4: Democracy&lt;/a&gt; (my emphasis in bold).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It is not good for him who makes the laws to execute them, or &lt;strong&gt;for the body of the people to turn its attention away from a general standpoint and devote it to particular objects&lt;/strong&gt;. &lt;strong&gt;Nothing is more dangerous than the influence of private interests in public affairs&lt;/strong&gt;, and the abuse of the laws by the government is a less evil than the corruption of the legislator, which is the inevitable sequel to a particular standpoint.&lt;/p&gt;
&lt;p&gt;It may be added that there is no government so subject to civil wars and intestine agitations as democratic or popular government, because there is none which has so strong and continual a tendency to change to another form, &lt;strong&gt;or which demands more vigilance and courage for its maintenance as it is&lt;/strong&gt;. Under such a constitution above all, the citizen should arm himself with strength and constancy, and say, every day of his life, what a virtuous Count Palatine said in the Diet of Poland: &lt;em&gt;Malo periculosam libertatem quam quietum servitium&lt;/em&gt; &lt;strong&gt;[I prefer liberty with danger to peace with slavery]&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The above are from a translation by C.D.H. Cole in the public domain; the Penguin edition is translated by Maurice Cranston but the text is largely identical.&lt;/p&gt;
&lt;p&gt;By a general interpretation, Canada and certainly the United States could be failed or dead states, which is worrying. Worse yet is that Rousseau does not allow for the revival of failing states; only their replacement with new ones. Simple solutions to our political problems seem ever more remote from the realm of possibility.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>All The Small Things</title><link href="https://paul.kishimoto.name/2007/07/all-the-small-things" rel="alternate"/><published>2007-07-31T00:00:00+02:00</published><updated>2007-07-31T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-07-31:/2007/07/all-the-small-things</id><summary type="html">&lt;p&gt;Contrary to popular advice, I often &lt;a href="http://www.amazon.ca/Dont-Sweat-Small-Stuff-its/dp/0786881852"&gt;sweat the small stuff&lt;/a&gt;. Today, cups.&lt;/p&gt;
&lt;p&gt;Coffee shops generate litter. Ideally, we should each tote around a mug to whip out whenever we need a caffeine fix. I try and do this as much as possible, but the paper cup is unlikely to be obsoleted.&lt;/p&gt;
&lt;p&gt;Paper cups are not terrible because they can be recycled or composted, unlike (in most locations) styrofoam. Second Cup (my favourite coffee chain) uses cups by &lt;a href="http://www.dovergrp.com"&gt;Dover Cup&lt;/a&gt; in Brampton, Ontario. Tim Horton's and several other shops and use a cup branded &lt;a href="http://www.dopaco.com/products_detail.php?cat=2"&gt;Conference Cup&lt;/a&gt;, made by &lt;a href="http://www.dopaco.com/about.php"&gt;Dopaco&lt;/a&gt;. I wonder …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Contrary to popular advice, I often &lt;a href="http://www.amazon.ca/Dont-Sweat-Small-Stuff-its/dp/0786881852"&gt;sweat the small stuff&lt;/a&gt;. Today, cups.&lt;/p&gt;
&lt;p&gt;Coffee shops generate litter. Ideally, we should each tote around a mug to whip out whenever we need a caffeine fix. I try and do this as much as possible, but the paper cup is unlikely to be obsoleted.&lt;/p&gt;
&lt;p&gt;Paper cups are not terrible because they can be recycled or composted, unlike (in most locations) styrofoam. Second Cup (my favourite coffee chain) uses cups by &lt;a href="http://www.dovergrp.com"&gt;Dover Cup&lt;/a&gt; in Brampton, Ontario. Tim Horton's and several other shops and use a cup branded &lt;a href="http://www.dopaco.com/products_detail.php?cat=2"&gt;Conference Cup&lt;/a&gt;, made by &lt;a href="http://www.dopaco.com/about.php"&gt;Dopaco&lt;/a&gt;. I wonder, though—if MEC can use &lt;a href="http://en.wikipedia.org/wiki/Biodegradable_plastic"&gt;biodegragable plastic&lt;/a&gt; bags, why not rigid lids of the same material?&lt;/p&gt;
&lt;p&gt;Also, Second Cup locations (including the one at College Street and King's College Road that I visit with healthy frequency), seem to switch at random from plastic to wooden stir sticks and back. At Tim Horton's they prepare your coffee for you, so these are done away with altogether. I find it unfortunate that bags of mostly compostable waste (coffee, grounds, sugar and packets, some stir sticks, cups) are put out as landfill garbage because of a few plastic items.&lt;/p&gt;
&lt;p&gt;It is possible but likely not practical to separate the two, but why not use &lt;a href="http://www.bpiworld.org/BPI-Public/Approved.html"&gt;BPI-approved&lt;/a&gt; packaging so the entire waste stream can be composted? &lt;a href="http://www.cpia.ca/newsroom/details.php?ID=334"&gt;More info here&lt;/a&gt;.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Comments</title><link href="https://paul.kishimoto.name/2007/07/comments" rel="alternate"/><published>2007-07-19T00:00:00+02:00</published><updated>2007-07-19T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-07-19:/2007/07/comments</id><content type="html">&lt;p&gt;After reading &lt;a href="http://communitybandwidth.ca/phillipadsmith/fighting-comment-spam-with-drupal"&gt;this&lt;/a&gt;, I've installed several Drupal modules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://drupal.org/project/comment_info"&gt;Comment Info&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drupal.org/project/captcha"&gt;Captcha&lt;/a&gt; and &lt;a href="http://drupal.org/project/form_store"&gt;Form Store&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://drupal.org/project/spam"&gt;Spam&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now anyone should be able to comment without logging in by answering a simple math question. If you have cookies enabled, your user information can be saved for future use. The system should be familiar to users of Blogger and similar sites.&lt;/p&gt;</content><category term="2007"/><category term="Drupal"/></entry><entry><title>Writer's Block</title><link href="https://paul.kishimoto.name/2007/07/writers-block" rel="alternate"/><published>2007-07-18T00:00:00+02:00</published><updated>2007-07-18T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-07-18:/2007/07/writers-block</id><summary type="html">&lt;p&gt;After another long hiatus—five months—I now have a list of topics on which I have concrete ideas, which might be enough to start regular writing. Writing six or seven items in quick succession will hopefully establish a habit.&lt;/p&gt;
&lt;p&gt;Apropos the long delay, a discussion of writer's block, for the delay testifies to a lack of confidence in the value of my writing. I address the various aspects of this doubt in turn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What authority can I claim?&lt;/strong&gt; The cliché "the more I learn, the less I know" is painfully relevant. It has become habit, as I form an …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After another long hiatus—five months—I now have a list of topics on which I have concrete ideas, which might be enough to start regular writing. Writing six or seven items in quick succession will hopefully establish a habit.&lt;/p&gt;
&lt;p&gt;Apropos the long delay, a discussion of writer's block, for the delay testifies to a lack of confidence in the value of my writing. I address the various aspects of this doubt in turn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What authority can I claim?&lt;/strong&gt; The cliché "the more I learn, the less I know" is painfully relevant. It has become habit, as I form an opinion, to check Google, Wikipedia, as many newspapers as I can locate and any other source that might be an authority on the topic. Inevitably I find my initial position to be naïve, uninformed, or already recorded by some other source—usually with more eloquence and rigor than I could summon. What is the use of writing, then?&lt;/p&gt;
&lt;p&gt;The simple rejoinder is that everyone is in the same bind. If, in stating my own opinion or view, I can reference the better sources on which it rests, then the reader can at least use my work as direction to further study. If I juxtapose competing views is a unique way, another view is formed that someone may find worthy of adoption.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Who should be my audience?&lt;/strong&gt; Cynically, no one. If I forgo shouting into the void, however, I should select a group to address. How to choose this group? If I do it on a topic-by-topic basis, I will end up trying to instruct my betters. At worst my writing will seem inconsistent and variable, especially when the audience is not stated directly. In attempting to address too large a group I would lose useful context. If I choose too small a group I will only rant.&lt;/p&gt;
&lt;p&gt;The easiest audience to consider is the sum of my friends, family, classmates and other peers. If I imagine this group doing me the honour of sitting to hear me speak, I will save myself the trouble of reiterating basic concepts; I will not feel pressured to posture and impress; and I can expect a sympathetic allowance when my words or arguments are awkward.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What format should I use?&lt;/strong&gt; This encompasses several other problems. Should I repeat entirely my thoughts on a topic? If not, which parts should I omit? Will an arbitrary set length be restrictive? How do I avoid prattle? If I reflect, the chief difficulty in the past has been untangling a certain issue from those closely related. In engineering problems and subsystems are usually well-delineated, but to separate most other things is difficult, especially as I try to hold a holistic world-view. To borrow a programming term, my writing always suffers "feature creep."&lt;/p&gt;
&lt;p&gt;For the sake of prolificacy, I will limit any post to a short essay. This one is already over 500 words, more than I can reasonably ask most to wade through. Shorter posts can be more numerous, are much easier to proofread, and most importantly will force me to distill my unruly thoughts.&lt;/p&gt;
&lt;p&gt;So—onwards and upwards! The next post is due within a week; the topic will be consumerism.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Earth Challenge</title><link href="https://paul.kishimoto.name/2007/02/earth-challenge" rel="alternate"/><published>2007-02-14T00:00:00+01:00</published><updated>2007-02-14T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-02-14:/2007/02/earth-challenge</id><summary type="html">&lt;p&gt;The &lt;a href="http://www.cbc.ca/technology/story/2007/02/09/branson-greenhouse.html"&gt;Earth Challenge&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Virgin_Earth_Challenge"&gt;Wikipedia&lt;/a&gt;) was announced, an occasion for some hand-waving math.&lt;/p&gt;
&lt;p&gt;What if you simply planted trees? They act as a carbon sink, &lt;a href="http://en.wikipedia.org/wiki/Carbon_dioxide_sink#Enhancing_natural_sequestration"&gt;sequestering&lt;/a&gt; carbon dioxide as biomass. One statistic says that one million trees will sequester 0.9 teragrams over their 40 year lifetime. That is:&lt;/p&gt;
&lt;pre&gt;0.9 Tg = 9×10¹¹ g

9×10¹¹ g ÷ 10&lt;sup&gt;6&lt;/sup&gt; trees ÷ 4×10&lt;sup&gt;1&lt;/sup&gt; a = 2.25×10⁴ g·tree&lt;sup&gt;-1&lt;/sup&gt;·a&lt;sup&gt;-1&lt;/sup&gt;&lt;/pre&gt;

&lt;p&gt;That is, one tree will fix 22.5 kg of carbon dioxide in one year. The Earth Challenge requires removal of 1 billion tonnes (10&lt;sup&gt;15&lt;/sup&gt; g) annually …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The &lt;a href="http://www.cbc.ca/technology/story/2007/02/09/branson-greenhouse.html"&gt;Earth Challenge&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Virgin_Earth_Challenge"&gt;Wikipedia&lt;/a&gt;) was announced, an occasion for some hand-waving math.&lt;/p&gt;
&lt;p&gt;What if you simply planted trees? They act as a carbon sink, &lt;a href="http://en.wikipedia.org/wiki/Carbon_dioxide_sink#Enhancing_natural_sequestration"&gt;sequestering&lt;/a&gt; carbon dioxide as biomass. One statistic says that one million trees will sequester 0.9 teragrams over their 40 year lifetime. That is:&lt;/p&gt;
&lt;pre&gt;0.9 Tg = 9×10¹¹ g

9×10¹¹ g ÷ 10&lt;sup&gt;6&lt;/sup&gt; trees ÷ 4×10&lt;sup&gt;1&lt;/sup&gt; a = 2.25×10⁴ g·tree&lt;sup&gt;-1&lt;/sup&gt;·a&lt;sup&gt;-1&lt;/sup&gt;&lt;/pre&gt;

&lt;p&gt;That is, one tree will fix 22.5 kg of carbon dioxide in one year. The Earth Challenge requires removal of 1 billion tonnes (10&lt;sup&gt;15&lt;/sup&gt; g) annually from the atmosphere. You would have to plant:&lt;/p&gt;
&lt;pre&gt;10&lt;sup&gt;15&lt;/sup&gt; g ÷ 2.25×10⁴ g·tree&lt;sup&gt;-1&lt;/sup&gt;·a&lt;sup&gt;-1&lt;/sup&gt; × 1 a = 4.4×10&lt;sup&gt;10&lt;/sup&gt; tree&lt;/pre&gt;

&lt;p&gt;Ie. 44 billion trees. The same article states these would cost roughly ten cents apiece, or $4.4 billion—a bit much in comparison to the prize money, but not an astronomical figure. Also, estimating 500 &lt;a href="http://www.google.com/search?q=trees+per+hectare"&gt;trees per hectare&lt;/a&gt;, that's&lt;/p&gt;
&lt;pre&gt;4.4×10&lt;sup&gt;10&lt;/sup&gt; tree ÷ 5×10² tree·ha&lt;sup&gt;-1&lt;/sup&gt; = 8.8×10⁷ ha = 8.8×10⁵ km²&lt;/pre&gt;

&lt;p&gt;…slightly more than the 718,000 km² of &lt;a href="http://en.wikipedia.org/wiki/Amazon_Rainforest#Deforestation"&gt;Amazon rainforest&lt;/a&gt; that's been clear-cut since 1970, or 2.2% of the 3.952 billion hectares of &lt;a href="http://www.fao.org/forestry/site/28679/en/"&gt;global forest cover&lt;/a&gt;. Still, that $4.4 billion forest, almost the size of &lt;a href="http://en.wikipedia.org/wiki/Ontario"&gt;Ontario&lt;/a&gt;, would only offset about &lt;a href="http://en.wikipedia.org/wiki/List_of_countries_by_carbon_dioxide_emissions"&gt;one twenty-fifth&lt;/a&gt; of estimated man-made emissions.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Global Warming</title><link href="https://paul.kishimoto.name/2007/02/global-warming" rel="alternate"/><published>2007-02-05T00:00:00+01:00</published><updated>2007-02-05T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-02-05:/2007/02/global-warming</id><summary type="html">&lt;p&gt;Weather in Toronto has recently taken a cold turn. Given the recent release of the First Working Group / Fourth Assessment Report of the &lt;a href="http://www.ipcc.ch"&gt;IPCC&lt;/a&gt;, the joke &lt;em&gt;du jour&lt;/em&gt; has become "What's all this fuss about &lt;a href="http://en.wikipedia.org/wiki/Global_warming"&gt;global warming&lt;/a&gt;?" This bothers me for two reasons.&lt;/p&gt;
&lt;p&gt;First, I feel it's heedless to joke about what is, by general consensus of the scientific community, a serious problem. It betrays a simplistic, "out-of-sight out-of-mind" naïveté. By analogy (here I corroborate &lt;a href="http://en.wikipedia.org/wiki/Godwin%27s_Law"&gt;Godwin's Law&lt;/a&gt;), consider how foolish they felt in 1945 who said, in 1940, "Holocaust? What Holocaust?"&lt;/p&gt;
&lt;p&gt;Secondly—humour me for a moment while I indulge …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Weather in Toronto has recently taken a cold turn. Given the recent release of the First Working Group / Fourth Assessment Report of the &lt;a href="http://www.ipcc.ch"&gt;IPCC&lt;/a&gt;, the joke &lt;em&gt;du jour&lt;/em&gt; has become "What's all this fuss about &lt;a href="http://en.wikipedia.org/wiki/Global_warming"&gt;global warming&lt;/a&gt;?" This bothers me for two reasons.&lt;/p&gt;
&lt;p&gt;First, I feel it's heedless to joke about what is, by general consensus of the scientific community, a serious problem. It betrays a simplistic, "out-of-sight out-of-mind" naïveté. By analogy (here I corroborate &lt;a href="http://en.wikipedia.org/wiki/Godwin%27s_Law"&gt;Godwin's Law&lt;/a&gt;), consider how foolish they felt in 1945 who said, in 1940, "Holocaust? What Holocaust?"&lt;/p&gt;
&lt;p&gt;Secondly—humour me for a moment while I indulge in some wildly speculative and baseless hand-waving—'more frequent extreme weather' is among the commonly listed &lt;a href="http://en.wikipedia.org/wiki/Effects_of_global_warming"&gt;effects of climate change&lt;/a&gt;. A 2006 IPCC report quoted in the Wikipedia article states:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The climate system is a coupled non-linear chaotic system, and therefore the long-term prediction of future exact climate states is not possible. Rather the focus must be upon the prediction of the probability distribution the system’s future possible states by the generation of ensembles of model solutions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For the non-technical, consider a gross oversimplification in the form of a ball suspended by a spring. The increase in global temperature corresponds not to a higher or lower resting state for the ball, but an &lt;em&gt;increase of energy&lt;/em&gt; in the ball-spring system, a "bouncier" state. A system with more energy has more frequent and more extreme states - the ball will reach higher peaks and lower troughs more frequently than it would in a less energetic system.&lt;/p&gt;
&lt;p&gt;In the more complex system of the atmosphere, the connection is less obvious. For this reason the newspapers often equivocate: "Hurricane Katrina was possibly, but not definitely linked to climate change…" Regardless, more floods and simultaneously more droughts are being reported in many areas. 'Freak' weather events in the news have become more destructive, and insurance companies (earning their keep on being neither optimistic nor pessimistic) are trading climate futures to offset expected losses due to natural disasters.&lt;/p&gt;
&lt;p&gt;The entire climate is more volatile, which brings me (at last) to my point: What is to suggest that cold weather disproves global warming? If we have four warm winters and one brutally cold winter (or four warm winter months and one brutally cold month) the average temperature may barely increase. However, fifty or a hundred years ago, we would have had five consecutive, wholly unremarkable 'average' winters. Consider, on &lt;a href="http://www.wunderground.com/history/airport/CYTZ/2007/1/20/DailyHistory.html"&gt;January 20&lt;/a&gt;, 2005, the temperature was -17°C. On the same day in 2006 it reached 10°C, while the mean is -8°C. It's only one data point, and you may dismiss my view as apocalyptic, but if extreme weather is a harbinger of climate change then it is ridiculous to suggest that a cold snap means we have nothing to worry about.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>CDRDAO</title><link href="https://paul.kishimoto.name/2007/02/cdrdao" rel="alternate"/><published>2007-02-03T00:00:00+01:00</published><updated>2007-02-03T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2007-02-03:/2007/02/cdrdao</id><content type="html">&lt;p&gt;For the LazyWeb: After wasting over half an hour searching for a free, simple Windows utility to clone a CD for my mother, I gave up and used Ubuntu. With the disc in my recorder, I opened a terminal and typed:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cdrdao copy --device /dev/cdrw
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CDRDAO prompted me to insert a new disk but otherwise ran unattended.&lt;/p&gt;</content><category term="2007"/></entry><entry><title>Harper's and Werner Herzog</title><link href="https://paul.kishimoto.name/2006/11/harpers-and-werner-herzog" rel="alternate"/><published>2006-11-27T00:00:00+01:00</published><updated>2006-11-27T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-11-27:/2006/11/harpers-and-werner-herzog</id><summary type="html">&lt;p&gt;I subscribe to &lt;a href="http://wharpers.org"&gt;Harper's Magazine&lt;/a&gt;, which comes monthly and is always a good read. Wikipedia &lt;a href="http://en.wikipedia.org/wiki/Harper's_Magazine"&gt;describes it&lt;/a&gt; as&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a monthly general-interest magazine covering literature, politics, culture, finance, and the arts from a progressive, moderate left perspective in a fashion often not found in the ordinary news-media. It is the second oldest continuously-published monthly magazine (the oldest magazine being Scientific American) in the United States…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the December 2006 issue, there's an interesting piece on thousands of scavengers living on an enormous garbage dump in Manilla, the Philippines. The phrase "economic Darwinism" is used, and the whole thing strikes me as …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I subscribe to &lt;a href="http://wharpers.org"&gt;Harper's Magazine&lt;/a&gt;, which comes monthly and is always a good read. Wikipedia &lt;a href="http://en.wikipedia.org/wiki/Harper's_Magazine"&gt;describes it&lt;/a&gt; as&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;a monthly general-interest magazine covering literature, politics, culture, finance, and the arts from a progressive, moderate left perspective in a fashion often not found in the ordinary news-media. It is the second oldest continuously-published monthly magazine (the oldest magazine being Scientific American) in the United States…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In the December 2006 issue, there's an interesting piece on thousands of scavengers living on an enormous garbage dump in Manilla, the Philippines. The phrase "economic Darwinism" is used, and the whole thing strikes me as &lt;a href="http://www.laobserved.com/intell/2006/09/pattern_recognition_from_willi.php"&gt;another realization&lt;/a&gt; of William Gibson's dystopian, cyberpunk near-future.&lt;/p&gt;
&lt;p&gt;There's also a review/interview on &lt;a href="http://www.wernerherzog.com"&gt;Werner Herzog&lt;/a&gt;, who's a maker of not-so-normal films:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Although his films take place &lt;em&gt;everywhere&lt;/em&gt; (Germany, the United States, South America, Africa, Southeast Asia, Australia, the Middle East) and are about &lt;em&gt;everything&lt;/em&gt; (adventure, courage, madness, failure, death, time, space travel, nature's indifference) his imagistic obsessions (auctioneers, flight, monkeys, chickens², ski jumpers, dwarves, bears, boats, wind, roosters³, midgets, mountains, wind-mills, hens) reappear again and again&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;On "chickens" there is a footnote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Chickens (and roosters and hens) are Herzog's objective correlative and play some role in dozens of his films. A film as early as &lt;em&gt;Even Dwarves Start Small&lt;/em&gt; contains a disquieting sequence in which a chicken eats a dead mouse. "Look into the eyes of a chicken and you will see real stupidity," Herzog has said. "It is a kind of bottomless stupidity, a fiendish stupidity. They are the most horrifying, cannibalistic and nightmarish creatures in the world."&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;I think anyone who's &lt;a href="http://www.vgcats.com/comics/?strip_id=52"&gt;played Zelda&lt;/a&gt; can appreciate this. On "roosters", another footnote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Herzog: "Years ago I was searching for the biggest rooster I could find and heard about a guy in Petaluma, California… I went out there and found Ralph… who weighed an amazing thirty-two pounds! Then I found Frank, a special breed of horse that stood less than two feet high. I told Frank's owner I wanted to film Ralph chasing Frank—with a midget riding him—around the biggest sequoia tree in the world… But unfortunately, Frank's owner refused. He said it would make Frank, the horse, look stupid.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;I agree this was unfortunate, as I, for one, would have found it highly entertaining.&lt;/p&gt;
&lt;p&gt;I have no particular point; this is just some plagiarism and an exhortation to &lt;em&gt;subscribe to the freakin' magazine already&lt;/em&gt;.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>The Tyranny of the Automobile</title><link href="https://paul.kishimoto.name/2006/11/the-tyranny-of-the-automobile" rel="alternate"/><published>2006-11-08T00:00:00+01:00</published><updated>2006-11-08T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-11-08:/2006/11/the-tyranny-of-the-automobile</id><summary type="html">&lt;p&gt;Each month and year, I become a more rabid cheerleader for public transit. Where once I was simply delighted by the cheap, eco-friendly idea of having one person drive scores of others around, I'm now enraged by the attachment of the average Torontonian to his or her automobile. I'm even more incensed by quixotic city-dwellers who aspire to saving for and buying a car as a mark of adulthood. Such a waste of money!&lt;/p&gt;
&lt;p&gt;I allow that using Mississauga Transit or its 905 equivalents is a horrendous experience. Even more horrendous is getting anywhere by bicycle—a tiring, if not …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Each month and year, I become a more rabid cheerleader for public transit. Where once I was simply delighted by the cheap, eco-friendly idea of having one person drive scores of others around, I'm now enraged by the attachment of the average Torontonian to his or her automobile. I'm even more incensed by quixotic city-dwellers who aspire to saving for and buying a car as a mark of adulthood. Such a waste of money!&lt;/p&gt;
&lt;p&gt;I allow that using Mississauga Transit or its 905 equivalents is a horrendous experience. Even more horrendous is getting anywhere by bicycle—a tiring, if not impossible proposition in the winter. Freedom of movement a sound principle, the same one that created the wheelchair ramp. However, many people fail to make basic connections regarding their commute, and therefore move themselves around in the clumsiest of ways. Notably:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A Hummer is not a suitable vehicle for a lone driver.&lt;/strong&gt; The high-occupancy vehicle lanes (HOV) on the 403 are a great idea because they give preference to the clever drivers who astoundingly &lt;em&gt;have people sit in the seats in their cars&lt;/em&gt;. If you reject the arms-race mentality that prizes larger vehicles for better crash protection (the other vehicle is more likely to be damaged and its driver injured), there's very little reason to own a large truck, SUV or oversize car.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transportation scales.&lt;/strong&gt; Compare the population densities of &lt;a href="http://en.wikipedia.org/wiki/Toronto"&gt;Toronto&lt;/a&gt; (3,939/km²) and [Markham&lt;/a&gt; (981/km²)—logically, when population quadruples, individual space allotment quarters. Your ~4 m² car scales to a roomy square metre to stand in on the subway. Eight lane roads scale to two, and so on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Driving is inefficient.&lt;/strong&gt; Matters of space and fuel aside, individual drivers in individual vehicles are a poor substitute for trains and buses. Rubbernecking at accidents, overcaution in moderately poor weather, and a mix of driving styles from timid to road-rage aggressive combine to make traffic behave like clotting blood. Infrastructure engineers simulate rush-hour using models based on viscous fluids.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All this said, three unsung ideas I claim no credit for:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.towaterfront.ca/dynamic.php?first=43fa75b221b08&amp;amp;second=43fa7f3cddad8&amp;amp;third=442ee40e416d7"&gt;Bury the Gardiner&lt;/a&gt;](http://en.wikipedia.org/wiki/Markham%2C_Ontario) (&lt;a href="http://www.towaterfront.ca/dbdocs//452651d1e9e20.pdf"&gt;pdf&lt;/a&gt;)&lt;/strong&gt;
Crumbling concrete, or green space with traffic confined to a tunnel? I could go on at length about this, but I won't.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Greater_Toronto_Transportation_Authority"&gt;&lt;strong&gt;Transit Integration&lt;/strong&gt;&lt;/a&gt; I'd love to travel to the far side of the city on a single pass. I wouldn't even mind paying a zone fare (more for a longer trip). Change, and individual tickets and tokens for the TTC, Go and Mississauga Transit are discouragingly heavy and needlessly expensive. A prime example is my commute to work; for a trip shorter than most rides I take within either Mississauga or Toronto, I pay $5.25 because I start at Dixie and finish at Kipling.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.trevipark.co.uk/after-intro.html"&gt;&lt;strong&gt;Automated Parking&lt;/strong&gt;&lt;/a&gt; Compare 20 x 20 m / 12 cars = 33.3 m2/car to a &lt;a href="http://www.carothersconstruction.com/home/extranet/project_1/Bay%20Island%20Plans%20&amp;amp;%20Specs%20PDF%20files/04%20architectural/A111%20A111%20-%20PARKING%20garage%20plans%20(1).pdf"&gt;standard parking garage&lt;/a&gt;, 60 x 30 m / 33 cars = 54.5 m2/car. In the footprint of the 5-storey, 165-car conventional garage, three underground, 9-level automated garages will hold 324 cars and be &lt;em&gt;invisible&lt;/em&gt;, leaving the surface free for other uses. Anyone who has tried to find parking on the University of Toronto campus will appreciate the amount of space these would save; operators would appreciate the doubling or trebling of their parking income.&lt;/li&gt;
&lt;/ol&gt;</content><category term="2006"/></entry><entry><title>Tactile Trackball</title><link href="https://paul.kishimoto.name/2006/10/tactile-trackball" rel="alternate"/><published>2006-10-19T00:00:00+02:00</published><updated>2006-10-19T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-10-19:/2006/10/tactile-trackball</id><summary type="html">&lt;p&gt;The ball is 3 cm in diameter, held either magnetically so all but a small polar area is exposed. In addition to rotating smoothly, the ball registers (but does not yield to) pressure; "clicking" is emulated by squeezing or pinching the ball with some combination of fingers. An LED blinks or a sound is played to indicate a click is registered.&lt;/p&gt;
&lt;p&gt;An internal gyroscope allows smooth scrolling by flicking the ball in any direction. The gyroscope restricts the rotation of the ball to that axis until deactivated by another tactile signal.&lt;/p&gt;
&lt;p&gt;With a suction cup or other attachment on the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The ball is 3 cm in diameter, held either magnetically so all but a small polar area is exposed. In addition to rotating smoothly, the ball registers (but does not yield to) pressure; "clicking" is emulated by squeezing or pinching the ball with some combination of fingers. An LED blinks or a sound is played to indicate a click is registered.&lt;/p&gt;
&lt;p&gt;An internal gyroscope allows smooth scrolling by flicking the ball in any direction. The gyroscope restricts the rotation of the ball to that axis until deactivated by another tactile signal.&lt;/p&gt;
&lt;p&gt;With a suction cup or other attachment on the base and Bluetooth, the device is smaller than a 4 cm cube and provides a more user-friendly alternative to the laptop touch pad. It can also be attached to a wrist-mounted frame (similar to a slingshot's) to be always within reach, whatever the seating or arm position of the user.&lt;/p&gt;
&lt;p&gt;The concept extends the Griffin &lt;a href="http://www.griffintechnology.com/products/powermate/"&gt;Powermate&lt;/a&gt;, RIM &lt;a href="http://www.blackberrypearl.com/"&gt;Blackberry Pearl&lt;/a&gt;, and various other &lt;a href="http://www.ziotek.com/templates/searchdetail.asp?productID=1977"&gt;small trackball devices&lt;/a&gt;.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Corporus Colossus</title><link href="https://paul.kishimoto.name/2006/10/corporus-colossus" rel="alternate"/><published>2006-10-15T00:00:00+02:00</published><updated>2006-10-15T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-10-15:/2006/10/corporus-colossus</id><summary type="html">&lt;p&gt;William Gibson's fiction is full of unique, near-future predictions about how society and culture respond to technology. The recent &lt;a href="http://news.google.ca/news?q=LonelyGirl15+YouTube"&gt;LonleyGirl15/YouTube story&lt;/a&gt;, closely mirroring the plot of his 2003 novel &lt;em&gt;&lt;a href="http://isbndb.com/d/book/pattern_recognition_a13.html"&gt;Pattern Recognition&lt;/a&gt;&lt;/em&gt;, invites serious consideration of some of his other concepts.&lt;/p&gt;
&lt;p&gt;A theme carried by both the dialogue and narrative of his novels is the comparison of large corporations with biological entities. Hapless families and individuals of incredible wealth are cocooned inside corporate apparatus that has accrued with their fortunes.&lt;/p&gt;
&lt;p&gt;This is a compelling idea, and not necessarily a new one. Economists and financial analysts have long recognized that any …&lt;/p&gt;</summary><content type="html">&lt;p&gt;William Gibson's fiction is full of unique, near-future predictions about how society and culture respond to technology. The recent &lt;a href="http://news.google.ca/news?q=LonelyGirl15+YouTube"&gt;LonleyGirl15/YouTube story&lt;/a&gt;, closely mirroring the plot of his 2003 novel &lt;em&gt;&lt;a href="http://isbndb.com/d/book/pattern_recognition_a13.html"&gt;Pattern Recognition&lt;/a&gt;&lt;/em&gt;, invites serious consideration of some of his other concepts.&lt;/p&gt;
&lt;p&gt;A theme carried by both the dialogue and narrative of his novels is the comparison of large corporations with biological entities. Hapless families and individuals of incredible wealth are cocooned inside corporate apparatus that has accrued with their fortunes.&lt;/p&gt;
&lt;p&gt;This is a compelling idea, and not necessarily a new one. Economists and financial analysts have long recognized that any company has a sort of genetic code, stored somewhere in its organization, mix of employees, assets and liabilities. It is not surprising that they've found these factors exceptionally difficult to correlate with the company's behaviour -- after all, biologists have similar troubles with complexity. Researchers who have recently used massively parallel computing to simulate a single virus in a droplet of water acknowledge that sophisticated methods will be needed to predict macroscopic behaviour without resorting to brute force.&lt;/p&gt;
&lt;p&gt;The biology-economy analogy breaks down when applied too closely, but several high-level insights are useful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Economic colonialism (think McDonalds and Burger King openings overseas) can be likened to &lt;a href="http://en.wikipedia.org/wiki/Spore"&gt;sporulation&lt;/a&gt;. If conditions are suitable, more franchises may emerge; otherwise the process either yields a single location in a large country, or fails altogether at little cost to the parent entity.&lt;/li&gt;
&lt;li&gt;Entities will react with varying sophistication to ensure their own survival. GM is undergoing major reorganization to react to the presence of competitors (foreign carmakers) and its own excess weight - compare with moulting reptiles. Smaller companies would be unable to adapt to similar environmental changes. Government policy can be regarded as another "environmental" factor. Witness the speed at which online gambling firms fled the U.S. market after a recent bill outlawing Internet betting; bacteria display similar averse reactions to chemicals and pH changes in their habitats.&lt;/li&gt;
&lt;li&gt;Identity becomes increasingly meaningless in the corporate (organism) structure as size increases. Gibson illustrates with characteristic borrowings from Japanese language and culture; the &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Zaibatsu"&gt;zaibatsu&lt;/a&gt;&lt;/em&gt; is the prototypical multinational, and the typical employee is a &lt;em&gt;&lt;a href="http://en.wikipedia.org/wiki/Sarariman"&gt;sarariman&lt;/a&gt;&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An extension of the latter point is that executives and boardmembers of large firms are absolved from many sorts of responsibility. This is a phenomenon widely cited an indicator of Western decadence, although the popular example of Enron defies the present analogy, because it was motivated by personal greed. The &lt;a href="http://news.google.ca/news?q=HP+Patricia+Dunn"&gt;actions&lt;/a&gt; the HP board and its chair, Patricia Dunn, are perhaps more useful.&lt;/p&gt;
&lt;p&gt;For Rousseau's noble savage and Hobbes' self-interested brute alike, corporate underlings are influenced primarily by the pressures that define their role in the corporate structure than they are by actual law. In short, while government is a macroscopic factor that affects the actions of whole companies, it is only tenuously felt by the atomic element of the corporate structure, the worker. Like the amino acid in the protein, his part in reactions and processes is dictated by very basic and immediate interactions.&lt;/p&gt;
&lt;p&gt;As mere organelles, executives (to the same extent as other employees) are vectors of the forces of shareholder interest and the need to secure profits. This is in fact the place where the analogy is most tangent to Gibson's work; his cyberpunk characters are hired by secrective security contractors to participate in clandestine, paramilitary and highly illegal acts which are of crucial corporate interest.&lt;/p&gt;
&lt;p&gt;Of course, there are some phenomena which can't be explained without stretching the analogy very thin. For example, Wal-Mart's &lt;a href="http://en.wikipedia.org/wiki/Monopsony"&gt;monopsonistic&lt;/a&gt; relationship with its suppliers is difficult to analyse except by comparison to symbiosis or parasitism. We should like to say Wal-Mart is killing its hosts, only this is weak because it is much larger.&lt;/p&gt;
&lt;p&gt;An ideological revelation which follows from this analogy is that societal expectations for moral behaviour of employees do not suffice to constrain companies to act in certain ways—for example, on the environment. Governmental pressure is necessary to alter the "waters" in which the "bacteria" swim, and alter their habits of consumption and production of wastes.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Getting the Ball Rolling</title><link href="https://paul.kishimoto.name/2006/08/getting-the-ball-rolling" rel="alternate"/><published>2006-08-30T00:00:00+02:00</published><updated>2006-08-30T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-08-30:/2006/08/getting-the-ball-rolling</id><summary type="html">&lt;p&gt;I'd initially planned to delay publishing anything new until I'd imported all my old blog posts, updated the code behind my &lt;a href="books"&gt;books page&lt;/a&gt;, got some work done for &lt;a href="http://skule.ca"&gt;skule.ca&lt;/a&gt;, and so on. I'm starting to realize those are all long term processes that shouldn't stand in the way of another attempt to blog regularly.&lt;/p&gt;
&lt;p&gt;Another feature I've always had in mind was a page for all the links with which &lt;a href="http://geodave.net/"&gt;Dave&lt;/a&gt; and others keep spamming me, or which I dig up myself. Yesterday I realized that it would make more sense to use a service like &lt;a href="http://del.icio.us/"&gt;del.icio.us …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;I'd initially planned to delay publishing anything new until I'd imported all my old blog posts, updated the code behind my &lt;a href="books"&gt;books page&lt;/a&gt;, got some work done for &lt;a href="http://skule.ca"&gt;skule.ca&lt;/a&gt;, and so on. I'm starting to realize those are all long term processes that shouldn't stand in the way of another attempt to blog regularly.&lt;/p&gt;
&lt;p&gt;Another feature I've always had in mind was a page for all the links with which &lt;a href="http://geodave.net/"&gt;Dave&lt;/a&gt; and others keep spamming me, or which I dig up myself. Yesterday I realized that it would make more sense to use a service like &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;, but I remain wary of tagging sites. They seem a bit masturbatory and are too "Web 2.0" for my taste. So, it looks like I'll be making dozens of short posts full of links.&lt;/p&gt;
&lt;p&gt;That's probably a good thing - any content is better than no content.&lt;/p&gt;
&lt;h2&gt;Spannungsbogen&lt;/h2&gt;
&lt;p&gt;Frank Herbert's Dune novels continue to be a goldmine of interesting concepts and ideas. Today I was reminded of &lt;a href="http://en.wiktionary.org/wiki/spannungsbogen"&gt;spannungsbogen&lt;/a&gt;. This is a quality I need to develop. I'm not compulsive, but I notice the following behaviour:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I discover an interesting technology / author / other item.&lt;/li&gt;
&lt;li&gt;I research until I've found the best-reviewed, -rated or most popular example of #1.&lt;/li&gt;
&lt;li&gt;I convince myself #2 would improve me or my life.&lt;/li&gt;
&lt;li&gt;I am unable to prevent myself from buying / obtaining #2, usually on short notice.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1&gt;4 is especially strong. Last week I bought a &lt;a href="http://cn.penguinclassics.com/nf/Book/BookDisplay/0,,9780141441511,00.html"&gt;Bible&lt;/a&gt;. I happened to see it in the bookstore, and picked it up merely because it was on display, it's a &lt;a href="http://cn.penguinclassics.com/"&gt;Penguin Classics&lt;/a&gt; edition, and I'd just finished the &lt;a href="http://cn.penguinclassics.com/nf/Book/BookDisplay/0,,9780140449204,00.html"&gt;Koran&lt;/a&gt; (perspective is important!). Now I'm looking at an iPod nano. Hence, spannungsbogen.&lt;/h1&gt;</content><category term="2006"/></entry><entry><title>New Website</title><link href="https://paul.kishimoto.name/2006/08/new-website" rel="alternate"/><published>2006-08-16T00:00:00+02:00</published><updated>2006-08-16T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-08-16:/2006/08/new-website</id><content type="html">&lt;p&gt;This is my new website. The old one is at &lt;a href="http://khaerukama-o.geodave.net"&gt;khaerukama-o.geodave.net&lt;/a&gt;, but won't be updated anymore.&lt;/p&gt;
&lt;p&gt;I also have a new e-mail address: mail@paul.kishimoto.name. Please update your address books.&lt;/p&gt;
&lt;p&gt;Stay tuned for unbelievably exciting (vis not exciting) things.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>September 11</title><link href="https://paul.kishimoto.name/2006/04/september-11" rel="alternate"/><published>2006-04-18T00:00:00+02:00</published><updated>2006-04-18T00:00:00+02:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-04-18:/2006/04/september-11</id><summary type="html">&lt;p&gt;This will be the first in a number of articles meant to express my opinion on common topics. Often I find I can’t explain my view concisely without feeling I’m cheating someone out of part of the story. Referrals to this page should obviate the need to make editorial decisions that deny people information - decisions I justifiably hate making.&lt;/p&gt;
&lt;p&gt;Today’s topic: the attacks of 11 September 2001.&lt;/p&gt;
&lt;p&gt;The September 11 attacks were not faked or perpetrated by individuals under the direction of the White House, George W. Bush or his staff, the CIA, the FBI or any …&lt;/p&gt;</summary><content type="html">&lt;p&gt;This will be the first in a number of articles meant to express my opinion on common topics. Often I find I can’t explain my view concisely without feeling I’m cheating someone out of part of the story. Referrals to this page should obviate the need to make editorial decisions that deny people information - decisions I justifiably hate making.&lt;/p&gt;
&lt;p&gt;Today’s topic: the attacks of 11 September 2001.&lt;/p&gt;
&lt;p&gt;The September 11 attacks were not faked or perpetrated by individuals under the direction of the White House, George W. Bush or his staff, the CIA, the FBI or any government group. The common argument runs, roughly:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There is no way the terrorists could have eluded customs, the intelligence community, the police, airport security, etc.&lt;/li&gt;
&lt;li&gt;The Bush Administration wanted to make war on Afghanistan/Iraq, and views ‘common American people’ as expenable.&lt;/li&gt;
&lt;li&gt;Certain analyses of video, audio and photographs of the attack show phenomena irreconcilable with the appearance/sound of normal jetliners.&lt;/li&gt;
&lt;li&gt;Therefore, the attacks were engineered by non-terrorists using prepared jets, so that Al-Qaeda could be blamed and Afghanistan invaded.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sadly this line of ‘reasoning’ subscribes to a different species of the very paranoia the administration fosters. Some remarks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;There is a way the terrorists could have entered the U.S. To believe in an airtight Customs system, the omnicognizance of the U.S. intelligence services or the omnipotence of the military machine is to put blind faith in a number of deeply flawed systems. My impression of American government is one of a bureaucracy that views itself as something to be circumvented, with the result that nothing is well-coordinated (despite the largely unsung efforts of a small number of honest people). In any case, the porousness of borders and international transporation is real, and due more to poor and incomplete execution of current systems than the absence of The Next Big Fix.&lt;/li&gt;
&lt;li&gt;I’ll agree that the current White House team is a blundering, corrupt, shoot-from-the-hip group of ignorant warmongers. This is precisely why this propostion is laughable. The level of sophistication, coordination and indirection required to plan an event like 9/11 is entirely beyond them. There’s no doubt there were plans to invade Afghanistan, Iraq or even Iran on file before 9/11; I’m sure senior members of the administration plan wars like the rest of us play Risk, and view it as just as harmless. They were definitely quick out of the gate when the (flimsy) excuse presented itself, but they couldn’t have conceived of anything as clever as faking a terrorist attack to justify an invasion.&lt;/li&gt;
&lt;li&gt;These arguments resemble the arguments of unscientific types convinced that UFOs are alien spacecraft. Beware the bullying line of “It’s right there in front of your eyes - can’t you see it? I see it… everyone else sees it. Are you stupid?”, beware armchair aerostructures and demolition experts, beware conveniently selected reference photos of ordinance mounted on much smaller aircraft. I’m particularly annoyed by the “That little bit of jet fuel couldn’t have taken down the Twin Towers” argument. Many people are clearly unaware of what jet fuel is and how tall buildings are constructed. This is another example of the ‘America Is Invincible’ hypothesis, whose proponents would expect the Statue of Liberty to withstand a direct meteorite strike. Ridiculous.&lt;/li&gt;
&lt;li&gt;Logic fails completely here.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In general the whole thing can be dismissed via Occam’s Razor, by stacking “Surprisingly, Arabs can also fly airplanes, and knives are sharp,” against volumes of conspiracy theories. People need to have the sophistication to find the intelligent middle ground between blind faith and the unconstructive, combative ‘question everything’ approach. Listen more, preach less.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Freedom and Reform</title><link href="https://paul.kishimoto.name/2006/02/freedom-and-reform" rel="alternate"/><published>2006-02-06T00:00:00+01:00</published><updated>2006-02-06T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-02-06:/2006/02/freedom-and-reform</id><summary type="html">&lt;p&gt;A few ideas have crystallized for me as I've read about the ongoing furor over the Danish and other European newspapers publishing offensive cartoons depicting the prophet Mohammed. Without repeating too much common knowledge, certain Islamic scriptures forbid realistic depictions of the prophets, but &lt;a href="http://www.zombietime.com/mohammed_image_archive/"&gt;depictions of that sort&lt;/a&gt; have been made for centuries. Various newspapers are reprinting the cartoons, citing freedom of the press, and the images are not only in violation of this particular scripture, but also offensive (see the above link).&lt;/p&gt;
&lt;!--more--&gt;

&lt;p&gt;I've also read &lt;a href="http://service.spiegel.de/cache/international/0,1518,398853,00.html"&gt;this opinion&lt;/a&gt; by a 'Muslim dissident', which says, amongst other things:&lt;/p&gt;
&lt;blockquote&gt;A democracy cannot …&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;A few ideas have crystallized for me as I've read about the ongoing furor over the Danish and other European newspapers publishing offensive cartoons depicting the prophet Mohammed. Without repeating too much common knowledge, certain Islamic scriptures forbid realistic depictions of the prophets, but &lt;a href="http://www.zombietime.com/mohammed_image_archive/"&gt;depictions of that sort&lt;/a&gt; have been made for centuries. Various newspapers are reprinting the cartoons, citing freedom of the press, and the images are not only in violation of this particular scripture, but also offensive (see the above link).&lt;/p&gt;
&lt;!--more--&gt;

&lt;p&gt;I've also read &lt;a href="http://service.spiegel.de/cache/international/0,1518,398853,00.html"&gt;this opinion&lt;/a&gt; by a 'Muslim dissident', which says, amongst other things:&lt;/p&gt;
&lt;blockquote&gt;A democracy cannot survive long without freedom of expression, the freedom to argue, to dissent, even to insult and offend. It is a freedom sorely lacking in the Islamic world, and without it Islam will remain unassailed in its dogmatic, fanatical, medieval fortress; ossified, totalitarian and intolerant. Without this fundamental freedom, Islam will continue to stifle thought, human rights, individuality; originality and truth.
Unless, we show some solidarity, unashamed, noisy, public solidarity with the Danish cartoonists, then the forces that are trying to impose on the Free West a totalitarian ideology will have won; the Islamization of Europe will have begun in earnest. Do not apologize.&lt;/blockquote&gt;

&lt;p&gt;There are so many things wrong with these two paragraphs I despair of getting to my actual point, but I'd like to point out that:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;There is no freedom to insult and offend. Insult and offense are an unavoidable consequence of the rights of freedom of expression and opinion, whose purpose is to encourage open and inclusive dialogue. For said purpose, it is always desirable to exercise the freedoms so as to minimize insult and offense, for these are unconstructive.&lt;/li&gt;
    &lt;li&gt;A number of stereotypes about Islam are cited. These are accurate in some ways but mainly reinforce misconceptions. Islam is not, as far as I can tell, designed to stifle anything; the fault lies with fundamentalists. Similar rhetoric could be applied against Christianity, and most would agree that only evangelicals and Christian fundamentalists would gladly silence others.&lt;/li&gt;
    &lt;li&gt;The Islamization of Europe is apparently a negative process. I seem to have missed when this started occurring, or was decided to be harmful.&lt;/li&gt;
    &lt;li&gt;Only righteous pricks (pardon my French) refuse to apologize.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My general feeling is two-fold. Firstly, the newspapers were out of order printing the cartoons, but excusably so. _Re-_printing, however, was deliberately confrontational. Journalists, of all people, should expect by now that when Muslim sensibilities are offended, there are polar and often violent reactions. The fact that these are excessive is not a reason for like retaliation; such infantile bickering over the 'last word' has created the problems we see today in Israel and Palestine.&lt;/p&gt;
&lt;p&gt;Secondly and more broadly, democracy and Islam are not incompatible. The Western and Middle-Eastern worlds are not incompatible. Stranger partnerships and cooperations have occurred. However, reform must come from within -- this, I think, is apparent from the reactions to provocation and pressure that populate today's world news. The proposed approach is preposterous, and even the most moderate, gentle and kindly program of 'education' on the part of the West could be viewed as massively arrogant. Consider the many social, ethnic and cultural inequalities in America. While I agree that democracy is an excellent form of government, it can hardly be argued that any one Western state is flawlessly exemplary of the form. For any nation or coalition to presume to rapidly install already-imperfect Western democracy in a region accustomed to theocracy is not only folly, but hubris of the highest degree.&lt;/p&gt;
&lt;p&gt;Returning to the issue at hand, the lack of an apology of any sort points to a press that is more self-important than truly concerned with free expression. If governments are unwilling to take such miscreants in hand and reprimand them for what amounts to racist taunts, then efforts toward East-West conciliation and negotiation are doomed to be derailed over and over.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Tracy Chapman - Tracy Chapman - 04 - Behind The Wall&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Touchstone</title><link href="https://paul.kishimoto.name/2006/02/touchstone" rel="alternate"/><published>2006-02-02T00:00:00+01:00</published><updated>2006-02-02T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-02-02:/2006/02/touchstone</id><summary type="html">&lt;p&gt;I make frequent attempts at humour. Often they fail, because most of my jokes are referential. I depend on lateral thinking to insert the unexpected or (seemingly) unrelated into a situation or a conversation. The humour is created either by the juxtapositon of the two items, or, more commonly, poached outright from the thing I'm referencing.&lt;/p&gt;
&lt;p&gt;Either way I rely on a whole lexicon of stock phrases, quotations, tidbits and so on to execute this sort of joke. What follows is an informal guide to the most common of these. For the most part the humour isn't explained -- because any …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I make frequent attempts at humour. Often they fail, because most of my jokes are referential. I depend on lateral thinking to insert the unexpected or (seemingly) unrelated into a situation or a conversation. The humour is created either by the juxtapositon of the two items, or, more commonly, poached outright from the thing I'm referencing.&lt;/p&gt;
&lt;p&gt;Either way I rely on a whole lexicon of stock phrases, quotations, tidbits and so on to execute this sort of joke. What follows is an informal guide to the most common of these. For the most part the humour isn't explained -- because any explanation will ruin a joke -- only the phrase(s) and a link to the source are provided. I plan to continue updating it as things come to mind.&lt;/p&gt;
&lt;p&gt;Keep in mind many of these are offensive to varying degrees. Reader discretion is advised.&lt;/p&gt;
&lt;blockquote&gt;Together / Oil / Are you talking about _my_ vagina?
&lt;cite&gt;Sexual harassment training video [parody](http://video.google.com/videoplay?docid=6606512879132117173)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;I'm still crying.
&lt;cite&gt;['emo'](http://emo.urbanup.com/776537), Urban Dictionary&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;The Ugly One! / I have a crush on EVERY BOY! / ARROWED / Ow! My skin! / MSG'D / Ow! My stomach lining! / GRASPED! / CHILDREN! / SAILING MISHAP / CEREBELLUM'D / LATE-360 SHOVE IT TO BONELESS'D / TWO'D / Wave O'Babies / How do you be so short? / FLOOR TOMMED / TWELVE SIDED DIED / Corn (chips) is (are) no place for a might warrior / There like shareware / Makey outy / CABER TOSSED / LATHE'D / Get it on like Diddy Kong
&lt;cite&gt;[Teen Girl Squad](http://www.homestarrunner.com/tgsmenu.html), homestarrunner.com&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;Damn you Salazar!
&lt;cite&gt;Matt LeBlanc in [Charlie's Angels](http://imdb.com/title/tt0160127/quotes)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;Eat the pig and then together we burn! Burn! / Come with me! You belong with me! Burn! etc.
&lt;cite&gt;Adam Sandler in [Dirty Work](http://imdb.com/title/tt0120654/quotes)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;Hokay, so / Shit guys, ze missiles are coming, fire our shit / (But) I am le tired / WTF, mate? / 'Bout that time, eh chaps? Righto / Ahh MOTHERLAND! / Shfifty-five / Shiggity-shiggity-shwa / I want to play it / They look so goddamn like the same person / They are twins, that is why / I would say to them "Do you want ice cream cone?" Both of them say yes! / Testiclites
&lt;cite&gt;[The End of the World](http://www.albinoblacksheep.com/flash/end.php), [Mario Twins](albinoblacksheep.com/flash/mario.php) and other [Group X](http://www.groupxarab.com/) audio and video&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;BOOM, HEADSHOT! / Uber micro / I could dance all day
&lt;cite&gt;[Pure Pwnage](http://www.purepwnage.com/)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;Ha! Ha! (Not to scale!, 'Rassment'!, Loins!, Dangly parts!) / …in my pants / MINDTAKING! / Stick with the kid! / Caliente / MANY others
&lt;cite&gt;[Harvey Birdman, Attorney at Law](http://www.tv.com/harvey-birdman-attorney-at-law/show/5484/summary.html)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;p&gt;Numerous quotes from the popular movies and cartoons:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;[Napoleon Dynamite](http://imdb.com/title/tt0374900/quotes)&lt;/li&gt;
    &lt;li&gt;[Anchorman](http://imdb.com/title/tt0357413/quotes)&lt;/li&gt;
    &lt;li&gt;Family Guy&lt;/li&gt;
    &lt;li&gt;The Simpsons&lt;/li&gt;
    &lt;li&gt;Futurama&lt;/li&gt;
    &lt;li&gt;American Dad&lt;/li&gt;
&lt;/ul&gt;</content><category term="2006"/></entry><entry><title>Cop-Out</title><link href="https://paul.kishimoto.name/2006/01/cop-out" rel="alternate"/><published>2006-01-16T00:00:00+01:00</published><updated>2006-01-16T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-01-16:/2006/01/cop-out</id><summary type="html">&lt;p&gt;That's right. Nothing original is said in this post, but a post it is. The following are PDF versions of the MIE374 lecture notes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;[Chapter 1](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_01_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 2](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_02_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 3](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_03_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 4](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_04_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 5](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_05_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 7](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_07_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 13](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_13_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 14](http://khaerukama-o.geodave.net …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;That's right. Nothing original is said in this post, but a post it is. The following are PDF versions of the MIE374 lecture notes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;[Chapter 1](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_01_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 2](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_02_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 3](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_03_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 4](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_04_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 5](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_05_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 7](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_07_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 13](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_13_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 14](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_14_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 15](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_15_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 16](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_16_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;[Chapter 17](http://khaerukama-o.geodave.net/data/mie374/MIE_374_CH_17_Slides.pdf)&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://khaerukama-o.geodave.net/data/mie374/MIE_374_Week_5_Supplement.pdf"&gt;"Week 5 Supplement"&lt;/a&gt; &lt;small&gt;_Chapter_ 5?&lt;/small&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition there's a &lt;a href="http://khaerukama-o.geodave.net/data/mie374/MIE_374_Printable_Slides.pdf"&gt;one-file version&lt;/a&gt; (2.9 MB) and a &lt;a href="http://khaerukama-o.geodave.net/data/mie374/MIE_374_Printable_Slides_4up.pdf"&gt;4-up version&lt;/a&gt; (1.7 MB) for easy printing on ECF.&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Lifehacking</title><link href="https://paul.kishimoto.name/2006/01/lifehacking" rel="alternate"/><published>2006-01-09T00:00:00+01:00</published><updated>2006-01-09T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-01-09:/2006/01/lifehacking</id><summary type="html">&lt;blockquote&gt;Computers make us more productive. Yeah, right. Lifehacker recommends the downloads, web sites and shortcuts that actually save time. **Don't live to geek; geek to live.**
&lt;cite&gt;[Lifehacker.com](http://www.lifehacker.com)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;p&gt;I'm not sure why I haven't read this site before, but it's definitely on my reading list now. It's an admirable message that I sympathize with. Computers, the Internet and the software and data on them are wonderfully powerful tools; but they're just that: tools. There's no point owning a massive industrial lathe when all you need is a Dremel tool.&lt;/p&gt;
&lt;p&gt;I'll use Lifehacker for suggestions from here …&lt;/p&gt;</summary><content type="html">&lt;blockquote&gt;Computers make us more productive. Yeah, right. Lifehacker recommends the downloads, web sites and shortcuts that actually save time. **Don't live to geek; geek to live.**
&lt;cite&gt;[Lifehacker.com](http://www.lifehacker.com)&lt;/cite&gt;&lt;/blockquote&gt;

&lt;p&gt;I'm not sure why I haven't read this site before, but it's definitely on my reading list now. It's an admirable message that I sympathize with. Computers, the Internet and the software and data on them are wonderfully powerful tools; but they're just that: tools. There's no point owning a massive industrial lathe when all you need is a Dremel tool.&lt;/p&gt;
&lt;p&gt;I'll use Lifehacker for suggestions from here on out. In terms of my absurdly extensive computer experience, the truly valuable yield has been the knowledge of what works easily and intuitively, and what doesn't. I know in many cases the wrong way to do things, mainly because there are many wrong ways and I've tried them all. I also know there's no 'right' way; just the thing that's currently suited for me.&lt;/p&gt;
&lt;p&gt;On my &lt;a href="http://khaerukama-o.geodave.net/links/software"&gt;software page&lt;/a&gt; I've linked the current bests. Some choices: I use &lt;a href="http://www.mozilla.com/"&gt;Firefox&lt;/a&gt; and &lt;a href="http://www.mozilla.com/"&gt;Thunderbird&lt;/a&gt; because they're lightweight and secure; I only use the Windows Firewall because I don't have any real requirement for traffic shaping or extra security; I use the free University of Toronto &lt;a href="http://antivirus.utoronto.ca/"&gt;Symantec Antivirus Corporate Edition&lt;/a&gt;0 but disable auto-protect because it taxes my harddrives too much while file sharing. With a combination of these and what I prefer to call 'not doing stupid shit' I haven't had a virus infection in years.&lt;/p&gt;
&lt;p&gt;I use &lt;a href="http://gaim.sourceforce.net/"&gt;GAIM&lt;/a&gt; for instant messaging because it handles MSN, ICQ, AIM and Jabber (including Google Talk). I still have to switch to actual MSN to view webcams, but that feature should be part of GAIM soon. This would be a bad option for those fond of custom smileys and all the other features of MSN that I personally find annoying. GAIM also tabs message windows much like Firefox tabs webpages; this prevents six conversations from filling my taskbar.&lt;/p&gt;
&lt;p&gt;The list goes on - my point is that all software choices should be motivated by certain knowledge:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;What needs the user (you, someone asking for a recommendation) has.&lt;/li&gt;
  &lt;li&gt;What the available software options are.&lt;/li&gt;
  &lt;li&gt;What the features of each option are.&lt;/li&gt;
  &lt;li&gt;How simple your most common tasks are in each option.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, I use &lt;a href="http://filezilla.sourceforge.net/"&gt;FileZilla&lt;/a&gt; for FTP and &lt;a href="http://www.pnotepad.org/"&gt;Programmer's Notepad&lt;/a&gt; for editing. To do most of my PHP/MySQL coding I'll download one file at a time from the server. FileZilla automatically opens the file in Programmer's Notepad; when I'm done, I save and exit (Programmer's Notepad does this very quickly) and then FileZilla prompts me to automatically upload the modified file. Because the PN interface is clean and helpful, this is a better option than hacking about with command-line editors stuff via SSH; however I do keep &lt;a href="http://www.putty.nl/"&gt;PuTTY&lt;/a&gt; around for some tasks.&lt;/p&gt;
&lt;p&gt;I use a five-button trackball scroll mouse; the outside buttons are configured as Back (left) and Minimize All (right); clicking the scroll wheel opens Windows Explorer. I've got a Logitech keyboard with Media (Opens/Shows/Minimizes to system tray &lt;a href="http://www.winamp.com/"&gt;Winamp&lt;/a&gt;), Play/Pause, Mute, E-mail and WWW quick keys. I use a custom Visual Style from &lt;a href="http://skins.deviantart.com/windows/visualstyle/"&gt;deviantART&lt;/a&gt; that's easier on the eyes than the Windows default. I've got a number of helpful keyboard shortcuts memorized (Ctrl-E in Firefox moves the cursor to the Quick Search box; Ctrl-Tab switches between tabs and Ctrl-W closes them).&lt;/p&gt;
&lt;p&gt;The curious result of all this is that I find I can accomplish most routine tasks with only a few clicks or keystrokes, but a lot of people find my computer hard to use. This is fine; I'm not trying to run a kiosk machine. In an ideal world computers would be simple to use out of the box; regardless of what arguments you might make about Macs vs. PCs, they're generally not. The right choice of software can go a long way towards ultimate ease-of-use - ask me if you're ever wondering what the right choice is, and accept that if I give you a technical answer, I do it because it's the simplest you can get.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; 30 Seconds To Mars - A Beautiful Lie - 07 - From Yesterday&lt;/p&gt;</content><category term="2006"/></entry><entry><title>'2006'</title><link href="https://paul.kishimoto.name/2006/01/2006" rel="alternate"/><published>2006-01-02T00:00:00+01:00</published><updated>2006-01-02T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2006-01-02:/2006/01/2006</id><summary type="html">&lt;p&gt;Well, well. A New Year! I got wildly and inexcusably drunk on New Year's Eve at Konrad's place (&lt;a href="http://spinderella28.blogspot.com/2006/01/happy-new-year.html"&gt;Lil's blog&lt;/a&gt; has photos). Moreover, I did it &lt;em&gt;intentionally&lt;/em&gt;, which is a rare and awesome thing. Today was the annual Kishimoto Family New Year's Day Open House (KFNYDOH, sounds like a martial art) at my uncle's place in Weston. For the uninitiated, this involves a lot of pre-cooking during Boxing Week, and about 125 guests (mostly adult friends of the family) coming by between 3 and 10 PM. The amount and variety of food defies description, but I'll try and find a …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Well, well. A New Year! I got wildly and inexcusably drunk on New Year's Eve at Konrad's place (&lt;a href="http://spinderella28.blogspot.com/2006/01/happy-new-year.html"&gt;Lil's blog&lt;/a&gt; has photos). Moreover, I did it &lt;em&gt;intentionally&lt;/em&gt;, which is a rare and awesome thing. Today was the annual Kishimoto Family New Year's Day Open House (KFNYDOH, sounds like a martial art) at my uncle's place in Weston. For the uninitiated, this involves a lot of pre-cooking during Boxing Week, and about 125 guests (mostly adult friends of the family) coming by between 3 and 10 PM. The amount and variety of food defies description, but I'll try and find a picture for a later post. Even waking up hung over at 9 AM was offset by the traditional breakfast of mochi and o-zoni (sticky rice cakes and soup). All told a prize couple of days.&lt;/p&gt;
&lt;blockquote&gt;Time does not count itself. You have only to look at a circle and this is apparent. - Leto II (The Tyrant)
&lt;cite&gt;Chapterhouse: Dune, Frank Herbert&lt;/cite&gt;&lt;/blockquote&gt;

&lt;p&gt;As the parties subside I'm considering the New Year and what it holds. I usually badmouth resolutions in favour of strong willpower, but I rarely display that quality. The new year represents a (slightly) more concrete motivation to practice as I preach. Thus I resolve:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;to weekly:
    &lt;ul&gt;
      &lt;li&gt;write a poem, or portion thereof,&lt;/li&gt;
      &lt;li&gt;Work out, run or circuit train at least twice,&lt;/li&gt;
      &lt;li&gt;play guitar for an hour, and&lt;/li&gt;
      &lt;li&gt;post on this blog;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;to be more productive by working before playing;&lt;/li&gt;
  &lt;li&gt;to think before talking;&lt;/li&gt;
  &lt;li&gt;to be morally upright and honest, and not use the excuse of expediency cheaply;&lt;/li&gt;
  &lt;li&gt;to respect the views of others by avoiding the habitual, condescending labels 'unsophisticated' and 'ignorant'; and&lt;/li&gt;
  &lt;li&gt;to never cease trying on new ideas, experiences and viewpoints.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Combined, that's a fairly tall order, but they're all things I've been moving towards or doing sporadically over the past few months. Also I anticipate more free time this term, so hopefully I can be a bit more relaxed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Smith &amp;amp; Mighty - Life Is… - 04 - Rise&lt;/p&gt;</content><category term="2006"/></entry><entry><title>Nostalgia</title><link href="https://paul.kishimoto.name/2005/12/nostalgia" rel="alternate"/><published>2005-12-23T00:00:00+01:00</published><updated>2005-12-23T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-12-23:/2005/12/nostalgia</id><summary type="html">&lt;p&gt;I'm so emo - I've been listening to a lot of music by Stars. They're great:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;God that was strange to see you again&lt;br/&gt;
Introduced by a friend of a friend&lt;br/&gt;
Smiled and said "yes I think we've met before"&lt;br/&gt;
In that instant it started to pour&lt;/p&gt;
&lt;p&gt;Captured a taxi despite all the rain&lt;br/&gt;
We drove in silence across Pont Champlain&lt;br/&gt;
And all of that time you thought I was sad&lt;br/&gt;
I was trying to remember your name&lt;/p&gt;
&lt;p&gt;This scar is a fleck on my porcelain skin&lt;br/&gt;
You tried to reach deep but you couldn't get in&lt;br/&gt;
And now you're outside …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;I'm so emo - I've been listening to a lot of music by Stars. They're great:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;God that was strange to see you again&lt;br/&gt;
Introduced by a friend of a friend&lt;br/&gt;
Smiled and said "yes I think we've met before"&lt;br/&gt;
In that instant it started to pour&lt;/p&gt;
&lt;p&gt;Captured a taxi despite all the rain&lt;br/&gt;
We drove in silence across Pont Champlain&lt;br/&gt;
And all of that time you thought I was sad&lt;br/&gt;
I was trying to remember your name&lt;/p&gt;
&lt;p&gt;This scar is a fleck on my porcelain skin&lt;br/&gt;
You tried to reach deep but you couldn't get in&lt;br/&gt;
And now you're outside me you see all the beauty&lt;br/&gt;
Repent all your sin&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Stars - Set Yourself On Fire - 01 - Your Ex-Lover Is Dead&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For one thing it's the voice of Amy Millan, who sounds like some sort of angel. As Dave says of Imogen Heap, "her voice makes me want to be a better person." The other thing is the lyrics, their self-professed &lt;a href="http://www.splendidmagazine.com/features/stars/"&gt;focus on love&lt;/a&gt;, and then the tone, the music itself.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Oceans won't freeze&lt;br/&gt;
So loosen your heart&lt;br/&gt;
Underestimated&lt;br/&gt;
Undefeated in this love&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;We will always be a light&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Stars - Set Yourself On Fire - 03 - Ageless Beauty&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Badly Drawn Boy is also on high rotation.&lt;/p&gt;
&lt;p&gt;I'm so nerdy - I've been watching &lt;a href="http://anidb.info/perl-bin/animedb.pl?show=anime&amp;amp;aid=2369"&gt;Bleach&lt;/a&gt; and just caught up to the 60th fansubbed episode. The premise, briefly, is that the protagonist invades a sort of soul realm, ruled by death gods, the guardians of souls in both the soul realm and the living world. Protecting the Court of Pure Souls there are Thirteen Court Guardian Squads of these death gods, each with a captain and lieutenant. Each death god's Soul Slayer (sword) can be released, with varying special powers, and there's also demon magic, both dependent on the 'spirit power' of the user.&lt;/p&gt;
&lt;p&gt;Anyway, aside from the fantasy premise there are some really brilliant battles; great animation, backdrops, sound and music; and most importantly an amazing attention to detail in the backstory. Each of the captains and lieutenants, as well as the protagonist and his companions, has defining influences. These are outlined in some of the most well-executed flashbacks and narratives I've ever seen in an anime. As the invaders encounter resistance, but also engender infighting amongst the death gods, there are a series of fights that are not only increasingly mind-boggling, but &lt;em&gt;poignant&lt;/em&gt; because old friends, lovers and students are turned against one another.&lt;/p&gt;
&lt;p&gt;I've been Christmas shopping (almost done, one day left!) and wasting time around Mississauga, and it makes me feel something that &lt;em&gt;isn't&lt;/em&gt; nostalgia. It is the stirring of regret, a bittersweet feeling that there are well-crafted and honest things to be said to the people I know, gifts to be given, love to be made, and so on - none of which will ever come to pass. And the reason is simply that the world constrains me to the number of hours in a day, the money in my pocket, and to being only the one, imperfect person I am. (Disclaimer: note I don't use 'worthless' or 'lonely')&lt;/p&gt;
&lt;p&gt;It makes me sort of sad, and it's hard to pin down why. I want to experience strong emotion; I know I'm capable of it, and the world and people around me are capable of arousing it. Only to do so &lt;em&gt;continually&lt;/em&gt; would be unbearably wearying, so some days I just limp through in mediocrity, doing nothing poignant, nothing that will create a great memory or dictate my future actions. At the same time, I want to display strength and consistency of character, and be the sort of person who isn't perturbed except by rare, deep and meaningful things. I don't want to ride or appear to ride an emotional rollercoaster; that's really not me. Nor do I want to let these feelings of regret solidify and become bitterness, an acute awareness of missed opportunities. Life shouldn't be lived in regret.&lt;/p&gt;
&lt;p&gt;There is no point. I've reached no decision; I write only to fumble closer. If you want, bug me over the holidays to write that poem 'The Gentleman Lover' I've been thinking of for months - it would probably be cathartic.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Massive Attack - 100th Window - 07 - Small Time Shot Away&lt;/p&gt;</content><category term="2005"/></entry><entry><title>Michael Geist</title><link href="https://paul.kishimoto.name/2005/12/michael-geist" rel="alternate"/><published>2005-12-20T00:00:00+01:00</published><updated>2005-12-20T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-12-20:/2005/12/michael-geist</id><summary type="html">&lt;p&gt;&lt;a href="http://michaelgeist.ca/index.php?option=com_content&amp;amp;task=view&amp;amp;id=1041&amp;amp;Itemid=98"&gt;This&lt;/a&gt; is why I love the Canada Research Chair program, the Ontario postsecondary education system, and Michael Geist. His observations on the Internet are always legally informative, politically neutral, and rhetoric-free; at the same time they embody the sort of values, enshrined in the Charter of Rights and Freedoms, that Canada's laws are designed to protect.&lt;/p&gt;
&lt;p&gt;His work is the exact antithesis of the partisan committee-authored 'think tank' reports that a lot of American lawmaking and lobbying seem to be based on, a direct effect of the mandate of the CRC. I find it very refreshing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Badly Drawn …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="http://michaelgeist.ca/index.php?option=com_content&amp;amp;task=view&amp;amp;id=1041&amp;amp;Itemid=98"&gt;This&lt;/a&gt; is why I love the Canada Research Chair program, the Ontario postsecondary education system, and Michael Geist. His observations on the Internet are always legally informative, politically neutral, and rhetoric-free; at the same time they embody the sort of values, enshrined in the Charter of Rights and Freedoms, that Canada's laws are designed to protect.&lt;/p&gt;
&lt;p&gt;His work is the exact antithesis of the partisan committee-authored 'think tank' reports that a lot of American lawmaking and lobbying seem to be based on, a direct effect of the mandate of the CRC. I find it very refreshing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Badly Drawn Boy - The Hour of Bewilderbeast - 12 - Magic In The Air&lt;/p&gt;</content><category term="2005"/></entry><entry><title>Archives Fixed</title><link href="https://paul.kishimoto.name/2005/12/archives-fixed" rel="alternate"/><published>2005-12-06T00:00:00+01:00</published><updated>2005-12-06T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-12-06:/2005/12/archives-fixed</id><content type="html">&lt;p&gt;Woo! I should be studying.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Led Zeppelin - Led Zeppelin III - 06 - Gallows Pole&lt;/p&gt;</content><category term="2005"/></entry><entry><title>Blackjack</title><link href="https://paul.kishimoto.name/2005/12/blackjack" rel="alternate"/><published>2005-12-05T00:00:00+01:00</published><updated>2005-12-05T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-12-05:/2005/12/blackjack</id><summary type="html">&lt;p&gt;I'm 21! I wish I could say I had more to show for it, but other events have overshadowed it.&lt;/p&gt;
&lt;p&gt;I had the flu from roughly 26-29 November. While I was under I exacerbated my headache by redoing the layout of this site; it's a lot simpler and cleaner now. Some notable changes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;The blurbs have been moved to the front Media page.&lt;/li&gt;
  &lt;li&gt;I added a list of the anime I have burned to DVD; let me know if you want to borrow anything.&lt;/li&gt;
  &lt;li&gt;Some books added as to-reads; I've got some spoken-word and lyrics to go into the poetry …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I'm 21! I wish I could say I had more to show for it, but other events have overshadowed it.&lt;/p&gt;
&lt;p&gt;I had the flu from roughly 26-29 November. While I was under I exacerbated my headache by redoing the layout of this site; it's a lot simpler and cleaner now. Some notable changes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;The blurbs have been moved to the front Media page.&lt;/li&gt;
  &lt;li&gt;I added a list of the anime I have burned to DVD; let me know if you want to borrow anything.&lt;/li&gt;
  &lt;li&gt;Some books added as to-reads; I've got some spoken-word and lyrics to go into the poetry section soon.&lt;/li&gt;
  &lt;li&gt;Links page redone to take advantage of the built-in Wordpress links system.&lt;/li&gt;
  &lt;li&gt;Archives pages still broken. Links to http://khaerukama-o.geodave.net/_year_/_month_/ are generated by WordPress when the actual pages are at http://khaerukama-o.geodave.net/date/_year_/_month_/; for example the August 2004 archives are [here](http://khaerukama-o.geodave.net/date/2004/08/), not [here](http://khaerukama-o.geodave.net/2004/08/). This will need some looking-at.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I realize I haven't been linking &lt;a href="http://www.sxc.hu/"&gt;Stock.Xchng&lt;/a&gt; for a long time, but that's where I get all the pretty background images you see at the top. I'm using a script from here so that the title image (a PNG) should be transparent in IE 5.5+ as well as Mozilla/Opera.&lt;/p&gt;
&lt;p&gt;In other nerdy news I've switched from &lt;a href="http://www.bloglines.com/"&gt;Bloglines&lt;/a&gt; (which is still an excellent web-based newsreader) to &lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt;. An OPML file of my feeds is &lt;a href="http://khaerukama-o.geodave.net/data/feeds.xml"&gt;here&lt;/a&gt; - for the untutored, that's basically a list of sites with regular news updates or posts (like friends' blogs) that I read on a  daily basis.&lt;/p&gt;
&lt;p&gt;My birthday itself on Wednesday was a bit of a non-event; I was studying most of the day, although I did sort of greet the day in style 12:01 AM Wednesday morning - thanks for the help, you.&lt;/p&gt;
&lt;p&gt;Friday was the day of a truly excellent and well-attended party. We started off at SUDS, where I got through about 90% of a hardhat full of beer before burping half of it back up - Pete of course finished, because he's huge. Crazy Italians. After that we had a solid, filling two-hour dinner at Korean Grillhouse with 19 friends. I was persuaded to sign up for the Charity Date Auction that goes on during Godiva Week; come bid on me and drive up the price. It benefits both charity and my ego, yay. After KBBQ we headed to O'Grady's on College, and encamped for several hours of just sitting and drinking and shooting the shit, which I've found I enjoy thoroughly. I'm always glad when my high school friends and Skule friends get along; it makes me happy that I know so many quality people and that they recognize that in one another. Unfortunately I was apparently stealthed as far as Dave is concerned, but that will be remedied. Thanks to everyone who trickled in or tried to make it.&lt;/p&gt;
&lt;p&gt;Yesterday (Saturday) I headed home and thence to London with my parents to see the &lt;a href="http://khaerukama-o.geodave.net/image/random/mysteria.jpg"&gt;Conspirato Chamber Singers&lt;/a&gt;, including my sister Marla and cousin Laura. They were truly excellent for a choir of random undergrads conducted by a Masters student, and sang some beautiful pieces. The price ($0) was right, too. For dinner we pigged out at Mongolian Grill - if you haven't been, find the nearest one and make a beeline.&lt;/p&gt;
&lt;p&gt;For gifts I received a really comfortable sweater and a pair of cords from GAP along with an expensive dress shirt and heavy blue tie from my parents; Virgil's &lt;em&gt;The Aeneid&lt;/em&gt; from Marla, and a pair of wireless headphones from Bob, Brian and Kim - thanks everyone!&lt;/p&gt;</content><category term="2005"/></entry><entry><title>Lyrics</title><link href="https://paul.kishimoto.name/2005/11/lyrics" rel="alternate"/><published>2005-11-26T00:00:00+01:00</published><updated>2005-11-26T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-11-26:/2005/11/lyrics</id><summary type="html">&lt;p&gt;Instead of going off on extensive tangents the way I usually do, I'm just going to quote a lot of really good or striking lyrics and let you make what you will of them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Call me over and I trust
We lay here 'til we must
Make our break to our star bodies go&lt;/p&gt;
&lt;p&gt;There's a shake with the shock
And a gift off with them
They carry the dust of the failing wisdom
For you there's not any warning
And love is 5 in the morning&lt;/p&gt;
&lt;p&gt;'Til we skip through the towns to the bright sweet past on
And …&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;Instead of going off on extensive tangents the way I usually do, I'm just going to quote a lot of really good or striking lyrics and let you make what you will of them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Call me over and I trust
We lay here 'til we must
Make our break to our star bodies go&lt;/p&gt;
&lt;p&gt;There's a shake with the shock
And a gift off with them
They carry the dust of the failing wisdom
For you there's not any warning
And love is 5 in the morning&lt;/p&gt;
&lt;p&gt;'Til we skip through the towns to the bright sweet past on
And bury the dust of the failing wisdom
For you there's not any warning
And love is 5 in the morning
&lt;cite&gt;The New Pornographers - Twin Cinema - - Star Bodies&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;Finally you are free of me
It must be true or you'd give a minute
But it's always my fault
Always it's your forgiveness
This unbalanced resolve
I must be hateful
So I hang up the phone
Call it a small sacrifice
You still hear me now
&lt;cite&gt;Lagwagon - Blaze -04 - I Must Be Hateful&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;Now this slick fallen rift came like a gift
Your body moves ever nearer
And you will dry this tear
Now that we're here, and grieve for me, not history
But now I'm dry of thoughts, wait for the rain
Then it's replaced, sun setting&lt;/p&gt;
&lt;p&gt;And, suddenly you're in love with everything.
&lt;cite&gt;Badly Drawn Boy - The Hour of Bewilderbeast - 01 - The Shining&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;Run quick, they're behind us
Didn't think we'd ever make it
This close to safety in one piece
Now you wanna kill me in the act of what could maybe
Save us from sleep and what we are&lt;/p&gt;
&lt;p&gt;Good eye, sniper
Now I shoot, you run
The words you scribbled on the walls
With the loss of friends you didn't have
I'll call you when the time is right
Are you in or are you out?
For them all to know the end of us all&lt;/p&gt;
&lt;p&gt;Bye bye beautiful
Don't bother to write
Disturbed by your words and they're calling all cars
Face step, let down.
Face step, step down.
&lt;cite&gt;Coheed &amp;amp; Cambria - In Keeping Secrets of Silent Earth: 3 - 10 - A Favor House Atlantic&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;God, that was strange to see you again
Introduced by a friend of a friend
Smiled and said "Yes, I think we've met before."
In that instant it started to pour&lt;/p&gt;
&lt;p&gt;Captured a taxi in spite of the rain
We drove in silence across Pont Champlain
And all that time you thought I was sad
I was trying to remember your name.
&lt;cite&gt;Stars - Set Yourself On Fire - 01 - Your Ex-Lover Is Dead&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;Ageless beauty
Cruelty makes its holes
But on the shoreline
Time will hold its promise
We will always be a light (You can see it from the surface, see it)
We will always be a light (You can see it from the surface, see it)
We will always be a light&lt;/p&gt;
&lt;p&gt;Tattered fingers
Lingering on the warm and foolish
Hardened faces
Graceless, we'll lose the battle
We will always be a light…&lt;/p&gt;
&lt;p&gt;Oceans won't freeze
So loosen your heart
Underestimated
Undefeated in this love
We will always be a light…
&lt;cite&gt;Stars - Set Yourself On Fire - 03 - Ageless Beauty&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content><category term="2005"/></entry><entry><title>Utterly Terrifying</title><link href="https://paul.kishimoto.name/2005/11/utterly-terrifying" rel="alternate"/><published>2005-11-01T00:00:00+01:00</published><updated>2005-11-01T00:00:00+01:00</updated><author><name>Paul Natsuo Kishimoto</name></author><id>tag:paul.kishimoto.name,2005-11-01:/2005/11/utterly-terrifying</id><summary type="html">&lt;p&gt;&lt;img alt="LG-118A Peacekeeper Reentry" src="https://paul.kishimoto.name/image/peacekeeper.jpg" /&gt;
The above photo is of a test of the LG-118A Peacekeeper &lt;acronym title="Intercontinental Ballistic Missile"&gt;ICBM&lt;/acronym&gt;, which carries up to ten 300 KT &lt;acronym title="Multiple Independently-targetable Reentry Vehicle"&gt;MIRV&lt;/acronym&gt; warheads. Little Boy (the atomic bomb dropped on Hiroshima) rated about 13 KT. What these measurements mean is that detonating 300,000 tons of TNT (a common explosive) or &lt;em&gt;one&lt;/em&gt; of these warheads releases equal energy. That TNT would form a solid cube about 20 storeys high. The test warheads were inert (obviously), and dropped on an uninhabited atoll in the Pacific. The bright lines result from the heat created by their reentry into the atmosphere at over five times …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="LG-118A Peacekeeper Reentry" src="https://paul.kishimoto.name/image/peacekeeper.jpg" /&gt;
The above photo is of a test of the LG-118A Peacekeeper &lt;acronym title="Intercontinental Ballistic Missile"&gt;ICBM&lt;/acronym&gt;, which carries up to ten 300 KT &lt;acronym title="Multiple Independently-targetable Reentry Vehicle"&gt;MIRV&lt;/acronym&gt; warheads. Little Boy (the atomic bomb dropped on Hiroshima) rated about 13 KT. What these measurements mean is that detonating 300,000 tons of TNT (a common explosive) or &lt;em&gt;one&lt;/em&gt; of these warheads releases equal energy. That TNT would form a solid cube about 20 storeys high. The test warheads were inert (obviously), and dropped on an uninhabited atoll in the Pacific. The bright lines result from the heat created by their reentry into the atmosphere at over five times the speed of sound. If they were live, the next shot would consist of the land and sea being ripped up and flying towards the photographer.&lt;/p&gt;
&lt;p&gt;I'm struck by the terrible beauty of the streaks piercing the clouds, a vast Godhand reaching out of the sky to pick up the horizon. I'm reminded of the end of the Evangelion series, and the movie Casshern:
&lt;img alt="Evangelion" src="https://paul.kishimoto.name/image/evangelion.jpg" /&gt;
&lt;img alt="Casshern" src="https://paul.kishimoto.name/image/casshern.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;The human body is built for mental comfort. Our eyes are directed downwards, the better to spot whatever's trying to eat us, or ought to be eaten - the sky is out of sight, out of mind. We don't have to contend with how &lt;strong&gt;big&lt;/strong&gt; it is, so usually we don't worry about it, since it doesn't do much besides drip on us occasionally. But every now and then a tall building, a clear sky with clouds in the distance, or a bolt of lightning makes us look up. On such occasions I feel a dizzying sense of scale. It's not that I feel conscious of being small, but rather my mind is filled and strained by the attempt to imagine the unimaginably vast.&lt;/p&gt;
&lt;p&gt;&amp;hellip; I'm struggling for words - can you tell? My thought is this: at such times man &lt;em&gt;cannot&lt;/em&gt; feel relaxed or content - in fact we're more likely to be agitated. Then it shouldn't be surprising that the most powerful gods in Norse and Classical mythology are those of the sky and thunder. We can't conceive of being subject to phenomena of mindbreaking size utterly at random.&lt;/p&gt;
&lt;p&gt;Now man has the ability to dispense death from above, either nuclear or kinetic (a metre-wide sphere of metal simply dropped from 20 km has 0.5 KT of energy). I think the most sensible thing to feel when looking at the reentry photo is &lt;em&gt;irrational terror&lt;/em&gt;. When I was younger I had occasional nightmares about lying in bed at night, looking out the window while some adult voice spoke calmly to me in a low tone. I somehow knew that, out beyond the horizon, a vast and terrible thing extending up into the sky was &lt;em&gt;peeling civilization off the face of the Earth&lt;/em&gt;, and that it was coming towards me. But the worst bit, the part that would wake me up shivering, was realizing the owner of the voice knew about the thing, was responsible, but was &lt;em&gt;entirely unworried by it&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, I'm against nuclear weaponry of all forms. Let the vastness of the sky be incomprehensible yet benevolent, and not an arena for man's quarrels.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now Playing:&lt;/strong&gt; Hed Kandi - Winter Chill - I - 04 - Aim - Cold Water Music&lt;/p&gt;</content><category term="2005"/></entry></feed>