<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>code culture</title>
	<atom:link href="http://radian.org/notebook/feed" rel="self" type="application/rss+xml" />
	<link>http://radian.org/notebook</link>
	<description>Code. Culture. Clarity.</description>
	<lastBuildDate>Fri, 07 Oct 2011 08:14:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Steve</title>
		<link>http://radian.org/notebook/steve</link>
		<comments>http://radian.org/notebook/steve#comments</comments>
		<pubDate>Fri, 07 Oct 2011 04:13:27 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=626</guid>
		<description><![CDATA[Three years ago, a dear friend called me around 1AM on a random, unassuming Friday and asked what I was going to work on next. I had received great offers from the usual suspects, I told him. Then I off-handedly mentioned how no one from Apple had gotten in touch. He thought about it for [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://radian.org/notebook/wp-content/uploads/2011/10/steve.jpg" alt="" title="Steve" width="617" height="156" /></center></p>
<p>Three years ago, a dear friend called me around 1AM on a random, unassuming Friday and asked what I was going to work on next. I had received great offers from the usual suspects, I told him. Then I off-handedly mentioned how no one from Apple had gotten in touch.</p>
<p>He thought about it for a moment. &#8220;Have you e-mailed Steve?&#8221;</p>
<p>At 1:46AM, I e-mailed Steve.</p>
<blockquote><p>
I turned 23 a couple of months ago, and I want to work on things that I can be passionate about. Apple is the only company in this industry still making products that people find inspiring. That they give a shit about. </p>
<p>I could do great things at Apple.
</p></blockquote>
<p>Early the next morning I received a phone call; a couple of weeks later, an offer. I took it without thinking twice, and it was one of the best decisions of my life.</p>
<p>Steve brought a sense of childlike wonder to a crowd of millions. What the world lost with his passing cannot be replaced. But his genius, his vision, and the single greatest thing he&#8217;s ever built all <a href="http://apple.com">live on</a>.</p>
<p>Here&#8217;s to the crazy one.</p>
<p><center></center></p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/steve/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This provocation must not be allowed to stand</title>
		<link>http://radian.org/notebook/rove</link>
		<comments>http://radian.org/notebook/rove#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:35:46 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=614</guid>
		<description><![CDATA[Alan Boyle, reporting for MSNBC some of the sadder news from the last week: Nine months after the Spirit rover sank into a Martian sand trap, NASA says the troubled traveler will have to remain stationary in order to survive the Red Planet&#8217;s winter. These fucking Martians keep leaving their deadly sand traps everywhere. No [...]]]></description>
			<content:encoded><![CDATA[<p>Alan Boyle, <a href="http://cosmiclog.msnbc.msn.com/archive/2010/01/26/2185463.aspx">reporting</a> for MSNBC some of the sadder news from the last week:</p>
<blockquote><p>
Nine months after the Spirit rover sank into a Martian sand trap, NASA says the troubled traveler will have to remain stationary in order to survive the Red Planet&#8217;s winter.
</p></blockquote>
<p>These fucking Martians keep leaving their deadly sand traps <i>everywhere</i>. No regard for life or property. Can&#8217;t we, like, send John McCain up there to keep these guys in line?</p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/rove/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello Helo</title>
		<link>http://radian.org/notebook/helo</link>
		<comments>http://radian.org/notebook/helo#comments</comments>
		<pubDate>Wed, 30 Sep 2009 21:34:26 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=602</guid>
		<description><![CDATA[Given the recent bombardment of shitty news, you know what we could all use more of? Puppies. After about 15 years of wanting one with all my heart, this Sunday I adopted Helo, a 10 week old Border Collie/Blue Heeler mutt. Behold!]]></description>
			<content:encoded><![CDATA[<p>Given the recent <a href="http://www.latimes.com/news/nationworld/world/la-fg-pacific-quakes1-2009oct01,0,659006.story">bombardment</a> <a href="http://www.nytimes.com/2009/09/30/health/policy/30health.html">of</a> <a href="http://www.bloomberg.com/apps/news?pid=20601087&#038;sid=aNlGslv.Qels">shitty</a> <a href="http://allafrica.com/stories/200909300628.html">news</a>, you know what we could all use more of? Puppies. After about 15 years of wanting one with all my heart, this Sunday I adopted Helo, a 10 week old Border Collie/Blue Heeler mutt. Behold!</p>
<p><img src="http://radian.org/notebook/wp-content/uploads/2009/09/IMG_6259-Version-2.jpg" width="617" height="386" /></p>
<p><img src="http://radian.org/notebook/wp-content/uploads/2009/09/IMG_6246-Version-2.jpg" width="617" height="411" /></p>
<p><img src="http://radian.org/notebook/wp-content/uploads/2009/09/IMG_6287.jpg" width="617" height="411" /></p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/helo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sweet nonsense omelet</title>
		<link>http://radian.org/notebook/nonsense-omelet</link>
		<comments>http://radian.org/notebook/nonsense-omelet#comments</comments>
		<pubDate>Thu, 23 Jul 2009 02:26:06 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=573</guid>
		<description><![CDATA[So there I was, basking in the warm California sun, enjoying the gentle jets of the hot tub, and generally doing pleasurable things that don&#8217;t involve thinking about my old job. (New job: fucking awesome. Old job: awesomely fucked.) But then I get an e-mail from a friend, who saw on Slashdot that Engadget reported [...]]]></description>
			<content:encoded><![CDATA[<p>So there I was, basking in the warm California sun, enjoying the gentle jets of the hot tub, and generally doing pleasurable things that don&#8217;t involve thinking about my old job. (New job: <a href="/notebook/2009-05-11">fucking awesome</a>. Old job: <a href="/notebook/sic-transit-gloria-laptopi">awesomely fucked</a>.)</p>
<p>But then I get an e-mail from a friend, who saw on Slashdot that Engadget reported that ZDNet Asia has an <a href="http://www.zdnetasia.com/insight/hardware/0,39043471,62056166,00.htm">interview</a> with Nicholas Negroponte, or something, and it&#8217;s been getting a bunch of press. Now, last time Nicholas got a bunch of press for an interview, it was for calling his employees terrorists; I wondered with slight trepidation what bombshell he dropped this time. Here it is, in its inglorious entirety:</p>
<blockquote><p>
Putting a crank-shaft on the XO laptop was a mistake, but the biggest mistake was not having Sugar run as an application &#8220;on a vanilla Linux laptop&#8221;, said OLPC founder and chairman Nicholas Negroponte. &#8220;Sugar should have been an application [residing] on a normal operating system,&#8221; he told ZDNet Asia in an interview. &#8220;But what we did&#8230; was we had Sugar do the power management, we had Sugar do the wireless management&#8211;it became sort of an omelet. The BIOS talked directly with Sugar, so Sugar became a bit of a mess.&#8221;
</p></blockquote>
<p>And just like that, more than a year after I left the company, it became clear to me that OLPC can still raise my blood pressure. So let&#8217;s talk about Sugar.</p>
<p>When we started software development for the XO, I went on an internal anti-Sugar crusade. Long after everyone else had made up their minds about the need for a new learning-oriented GUI, I was still obnoxious and combative in trying to kill the idea before we began work on it. I wrote strongly-worded internal memos, I argued with Walter, and I got into countless many arguments with just about every Red Hat employee that worked on the project &#8212; a number of them won&#8217;t talk to me to this day. I tell you this to make it clear that this post is not about defending myself or my work. I was never a Sugar developer, I was never credited as such, and my contributions to Sugar are probably under 20 lines of code contained in a couple of critical bug fixes.</p>
<p>In trying to stop OLPC from putting its weight behind Sugar, my reasoning was fairly straightforward: it&#8217;s too hard for a tiny team to build a new GUI platform in a very short amount of time, and it&#8217;s silly to throw away the thousands of man years of effort that have gone into mainstream Linux desktop environments and the applications they run. Eventually, I realized I was pissing people off without managing to dissuade them, so I stood down. Sugar was built, and over time, is becoming an increasingly <a href="http://wiki.sugarlabs.org/go/Sugar_on_a_Stick">compelling platform</a>.</p>
<p>And of course, Nicholas&#8217; interview gem has nothing to do with anything I just said.</p>
<p>Here&#8217;s the problem: through a somewhat regrettable set of naming decisions, the name &#8220;Sugar&#8221; came to represent two entirely different things. It was the name for the new learning-oriented graphical interface that OLPC was building, but it was also the name for the entire XO operating system, one tiny part of which was Sugar the GUI, and the rest of which was mostly Fedora Linux.</p>
<p>Nicholas, evidently, still remains blissfully unaware of any of this. As is plain to see from his own words, what he considers to be the biggest mistake of the project has nothing to do with Sugar the GUI, and everything to do with the gross, hairy, complicated systems development work that OLPC was doing to support the XO&#8217;s special hardware features. And to be clear, I mean &#8220;short bus special&#8221;, not &#8220;shiny unicorn special&#8221;.</p>
<p>Let me explain something to you. For most of OLPC&#8217;s existence, we had about two guys working on Sugar the UI. They were GUI developers, with GNOME backgrounds. They were not at all the same people doing systems development work to support our hardware. No resources were taken away from systems development to do Sugar. If Sugar hadn&#8217;t happened at all, we would have still had to do all the systems work to get Linux working on the XO, and it would have still taken just as long. So if you&#8217;re looking for things to blame, Sugar is not the droid you are looking for.</p>
<p>In truth, the XO ships a pretty shitty operating system, and this fact has very little to do with Sugar the GUI. It has a lot to do with the choice of incompetent hardware vendors that provided half-assedly built, unsupported and unsupportable components with broken closed-source firmware blobs that OLPC could neither examine nor fix. </p>
<p>So we wound up with a <a href="http://dev.laptop.org/ticket/5658">keyboard whose keys get stuck</a>. A dual-mode touchpad, capacitive and resistive, where one mode doesn&#8217;t work at all, and the other makes the cursor <a href="http://dev.laptop.org/ticket/7788">spontaneously jump around</a> and sometimes <a href="http://dev.laptop.org/ticket/9008">shuts off the touchpad altogether</a>, prompting OLPC kernel developers to <a href="http://dev.laptop.org/ticket/8071">beg for saner hardware</a> in the next round. We had <a href="http://wiki.laptop.org/go/B4_Suspend_ECR">board engineering issues</a> that made <a href="http://dev.laptop.org/ticket/1835">power management practically impossible</a>. We had a custom display controller chip that was <a href="http://dev.laptop.org/ticket/2765">incomplete in some regards</a>, and <a href="http://lists.laptop.org/pipermail/devel/2007-December/008624.html">completely broken in others</a>. We had an embedded controller that <a href="http://dev.laptop.org/ticket/1710">blocks keyboard events</a> and <a href="http://dev.laptop.org/ticket/7479">stops machine suspend</a>, and to which we &#8212; after a long battle &#8212; received the source, under strict NDA, only to find a jungle of nested <code>if</code> statements, twelve levels deep, and no code history. (The company that wrote the code doesn&#8217;t use version control, see. They put dates into code comments when they make changes, and the developers mail each other zip files with new versions.) And we had a wireless chip <a href="http://dev.laptop.org/ticket/8324">that</a> <a href="http://dev.laptop.org/ticket/8329">is</a> <a href="http://dev.laptop.org/ticket/4131">so</a> <a href="http://dev.laptop.org/ticket/7458">far</a> <a href="http://dev.laptop.org/ticket/7950">beyond</a>  <a href="http://dev.laptop.org/ticket/7954">fucked</a>, <a href="http://dev.laptop.org/ticket/7825">it&#8217;s</a> <a href="http://dev.laptop.org/ticket/6453">just</a> <a href="http://dev.laptop.org/ticket/6600">about</a> <a href="http://dev.laptop.org/ticket/6750">funny</a>.</p>
<p>(Each of those words is a <i>different</i> link. Click them all, I dare you.)</p>
<p>Thinking back, there&#8217;s a hardware incident I remember particularly fondly: one of our vendors sent us a kernel driver patch which enhanced support for their component in our machine. They chose to implement the enhancement by setting up a hole which allowed any unprivileged user to take over the kernel, prompting our kernel guy to send a private e-mail to the OLPC tech team demanding that, in the future, we avoid buying hardware from companies whose programmers are, direct quote, &#8220;crack-smoking hobos&#8221;.</p>
<p>In the end, Nicholas&#8217; bit of interview nonsense just doesn&#8217;t pass the smell test. Customers aren&#8217;t stupid. There&#8217;s close to a million XOs out there; if Sugar was OLPC&#8217;s biggest mistake, Windows on the XO would be selling like hotcakes. Let me remind you, then, that the number of Windows-based XOs that OLPC has sold is exactly <i>zero</i>.</p>
<p>So next time you hear Nicholas break out the egg metaphors and wave his hands about the Sugar that doomed it all, shrug and smile. Hell, If I were a meaner person, I&#8217;d ask Nicholas why it is that Windows &#8212; you know, the Windows from Microsoft, mercifully unstained with the mistake of Sugar &#8212; can&#8217;t even <i>shut down</i> an XO without throwing up a <a href="http://dev.laptop.org/ticket/9192">blue screen of death</a>.</p>
<p>But I won&#8217;t ask. Because it&#8217;s warm and sunny in California, and I have a hot tub calling my name.</p>
<p><span style="font-size: 12px"><i>My thanks to Walter Bender for reading a draft of this post.</i></span></p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/nonsense-omelet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new adventure</title>
		<link>http://radian.org/notebook/2009-05-11</link>
		<comments>http://radian.org/notebook/2009-05-11#comments</comments>
		<pubDate>Tue, 12 May 2009 05:41:30 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=540</guid>
		<description><![CDATA[About a year ago, I left One Laptop per Child and decided to find a new adventure. Last August, I was admitted to the graduate program at MIT, and while I was fantastically excited to study with an extraordinary advisor, life had other plans. I did not enroll. But I&#8217;m still receiving quite a bit [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://radian.org/notebook/wp-content/uploads/2009/05/infloop.jpg" title="1 Infinite Loop. Image from Flickr user patr1ck, used under CC-BY-NC." width="617" height="180" /></center></p>
<p>About a year ago, I left One Laptop per Child and decided to find a new adventure. Last August, I was admitted to the graduate program at MIT, and while I was fantastically excited to study with an extraordinary advisor, life had other plans. I did not enroll. But I&#8217;m still receiving quite a bit of e-mail asking what I&#8217;m up to these days, so perhaps a short update is in order. </p>
<p>I spent much of the last year devoted to my own research. I spun down various commitments, and took up a few others: I joined the advisory board for the <a href="http://amtso.org/">Anti-Malware Testing Standards Organization</a>, became a member of the technical working group for Harvard Berkman&#8217;s <a href="http://stopbadware.org">StopBadware</a>, and joined the Security Response Team for <a href="http://python.org">Python</a>, my programming language of choice.</p>
<p>Earlier this year I reprised my role chairing the Program Committee for the 2009 <a href="http://us.pycon.org/2009/about/">PyCon</a>. I also added a small sideshow to the conference: a summit for dynamic language implementers, with participants from 12 different language groups. All my involvement with the Python community continues to be both humbling and inspiring; I have yet to find such a compelling mix of intelligence, humor and interpersonal warmth in another technical crowd.</p>
<p>But perhaps most importantly, I have &#8212; at long last &#8212; found my new adventure. After a great deal of deliberation, I moved to California and joined the <a href="http://apple.com">local fruit vendor</a>.</p>
<p>Today was my first day on the job, and I couldn&#8217;t be more thrilled.</p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/2009-05-11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The New Yorker on mind hacks</title>
		<link>http://radian.org/notebook/mind-hacks</link>
		<comments>http://radian.org/notebook/mind-hacks#comments</comments>
		<pubDate>Sat, 25 Apr 2009 03:03:20 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=526</guid>
		<description><![CDATA[Margaret Talbot&#8217;s long feature story in the current New Yorker, regarding the off-label use of prescription drugs as cognitive enhancers: Neuroenhancers are perfectly suited for the anxiety of white-collar competition in a floundering economy. And they have a synergistic relationship with our multiplying digital technologies: the more gadgets we own, the more distracted we become, [...]]]></description>
			<content:encoded><![CDATA[<p>Margaret Talbot&#8217;s long <a href="http://www.newyorker.com/reporting/2009/04/27/090427fa_fact_talbot?currentPage=all">feature story</a> in the current <i>New Yorker</i>, regarding the off-label use of prescription drugs as cognitive enhancers:</p>
<blockquote><p>
Neuroenhancers are perfectly suited for the anxiety of white-collar competition in a floundering economy. And they have a synergistic relationship with our multiplying digital technologies: the more gadgets we own, the more distracted we become, and the more we need help in order to focus. The experience that neuroenhancement offers is not, for the most part, about opening the doors of perception, or about breaking the bonds of the self, or about experiencing a surge of genius. It’s about squeezing out an extra few hours to finish those sales figures when you’d really rather collapse into bed; getting a B instead of a B-minus on the final exam in a lecture class where you spent half your time texting; cramming for the G.R.E.s at night, because the information-industry job you got after college turned out to be deadening. Neuroenhancers don’t offer freedom. Rather, they facilitate a pinched, unromantic, grindingly efficient form of productivity.
</p></blockquote>
<p>The article is a good read covering a fascinating subject, and I&#8217;m only going to add two pieces of supplemental reading. If, like me, you found Talbot&#8217;s article overly anecdotal and painfully short on the science, you need to read <em>Botox for the brain: enhancement of cognition, mood, and pro-social behavior and blunting of unwanted memories</em> appearing in <i>Neuroscience and Behavioral Reviews 32 (2008) 760-776</i>. Due to the epic pain in the ass that is closed-access academia, you or your academic institution need to pay a boatload of money to Elsevier to read the paper, so I&#8217;m sticking it right <a href='http://radian.org/notebook/wp-content/uploads/2009/04/brain-botox.pdf'>here</a> (PDF) until I&#8217;m asked to take it down.</p>
<p>And if the specific phrase Talbot uses at one point in the article &#8212; &#8220;mind hacking&#8221; &#8212; made you pause and reflect on just how fascinating a concept that is, my second link for you is a story. Cory Doctorow explores mind/body hacks in <a href="http://dir.salon.com/story/tech/feature/2002/08/28/0wnz0red/index.html">0wnz0red</a>, and it&#8217;s convincingly one of my all-time favorite pieces of short science fiction.</p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/mind-hacks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nils2Own</title>
		<link>http://radian.org/notebook/nils2own</link>
		<comments>http://radian.org/notebook/nils2own#comments</comments>
		<pubDate>Fri, 20 Mar 2009 13:25:25 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=491</guid>
		<description><![CDATA[CanSecWest is a Vancouver security conference which, among other things, holds a browser exploitation contest called Pwn2Own. If you can demonstrate arbitrary code execution against a fully-patched browser, you win cash and &#8212; if you&#8217;re the first victor &#8212; a computer. Ten days ago, comrade Nils e-mailed to let me know he was going to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cansecwest.com/">CanSecWest</a> is a Vancouver security conference which, among other things, holds a browser exploitation contest called Pwn2Own. If you can demonstrate arbitrary code execution against a fully-patched browser, you win cash and &#8212; if you&#8217;re the first victor &#8212; a computer.</p>
<p>Ten days ago, comrade Nils e-mailed to let me know he was going to be at the conference. I couldn&#8217;t make it myself, being stuck in Europe for the moment, but ever since that e-mail, I&#8217;ve been giggling like a schoolgirl about what I expected Nils would do at Pwn2Own.</p>
<p>What he wound up doing far exceeded my expectations. First, Nils scored against Safari on OS X. Then he scored again, hitting Internet Explorer 8 on Windows 7 (despite <a href="http://en.wikipedia.org/wiki/Address_space_layout_randomization">ASLR</a>, <a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention">DEP</a>, and friends), snapping everyone&#8217;s head to attention. I was anticipating this might take place; the hardcore Sotirov/Dowd <a href="http://www.phreedom.org/research/bypassing-browser-memory-protections/">paper</a> set the stage for it last year and Nils is smart enough to do it, yet the fact he pulled it off is still indisputably impressive. But the part no one saw coming: he asked for a third slot and scored against Firefox 3 on OS X, leaving Chrome the only browser to escape unscarred.</p>
<p>One man, two operating systems, <a href="http://dvlabs.tippingpoint.com/blog/2009/03/18/pwn2own-2009-day-1---safari-internet-explorer-and-firefox-taken-down-by-four-zero-day-exploits">three fallen browsers</a>? I have no choice but to officially award comrade Nils the Ivan Krstić Seal of Mad Fucking Props.</p>
<p>And we now return to your regularly scheduled programming.</p>
<p>(<strong>Update, March 23rd:</strong> I originally believed he scored against Firefox on Windows, which turned out not to be the case. It was on OS X.)</p>
<p><center><br />
<img src="http://radian.org/notebook/wp-content/uploads/2009/03/3367253540_1a1426eb42.jpg" alt="Photo courtesy TippingPoint DVLabs" title="Photo courtesy TippingPoint DVLabs" width="375" height="500" /></center></p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/nils2own/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Languages and security: a short reading list</title>
		<link>http://radian.org/notebook/languages-and-security-reading</link>
		<comments>http://radian.org/notebook/languages-and-security-reading#comments</comments>
		<pubDate>Tue, 10 Mar 2009 07:41:33 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=456</guid>
		<description><![CDATA[After my HCS talk last week, a grad student who was in attendance mailed to ask for my thoughts about the intersection of security and programming languages. I&#8217;ve received this question with some frequency, and even gave a brief talk about it last year. The subject matter is rather nuanced, and providing an explanation that [...]]]></description>
			<content:encoded><![CDATA[<p>After my <a href="http://radian.org/notebook/last-boston-talk">HCS talk</a> last week, a grad student who was in attendance mailed to ask for my thoughts about the intersection of security and programming languages.</p>
<p>I&#8217;ve received this question with some frequency, and even gave a <a href="http://radian.org/notebook/talk-language-security">brief talk</a> about it last year. The subject matter is rather nuanced, and providing an explanation that does it justice would take a lot of effort, so it&#8217;s been sitting on my &#8220;to properly write about when I have some time&#8221; pile for quite a while now. Unfortunately, it recently became clear to me that The Pile is mostly a black hole. Not wishing to sorely disappoint Greg the Grad Student, I sent him the following sketch of an answer.</p>
<p>If I had to grossly overgeneralize, I&#8217;d say people looking at language security fall in roughly three schools of thought:</p>
<ol>
<li>The &#8220;My name is Correctness, king of kings&#8221; people say that security problems are merely one manifestation of incorrectness, which is dissonance between what the program is supposed to do and what its implementation actually does. This tends to be the group led by mathematicians, and you can recognize them because their <a href="http://en.wikipedia.org/wiki/Formal_verification">solutions</a> revolve around proofs and the writing and (automatic) verification thereof.</li>
<li>The &#8220;If you don&#8217;t use a bazooka, you can&#8217;t blow things up&#8221; people say that security problems are a byproduct of exposing insufficiently intelligent or well-trained programmers to dangerous language features that don&#8217;t come with a safety interlock. You can identify these guys because they tend to make <a href="http://cyclone.thelanguage.org/">new languages</a> that no one uses, and frequently describe them as &#8220;like <i>popular language X</i> but safer&#8221;.</li>
<li>The &#8220;We need to change how we fundamentally build software&#8221; people say that security problems are the result of having insufficiently fine-grained methods for <a href="http://en.wikipedia.org/wiki/Capability-based_security">delegating individual bits of authority</a> to individual parts of a running program, which traditionally results in all parts of a program having all the authority, which means the attack surface becomes a Cartesian product of every part of the program and every bit of authority which the program uses. You can spot these guys because they tend to throw around the phrase &#8220;object-capability model&#8221;.</li>
</ol>
<p>Now, while I&#8217;m already grossly overgeneralizing, I think the first group is <i>almost</i> useless, the second group is <i>almost</i> irrelevant, and the third group is absolutely horrible at explaining what the hell they&#8217;re talking about.</p>
<p>(If I was trying to be less overly general, I&#8217;d mention that in some instances the groups overlap substantially, and some subsets of these groups, such as the subset of group 2 that&#8217;s working on SFI and sandboxing, are relevant and occasionally produce good work.)</p>
<p>In terms of a very incomplete reading list for getting to know more about the subject, I recommend starting with <a href="http://www.erights.org/talks/thesis/index.html">Mark Miller&#8217;s PhD thesis</a>, then looking at his work on Caja (<a href="http://google-caja.googlecode.com/files/caja-spec-2008-06-07.pdf">paper</a>, <a href="http://code.google.com/p/google-caja/">website</a>) which aims to provide a way to securely write JavaScript without changing the language spec or the existing runtimes, and in the end having a glance at David Wagner&#8217;s work on <a href="http://code.google.com/p/joe-e/">Joe-E</a>. All of those links fall into the &#8220;let&#8217;s change programming&#8221; group 3.</p>
<p>For a bunch of papers in the &#8220;mathematicians do it provably correctly&#8221; group 1 (though most not focused on security), see the <a href="http://alloy.mit.edu/community/publications">publications section</a> of the <a href="http://alloy.mit.edu/community/">Alloy</a> website.</p>
<p>Finally, for the &#8220;practice safe hex&#8221; group 2, take a look at Cyclone (<a href="http://www.cs.umd.edu/projects/cyclone/papers/cyclone-safety.pdf">paper</a>, <a href="http://cyclone.thelanguage.org/">website</a>), NaCl (<a href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/nacl_paper.pdf">paper</a>, <a href="http://code.google.com/p/nativeclient/">website</a>) and Vx32 (<a href="http://pdos.csail.mit.edu/papers/vx32:usenix08.pdf">paper</a>, <a href="http://pdos.csail.mit.edu/~baford/vm/">website</a>).  </p>
<p>Combined, these will give you enough references to chase the subject matter as far down the rabbit hole as you dare descend. Good luck, and may the gods have mercy on your soul.</p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/languages-and-security-reading/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Last Boston talk</title>
		<link>http://radian.org/notebook/last-boston-talk</link>
		<comments>http://radian.org/notebook/last-boston-talk#comments</comments>
		<pubDate>Mon, 02 Mar 2009 23:36:03 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=428</guid>
		<description><![CDATA[This Thursday, the fine people at the Harvard Computer Society are hosting my one last talk in Boston before I run away and switch coasts. I&#8217;ll be focusing on two questions: why are our computers so insecure, and why is it so hard to fix the situation? While I hope to offer some insights that [...]]]></description>
			<content:encoded><![CDATA[<p>This Thursday, the fine people at the <a href="http://hcs.harvard.edu">Harvard Computer Society</a> are hosting my one last talk in Boston before I run away and switch coasts. I&#8217;ll be focusing on two questions: why are our computers so insecure, and why is it so hard to fix the situation?</p>
<p>While I hope to offer some insights that the technologists in the audience haven&#8217;t heard before, this is also my first security talk in a few years that doesn&#8217;t require much of a security background. Which is to say, the only prerequisite is a bit of curiosity. The talk is open to the public &#8212; hope to see you there!</p>
<blockquote><p>
<strong>When:</strong>   This Thursday, March 5th, 7PM<br />
<strong>Where:</strong>  Harvard Science Center, room 112, 1 Oxford Street, Cambridge, MA (<a href="http://maps.google.com/maps?f=q&#038;source=s_q&#038;hl=en&#038;geocode=&#038;q=1+oxford+st,+cambridge,+ma&#038;sll=37.0625,-95.677068&#038;sspn=38.092988,73.740234&#038;ie=UTF8&#038;ll=42.376807,-71.115746&#038;spn=0.017373,0.036006&#038;z=15&#038;iwloc=addr">Map</a>)<br />
<strong>What:</strong> The Bitter Tale of Desktop Security: Our 35-year War<br />
<strong>Abstract:</strong>  It&#8217;s 2009. About 75% of all corporate machines are infected with at least one piece of malicious code. We&#8217;re seeing the emergence of weapons-grade botnets, designer trojans, and smart mobile malware. The black hat community is graduating from a ragtag army of rebels without a cause to a group of well-paid professionals engaging in research-quality work to rake in profits and evade detection. The entrenched players in the security industry have been predictably slow to respond. Now, seemingly bewildered by the new security landscape, they are increasingly claiming that salvation lies in restrictive new systems which threaten to transform your computer into little more than a glorified abacus. There must be a better way.</p>
<p>This session doesn&#8217;t require a security background: we will turn to history to try and explain why none of our machines are secure. We&#8217;ll then look at the problems of legacy and authority and explain why the road to a secure desktop is fraught with such toil and peril.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/last-boston-talk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From the department of juvenile chuckles</title>
		<link>http://radian.org/notebook/2009-02-23</link>
		<comments>http://radian.org/notebook/2009-02-23#comments</comments>
		<pubDate>Mon, 23 Feb 2009 07:56:07 +0000</pubDate>
		<dc:creator>Ivan Krstić</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://radian.org/notebook/?p=418</guid>
		<description><![CDATA[The upcoming Times article on Rahm Emanuel, Obama&#8217;s chief of staff, has a number of amusing moments, including the appended correction: An article last Sunday about Rahm Emanuel, the White House chief of staff, misspelled the surname of the then-governor of Illinois who talked with Mr. Emanuel about the vacant Senate seat in his state. [...]]]></description>
			<content:encoded><![CDATA[<p>The upcoming <i>Times</i> <a href="http://www.nytimes.com/2009/01/25/us/politics/25emanuel.html?pagewanted=all">article on Rahm Emanuel</a>, Obama&#8217;s chief of staff, has a number of amusing moments, including the appended correction:</p>
<blockquote><p>
An article last Sunday about Rahm Emanuel, the White House chief of staff, misspelled the surname of the then-governor of Illinois who talked with Mr. Emanuel about the vacant Senate seat in his state. He is Rod R. Blagojevich, not <strong>Blog</strong>ojevich.
</p></blockquote>
<p>An understandable mistake.</p>
]]></content:encoded>
			<wfw:commentRss>http://radian.org/notebook/2009-02-23/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

