<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="pretty-atom-feed.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  
  <title>pizza slow (high quality) — Blog</title>
  <subtitle></subtitle>
  <link href="https://pizza.slow.high.quality.gravely.pizza/feed/blog.xml" rel="self" />
  <link href="https://pizza.slow.high.quality.gravely.pizza/" />
  <updated>2011-10-09T03:43:00Z</updated>
  <id>https://pizza.slow.high.quality.gravely.pizza/</id>
  <author>
    <name>gravely</name>
  </author>
  <entry>
    <title>An imaginary mix</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-10-08-songs-i-d-like-to-play-in-a-cover-band/" />
    <updated>2011-10-09T03:43:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-10-08-songs-i-d-like-to-play-in-a-cover-band/</id>
    <content type="html">&lt;p&gt;Sometimes you hear something like a beat or a riff or whatever and think, well that’s nice.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wayne’s World - Garth ‘I like to play the drums’&lt;/li&gt;
&lt;li&gt;Steve Gadd - Playing in the pocket sample, youtube&lt;/li&gt;
&lt;li&gt;Harry ‘Haywire’ McClintock - The Big Rock Candy Mountain&lt;/li&gt;
&lt;li&gt;Jimmy Hendrix - And The Gods Made Love / Have You Ever Been (To Electric Ladyland)&lt;/li&gt;
&lt;li&gt;Thin Lizzy - Return of the Farmer’s Son (drum and guitar intro)&lt;/li&gt;
&lt;li&gt;John R. Searle - &lt;a href=&quot;http://webcast.berkeley.edu/course_details_new.php?seriesid=2010-B-67280&quot;&gt;Philosophy 132&lt;/a&gt;, lecture 7 2010 - comments on heavy metal&lt;/li&gt;
&lt;li&gt;The Beatles - Magical Mystery Tour (film) “If you look to your left, you’ll see nothing interesting. On your right thought…”&lt;/li&gt;
&lt;li&gt;David Bowie - Station to Station (use the intro, samples and intro name drop / cuts over it)&lt;/li&gt;
&lt;li&gt;Isaac Asimov - &lt;a href=&quot;http://www.pbs.org/moyers/journal/blog/2008/03/bill_moyers_rewind_isaac_asimo_1.html&quot;&gt;Interview with Bill Moyer&lt;/a&gt; - sample Asimov on scale&lt;/li&gt;
&lt;li&gt;T Rex - Ripoff&lt;/li&gt;
&lt;li&gt;Style Wars (1983) 45 minutes in, sample dialog re: “It’s all big steel”&lt;/li&gt;
&lt;li&gt;Buzzcocks - Why Can’t I Touch It (obvious cut opportunity: Why Can’t I _____ It)&lt;/li&gt;
&lt;li&gt;Harry Nilsson - Rainmaker - drum intro&lt;/li&gt;
&lt;li&gt;Elvis Costello - Radio Radio (live, from “Get Emotional”, intro “Does anybody listen to the radio? Does anybody &lt;em&gt;like&lt;/em&gt; the radio?”)&lt;/li&gt;
&lt;li&gt;Queen - Dragon Attack (loop beat, mash with current popular MC)&lt;/li&gt;
&lt;li&gt;David Bowie - Sound and Vision&lt;/li&gt;
&lt;li&gt;The Cure - 10:15 Saturday Night&lt;/li&gt;
&lt;li&gt;Donald Duck in Math Land - sample!&lt;/li&gt;
&lt;li&gt;XTC - Making Plans for Nigel - just smidgens of “EOooohh!”&lt;/li&gt;
&lt;li&gt;Randy Newman - Short People&lt;/li&gt;
&lt;li&gt;Muddy Waters - Electric Mud - I Just Want To Make Love To You (drum intro)&lt;/li&gt;
&lt;li&gt;They Might Be Giants - Ana Ng - intro guitar, no singing&lt;/li&gt;
&lt;li&gt;Bubble Puppy - Hot Smoke And Sassafrass&lt;/li&gt;
&lt;li&gt;Harry Nilsson - Jump Into the Fire - middle drum solo&lt;/li&gt;
&lt;li&gt;Fugazi - Casavettes (intro) #damnit megatrip for already using this&lt;/li&gt;
&lt;li&gt;Tracks from the Big Lebowski Soundtrack&lt;/li&gt;
&lt;li&gt;Stranglers - Nice and SLeazy (break / noise)&lt;/li&gt;
&lt;li&gt;Donovan - Barabajagal (first 45 seconds or so into the hook)&lt;/li&gt;
&lt;li&gt;Harry Nilsson - Nilsson Schmilsson - Gotta Get Up (lots of parts, add backbeat, let it play)&lt;/li&gt;
&lt;li&gt;Talking Heads - Born Under Punches (entire solo, into the chorus “goes on, and the beat goes on!”)&lt;/li&gt;
&lt;li&gt;DJ Food - More Volts: The Funky Eno&lt;/li&gt;
&lt;li&gt;The Who - Eminence Front&lt;/li&gt;
&lt;li&gt;Tubeway Army - Steel and You (bridge through outtro)&lt;/li&gt;
&lt;li&gt;Harry Nilsson - Ten Little Indians - entire track, break it up, lock the outtro&lt;/li&gt;
&lt;li&gt;The Ghost of a Saber Toot Tiger (Sean Lennon) - Jardin du Luxembourg&lt;/li&gt;
&lt;li&gt;Brian Eno - In Dark Trees&lt;/li&gt;
&lt;li&gt;Brian Eno - Dead Finks Don’t Talk - intro beat, maybe weird “Oh Lord” chorus, and outro madness&lt;/li&gt;
&lt;li&gt;The Abyssinians - Y Mas Gan - Horns!&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>torrent applescript folder action</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-10-03-osx-folder-actions-to-move-downloads/" />
    <updated>2011-10-03T08:37:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-10-03-osx-folder-actions-to-move-downloads/</id>
    <content type="html">&lt;p&gt;I made an OS X folder action to move .torrent file downloads to a directory watched by my torrent client. It’s pretty clumsy.&lt;/p&gt;
