<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title type="text">Asheeshworld</title>
<subtitle type="html"><![CDATA[

]]></subtitle>
<id>http://www.asheesh.org/index.atom</id>
<link rel="alternate" type="text/html" href="http://www.asheesh.org" />
<link rel="self" type="application/atom+xml" href="http://www.asheesh.org/index.atom" />


<author>
<name>Asheesh Laroia</name>
<uri>http://www.asheesh.org/index.atom</uri>
<email>asheeshworld++@asheesh.org</email>
</author>
<rights>http://creativecommons.org/licenses/by-sa/3.0/us/</rights>
<generator uri="http://pyblosxom.sourceforge.net/" version="1.4.3 01/10/2008">
PyBlosxom http://pyblosxom.sourceforge.net/ 1.4.3 01/10/2008
</generator>

<updated>2012-04-20T12:24:30Z</updated>
<!-- icon?  logo?  -->

<entry>
<title type="html">Absurd Asheesh lunch: Friday April 20, MIT Media Lab, 1 PM
</title>
<category term="/note/event" />
<id>http://www.asheesh.org/2012/04/20/friday-lunch</id>
<updated>2012-04-20T12:24:30Z</updated>
<published>2012-04-20T12:24:30Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/event/friday-lunch.html" />
<content type="html">&lt;p&gt;I&apos;m visiting the Boston area for a few hours (like literally 
less than 24), and so I thought I&apos;d stop by the MIT Media Lab&apos;s 
5th floor lounge and have lunch there with Deb, and anyone else 
who wants to join.
&lt;/p&gt;&lt;p&gt;Bring lunch from home, or buy food at the lovely MIT trucks, or 
just come for the company.
&lt;/p&gt;&lt;p&gt;It&apos;s quite easy to get to; take the Red Line to Kendall, then 
walk to the end of the street with the food trucks. If you need 
help finding me/it, call my cell phone!
&lt;/p&gt;&lt;p&gt;P.S. I&apos;m in town just while in transit to Troy, NY, to run an
&lt;a href=&quot;https://openhatch.org/wiki/Open_Source_Comes_to_Campus/RPI&quot;&gt;open source teaching workshop&lt;/a&gt; there.
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Advocacy-free
</title>
<category term="/scribble/rhetoric" />
<id>http://www.asheesh.org/2012/04/07/advocacy-free</id>
<updated>2012-04-07T21:13:37Z</updated>
<published>2012-04-07T21:13:37Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/scribble/rhetoric/advocacy-free.html" />
<content type="html">&lt;blockquote&gt;

advocacy-free

My writing used to be heavily philosophical, with lots of advocacy and questioning. I still consider the why of things much more meaningful than the how, but it&apos;s time to focus on the how 
rather than the why. I&apos;m making this little writing place a &quot;no trolling zone.&quot; I will try to avoid preaching, and the obvious corollary is that I will also avoid worrying about whether people 
agree or disagree. Instead, I will try to simply share little pieces of code as it comes to me.

There is no advocacy on here. I frequent a few scuba diving forums. One annoying part of scuba culture is that it can be very polarizing. A bunch of people over here say there is only One True 
Way to dive, right down to using the exact same equipment as each other. Another bunch of people over there disregard the conventional wisdom and choose to dive solo, attracting criticism from 
young and old. The forums discovered a long time ago that running flame wars simply drove members away, so they have instituted &quot;no trolling&quot; zones within their boards, places where people can 
discuss the how of solo diving, or sidemounting, or DIR, without getting into a battle of whether such a thing is a good idea or not.