&lt;pre class=&quot;language-applescript&quot; tabindex=&quot;2&quot;&gt;&lt;code class=&quot;language-applescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; adding folder items &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; thisFolder &lt;span class=&quot;token keyword&quot;&gt;after&lt;/span&gt; receiving added_items
	&lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; DroboTorrents &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;storage:New Media&quot;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;repeat&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; addedFile &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; added_items
		&lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Finder&quot;&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;the&lt;/span&gt; name extension &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;the&lt;/span&gt; addedFile &lt;span class=&quot;token keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;torrent&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Finder&quot;&lt;/span&gt;
						move addedFile &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; DroboTorrents &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; replacing
						delete addedFile
					&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;error&lt;/span&gt;
					display dialog &lt;span class=&quot;token string&quot;&gt;&quot;Unable to move &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;name &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; i&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; icon caution &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; title &lt;span class=&quot;token string&quot;&gt;&quot;Welp,&quot;&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;repeat&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; adding folder items &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;14 years later I’m still pretty much doing the same thing, having moved from that old Drobo and &lt;a href=&quot;https://transmissionbt.com/&quot;&gt;Transmission&lt;/a&gt; to a &lt;a href=&quot;https://www.qbittorrent.org/&quot;&gt;qbittorent&lt;/a&gt; docker deploy on TrueNAS Scale.&lt;/p&gt;
&lt;h2 id=&quot;updated-for-2024&quot; tabindex=&quot;-1&quot;&gt;Updated for 2024&lt;/h2&gt;
&lt;pre class=&quot;language-applescript&quot; tabindex=&quot;2&quot;&gt;&lt;code class=&quot;language-applescript&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; adding folder items &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; thisFolder &lt;span class=&quot;token keyword&quot;&gt;after&lt;/span&gt; receiving added_items
    &lt;span class=&quot;token keyword&quot;&gt;repeat&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; addedFile &lt;span class=&quot;token keyword&quot;&gt;in&lt;/span&gt; added_items
        &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Finder&quot;&lt;/span&gt;
            &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;the&lt;/span&gt; name &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;the&lt;/span&gt; addedFile &lt;span class=&quot;token operator&quot;&gt;ends with&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;torrent&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;then&lt;/span&gt;
                &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; qbt &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/opt/homebrew/bin/qbt torrent add &#39;&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; POSIX path &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; addedFile &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&#39; 2&gt;&amp;amp;1 | grep &#39;successfully added torrent&#39;&quot;&lt;/span&gt;
                &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; fileName &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; name &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;info &lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; addedFile&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                    &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; response &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; do shell &lt;span class=&quot;token class-name&quot;&gt;script&lt;/span&gt; qbt
                    &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; hash &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; word &lt;span class=&quot;token number&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; response
                    &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                        &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;application&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Finder&quot;&lt;/span&gt;
                            delete addedFile
                        &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt;
                    &lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;error&lt;/span&gt; errMsg
                        display notification &lt;span class=&quot;token string&quot;&gt;&quot;ERROR deleting &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; addedFile &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; errMsg
                    &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                &lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;error&lt;/span&gt; errMsg
                    display notification &lt;span class=&quot;token string&quot;&gt;&quot;ERROR adding torrent: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; qbt &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;error: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; errMsg
                &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                    &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; qbt &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; &quot;&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;opt&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;homebrew&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;token operator&quot;&gt;/&lt;/span&gt;qbt torrent &lt;span class=&quot;token class-name&quot;&gt;list&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;--hashes &#39;&quot; &amp;amp; hash &amp;amp; &quot;&#39; 2&gt;&amp;amp;1 | grep Size&quot;&lt;/span&gt;
                    &lt;span class=&quot;token keyword&quot;&gt;set&lt;/span&gt; response &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt; do shell &lt;span class=&quot;token class-name&quot;&gt;script&lt;/span&gt; qbt
                &lt;span class=&quot;token keyword&quot;&gt;on&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;error&lt;/span&gt; errMsg
                    display notification &lt;span class=&quot;token string&quot;&gt;&quot;ERROR: listing torrents by hash: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; hash &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot; Command: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; qbt &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;error: &quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; errMsg
                &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;try&lt;/span&gt;
                display notification response &lt;span class=&quot;token keyword&quot;&gt;with&lt;/span&gt; title &lt;span class=&quot;token string&quot;&gt;&quot;Torrent Downloading&quot;&lt;/span&gt; subtitle fileName
            &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt;
        &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;tell&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;repeat&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;end&lt;/span&gt; adding folder items &lt;span class=&quot;token keyword&quot;&gt;to&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <title>Stephen King on fiction</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-04-14-stephen-king-on-fiction/" />
    <updated>2011-04-14T13:25:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-04-14-stephen-king-on-fiction/</id>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;JP: I’ll tell you what I responded to. In the last two paragraphs, the tears sort of jumped to my eyes, but I realized that it wasn’t the deaths, oddly enough, that I was responding to – it was the bravery of the old poet, staggering around.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;…&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SK: Yeah, but when fiction works for me it works on an emotional level first&lt;br&gt;
and an intellectual level second. If you say that tears jumped to your eyes,&lt;br&gt;
even if they were metaphorical tears –&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;JP: They weren’t. They were physical tears.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;SK: Oh …&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;JP: I sniffed a little bit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;SK: (laughs) That’s good. Well, James, it was all made up.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From &lt;a href=&quot;http://www.theatlantic.com/entertainment/archive/2011/04/stephen-king-on-the-creative-process-the-state-of-fiction-and-more/237023/&quot;&gt;an interview with James Parker at The Atlantic&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Synecdoche and Metonymy</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-01-21-synecdoche-and-metonymy/" />
    <updated>2011-01-21T15:43:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2011/2011-01-21-synecdoche-and-metonymy/</id>
    <content type="html">&lt;p&gt;Look:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because synecdoche is a concept intimately associated with metonymy, not&lt;br&gt;
calling metonymy by name, one could claim that synecdoche is a metonym for&lt;br&gt;
metonymy. By similar standards, because synecdoche is a subset of metonymy,&lt;br&gt;
synecdoche is also a synecdoche of metonymy. The converse is also true.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Metonymy#Synecdoche&quot;&gt;http://en.wikipedia.org/wiki/Metonymy#Synecdoche&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Scream Like a Man</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-03-20-scream-like-a-man/" />
    <updated>2010-03-20T19:28:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-03-20-scream-like-a-man/</id>
    <content type="html">&lt;h3 id=&quot;text-adventures&quot; tabindex=&quot;-1&quot;&gt;Text Adventures&lt;/h3&gt;
&lt;p&gt;You see an article or a twitter toot or whatever.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;read the thing&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You see a link that looks interesting.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;click the link&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You just made be &lt;a href=&quot;http://blog.last.fm/2009/02/23/techcrunch-are-full-of-shit&quot;&gt;Mike Arrington&lt;/a&gt; some cash.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;undo&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I’m sorry, I don’t understand “undo”&lt;/p&gt;
&lt;p&gt;&lt;code&gt;damnit&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Swearing won’t help.&lt;/p&gt;
&lt;h3 id=&quot;enough-of-that&quot; tabindex=&quot;-1&quot;&gt;Enough of that&lt;/h3&gt;
&lt;p&gt;No thanks, right? I mean it’s all well and good to just close the tab, of&lt;br&gt;
course, when you go to a site you don’t want to work for, but the ads have&lt;br&gt;
already loaded. That’s &lt;a href=&quot;http://arstechnica.com/business/news/2010/03/why-ad-blocking-is-devastating-to-the-sites-you-love.ars&quot;&gt;revenue&lt;/a&gt;. Gross.&lt;/p&gt;
&lt;p&gt;So I made &lt;a href=&quot;https://pizza.slow.high.quality.gravely.pizza/files/scream.user.js&quot;&gt;this greasemonkey script&lt;/a&gt; to zap all links&lt;br&gt;
to all the sites I don’t want to work for. If it’s too late—say&lt;br&gt;
a shortened url tricked me—I’d rather see a &lt;a href=&quot;http://www.youtube.com/watch?v=L0-lkl9TzsU&quot;&gt;goat scream like&lt;br&gt;
man&lt;/a&gt; than see what a mistake I&lt;br&gt;
just made, so it does that too. You can edit it to do something less drastic&lt;br&gt;
of course, but where’s the fun in that?&lt;/p&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;2&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; url &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; location&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;href&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// add all the domains here&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; natch &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token regex&quot;&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;token regex-source language-regex&quot;&gt;(DOMAINS YOU WANT TO AVOID GO HERE)&#92;.&#92;w+&#92;/&lt;/span&gt;&lt;span class=&quot;token regex-delimiter&quot;&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; 

&lt;span class=&quot;token comment&quot;&gt;// Serious options&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// var ohShit = &#39;about:blank&#39;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; betterLink &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;#&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Comedy options&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; ohShit &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;http://grantstavely.com/evil/&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// var betterLink = ohShit;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// if it&#39;s too late&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;url&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;natch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  window&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;location &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; ohShit&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// if it&#39;s not too late&lt;/span&gt;
list &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;getElementsByTagName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;&amp;lt;&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;length&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; i&lt;span class=&quot;token operator&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;list&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;href&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;natch&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token keyword&quot;&gt;var&lt;/span&gt; scream &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; document&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    scream&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setAttribute&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&#39;href&#39;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; betterLink&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    scream&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;innerHTML &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; list&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;innerHTML &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&amp;lt;sup&gt;✌&amp;lt;/sup&gt;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
    list&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parentNode&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;replaceChild&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;scream&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; list&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;i&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Run that against the entire web and it turns nasty links into neuters, and&lt;br&gt;
adds ✌ to them so that it’s obvious.&lt;/p&gt;
&lt;p&gt;Well, &lt;em&gt;I&lt;/em&gt; think it’s fun.&lt;/p&gt;
&lt;h3 id=&quot;install-the-greasemonkey-script&quot; tabindex=&quot;-1&quot;&gt;&lt;a href=&quot;https://pizza.slow.high.quality.gravely.pizza/files/scream.user.js&quot;&gt;Install the greasemonkey script&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Greasemonkey&quot;&gt;(You need greasemonkey for it to work)&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The Thermostat Fallacy</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-23-the-thermostat-fallacy/" />
    <updated>2010-02-23T19:21:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-23-the-thermostat-fallacy/</id>
    <content type="html">&lt;p&gt;I’ve always called this collection of phenomena &lt;em&gt;thermostat fallacies&lt;/em&gt;, but my dad does HVAC for a living, so, go figure. I’m not even sure that they are proper fallacies.&lt;/p&gt;