&lt;/blockquote&gt;
&lt;p&gt;-- &lt;a href=&quot;https://github.com/raganwald/homoiconic&quot;&gt;Reg Braithwaite&lt;/a&gt;.
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Help a BSD developer bike across the US, and give hope to cancer communities</title>
<category term="/note/debian" />
<id>http://www.asheesh.org/2012/02/18/venk-bike-ride</id>
<updated>2012-02-18T22:31:33Z</updated>
<published>2012-02-18T22:31:33Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/debian/venk-bike-ride.html" />
<content type="html">
&lt;style type=&quot;text/css&quot;&gt;
@import &quot;/pub/special-css/venk.css&quot;;
&lt;/style&gt;
&lt;div class=&quot;top-spacing&quot; style=&quot;padding-left: 1em;&quot;&gt;
&lt;div class=&quot;huge&quot; style=&quot;width: 500px;&quot;&gt;
&apos;Cancer&apos; is a cluster of diseases, a betrayal by the majesty and power of the development program that constructed and heals us.
&lt;/div&gt;
&lt;div class=&quot;huge&quot; style=&quot;width: 500px; text-align: right;&quot;&gt;
&lt;img src=&quot;http://4kforcancer.org/wp-content/uploads/formidable/IMG_0302-150x150.jpg&quot; style=&quot;border: dashed;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;width: 500px; font-size: 1.5em;&quot;&gt;
&lt;a href=&quot;http://4kforcancer.org/profiles/venkatesh-srinivas/&quot;&gt;Support&lt;/a&gt; Venkatesh&apos;s bike ride, and alleviate the toll of cancer.
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;My friend Venkatesh, pictured above, is going to bike four thousand miles, all the way across the continental US, from Baltimore to Portland. He&apos;s doing it to raise money for the Ulman Cancer Fund for Young Adults. I&apos;m writing this because I want you to &lt;a href=&quot;http://4kforcancer.org/profiles/venkatesh-srinivas/&quot;&gt;donate money to his cause&lt;/a&gt;. He&apos;s a DragonFly BSD developer, loves bikes, and your donation could make a big difference.&lt;/p&gt;
&lt;p&gt;I first met Venkatesh through the Johns Hopkins computer club, an &lt;a href=&quot;http://acm.jhu.edu/&quot;&gt;ACM chapter&lt;/a&gt;. I was the head of the club, and he had just started his career at Hopkins. He was looking for advice on running &lt;a href=&quot;http://brickwiki.org/wiki/Main_Page&quot;&gt;Brickwiki&lt;/a&gt;, the LEGO encyclopedia. Quickly, I became his friend; in that time, I&apos;ve learned the following things about him.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;He is friendly!&lt;/li&gt;
&lt;li&gt;He believes in science; beyond just writing &lt;a href=&quot;http://ops101.org/&quot;&gt;sharp code&lt;/a&gt;, he likes to &lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-hackers/2010-December/033864.html&quot;&gt;ask&lt;/a&gt; &lt;a href=&quot;http://leaf.dragonflybsd.org/mailarchive/kernel/2011-03/msg00016.html&quot;&gt;questions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;He is melodramatically attracted to the power and complexity of biology. (The above quote about cancer are his words.)&lt;/li&gt;
&lt;li&gt;He wants to do something to make cancer less of a killer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the years since I graduated from Hopkins, I&apos;ve been impressed by Venkatesh&apos;s ongoing curiosity and contributions to open source projects like DragonFly. I&apos;m honored to have this chance to help him bike across the country for a good cause.&lt;/p&gt;
&lt;p&gt;Here is a quick word about the &lt;a href=&quot;http://4kforcancer.org/&quot;&gt;4K for cancer&lt;/a&gt; effort:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Since 2002, groups of college students have undertaken a 70 day,  4000+ mile summer bike ride across the United States with the goal of  offering hope, inspiration and support to cancer communities along the  way.&lt;/p&gt;
&lt;p&gt;This past summer was our 10th year of cycling across the country as  76 volunteers rode along three different routes:  Baltimore to San  Francisco, Baltimore to Portland, and Baltimore to Seattle.  Our riders  raised a combined $476,000 to support organizations and individuals in  the fight against cancer.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;His fundraising goal is $5,000. Anything from $5 to $500 is a donation to an organization that helps young adult cancer surviers and their families get access to information and support resources. &lt;a href=&quot;http://4kforcancer.org/profiles/venkatesh-srinivas/&quot;&gt;Can you help&lt;/a&gt;? &lt;/p&gt;