&lt;h3 id=&quot;the-premise&quot; tabindex=&quot;-1&quot;&gt;The premise&lt;/h3&gt;
&lt;p&gt;In our cars, the analog dial or lever spanning a blue triangle stacked on a red triangle presents an analog blend of temperatures. At least that’s how they used to work. But in analog home thermostats, and increasingly in cars, in multiple zones even, the temperature dial offers “now” and “target” temperatures.&lt;/p&gt;
&lt;p&gt;This can confuse the crap out of people.&lt;/p&gt;
&lt;p&gt;Anyway, in the car, with the old fashioned thermostat, most of us start out with the dial cranked to &lt;em&gt;all hot&lt;/em&gt; or &lt;em&gt;all cold&lt;/em&gt; and then adjust to comfort. Being uncomfortable is uncomfortable, we seek its undoing with a vengeance. We don’t want the inside of the car to be 85°F in February, we just want it to be 68°, or whatever, faster than if we asked the car vents to spit out 68° degree air.&lt;/p&gt;
&lt;p&gt;But home thermostats don’t work that way, and not letting that stop the mind from thinking that they do is what I call &lt;em&gt;the thermostat fallacy&lt;/em&gt;. It has three faces. I’ll present them here as design patterns.&lt;/p&gt;
&lt;h3 id=&quot;do-not-try-to-put-significant-figures-into-an-binary-bucket&quot; tabindex=&quot;-1&quot;&gt;Do not try to put significant figures into an binary bucket&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;For example:&lt;/em&gt; Coming home cold, and raking the analog home thermostat dial up to 85°. If the house is already 64°, setting the thermostat target to 70° or setting the thermostat target to 85° make no difference whatsoever. That’s just how the things work. 85° doesn’t fit into the &lt;em&gt;on/off&lt;/em&gt; bucket, it fits into &lt;em&gt;stop when&lt;/em&gt; bucket. The heating and air conditioning is not working harder, it’s just running longer, and will eventually &lt;a href=&quot;http://en.wikipedia.org/wiki/Boiling_frog&quot;&gt;boil the frog&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;do-not-represent-a-binary-state-with-exclusively-insignificant-figures&quot; tabindex=&quot;-1&quot;&gt;Do not represent a binary state with &lt;em&gt;exclusively&lt;/em&gt; insignificant figures&lt;/h3&gt;
&lt;p&gt;This is the inverse of standard thermostat fallacy and better demonstrated in other technologies.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example:&lt;/em&gt; Nearly every instance of numbered badges of unread email, unread RSS and atom subscription articles, unread twitter posts, unread &lt;em&gt;whatever&lt;/em&gt; are representing “you have unread items” with “you have a specific-yet-useless number of unread items.”&lt;/p&gt;
&lt;p&gt;You see, if the badge says &lt;em&gt;43&lt;/em&gt; now, and five minutes later, it says &lt;em&gt;44&lt;/em&gt;, it still only conveys “There is unread email”. The number lacks context but it still has to be parsed. More importantly, there is no unit-comparability. &lt;em&gt;All&lt;/em&gt; of those messages could be spam, or one could be a life changing job offer, and so on.&lt;/p&gt;
&lt;h3 id=&quot;do-not-expect-insignificant-figures-to-have-unit-comparibility&quot; tabindex=&quot;-1&quot;&gt;Do not expect insignificant figures to have unit-comparibility&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;For example&lt;/em&gt;: Insisting thermostats at separate houses set at the same temperature are creating the same environment in spite of perceived differences in temperatures caused by room layout, thermostat placement, humidity, elevation, and so on.&lt;/p&gt;
&lt;p&gt;This is a big one. I consider it an instance of &lt;a href=&quot;http://en.wikipedia.org/wiki/Ceteris_paribus&quot;&gt;ceteris paribus&lt;/a&gt;, or the &lt;a href=&quot;http://www.stat.columbia.edu/~cook/movabletype/archives/2008/03/the_all_else_eq_1.html&quot;&gt;all else equal&lt;/a&gt; fallacy. It’s what leads &lt;a href=&quot;http://www.google.com/search?ie=utf8&amp;amp;oe=utf8&amp;amp;q=dave%20chappelle%20killing%20them%20softly&quot;&gt;people to wonder why Oscar the Grouch&lt;/a&gt; doesn’t just go to college and get a job, damnit.&lt;/p&gt;
&lt;h3 id=&quot;so%3F&quot; tabindex=&quot;-1&quot;&gt;So?&lt;/h3&gt;
&lt;p&gt;Significant figures matter, but when human perception is the target, and not scientific measuring apparatus — lossy compression isn’t just okay, it’s humane. The mind works better in some cases with fuzzy numbers than specifics. When numbers can’t be avoided, keep the thermostat fallacies in mind when working with them.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The Paradox of Controls</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-18-the-paradox-of-controls/" />
    <updated>2010-02-18T16:55:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-18-the-paradox-of-controls/</id>
    <content type="html">&lt;p&gt;Given an effectively infinite set of behaviors, and a limited set of actors, the simplest and most common control strategy to restrict the behavior of actors seems to be:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Deny any known forbidden actions.&lt;/li&gt;
&lt;li&gt;Permit all other actions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But consider the numbers involved.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Deny finite known forbidden actions.&lt;/li&gt;
&lt;li&gt;Permit infinite unknown actions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Okay, so for a behavior control equaition that’s something like:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For &lt;em&gt;y&lt;/em&gt; equal to &lt;em&gt;∞ – n&lt;/em&gt; finite knowns: ∞ – y = ∞&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m not good with math. But that’s definitely an infinity over there. OK, so arguably it’s an infinity on both sides and we are playing with imaginary numbers, literally, but I hope the point is still clear.&lt;/p&gt;
&lt;p&gt;This actually works quite well in practice. Consider: An escape artist tied to a chair seems to be restricted by a strong control to prevent the undesired action of escape from a room. But the rope leaves the escape artist free to do anything, so long as that thing isn’t one of the many, yet finite, activities that the rope restricts, like, say, escaping, or doing jumping jacks, or square dancing.&lt;/p&gt;
&lt;p&gt;Two components of that are interesting.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The control is restricting actions that &lt;em&gt;aren’t&lt;/em&gt; forbidden.&lt;/li&gt;
&lt;li&gt;The control is allowing infinite unknown behaviors to continue without restriction.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Doing jumping jacks in the room is not escape from the room. Neither is square dancing, however goofy it may be. In fact, forced jumping jacks or square dancing might be better controls than the rope — they are distracting, require dextrous locomotion, and in the case of square dancing, a guard could keep hold of the escape artist’s arm the entire time.&lt;/p&gt;
&lt;aside&gt;
&lt;p&gt;Tomes could be written on this mess, it’s debatable, join any security mailing list and wait for the thread to revive.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;You see, this is when many practitioners argue for defense-in-depth. OK, they say, we’ll lock the room, and we’ll use a strong chair, and we’ll put chains on top of the ropes, and fill the room with water to 8 inches below the ceiling, and so on until you get sick just hearing from them. Escape artists design their tricks to be &lt;em&gt;loaded&lt;/em&gt; with defense-in-depth security theater, it makes the escape look less like a foregone conclusion.&lt;/p&gt;
&lt;p&gt;But no matter what, that pesky infinity is still sitting there on the right side of the escape artist’s behavior controls equation. Don’t forget that, because it’s very important. Actually, mind your mediations, it’s a &lt;a href=&quot;http://en.wikipedia.org/wiki/Lemniscate&quot;&gt;Lemniscate of Bernoulli&lt;/a&gt; sitting there, standing &lt;em&gt;in for&lt;/em&gt; infinity. Anyway.&lt;/p&gt;
&lt;p&gt;OK, let’s back up and try another thought experiment, with those two points in mind. Instead of wrapping an escape artist, or a prisoner, in controls; consider implementing controls to protect a cohort of data analyst workers at Acme Incorporated™ from risks, with the intent — and this is important too — with the intent that they best be able to spend their time data analysting, whatever that is. Pause for a moment and reflect that Acme’s data analysts are not prisoners becase too many people get tripped up on that. The intent is risk reduction in order to promote data analysting, not just pink and naked risk avoidance.&lt;/p&gt;
&lt;p&gt;Sure, sure, we’ll use all the standard controls from our handy principle of least privilege guide-book, restricting risky actions we have enumerated that Acme’s data analysts aren’t even interested in. We’ll use a roof and four walls to keep the analysts and their computers from getting wet every time it storms. We’ll put a guard at the door so that they don’t blow all their cash on cheap art prints from cube-to-cube rogue sales folks. We’ll block ports used by their desktop computer’s file sharing protocols with a firewall between their network and the Internet, because no one with good intentions wants to share files with them over the Internet. OK, you can even use your defense-in-depth principles and put more firewalls in different places, and put a roof over the roof, and put a guard on the guard, but please don’t go too crazy — controls add overhead, both in capital and operationally, because they aren’t free, and after all, what’s the point of a control if it isn’t monitored?&lt;/p&gt;
&lt;p&gt;But what about controls that start to affect the analyst’s data analysting work? If we determine that an inline proxy-based web filter is a control we want to implement, how should we configure it? Do we want to restrict the analysts from watching jumping jacks videos or learning more about square dancing? Sure, the naive security practitioner says. Square dancing isn’t data analysting! Neither are any damned jumping jacks!&lt;/p&gt;
&lt;p&gt;I promise I’m getting to the point here, we’re almost there. Skip ahead: our Acme data analyst is using the system we’ve designed.&lt;/p&gt;
&lt;p&gt;On the web, there are effectively infinite destinations, but most usage patterns start at a search engine and end at a popular media streaming site, popular news site, popular information site, etc.&lt;/p&gt;
&lt;p&gt;Consider the bizarre notion that our data analyst, might have some free time, between data sets, and want to learn about the &lt;em&gt;Allemande Left&lt;/em&gt;, a square dancing call I had to look on Wikipedia to learn about.&lt;/p&gt;
&lt;p&gt;‘Denied!’ say the prison wardens.&lt;/p&gt;
&lt;p&gt;‘Denied!’ say the defense-in-depth practitioners.&lt;/p&gt;
&lt;p&gt;‘Denied!’ say the principles of least-privilege.&lt;/p&gt;
&lt;p&gt;‘Denied!’ say the curmudgeonly supervisors unable to suspend disbelief in ‘free time’.&lt;/p&gt;
&lt;p&gt;But remember that whole infinity part. The prison wardens and defense in depth folks can only block what they know about, and in this case, things they think are related to things they know about. They think they know that video sites are &lt;a href=&quot;http://solipsism.tumblr.com/post/392719309/no-one-knows-what-the-f-theyre-doing-or-the-3&quot;&gt;bad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let’s exaggerate and pretend that last night’s &lt;em&gt;The Bachelor&lt;/em&gt; had a long square dancing element to it, highlighting the Allemande Left. Attackers know this — they are depraved enough to watch &lt;em&gt;The Bachelor&lt;/em&gt; too. They’ve spent all night hacking small blogs and turning them into sites about nothing but how great the Allemande Left goes with trojan botnet installers. Search engines have spent all night indexing these Allemande Left &amp;amp; Trojan Botnet Installer sites.&lt;/p&gt;
&lt;p&gt;Enter, stage left: An analyst.&lt;/p&gt;
&lt;p&gt;“&lt;em&gt;With free time&lt;/em&gt;“ the choruses remind us.&lt;/p&gt;
&lt;p&gt;The analyst searches the Internet: “&lt;em&gt;Alemand left bachlor&lt;/em&gt;“&lt;/p&gt;
&lt;p&gt;The search engine replies: &lt;em&gt;“That’s silly, here, here are ‘&lt;em&gt;Allemande Left bachelor&lt;/em&gt;‘ findings”&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The analyst sees that the first search result is a video of last night’s &lt;em&gt;The Bachelor&lt;/em&gt; on a tv streaming site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;click&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;DENIED! You are violating security policy!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The analyst returns to the search results and sees the second search result links to a clip of square dancers doing something on another popular user-uploaded-content video streaming site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;click&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;DENIED! You are violating security policy!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The analyst returns to the search results and sees lots of garbage sites that look kinda strange, but whatever. The search engine preview says something like: &lt;em&gt;Allemande Left Alamand Left Square Dancing The Bachelor Allemendy Left The Bachlor The backlet Skware Dansing Allemen…&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;We know this is the proverbial wolf in sheep’s clothing.&lt;/p&gt;
&lt;p&gt;An aside: ‘Clothing’ is a weird word choice for skin, or fur, or whatever, in that idiom, isn’t it? More importantly, our data analysts aren’t sheep, we are just really paranoid. The data analysts are human. Draw no further conclusions from the silly proverb other than the masquerade idea. Sheep are stupid, our analysts are just ignorant, busy, and have been yelled at twice now for no good reason.&lt;/p&gt;
&lt;p&gt;The analyst clicks on the third link, praying for no more &lt;em&gt;DENIED!&lt;/em&gt; wastes of time.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Pop&lt;/strong&gt;&lt;/em&gt; goes the analysts browser. &lt;em&gt;&lt;strong&gt;Pop&lt;/strong&gt;&lt;/em&gt; goes the analysts acrobat reader. Silently the computer we are protecting joins a global criminal network and begins attacking websites to fill them with more Allemand Left stories and trojans.&lt;/p&gt;
&lt;p&gt;Another aside: The analyst returns happily to data analysting the next data set. Our mission is not impacted. There is a very interesting discussion to be had down this rabbit hole, and I think it ends in a tragedy of the commons mess that will cause us to reconsider if our mission actually &lt;em&gt;is&lt;/em&gt; impacted, but that is neither here nor there.see 1 again&lt;/p&gt;
&lt;p&gt;Let’s cut our thought experiment off right there because we’ve come to the point: Controls become paradoxical when their restrictions drive actors to alternative behaviors which are equally risky, or in the case of square dancing video trojan botnet installers, much more risky, than the behavior they were implemented to control.&lt;/p&gt;
&lt;p&gt;Be ever mindful! Not only are square dancing videos, for the most part, harmless, but they are very much &lt;em&gt;not&lt;/em&gt; the multitude of worse things the analyst could be doing with their free time.&lt;/p&gt;
&lt;p&gt;Returning to our behavior control equation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For &lt;em&gt;y&lt;/em&gt; equal to &lt;em&gt;∞ – n&lt;/em&gt; finite knowns: ∞ – y = ∞&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For every harmless element of the set &lt;em&gt;y&lt;/em&gt; removed from ∞, the ∞ of available behaviors ratio tips 1 unit more towards undesirable.&lt;/p&gt;
&lt;p&gt;As a &lt;a href=&quot;http://www.43folders.com/2009/01/27/creativity-patterns&quot;&gt;design pattern&lt;/a&gt;, try to avoid doing that.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Eggcorns in Technology: A list</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-16-eggcorns-in-technology-a-list/" />
    <updated>2010-02-16T15:38:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-16-eggcorns-in-technology-a-list/</id>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;In linguistics, an eggcorn is an idiosyncratic substitution of a word or phrase for a word or words that sound similar or identical in the speaker’s dialect. The new phrase introduces a meaning that is different from the original, but plausible in the same context (“old-timers’ disease” for “Alzheimer’s disease”). This is as opposed to a malapropism, where the substitution creates a nonsensical phrase. Classical malapropisms generally derive their comic effect from the fault of the user, whilst eggcorns are errors that exhibit creativity or logic. Eggcorns often involve replacing an unfamiliar, archaic, or obscure word with a more common or modern word (“baited breath” for “bated breath”).&lt;/p&gt;