</content>
</entry>

<entry>
<title type="html">Short key IDs are bad news (with OpenPGP and GNU Privacy Guard)
</title>
<category term="/note/debian" />
<id>http://www.asheesh.org/2011/12/26/short-key-ids-are-bad-news</id>
<updated>2011-12-26T22:21:15Z</updated>
<published>2011-12-26T22:21:15Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html" />
<content type="html">&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;: It is important that we (the Debian community that relies on OpenPGP through
GNU Privacy Guard) stop using short key IDs. There is no vulnerability in OpenPGP and GPG.
However, using short key IDs (like 0x70096AD1) is
fundementally insecure; it is easy to generate collisions for short key IDs.
We should &lt;i&gt;always use 64-bit&lt;/i&gt; (or longer) key IDs, like: 0x37E1C17570096AD1
or 0xEC4B033C70096AD1.
&lt;/p&gt;&lt;p&gt;&lt;b&gt;TL;DR&lt;/b&gt;: This now gives two results: &lt;tt&gt;gpg --recv-key 70096AD1&lt;/tt&gt;
&lt;/p&gt;
&lt;h3 id=&quot;w_some-background-and-my-two-keys&quot;&gt;Some background, and my two keys&lt;/h3&gt;
&lt;p&gt;Years ago, I read
&lt;a href=&quot;http://www.debian-administration.org/users/dkg/weblog/48&quot;&gt;dkg&apos;s instructions&lt;/a&gt;
on migrating the Debian OpenPGP infrastructure. It told me that the time and
effort I had spent getting my key into the strong set wasn&apos;t as useful as I
thought it had been.
&lt;/p&gt;&lt;p&gt;I felt deflated. I had put in quite a bit of effort over the years to strongly-connect my
key to a variety of signatures, and I had helped people get their own keys into
the strong set this way. If I migrated off my old key and revoked it, I&apos;d be abandoning some
people for whom I was their only link into the strong set. And what fun it was
to first become part of the strong set! And all the eyebrows I raised when I told
people I was going meet up with people I met on a website called
&lt;a href=&quot;http://www.biglumber.com/&quot;&gt;Biglumber&lt;/a&gt;... I even made it my
&lt;a href=&quot;https://www.facebook.com/0x70096AD1&quot;&gt;Facebook.com user ID&lt;/a&gt;. So if I had to generate a
new key, I decided I had better really love the short key ID.
&lt;/p&gt;&lt;p&gt;But at that point,
I already felt pretty attached to the number 0x70096AD1. And I couldn&apos;t come up with
anything better. So that settled it: no key upgrade
until I had a new key whose ID is the same as my old key.
&lt;/p&gt;&lt;p&gt;That dream has become a reality. Search for my old key ID, and you get two keys!
&lt;pre&gt;$ gpg --keyserver pgp.mit.edu --recv-key 0x70096AD1
gpg: requesting key 70096AD1 from hkp server pgp.mit.edu
gpg: key 70096AD1: public key &quot;Asheesh Laroia &amp;lt;asheesh@asheesh.org&amp;gt;&quot; imported
gpg: key 70096AD1: public key &quot;Asheesh Laroia &amp;lt;asheesh@asheesh.org&amp;gt;&quot; imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 2
gpg:               imported: 2  (RSA: 1)
&lt;/pre&gt;
&lt;p&gt;I also saw it as an opportunity: I know that cryptography tools are tragically easy
to mis-use. The use of 32-bit key IDs is fundamentally incorrect -- too little entropy.
Maybe shocking people by creating two &quot;identical&quot; keys will help speed the transition
away from this mis-use.
&lt;/p&gt;
&lt;h3 id=&quot;w_a-neat-stunt-abusing-refresh-keys&quot;&gt;A neat stunt abusing --refresh-keys&lt;/h3&gt;
&lt;p&gt;Thanks to a GNU Privacy Guard bug, it is super easy to get my
new key. Let&apos;s say that, like many people, you only have my old key
on your workstation:
&lt;pre&gt;$ gpg --list-keys | grep 70096AD1
pub   1024D/70096AD1 2005-12-28
&lt;/pre&gt;
&lt;p&gt;Just ask GPG to refresh:
&lt;pre&gt;$ gpg --keyserver pgp.mit.edu --refresh-keys
gpg: refreshing 1 key from hkp://pgp.mit.edu
gpg: requesting key 70096AD1 from hkp server pgp.mit.edu
gpg: key 70096AD1: public key &quot;Asheesh Laroia &amp;lt;asheesh@asheesh.org&amp;gt;&quot; imported
gpg: key 70096AD1: &quot;Asheesh Laroia &amp;lt;asheesh@asheesh.org&amp;gt;&quot; not changed
gpg: Total number processed: 2
gpg:               imported: 1  (RSA: 1)
gpg:              unchanged: 1
gpg: no ultimately trusted keys found
&lt;/pre&gt;
&lt;p&gt;You can see that it set out to refresh just 1 key. It did that by querying
the keyserver for the &lt;i&gt;short ID&lt;/i&gt;. The keyserver provided two hits for that
query. In the end, GPG refreshes one key and actually &lt;i&gt;imports&lt;/i&gt; a new key
into the keyring!
&lt;/p&gt;&lt;p&gt;Now you have two:
&lt;pre&gt;$ gpg --list-keys | grep 70096AD1
pub   1024D/70096AD1 2005-12-28
pub   4096R/70096AD1 2011-03-11
&lt;/pre&gt;
&lt;p&gt;There is a
&lt;a href=&quot;https://bugs.g10code.com/gnupg/issue1340&quot;&gt;bug&lt;/a&gt; filed in GNU Privacy Guard about this.
It has a patch attached. There is, at the moment, no plan for a new release.
&lt;/p&gt;
&lt;h3 id=&quot;w_a-faster-attack-but-nothing-truly-new&quot;&gt;A faster attack, but nothing truly new&lt;/h3&gt;
&lt;p&gt;My friend &lt;a href=&quot;http://endeavour.zapto.org&quot;&gt;Venkatesh&lt;/a&gt; tells me there is an apocryphal old Perl script that
could be used to generate key ID collisions.
Here in the twenty-first century, l33t h4x0rz like Georgi Guninski are
&lt;a href=&quot;http://seclists.org/fulldisclosure/2011/Sep/207&quot;&gt;trying to create collisions&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;In May 2010, &quot;halfdog&quot; posted a note to the full-disclosure list that generates PGP keys 
with chosen short key IDs. I haven&apos;t benchmarked or tested that tool, but I have used a 
different tool (private for now) that can generate collisions in a similar fashion.
It takes about 3 hours to loop through all key IDs on a dinky little netbook.
&lt;/p&gt;&lt;p&gt;You don&apos;t have to use any of these tools. You can just rent time on an elastic
computing service or a botnet, or your own personal computer, and generate keys
until you have a match.
&lt;/p&gt;&lt;p&gt;I think that it&apos;s easy to under-estimate the seriousness of this problem: tools
like the &lt;a href=&quot;http://pgp.cs.uu.nl/&quot;&gt;PGP Key Pathfinder&lt;/a&gt; should be updated to only
accept 64-bit (or longer) key IDs if we want to trust their output.
&lt;/p&gt;
&lt;h3 id=&quot;w_my-offer-i-will-make-you-a-key&quot;&gt;My offer: I will make you a key&lt;/h3&gt;
&lt;p&gt;I&apos;ve been spending some time wondering: What sort of exciting demonstration
can I create to highlight that this is a real problem? Some ideas I&apos;ve had:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt; Publish a private/public key pair whose key ID is the same as Phil Zimmerman&apos;s, original author of PGP
&lt;/li&gt;&lt;li&gt; Publish a private/public key pair whose key ID is the same as Werner Koch&apos;s, maintainer of GNU Privacy Guard
&lt;/li&gt;&lt;li&gt; Publish a set of public keys that mimic the entire PGP strong set, except where I control the private key of all these keys
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;The last one would be extremely amusing, and would be a
hat-tip to some work discussed in Raph Levien&apos;s 
&lt;a href=&quot;http://video.google.com/videoplay?docid=-5092930485716426869&quot;&gt;Google Tech Talk about Advogato&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;For now, here is my offer: If you send me a request signed with a key in the strong
set, I will create a 4096-bit RSA public/private key pair whose 32-bit key ID is &lt;i&gt;one greater&lt;/i&gt;
than yours. So if you are 0x517DD4E4 I will generate 0x517DD4E5.
&lt;/p&gt;&lt;p&gt;I will post the keys here, along a note about who requested it, and instructions on how
to import them into your keyring. (Note: I will politely decline to create a new key whose 32-bit key ID would create a collision; 
apologies if your key ID is just one away from someone else&apos;s.)
&lt;/p&gt;&lt;p&gt;P.S. The prize for best sarcastic retort goes to Ian Jackson. He said, &quot;I should go and create a lot of keys with your key ID. I&apos;ll set the real name to &apos;Not Asheesh Laroia&apos; so everyone is totally clear about what is going on.&quot;
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Learning baritone again (for the Russian Nonsemble)
</title>
<category term="/note/music" />
<id>http://www.asheesh.org/2011/12/26/russian-nonsemble</id>
<updated>2011-12-26T06:46:17Z</updated>
<published>2011-12-26T06:46:17Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/music/russian-nonsemble.html" />
<content type="html">&lt;p&gt;In fifth and sixth grade, I used to play the baritone horn. A few weekends ago,
I played a show with the Russian Nonsemble. Look for me in a blue shirt and tie:
&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/pub/image/music/img-photo-87130.jpg&quot; width=&quot;500&quot; height=&quot;373&quot; /&gt;
&lt;/p&gt;&lt;p&gt;When I joined the Brighton public school system in fifth grade, other students had been
playing musical instruments for a year. I tried a few different options, and I
settled on the baritone. Maybe I really liked the sound, or how buzzing works with
a mouthpiece and combines with the entire horn. Maybe I was suggestible and accepted
something that the band needed.
&lt;/p&gt;&lt;p&gt;I learned the instrument on bass clef, which was its own oddity. It was a little confusing
to use bass clef in band and treble clef in chorus, but I managed. (Maybe this exercise
taught me something about the concept of equivalence.)
&lt;/p&gt;&lt;p&gt;There is something relaxing about playing the baritone: I am not keeping
the melody. The tone quality I send out is not, at least in a fifth grade
band, make or break the performance. One downside is that, with the highly
repetitious lines, it can be easy to get lost.
&lt;/p&gt;&lt;p&gt;Early in the sixth grade, our band director asked for volunteers to learn
the French horn. Steve Marler picked it up for the musical challenge. I picked
it up because I was willing to fill an institutional need.
&lt;/p&gt;&lt;p&gt;It was a lot of fun to play French horn. Well, it was a challenge, at least.
Every single group performance setting I had for the French horn -- from
sixth grade through high school, through the Johns Hopkins concert band --
there was someone sitting next to me who was a full notch better at me.
It was disheartening, to be honest.
&lt;/p&gt;&lt;p&gt;I stopped playing horn somewhere in college. For a while I played mellophone
in the Johns Hopkins pep band, but that wound down eventually.
&lt;/p&gt;&lt;p&gt;About a year ago, my friend Irina invited me to be part of a band,
for which she lent me a baritone.
&lt;/p&gt;&lt;p&gt;Halfway through the concert you see above,
I began to do more than just read the music. I listened to the sound of the band
and looked at my bandmates, making &lt;i&gt;bom-pom&lt;/i&gt; sounds on the horn while bobbing
up and down with the rhythm of the song we were playing.
&lt;/p&gt;&lt;p&gt;Thanks to Jess Schumann for taking the picture!
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Computer fraud and abuse by Universal Music Group
</title>
<category term="/note/corporations" />
<id>http://www.asheesh.org/2011/12/17/illegal-takedowns</id>
<updated>2011-12-17T22:48:32Z</updated>
<published>2011-12-17T22:48:32Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/corporations/illegal-takedowns.html" />
<content type="html">&lt;p&gt;It seems that Universal Music Group
willfully misrepresented its copyright interest and probably
violated its service contract with YouTube. By my understanding
of the Computer Fraud and Abuse Act, UMG likely took actions
that &lt;a href=&quot;http://ilt.eff.org/index.php/Computer_Fraud_and_Abuse_Act_%28CFAA%29&quot;&gt;exceed authorized access&lt;/a&gt;,
subjecting it to criminal prosecution. (I am just a computer enthusiast
and not a lawyer, so I welcome corrections from others.)
&lt;/p&gt;&lt;p&gt;The emerging details, reported by Wired.com&apos;s Threat Level blog,
are &lt;a href=&quot;http://www.wired.com/threatlevel/2011/12/youtube-universal-megaupload/&quot;&gt;as follows&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt;YouTube said Friday that Universal Music abused the video-sharing site’s piracy filters when it employed them to take down a controversial video of celebrities and pop superstars singing and praising the notorious file-sharing service Megaupload.&lt;/blockquote&gt;
&lt;p&gt;In particular, Google created a system for antipiracy that is being abused
by UMG:
&lt;/p&gt;
&lt;blockquote&gt;“Our partners do not have the right to take down videos from YT unless they own the rights to them or they are live performances controlled through exclusive agreements with their artists, which is why we reinstated it,” Google-owned YouTube said.&lt;/blockquote&gt;
&lt;p&gt;I look forward to a speedy criminal prosecution of the employees
or board of Universal Music Group. If that is not feasible,
perhaps the organization itself should be
&lt;a href=&quot;http://www.asheesh.org/note/corporations/behind-bars-draft.html&quot;&gt;put behind bars&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Even if Megaupload.com fails in its own lawsuit against UMG,
I eagerly await the criminal prosecution of UMG as in
&lt;a href=&quot;http://www.wired.com/threatlevel/2011/07/swartz-arrest/&quot;&gt;another case where Federal prosecutors had to get involved&lt;/a&gt;.
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Twisted high scores
</title>
<category term="/note/software" />
<id>http://www.asheesh.org/2011/12/12/twisted-high-scores</id>
<updated>2011-12-12T07:44:56Z</updated>
<published>2011-12-12T07:44:56Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/software/twisted-high-scores.html" />
<content type="html">&lt;p&gt;Living in the Boston area, I&apos;ve had the chance to spend time with
the lovely maintainers of the &lt;a href=&quot;http://twistedmatrix.com/&quot;&gt;Twisted project&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Twisted is an event-driven network programming framework in Python. It&apos;s also
a community of people for whom software is never good enough -- and they&apos;re right.
&lt;/p&gt;&lt;p&gt;I visited the &lt;a href=&quot;http://labs.twistedmatrix.com/2011/12/november-sprint-report.html&quot;&gt;Twisted November sprint&lt;/a&gt;
at the Smarterer.com office a few weeks ago and reviewed a ticket. So now I am
on the
&lt;a href=&quot;http://twistedmatrix.com/highscores/?time=2011-11-01&quot;&gt;Twisted high scores list&lt;/a&gt;
for November!
&lt;/p&gt;&lt;p&gt;It was one of the most rewarding short periods of time I&apos;ve ever spent
contributing to an open source project. I took someone&apos;s contribution
and turned it into a patch, and also gave some feedback. This counted as
reviewing a ticket, for which I was immediately and strongly socially
rewarded: J.P. (exarkun) turned  to me and say, &quot;Thanks for contributing
to Twisted. An IRC bot pinged me with a note saying my ticket review
was complete. And now I appear in the high scores list for November!
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">Vertical
</title>
<category term="/note/bike" />
<id>http://www.asheesh.org/2011/12/05/vertical</id>
<updated>2011-12-05T07:04:41Z</updated>
<published>2011-12-05T07:04:41Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/bike/vertical.html" />
<content type="html">&lt;p&gt;After the
&lt;a href=&quot;http://meetup.bostonpython.com/events/37948602/&quot;&gt;November Python Project Night&lt;/a&gt;,
&lt;a href=&quot;http://www.flickr.com/photos/paulproteus/6208418008/in/set-72157627810249912/&quot;&gt;Noah&lt;/a&gt;
and I unlocked our bicycles.
&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://asheesh.org.nyud.net/pub/image/bike/vertical.jpg&quot; width=&quot;600&quot; height=&quot;900&quot; /&gt;
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">The OOT Killer
</title>
<category term="/note/debian" />
<id>http://www.asheesh.org/2011/11/28/oot-killer</id>
<updated>2011-11-28T06:33:41Z</updated>
<published>2011-11-28T06:33:41Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/debian/oot-killer.html" />
<content type="html">&lt;p&gt;Commitments require care, and recently I have been suffering from the delusion
that making more commitments will make me more able to achieve them.
&lt;/p&gt;&lt;p&gt;When overcommit reaches a certain point, the OOT (out of time) killer comes and
reaps time from whatever it finds, often with disappointing consequences.
&lt;/p&gt;&lt;p&gt;(See also: &lt;a href=&quot;http://linux-mm.org/OOM_Killer&quot;&gt;OOM Killer&lt;/a&gt;.)
&lt;/p&gt;</content>
</entry>

<entry>
<title type="html">How To Put Corporations in Jail and Prison (draft)
</title>
<category term="/note/corporations" />
<id>http://www.asheesh.org/2011/11/10/behind-bars-draft</id>
<updated>2011-11-10T17:20:38Z</updated>
<published>2011-11-10T17:20:38Z</published>
<link rel="alternate" type="text/html" href="http://www.asheesh.org/note/corporations/behind-bars-draft.html" />
<content type="html">&lt;p&gt;In the U.S., some crimes carry jail or prison terms for the persons who commit them. Some of the persons
who commit these crimes are so-called &quot;natural persons&quot; -- people like you and me. Some of them
are corporations. This brief essay explains how and why to apply prison sentences to these artificial persons.
&lt;/p&gt;&lt;p&gt;I am not a lawyer. I do live in a country with laws, and I worry that these &quot;artificial persons&quot; can skirt
the law by being structured to avoid jail time. So I propose this draft, and I am interested in feedback.
&lt;/p&gt;
&lt;h3 id=&quot;w_1-a-brief-summary-of-jail-and-prison&quot;&gt;1. A brief summary of jail and prison&lt;/h3&gt;
&lt;p&gt;First, let us review life for natural persons when they are convicted of a crime with a prison term.
Prisoners may find themselves in a minimum-security institution, where they are given some small
degree of autonomy, limited (but non-zero) access to communication systems like postal mail,
telephones, and in-person visits, and are put to work. Persons who commit violent crimes and constitute
a risk to other inmates may be incarcerated in a medium- or high-security facility; in these,
inmates are carefully tracked and intensive barriers and check-points prevent too-great movement.
&lt;/p&gt;&lt;p&gt;It can be disruptive for a person to find himself or herself behind bars, but it is a disruption
that the legal system is willing to make so that the public can enjoy a law-abiding society.
&lt;/p&gt;&lt;p&gt;Life in prisons is still &lt;i&gt;life&lt;/i&gt;: inmates may always eat, drink water, think to
themselves, and (as far as I know) make written notes to themselves. Many famous activists have spent
time in jail or prison and gone on to continue their careers. Prisoners in low-security
facilities may enjoy lots of communication with other persons, so long as it does not require
the use of communication technology.
&lt;/p&gt;&lt;p&gt;Persons spending time in prison may continue to own property outside of the prison.
Their ability to use it while incarcerated is minimal to nonexistent, but they may have bank accounts,
investments, or other financial instruments that appreciate in value.
&lt;/p&gt;
&lt;h3 id=&quot;w_2-how-the-structure-of-corporations-makes-law-enforcement-harder&quot;&gt;2. How the structure of corporations makes law enforcement harder&lt;/h3&gt;
&lt;p&gt;Now that we have a concept of what prison is like, let us carefully consider what it means to
be a corporation. Corporations are legal constructions, created to
achieve a specific end. They have a primary place of business where individual natural persons meet
to do work to help the corporation achieve those ends. Most corporations are created for the
private profit of their founders.
&lt;/p&gt;&lt;p&gt;The corporation is, fundamentally, a legally-approved
veil over the collective activity of individual persons.
This corporate veil limits the &lt;i&gt;financial&lt;/i&gt; liability for its Directors; if the corporation owes
rent on its property, for example, the Directors are not responsible personally for this debt.
Virtually all actions of corporations are about the transfer of money. The existence of
this structure is widely-considered a good, efficient thing.
&lt;/p&gt;&lt;p&gt;Some actions of a corporation go beyond the transfer of money; some actions are criminal.
At the moment, individual natural persons who commit crimes as part of their
duties to the corporation may find themselves in court and possibly in jail. This can
flow all the way up the chain to the Directors.
&lt;/p&gt;&lt;p&gt;But if an employee is asked by her manager to commit a crime for the private
inurement of the corporation, she is the one most at-risk for criminal proceedings.
If a corporation profits from check fraud, the fines may be smaller than the profits
earned.
&lt;/p&gt;&lt;p&gt;The incentives are mis-aligned: if an investor calculates that the financial punishment for
breaking the law will not hurt the corporation, he might urge the corporation to flout
the law. The result might be dramatically increased profits with a side-effect of
an employee or a Director in jail.
&lt;/p&gt;&lt;p&gt;There is an elegant solution to this problem: when an agent for the corporation commits a
crime with a jail term, the corporation should spend some time incarcerated as well.
This brings us to the final part: the mechanics of applying jail and prison terms to
corporations.
&lt;/p&gt;
&lt;h3 id=&quot;w_3-how-to-put-companies-behind-bars&quot;&gt;3. How to put companies behind bars&lt;/h3&gt;
&lt;p&gt;Rather than painstakingly identify the employees most responsible for lawbreaking
within a corporation, it may be simpler to put the corporation behind bars.
Practically speaking, this means moving the primary place of business of the
corporation to a jail or prison.
&lt;/p&gt;&lt;p&gt;In this regime, when a company is in jail, the employees must go to the jail
and subject themselves to the standard restrictions of the jail as they go about
their business. If the company has committed a violent offense (perhaps
the calculated murder of citizens who live near its place of toxic waste dumping),
then while employees are contributing their time to the corporation, they
would be subject to highly-secured perimeter fences and close supervision.
&lt;/p&gt;&lt;p&gt;Just like a natural person, the corporation can continue its life while in prison.
It may have limited access to communication technology, but (depending on
the security level of the facility) employees will be able to take notes
on paper, send checks in the mail, plan the corporation&apos;s future actions, and possibly
attend meetings with each other. If this is not enough to maintain the
corporation&apos;s activities, it should have considered that before committing
criminal acts.
&lt;/p&gt;&lt;p&gt;One downside to this system is that as corporations are increasingly convicted
of crimes, their employees could fill up our already-stretched prison capacity.
This, and other practical problems, are easy to address if you consider the
spirit of this proposal. The restrictions of prison life could be applied by
sending jail wardens to corporate headquarters, where employees are scrutinized
and restricted under the same rules as they would be in prison. The warden
can be responsible for ensuring limits on communication technology use are
enforced.
&lt;/p&gt;&lt;p&gt;It can be disruptive for a corporation to find itself
behind bars, but it is a disruption
that the legal system should be willing to make so that the public can enjoy a law-abiding society.
&lt;/p&gt;</content>
</entry>
</feed>