&lt;p&gt;The term “eggcorn” was coined by Geoffrey Pullum in September 2003, in response to an article by Mark Liberman on the website Language Log, a blog for linguists. Liberman discussed the case of a woman who substitutes the phrase egg corn for the word acorn, arguing that the precise phenomenon lacked a name; Pullum suggested using “eggcorn” itself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;labtop&lt;/em&gt; instead of &lt;em&gt;laptop&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;mallware&lt;/em&gt; instead of &lt;em&gt;malware&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;cusrser&lt;/em&gt; instead of &lt;em&gt;cursor&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;aohell&lt;/em&gt; instead of &lt;em&gt;AOL&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>On the iPad</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-14-on-the-ipad/" />
    <updated>2010-02-14T19:58:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-14-on-the-ipad/</id>
    <content type="html">&lt;h3 id=&quot;what-is-interesting-about-the-ipad%3F&quot; tabindex=&quot;-1&quot;&gt;What is interesting about the iPad?&lt;/h3&gt;
&lt;p&gt;There are a bunch of technologies making interesting convergences in the iPad including search, mobility, task oriented Human Computer Interaction (HCI), and networks, but let’s just look at the HCI part.&lt;/p&gt;
&lt;p&gt;The iPad is all over the future of task-oriented-computing HCI, as were the &lt;a href=&quot;http://laptop.org/en/laptop/index.shtml&quot;&gt;OLPC XO&lt;/a&gt;, &lt;a href=&quot;http://apple.com/iphone/&quot;&gt;iPhone&lt;/a&gt;, &lt;a href=&quot;http://www.palm.com/us/products/phones/pre/&quot;&gt;Palm Pre&lt;/a&gt;, &lt;a href=&quot;http://www.android.com/&quot;&gt;Android&lt;/a&gt;, etc. They make no attempt to even try to consider faking being a netbook, tablet, laptop, or any other general purpose Windows, Icon, Menu Pointer (WIMP) system. There is a bit of duck typing there, but make no mistake, the iPad isn’t a duck, er, a tablet PC, just like the Android isn’t just “a phone”.&lt;/p&gt;
&lt;h3 id=&quot;a-history-lesson&quot; tabindex=&quot;-1&quot;&gt;A history lesson&lt;/h3&gt;
&lt;p&gt;Back when Led Zeppelin was still touring, and wizards flipped switches, punched cards, and built up circuit boards by hand, there was limited abstraction to computing. Users had to know what their computers were doing at a pretty low level to do, well, pretty much anything. Their hacking wasn’t mediated by much at all. There aren’t many metaphors to soldering on silicon.&lt;/p&gt;
&lt;aside&gt;
&lt;p&gt;&lt;a href=&quot;http://www.useit.com/papers/noncommand.html&quot;&gt;Noncommand user interfaces&lt;/a&gt;, &lt;a href=&quot;http://useit.org&quot;&gt;Jacob Nielsen&lt;/a&gt;, 1993&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;And operating systems advanced. Abstract command-line interfaces (CLI) became prominent. CLIs tend to user ‘verb, noun’ &lt;a href=&quot;http://www.useit.com/papers/noncommand.html&quot;&gt;command oriented systems&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;rm -fr ./drafts/&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;vi on-the-ipad.txt&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ping &lt;a href=&quot;http://grantstavely.com&quot;&gt;grantstavely.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;less /var/log/httpd/access.log&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And they tend to have hierarchical organizational metaphors mediating the user experience.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;_/home/grant/mail&lt;/p&gt;
&lt;p&gt;/dev/modem&lt;/p&gt;
&lt;p&gt;/var/www/html/grantstavely.com/index.php_&lt;/p&gt;
&lt;/blockquote&gt;
&lt;aside&gt;
&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/Humane-Interface-Directions-Designing-Interactive/dp/0201379376/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1266162469&amp;amp;sr=8-1&quot;&gt;The Humane Interface: New Directions for Designing Interactive Systems&lt;/a&gt;, &lt;a href=&quot;http://jefraskin.com&quot;&gt;Jef Raskin&lt;/a&gt;, 2000&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;Then WIMP came along. WIMP tends employ ‘&lt;a href=&quot;http://www.amazon.com/Humane-Interface-Directions-Designing-Interactive/dp/0201379376/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1266162469&amp;amp;sr=8-1&quot;&gt;noun, verb&lt;/a&gt;‘ command oriented systems.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Select all objects, drag them to the trashcan.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Double-click header, click the Bold toolbar button&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;When log file is on screen, drag scroll bar down to scroll through entries&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And they too are hierarchical experience metaphors with &lt;a href=&quot;http://arstechnica.com/apple/reviews/2000/10/macos-x-beta.ars/14#b6&quot;&gt;spatial orientation&lt;/a&gt;, and overlapping windows, and cursor and menu driven insanity mediating everything. &lt;em&gt;Click here&lt;/em&gt; sort of stuff.&lt;/p&gt;
&lt;p&gt;Both mediations — both abstractions — have advantages, and over time, lots of us, never having to punch cards or solder boards, put PCs in our homes and businesses, and solved problems with them. Wow.&lt;/p&gt;
&lt;p&gt;But there are other mediations, other metaphors, other abstractions. Jacob Nielsen’s &lt;a href=&quot;http://www.useit.com/papers/noncommand.html&quot;&gt;noncommand interfaces&lt;/a&gt;1 abandon these verb/noun, hierarchical, graphical intermediaries. They are what he calls &lt;em&gt;task oriented&lt;/em&gt;. Like the iPhone.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Launch phone app, task-oriented device becomes a phone.&lt;/p&gt;
&lt;p&gt;Return to task-selection “home” screen.&lt;/p&gt;
&lt;p&gt;Launch camera app, task-oriented device becomes a camera.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;aside&gt;
&lt;p&gt;&lt;a href=&quot;http://stevenf.tumblr.com/post/359224392/i-need-to-talk-to-you-about-computers-ive-been&quot;&gt;I Need to Talk to you About Computers I’ve Been&lt;/a&gt;, &lt;a href=&quot;http://stevenf.tumblr.com/&quot;&gt;Steven Frank&lt;/a&gt;, 2010.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;This is deceptively similar to our &lt;a href=&quot;http://stevenf.tumblr.com/post/359224392/i-need-to-talk-to-you-about-computers-ive-been&quot;&gt;trusty old world&lt;/a&gt; systems.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Write daemon in c that will spit bits out /dev/modem. Fax from minicomputer.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Or more recently.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Load Windows IBM Fax Application from floppy disk and the big beige box, monitor, and printer can be used like a cumbersome fax machine with too many buttons and a terrible UI.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Or even more recently.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Download skype, extract and install. Launch skype. Webcam on desktop computer runs a video-phone-ish document on the desktop on the CLI system.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s easy to forget that CLI and WIMP command interface experiences even are mediated, but at some point we learned how to pipe a stream through sed, to grab a scrollbar by carefully positioning a pointer using a brick of plastic with buttons on it, to layer windows, to manage running processes, to find hierarchically organized documents — we learned the syntax of verbs and nouns and adjectives. But don’t forget that these are metaphors constantly, always, mediating our experience.&lt;/p&gt;
&lt;h3 id=&quot;mediated-experiences&quot; tabindex=&quot;-1&quot;&gt;Mediated Experiences&lt;/h3&gt;
&lt;p&gt;The menu is not the meal. &lt;em&gt;Please refrain from eating the menu.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On the iPad, Pre, Android, and insert-your-favorite-hardware-here equivalent, our finger touches &lt;em&gt;the data&lt;/em&gt; — a web page, or a picture, or a video — and swipes. &lt;em&gt;The data&lt;/em&gt; moves. We pinch, rotate, zoom, or discard, &lt;em&gt;the data&lt;/em&gt;. Launch a task-mode app and the device transforms.&lt;/p&gt;
&lt;p&gt;Okay, this is starting to sound a lot like it came from the marketing department, bear with me. It’s still a mediated experience, but we can see the advancements in abstraction right?&lt;/p&gt;
&lt;p&gt;Look, the experience is so different on these mobile task-oriented devices that comparing them to say, netbooks, is kinda silly. A touch screen, keyboardless iPad-ish PC running Windows 7, or fvwm, or whatever, is &lt;em&gt;not&lt;/em&gt; a task-oriented system, but some of it’s applications might quack like one.&lt;/p&gt;
&lt;h3 id=&quot;but-where-is-the-market%3F&quot; tabindex=&quot;-1&quot;&gt;But where is the market?&lt;/h3&gt;
&lt;p&gt;That there are Apple fanatics muddies the water if we let it, but it’s such a boring way to look at the experience, the market, people, and so on.&lt;/p&gt;
&lt;p&gt;The iPad might arguably be the first real shot anyone’s given at a general-use, task-oriented computing platform — well, at least since the iPhone and every device that copied it. But it’s not a phone. It’s not an ebook reader. It’s not a laptop. It’s a really weird set of limitations with a web user interface, and that’s about it.&lt;/p&gt;
&lt;p&gt;That’s kinda insane.&lt;/p&gt;
&lt;p&gt;I think the market is out there for an abstracted, task-oriented, noncommand, web-enabled device, converging apps, mobility, search, and so on. The iPad might not be it, but it is a tell as to where things are headed.&lt;/p&gt;
&lt;h3 id=&quot;for-example&quot; tabindex=&quot;-1&quot;&gt;For Example&lt;/h3&gt;
&lt;p&gt;The WIMP browser, still interfaced with a CL-ish address bar, is cumbersome. You did not get here by selecting your address bar and embracing the hierarchy that is uniform resource locators. You didn’t think to yourself (I’m guessing):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ah, http, the protocol, next to the grumpy 😕/ &lt;a href=&quot;http://www.w3.org/People/Berners-Lee/FAQ.html#etc&quot;&gt;guy that has two frowns&lt;/a&gt;. And then &lt;a href=&quot;http://grantstavely.com&quot;&gt;grantstavely.com&lt;/a&gt;, the Domain Name System A record for Grant’s web server. And lastly, “Oh, joy”, the virtual directory that is really just Apache trickery, “/blog/on-the-ipad”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We’ve all watched people not do this. We use the web by searching for our favorite sites, or repeat-visiting subscriptions and bookmarks, or by following suggestions like the dozens in this article. Ugh.&lt;/p&gt;
&lt;h3 id=&quot;so%3F&quot; tabindex=&quot;-1&quot;&gt;So?&lt;/h3&gt;
&lt;p&gt;When an article at &lt;a href=&quot;http://www.readwriteweb.com/archives/facebook_wants_to_be_your_one_true_login.php&quot;&gt;Read Write Web&lt;/a&gt; became the top google result for “facebook login” because of a popular article they published about Facebook’s distributed login platform, the search-protocol web browsing mode failed. Not realizing that they weren’t reaching Facebook through their normal, human, protocol-following google search, dozens of Facebook users complained to Read Write Web.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ok cool now can I get to facebook&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;The new facebook sucks&amp;gt; NOW LET ME IN.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I WANT THE OLD FAFEBOOK BACK THIS SHIT IS WACK!!!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;EXCUUUUUUUUUUUUUUUUUUUUUUUUSE ME!!! WHY NOT JUST LEAVE IT ALONE!!!1111&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Read Write Web had to edit their article to help them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dear visitors from Google. This site is not Facebook. This is a website called ReadWriteWeb that reports on news about Facebook and other Internet services. You can however click here and become a Fan of ReadWriteWeb on Facebook, to receive our updates and learn more about the Internet. To access Facebook right now, click here. For future reference, type “&lt;a href=&quot;http://facebook.com&quot;&gt;facebook.com&lt;/a&gt;” into your browser address bar or enter “facebook” into Google and click on the first result. We recommend that you then save Facebook as a bookmark in your browser.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;an-aside&quot; tabindex=&quot;-1&quot;&gt;An Aside&lt;/h3&gt;
&lt;p&gt;See the &lt;em&gt;click here&lt;/em&gt;, &lt;em&gt;noun, verb&lt;/em&gt; stuff followed by the directions for how to use the &lt;em&gt;verb, noun&lt;/em&gt; command-oriented parts. Note the &lt;em&gt;suggestion to perpetuate the problem&lt;/em&gt; in the last helpful hint. I mean, the instructions are right, and necessary, but the opportunity here is obvious. Isn’t it?&lt;/p&gt;
&lt;p&gt;6015+ days hath &lt;a href=&quot;http://www.catb.org/~esr/jargon/html/S/September-that-never-ended.html&quot;&gt;September 1993&lt;/a&gt;, and we are still scratching our heads about this?&lt;/p&gt;
&lt;h3 id=&quot;anyway&quot; tabindex=&quot;-1&quot;&gt;Anyway&lt;/h3&gt;
&lt;p&gt;Those folks would probably be more successful with an iPad and a Facebook app. An app abstracts the address, like a browser’s bookmarks were supposed to. Arguably, bookmarks already do this, but making a bookmark an app &lt;em&gt;privileges&lt;/em&gt; the bookmark in a powerful way, beyond the full-screen, customized, scaled experience that is the app. In an environment of full screen apps at the same level of importance as the browser, the search model of finding the same thing over and over again loses it’s efficiency.&lt;/p&gt;
&lt;h3 id=&quot;but-it%E2%80%99s-just-an-iphone&quot; tabindex=&quot;-1&quot;&gt;But it’s just an iPhone&lt;/h3&gt;
&lt;p&gt;I think the size factor is more important than that. Looking at photos, watching videos, and reading articles on phones is a pretty poor experience. The pocket portability is a strength and a weakness on phones. I don’t plan on buying an iPad because it doesn’t solve any problems for me; but not because it’s too small, or too expensive to not multi-task — being a camera window, and an email window, and an IM window, and a menu, and a process management list all at once is a weakness, not a strength — I don’t plan on buying one because while I would like to have one, I’d like to have one less than I like to eat and drink really well, or get more camera lenses, or fly more places and check them out — and because I feel pretty damned unlimited with the CLI and WIMP crap I already have.&lt;/p&gt;
&lt;p&gt;But I get the idea, and I think it’s really, really, fucking cool.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Shmoocon 2010 Advice</title>
    <link href="https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-04-shmoocon-2010-advice/" />
    <updated>2010-02-04T16:05:00Z</updated>
    <id>https://pizza.slow.high.quality.gravely.pizza/blog/2010/2010-02-04-shmoocon-2010-advice/</id>
    <content type="html">&lt;p&gt;I write here this morning in an attempt to return from a self-inflicted unhappy state.&lt;/p&gt;
&lt;p&gt;One of the reasons I maintain archives of my content here — embarrassing as it always is — is because I force myself to revisit it at times like this, in the hope that I might learn more from my past mistakes than I did the first time through them.&lt;/p&gt;
&lt;p&gt;I invite you to play along. Strike through and asides noted as we improve my own past. If only it was this easy!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://pizza.slow.high.quality.gravely.pizza/shmoocon&quot;&gt;Shmoocon&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I just signed up for Shmoocon, billing itself as &lt;em&gt;“…an all-new, annual East coast hacker convention hell-bent on offering an interesting and new atmosphere for demonstrating technology exploitation, inventive software &amp;amp; hardware solutions, as well as open discussion of critical information security issues.“&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;s&gt;The last (only) LUG meeting I went to was full of Haha I use loonix! 1337! people and the last other geek meet-up I went to was a mix of ultra-brights and people that change backup tapes every night (on reseting TCP sessions: “So you could knock out an FTP session! other tape-changer: But could you knock over an ssl session?” (sorry that’s so obscure but it was silly at the time))&lt;/s&gt;&lt;/p&gt;
&lt;p&gt;Hackers! &lt;s&gt;As a lowly consultant (like a sysadmin albeit ~35+ times over, simultaneously)&lt;/s&gt; I &lt;s&gt;’ll&lt;/s&gt; expect to be surrounded by a bunch of extremely bright &lt;s&gt;coders, a few&lt;/s&gt; people &lt;s&gt;like myself, and a larger handful of nerds and clueless wannabe’s (those last three groups may intermingle a bit)&lt;/s&gt;.&lt;/p&gt;
&lt;p&gt;I hope I get a t-shirt.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What’s with the incessant, murky qualification and labeling and classification of fellow human beings? Lose it.&lt;/p&gt;
</content>
  </entry>
</feed>