<?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>Coyote Tracks</title>
	<atom:link href="http://kagan.mactane.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://kagan.mactane.org/blog</link>
	<description>The prints of an Internet-enabled coyote.</description>
	<lastBuildDate>Sun, 22 Apr 2012 02:08:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Portable Computing UI Redux: Editing Photos While Walking Downtown</title>
		<link>http://kagan.mactane.org/blog/2012/04/21/portable-computing-ui-redux/</link>
		<comments>http://kagan.mactane.org/blog/2012/04/21/portable-computing-ui-redux/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 18:50:18 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Instagram]]></category>
		<category><![CDATA[mobile computing]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[smartphones]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=472</guid>
		<description><![CDATA[One thing Instagram&#8217;s done for me (or to me): It&#8217;s made me much more prone to editing images on my phone. Which means I now have more data on the real-world equivalent of Charles Stross&#8217; speculative incident in the beginning of Accelerando: [Manfred is] standing in the plaza in front of the Centraal Station with [...]]]></description>
			<content:encoded><![CDATA[<p>One thing Instagram&#8217;s done for me (or to me): It&#8217;s made me much more prone to editing images on my phone. Which means I now have more data on the real-world equivalent of Charles Stross&#8217; speculative incident in the beginning of <cite>Accelerando</cite>:</p>
<blockquote><p>[Manfred is] standing in the plaza in front of the Centraal Station with his eyeballs [smart glasses that now seem like a prediction of Google Glasses] powered up&#8230;. The square smells of water and dirt and hot metal and the fart-laden exhaust fumes of cold catalytic converters; the bells of trams ding in the background, and birds flock overhead. <strong>He glances up and grabs a pigeon, crops the shot, and squirts it at his weblog to show he&#8217;s arrived.</strong> The bandwidth is good here, he realizes; and it&#8217;s not just the bandwidth, it&#8217;s the whole scene. (emphasis&nbsp;added)</p></blockquote>
<p>I&#8217;ve <a href="http://kagan.mactane.org/blog/2010/02/23/what-would-an-ideal-portable-computing-ui-look-like/">written before</a> about what the hell kind of UI he&#8217;s using to tell his systems to actually <em>do</em> all this stuff. One thing I noted was that, working on a modern smartphone, &#8220;Cropping is pretty much out of the question, although someone <em>could</em> write an app for it.&#8221; But that was two years ago, when I was using a Palm Pre&#8230; over 6 months before Instagram even launched their first product.</p>
<p>Fast-forward to this Monday. I was walking down Market Street and saw a statue that I felt like grabbing a picture of. I took the pic with my phone&#8217;s standard camera app. Then I decided, what the heck, why not post it on Instagram? When you import a photo from your Android Gallery into Instagram, it &#8220;gives you the opportunity&#8221; (i.e., forces you) to crop the image so it fits their 1:1 aspect ratio. While I was doing the cropping, I noticed: There was some text in there that was really kind of distracting. I wanted it out of there.<span id="more-472"></span></p>
<p><a href="http://kagan.mactane.org/blog/wp-content/uploads/2012/04/mobile-photo-editing-1.jpg"><img src="http://kagan.mactane.org/blog/wp-content/uploads/2012/04/mobile-photo-thumb.jpg" alt="photo in 4-by-3 aspect ratio, with unwanted text" class="right" /></a>Here&#8217;s a thumbnail of what it looked like in the beginning&nbsp;&mdash; the image my phone&#8217;s camera first recorded. Click it for a larger&nbsp;version.</p>
<p>The cropping I was planning to do already brought out the &#8220;cross&#8221; motif behind the angel a bit. But that meant that the &#8220;Asian Art&#8221; and &#8220;San Fr&#8230;&#8221; text on the right arm of the cross was <em>really</em> distracting.</p>
<p>On the other hand, note that at this point, if you consider Instagram to be a weblog, we&#8217;ve <em>already</em> pretty much fulfilled the parameters of what Manfred Macx did. (Or, we <em>could have</em> fulfilled them, if I&#8217;d gone ahead and cropped and posted.) Okay, there&#8217;s no way Instagram is <em>my</em> weblog&#8230; but it&#8217;s a public record, which would certainly &#8220;show I&#8217;d arrived&#8221; somewhere. If I had just landed in Amsterdam, I could snap a picture of the Begijnhof or the Magere Brug or some such, crop it, and post it on Instagram with a comment like &#8220;Amsterdam, I am in you!&#8221; Mission accomplished!</p>
<p>But I didn&#8217;t feel like posting my photo with that annoying text in it. I recently downloaded a few Android image-editing apps, including something with &#8220;retouch&#8221; in its name, so I fired it up. It turns out to be called <a href="https://play.google.com/store/apps/details?id=com.advasoft.touchretouchfree">TouchRetouch Free</a>, and it&#8217;s based entirely around content-aware fill/erase. It&#8217;s designed to remove unwanted content from your photos. It was just what I needed! In under three minutes, I&#8217;d vaporized the offending text &#8211; and that includes time spent figuring out the UI and reading the one-page help screen.</p>
<div class="notice">I will probably be upgrading to the paid version soon. Ninety-nine cents seems a <em>quite</em> reasonable price for this software!</div>
<p>So I saved the retouched photo, re-opened Instagram, cropped and posted. Total time&#8230; hard to say, especially given that I was walking around at the time <em>and</em> had to pause for an unrelated task in the middle. But <strong>it didn&#8217;t feel like a huge hassle</strong>, that&#8217;s for sure.</p>
<p><a href="http://kagan.mactane.org/blog/wp-content/uploads/2012/04/mobile-photo-final.jpg"><img src="http://kagan.mactane.org/blog/wp-content/uploads/2012/04/mobile-photo-final-300x300.jpg" alt="Previous image, cropped to a square (1-to-1) aspect ratio, and with offending text removed" width="200" class="right" /></a></p>
<p>From the above photo to <a href="http://instagr.am/p/JfSeT6L0Yx/">this version</a>, in a time that was definitely under 10 minutes, <strong>on a mobile phone</strong>. That&#8217;s pretty cool.</p>
<p><strong>Addendum:</strong> By the way, if you want to follow me on Instagram, my handle there is <span class="code">kmactane</span>, just like my Twitter handle. I&#8217;d link to my Instagram user page except&#8230; there is no such thing. Seems quite silly of Instagram. I&#8217;ll be writing more about that later.</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/04/21/portable-computing-ui-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is It Getting Better? Or Do You Feel the Same?</title>
		<link>http://kagan.mactane.org/blog/2012/04/09/is-it-getting-better-or-do-you-feel-the-same/</link>
		<comments>http://kagan.mactane.org/blog/2012/04/09/is-it-getting-better-or-do-you-feel-the-same/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 03:23:04 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[don't be ridiculous]]></category>
		<category><![CDATA[entitlement issues]]></category>
		<category><![CDATA[geek culture]]></category>
		<category><![CDATA[gender]]></category>
		<category><![CDATA[the world-wide conversation]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=460</guid>
		<description><![CDATA[I don&#8217;t normally want to &#8220;harp on&#8221; gender issues in tech by doing two posts about them in a row, but I&#8217;ve gotta write about this while the news is still kind of current. In my last post, I wrote about the Geeklist fail and the Sqoot/Boston API Jam fail. At the end of my [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t normally want to &#8220;harp on&#8221; gender issues in tech by doing two posts about them in a row, but I&#8217;ve gotta write about this while the news is still kind of current. In my last post, I wrote about the Geeklist fail and the Sqoot/Boston API Jam fail. At <a href="http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/#iThinkItsGettingBetter">the end of my post</a>, I wrote: &#8220;I <em>think</em> it&#8217;s getting better&#8221;. I mentioned that the reactions to those two fails had been much more feminist and progressive than previous ones I was aware&nbsp;of.</p>
<p>Since then, there have been two more incidents about gender and tech. And the first one is <strong>a near-perfect rebuke to Geeklist&#8217;s Sanz and Katz</strong>, who showed an almost textbook example of how not to respond to criticism. Chad Whitacre instead shows a pretty good example of how to do it right, and <a href="http://geekfeminism.org/2012/04/02/cookie-of-the-week-chad-whitacre-whit537-came-up-with-a-better-name/">earns himself Geek Feminism Wiki&#8217;s &#8220;Cookie of the Week&#8221;&nbsp;award</a>.</p>
<h3 id="testosteroneBecomesAssertEquals">Testosterone Becomes assertEquals</h3>
<p><span id="return1">Seven</span> years ago, Whitacre created a testing framework for Python. It runs on the command line using curses<a href="http://kagan.mactane.org/blog/2012/04/09/is-it-getting-better-or-do-you-feel-the-same/#note1">[1]</a>. When it came time to pick name for his testing framework, Whitacre decided on Testosterone and called it &#8220;the manly testing framework for Python&#8221;. Which was vaguely amusing, until his friend <a href="https://twitter.com/velociraptors">@velociraptors</a> pointedly <a href="https://twitter.com/#!/velociraptors/status/184853683031388161">asked</a>: &#8220;what, exactly, makes it manly?&#8221; There was a little bit of polite back-and-forth on Twitter, in which Whitacre tried to explain his reasoning.</p>
<p>He <strong>did not</strong> get offended, he <strong>did not</strong> condescend to her or get huffy&#8230; and after sleeping on it, he decided to change the name of his framework. He posted on Twitter <a href="https://twitter.com/#!/whit537/status/184965186078261249">saying</a>, &#8220;Sorry for the sexism&#8221;, and then wrote an <a href="https://github.com/whit537/assertEquals/blob/master/ANNOUNCEMENT.rst#readme">announcement and explanation</a> of why he was renaming the software to <a href="https://github.com/whit537/assertEquals">assertEquals</a>.</p>
<h3 id="whatSheReallySaid">What She <em>Really</em> Said</h3>
<p>The second item is <a href="http://geekchick77.dreamwidth.org/472.html">Jessamyn Smith&#8217;s &#8220;What She <em>Really</em> Said&#8221; bot</a>, designed to counter a &#8220;That&#8217;s What <em>She</em> Said&#8221; bot in her workplace&#8217;s IRC channel. This one is less of a total win, because honestly, she shouldn&#8217;t have had to write her bot at all. Her initial requests to co-workers to turn off the bot were met with the usual &#8220;It&#8217;s fun! You should lighten up!&#8221; dismissals.<span id="more-460"></span></p>
<p>So she wrote her own bot, which simply responds to &#8220;that&#8217;s what <em>she</em> said&#8221; by replying with an actual quote from an actual woman. And then she also released the code on GitHub, like any good open-source programmer.</p>
<p>So, what happened after&nbsp;that?</p>
<p>The reactions <a href="https://news.ycombinator.com/item?id=3765717">on Hacker News</a> were&#8230; interesting. There was a fair amount of support for Smith, and at least a few people who came up with many of the same tired, old arguments. In particular, there was user <a href="https://news.ycombinator.com/user?id=batista">batista</a>, who went for a full Trifecta of bingo-card dismissals.</p>
<p>But on the bright side, at least three or four other users took the time to argue and debate with him, pointing out many flaws in his &#8220;reasoning&#8221;.</p>
<p>Over <a href="http://www.reddit.com/r/Python/comments/rhzal/fighting_sexist_jokes_with_python/">on Reddit</a>, it&#8217;s even easier to see which comments get voted up, and there the trend is clear: The highest-rated comments are all supportive of&nbsp;Smith.</p>
<p>Reactions <a href="http://www.democraticunderground.com/11395773">outside the programming community</a> were <strong>much more consistently positive</strong>. Which seems like yet another great example of <a href="http://programmersbeingdicks.tumblr.com/">programmers being dicks</a>. Hey, guys, can we cut this crap&nbsp;out?</p>
<p>Finally, it&#8217;s interesting to note Smith&#8217;s comments about some of her co-workers&#8217; reactions. First, I&#8217;ll note that <em>many co-workers reacted positively</em>. So that&#8217;s good. But then there were the ones who didn&#8217;t like&nbsp;it:</p>
<blockquote><p>There have been complaints about it spamming the channel. There were several &#8220;Make them shut up!&#8221; responses. These are not reactions I have seen the other bots elicit, certainly not with such intensity. One person even complained about the name being too long, though to his credit he realized right after he said that that several other people in the channel also have very long&nbsp;handles.</p></blockquote>
<p>(Once again, note that the What She <em>Really</em> Said bot <strong>only</strong> responds to the specific words &#8220;that&#8217;s what <em>she</em> said&#8221;, so it <strong>cannot possibly</strong> be spamming the channel any more than existing TWSS traffic&nbsp;is.)</p>
<p>It&#8217;s interesting how things that were &#8220;funny&#8221; when done by the TWSS bot suddenly became &#8220;spamming&#8221; when the WSRS bot did them. I love<a href="#note2">[2]</a> how programmers, who often think of themselves as being&nbsp;&mdash; and sometimes openly declare themselves to be&nbsp;&mdash; rational, unbiased, and guided by measurable facts, nonetheless displayed obvious, undeniable bias&nbsp;here.</p>
<p>At least one of them was honest enough to notice it when he criticized WSRS on completely unfair grounds. And who knows, maybe some of the other guys quickly realized how silly their &#8220;spamming&#8221; accusations&nbsp;were.</p>
<p>I don&#8217;t mean to simply hold these guys up for ridicule, either. Much like when I wrote <a href="http://kagan.mactane.org/blog/2010/04/07/can-you-learm-from-a-prediction/">about Cliff Stoll&#8217;s failed predictions</a>, &#8220;it does me no good to simply point and laugh&#8221;. I&#8217;d rather ask: <strong>How can we improve?</strong> How can we do&nbsp;better?</p>
<p>Chad Whitacre&#8217;s example is a good one to follow. Another way is by not believing our own hype. If you believe &#8220;I&#8217;m unbiased and guided by objective facts&#8221;, it&#8217;s too easy to close your mind to other people&#8217;s experiences. Open your mind, open your ears, and <strong>listen</strong> to what people&nbsp;&mdash; including women&nbsp;&mdash; have to tell&nbsp;you.</p>
<p>If Jessamyn Smith&#8217;s co-workers had done that, she wouldn&#8217;t have had to write WSRS in the first&nbsp;place.</p>
<div style="margin: 1em 40%; border-bottom: thin groove;"> </div>
<p><span id="note1">[1]</span> For non-geeks: &#8220;curses&#8221; is the name of a standard programming library that uses cursor motions to draw things on a text-only screen.&nbsp;<a href="#return1">&uarr;</a></p>
<p><span id="note2">[2]</span> Where &#8220;I <em>love</em> how&#8230;&#8221; really means, &#8220;I <em>hate</em> how&#8230;&#8221;. In <cite>Metamagical Themas</cite>, in the Post Scriptum to &#8220;Changes in Default Words and Images, Engendered by Rising Consciousness&#8221;, Douglas R. Hofstadter talks about meeting philosopher and feminist Joan Straumanis. They &#8220;particularly enjoyed swapping stories of the sort that make you groan and say, &lsquo;Isn&#8217;t that <em>great?</em>&rsquo;&nbsp;&mdash; meaning, of course, &lsquo;How sickening!&rsquo;&#8221; He explains this as: &#8220;You need outrageously clear examples if you want to convince many people that there is a problems worth taking at all seriously.&#8221; Hence why I &#8220;love&#8221; these obviously-biased and irrational reactions.&nbsp;<a href="#return2">&uarr;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/04/09/is-it-getting-better-or-do-you-feel-the-same/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What to Do When the Tech Failboat Sails</title>
		<link>http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/</link>
		<comments>http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 02:51:11 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bad ideas]]></category>
		<category><![CDATA[entitlement issues]]></category>
		<category><![CDATA[geek culture]]></category>
		<category><![CDATA[gender]]></category>
		<category><![CDATA[hall of shame]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[should have known better]]></category>
		<category><![CDATA[shout-outs]]></category>
		<category><![CDATA[the world-wide conversation]]></category>
		<category><![CDATA[trends]]></category>
		<category><![CDATA[you fail]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=448</guid>
		<description><![CDATA[The tech world is no stranger to occasional outbreaks of Sexism!Fail, but the past two weeks have seen a rare double instance of it. Naturally, I&#8217;ve got to speak up. By the way, for anyone who missed the events, here are a pair of quick&#160;recaps: Boston API Jam&#8217;s Marketing Problem Oh Hai Sexism And now, [...]]]></description>
			<content:encoded><![CDATA[<p>The tech world is no stranger to occasional outbreaks of Sexism!Fail, but the past two weeks have seen a rare <strong>double instance</strong> of it. Naturally, I&#8217;ve got to speak up. By the way, for anyone who missed the events, here are a pair of quick&nbsp;recaps:</p>
<ul class="special">
<li><a href="http://storify.com/techladymafia/boston-api-jam-s-marketing-problem">Boston API Jam&#8217;s Marketing Problem</a></li>
<li><a href="http://storify.com/charlesarthur/oh-hai-sexism">Oh Hai Sexism</a></li>
</ul>
<p>And now, my responses to these items, and to some of the reporting surrounding&nbsp;them.</p>
<h3 id="getMad">Get Mad, Make Noise</h3>
<p>In both cases, the problems were flagged, and then ultimately stopped, because people spoke out about them and <em>publicly</em> called the sexists to task. In the second case, it took <strong>just one person speaking out</strong> to raise the ruckus that revealed Geeklist&#8217;s founders&#8217; sexism and rampaging entitlement issues. In fact, their own issues were part of what made it so effective.</p>
<p><span id="link1">One</span> <span id="link2">point</span> that hasn&#8217;t been addressed much is the insistent demands of Geeklist&#8217;s founders that Shanley Kane contact them privately instead of airing the issue on Twitter. If Ms. Kane had gone along with that, Sanz and Katz wouldn&#8217;t have had to listen to her at all. They wouldn&#8217;t have to worry about the fact that every entitled, arrogant response they made just dragged their public reputation further down into the gutter. They could have made their subtle, implied threats about her job in private, where nobody else could see how <strong>chillingly<a href="http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/#note1">[1]</a> creepy</strong> they<a href="http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/#note2">[2]</a> were. And when they were tired, they could have just shut down the conversation, with no consequences.</p>
<p>But Kane was smart enough not to fall into that trap. And besides, she was right: <a href="https://twitter.com/shanley/status/182697973296275458">As she pointed out to them</a>, their video was &#8220;in public and it merits a public response.&#8221; <strong>A public insult does not get to demand a private response.</strong> Once it&#8217;s out there on the public Internet, on the street&#8230; that&#8217;s where the conversation is. <span id="more-448"></span></p>
<h3 id="itsEveryonesResponsibility">It&#8217;s Everyone&#8217;s Responsibility</h3>
<p>Cnet blogger <a href="http://news.cnet.com/8301-33617_3-57402766-276/why-arent-there-more-women-in-tech-wrong-question/">Ben Parr weighed in on these issues</a> (as well as BusinessWeek&#8217;s &#8220;brogrammer&#8221; article). In the main, I agree with his call for more women in technology and engineering, and his call for an eng/tech culture that&#8217;s more friendly to&nbsp;women.</p>
<p>But I have a quibble with his claim that &#8220;building that culture requires having more women in technology.&#8221; While I agree that having more women in tech would certainly make that culture-building easier, I don&#8217;t think it&#8217;s one hundred percent necessary. We can make tech culture friendlier to women with one, simple, easy&nbsp;move:</p>
<div class="notice"><strong>Have the men in tech stop being sexist&nbsp;dicks.</strong></div>
<p>Ben Parr implies that if there were women in Sqoot&#8217;s or Geeklist&#8217;s executive or marketing teams, they might have raised warning flags about their companies&#8217; sexist behaviors. But it shouldn&#8217;t require an actual female to say, &#8220;Hey, wait a second, this sounds like something a sexist asshole wrote, and maybe we shouldn&#8217;t print it&#8221;. It should be just as easy for a man to say the exact same&nbsp;thing.</p>
<p>Women should not have to bear the whole burden of noticing and calling out sexism. Heck, if you believe Geeklist, it was a woman who produced their video in the first place! (However, if you believe Design Like Whoa&#8217;s Gemma Aguiar, <a href="http://designlikewhoa.tumblr.com/post/19791735980/response-to-geeklists-letter-after-reading">Geeklist actually commissioned the video themselves</a>. Who do you&nbsp;trust?)</p>
<div class="notice">Please note: I&#8217;m not saying that improving men&#8217;s behavior will <em>fix everything</em>. I&#8217;m just saying that it&#8217;s <strong>a damned good start</strong>. I&#8217;m saying that since men&nbsp;&mdash; or, really, immature little boys in men&#8217;s bodies&nbsp;&mdash; are the primary drivers of sexism and misogyny in the tech world, improving their behavior cannot help but make &#8220;a culture that is more friendly to [women]&#8220;, as Ben Parr asks for. Adding more women would be very beneficial, and I&#8217;m all for it, but it&#8217;s <em>not</em> a prerequisite.</div>
<p>I agree with Parr that it&#8217;s a chicken-and-egg problem. But that&#8217;s not an excuse for men to say, &#8220;Well, we can&#8217;t do anything until more women get involved.&#8221; We can improve it on our own, without waiting for anyone&nbsp;else.</p>
<p>We can do that today. Every&nbsp;day.</p>
<p>Just like this blog post. And just like Shanley Kane speaking out on Twitter. Because, really, her words didn&#8217;t require a woman to say them. They just required <em>anyone</em> to say them. And the same goes for <a href="http://cl.ly/173l1X1e3Z3b3i3I373c">Coda Hale</a>, <a href="https://twitter.com/JohnnyDiggz">Johnny Diggz</a>, <a href="https://twitter.com/kevinmarks">Kevin Marks</a>, <a href="https://twitter.com/nexxylove">Emily Rose</a>, and other people who spoke up and got&nbsp;involved.</p>
<h3 id="iThinkItsGettingBetter">I <em>Think</em> It&#8217;s Getting Better</h3>
<p>I don&#8217;t have hard numbers on this. It&#8217;s just my general impression, as someone who&#8217;s followed idiotic Sexist!Fail incidents in high-tech for over a decade&nbsp;now:</p>
<p>Every one of these incidents involves a fair number of people who make excuses for sexism and the status quo. &#8220;She just needs to lighten up!&#8221;, &#8220;It was just a joke!&#8221;, &#8220;Even if she has a point, she shouldn&#8217;t be so shrill about it&#8221;, and all the other excuses that are so common, they&#8217;ve been put on bingo cards so we can keep track of them all. Of course, we can never completely get rid of the people who want to drag us back to the Bad Old&nbsp;Days.</p>
<p><span id="link3">But</span> it felt to me like the general ratio of comments&nbsp;&mdash; on both of these incidents&nbsp;&mdash; was skewed much closer to the feminist end of the spectrum, and further away from the sexist end. I was pleased to see <strong>lots of people<a href="#note3">[3]</a> actively pointing out how unacceptable</strong> both of these incidents were, and only a few making excuses for&nbsp;it.</p>
<p>Let&#8217;s keep up the good&nbsp;work.</p>
<p>Aside from that, I&#8217;d like to call out the good behavior of Shanley Kane&#8217;s employer, <a href="http://basho.com/">Basho</a>, who pointedly refused to be dragged into Geeklist&#8217;s attempts at intimidation, and also of Boston API Jam sponsors <a href="http://apigee.com/">Apigee</a>, <a href="http://www.heroku.com/">Heroku</a>, and <a href="http://mongohq.com/">MongoHQ</a>, who publicly pulled their support for the event. I&#8217;d say, &#8220;let&#8217;s hope the responses will be even better next time&#8221;, but what I <em>really</em> want&nbsp;is:</p>
<p>Let&#8217;s hope there <strong>is</strong> no &#8220;next time&#8221;. Let&#8217;s work to make it&nbsp;so.</p>
<div style="margin: 1em 40%; border-bottom: thin groove;"> </div>
<p><span id="note1">[1]</span> The fact that &#8220;chilling&#8221; also refers to <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Chilling_effect_%28law%29">chilling effects</a> is not a coincidence. <a href="#link1">&uarr;&uarr;</a></p>
<p><span id="note2">[2]</span> Does &#8220;they&#8221; refer to the threats, or to the people making them? Again, the ambiguity in my phrasing is not a coincidence.  <a href="#link2">&uarr;&uarr;</a></p>
<p><span id="note3">[3]</span> Yes, of both (or all) genders&nbsp;&mdash; not that that it should matter, but it does make me happy that men in tech are stepping up to the plate, too. <a href="#link3">&uarr;&uarr;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/03/28/what-to-do-when-the-tech-failboat-sails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Things About FizzBuzz</title>
		<link>http://kagan.mactane.org/blog/2012/02/29/good-things-about-fizzbuzz/</link>
		<comments>http://kagan.mactane.org/blog/2012/02/29/good-things-about-fizzbuzz/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 02:08:25 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[interviews]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=445</guid>
		<description><![CDATA[Over a year ago, I mentioned FizzBuzz as a basic competence screen during interviews. At the time, I said: &#8220;My only real quarrel with FizzBuzz is that, at this point, any developer worth their salt is familiar with it.&#8221; I seem to have been wrong, becuase I keep running into coders who definitely are competent, [...]]]></description>
			<content:encoded><![CDATA[<p>Over a year ago, I mentioned <a href="http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/">FizzBuzz as a basic competence screen</a> during interviews. <a href="http://kagan.mactane.org/blog/2010/08/15/why-i-dont-mind-coding-tests/">At the time, I said</a>: &#8220;My only real quarrel with FizzBuzz is that, at this point, any developer worth their salt is familiar with it.&#8221; I seem to have been wrong, becuase I keep running into coders who definitely <em>are</em> competent, and who haven&#8217;t encountered it&nbsp;yet.</p>
<p>That&#8217;s fine, because FizzBuzz does have a few nice qualities as a&nbsp;test.</p>
<h3>It&#8217;s Language-Agnostic</h3>
<p>It makes sense for someone to code a FizzBuzz in anything from JavaScript to Haskell to C++ to Ruby to Python to assembler (pick your instruction set). The same cannot be said of various other standards, like &#8220;Reverse a string in-place&#8221; (which takes a bit of thought and care in C, and so makes a good test&nbsp;&mdash; but is utterly trivial in languages like Perl or PHP that have built-in string-reversal functions) or &#8220;connect to a webpage, count the frequency of words in it, and output them sorted in descending order&#8221; (which makes sense in scripting languages with well-known HTTP or cURL packages, but is far too big to make a decent whiteboard question in ones like C or&nbsp;C++).</p>
<h3>It Doesn&#8217;t Require Memorization</h3>
<p>There are some questions that require that the applicant knows a particular library call or special function. In the previous paragraph, I mentioned Perl&#8217;s <span class="code">reverse()</span> and PHP&#8217;s <span class="code">strrev()</span>&nbsp;&mdash; those aren&#8217;t what I mean, because those are pretty core functions. Those are the sort of thing anyone who does any text manipulation will have memorized, because they use it every day. But what about some of the more obscure ones, like PHP&#8217;s <span class="code">strncmp()</span>? If you ask a question that <em>requires</em> it, you&#8217;re basically asking your applicant, &#8220;Have you heard of this really obscure function?&#8221; (In the case of languages like PHP, with its over-3,000 core-level functions, this is particularly evil, but the same results can be obtained by using a little-known CPAN package, C++ stdlib function, or Java Class Library&nbsp;function.)</p>
<p>FizzBuzz doesn&#8217;t require any weird functions to solve. It&#8217;s nothing but math, plus a for loop and an if/else. The most obscure thing in it is modulo arithmetic. And sure, maybe the applicant might have forgotten what the modulo operator is, because it&#8217;s not the sort of thing most people use every&nbsp;day.</p>
<p>But you can still solve it without the mod operator. <span id="more-445"></span>Instead of <span class="code nowrap">if (foo % 3 == 0)</span>, you just do <span class="code">if&nbsp;(int(foo&nbsp;/ 3)&nbsp;== foo&nbsp;/&nbsp;3)</span>&nbsp;&mdash; and that <em>is</em> the sort of thing that a decent coder should be able to figure out in a minute or two. (For <code>int()</code>, substitute <code>floor()</code> or <code>Math.floor()</code> or your language&#8217;s equivalent.)</p>
<h3>There&#8217;s More Than One Way to Solve It</h3>
<p>The infamous <a href="http://thedailywtf.com/articles/riddle-me-an-interview.aspx">&#8220;Microsoft/Google interview brain-teaser&#8221; puzzle questions</a> are notorious for the fact that there&#8217;s only one &#8220;right&#8221; answer&nbsp;&mdash; and it&#8217;s generally something that nobody could <em>possibly</em> figure out on their first try in an interview situation. Questions like how to figure out which light switch was on in a sealed, opaque box, or how to determine which coin weighs a different amount from a bunch of others with a minimal number of weighings&nbsp;&mdash; these basically boil down to, &#8220;Do you already know the trick behind this really contrived&nbsp;puzzle?&#8221;</p>
<p>With FizzBuzz, there&#8217;s no requirement that the applicant solve it one particular way. For example, my preferred logic (expressed in pseudocode)&nbsp;is:</p>
<pre class="code">if (multiple of 3 and multiple of 5)
&nbsp;&nbsp;&nbsp;&nbsp;print "FizzBuzz"
else if (multiple of 3)
&nbsp;&nbsp;&nbsp;&nbsp;print "Fizz"
else if (multiple of 5)
&nbsp;&nbsp;&nbsp;&nbsp;print "Buzz"
else
&nbsp;&nbsp;&nbsp;&nbsp;print number
end</pre>
<p>But there&#8217;s no reason why you can&#8217;t do it this&nbsp;way:</p>
<pre class="code">if (multiple of 3)
&nbsp;&nbsp;&nbsp;&nbsp;print "Fizz"
&nbsp;&nbsp;&nbsp;&nbsp;if (multiple of 5)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print "Buzz"
&nbsp;&nbsp;&nbsp;&nbsp;end
else if (multiple of 5)
&nbsp;&nbsp;&nbsp;&nbsp;print "Buzz"
else
&nbsp;&nbsp;&nbsp;&nbsp;print number
end</pre>
<p>Or even like&nbsp;this:</p>
<pre class="code">retval = ""
if (multiple of 3) retval += "Fizz"
if (multiple of 5) retval += "Buzz"
if (not multiple of 3 &#038;&#038; not multiple of 5) retval = number
print retval</pre>
<p>All of these will work <em>just fine</em>. In fact, I&#8217;ve seen people solve it each of those ways, and given them full marks for a valid solution. And if someone asks you to solve FizzBuzz, and then gives you grief because you choose a different option than they would have? Just walk out of that interview, because that person&#8217;s just turned it back into one of those &#8220;guess what number I&#8217;m thinking of&#8221; questions that it has the potential <em>not</em> to be in the first&nbsp;place!</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/02/29/good-things-about-fizzbuzz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Cute Motto Can&#8217;t Make Up For Evil Actions</title>
		<link>http://kagan.mactane.org/blog/2012/02/19/a-cute-motto-cant-make-up-for-evil-actions/</link>
		<comments>http://kagan.mactane.org/blog/2012/02/19/a-cute-motto-cant-make-up-for-evil-actions/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 22:53:45 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[corporate evil]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hall of shame]]></category>
		<category><![CDATA[NymWars]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[should have known better]]></category>
		<category><![CDATA[you fail]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=443</guid>
		<description><![CDATA[I recognize that Google&#8217;s motto is not (the oft-misquoted) &#8220;Do no evil&#8221;. It&#8217;s the much easier-to-achieve mandate of &#8220;Don&#8217;t be evil&#8221;. But even that very low bar is one Google doesn&#8217;t seem to be hitting any more, and they don&#8217;t seem interested in trying&#160;to. The latest &#8220;Google being evil&#8221; story, where it turns out they&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I recognize that Google&#8217;s motto is not (the oft-misquoted) &#8220;Do no evil&#8221;. It&#8217;s the much easier-to-achieve mandate of &#8220;Don&#8217;t be evil&#8221;. But even that very low bar is one Google doesn&#8217;t seem to be hitting any more, and they don&#8217;t seem interested in trying&nbsp;to.</p>
<p>The latest &#8220;Google being evil&#8221; story, where it turns out they&#8217;ve been <a href="https://www.eff.org/deeplinks/2012/02/time-make-amends-google-circumvents-privacy-settings-safari-users">tricking Safari browsers into allowing tracking that they&#8217;re supposed to block</a>, is by no means the only recent example. It&#8217;s just the one that&#8217;s gotten the most press&nbsp;&mdash; and a great place to&nbsp;start. </p>
<p>Part of the commotion is that the particular way that Google circumvented Safari&#8217;s privacy settings wound up <em>completely undoing Safari&#8217;s privacy</em> where Doubleclick was concerned. That&#8217;s the part Google didn&#8217;t really intend to do. But what they <em>did</em> intend to do was <strong>explicitly bypass Safari&#8217;s privacy settings</strong>, at least where their own <span class="nowrap">+1</span> button was concerned. They wrote special-case code, served only to Safari browsers, which was <strong>designed to trick the browser</strong> into believing that the user was interacting with the <span class="nowrap">+1</span> button&nbsp;&mdash; even though the user was doing no such&nbsp;thing.</p>
<div class="notice">This isn&#8217;t just something corporations do. <strong>Humans are complicit in it.</strong> Somewhere along the way, there was a Google engineer who was asked to write this code. He or she should have said, &#8220;Hey, doesn&#8217;t this sound kind of&#8230; well, <strong>evil?</strong>&#8221; Somewhere along the way, there was a Google product manager who was asked&nbsp;&mdash; or who independently decided&nbsp;&mdash; that tricking the browser and violating its privacy settings would be a good thing. Again, he or she should have said: &#8220;Wait a second, this is evil. <strong>We shouldn&#8217;t be doing this.</strong>&#8220;</div>
<p>But this is not the only evil thing Google&#8217;s done in the past few&nbsp;months.</p>
<p>There&#8217;s also the way they <a href="http://crooksandliars.com/andrew-metcalf/google-puts-prominent-booth-cpac">helped sponsor this year&#8217;s CPAC</a>, which gave prominent slots to <a href="https://www.change.org/petitions/google-dont-sponsor-bigotry">white-power advocates and hate groups</a>. And then there&#8217;s the recent privacy change, and their ridiculous cop-out on <a href="https://twitter.com/#!/search/%23NymWars">#NymWars</a>, which disproportionately affects <a href="http://geekfeminism.wikia.com/wiki/Who_is_harmed_by_a_%22Real_Names%22_policy%3F">people whose voices are already too marginalized</a>&#8230; and all that is on top of <a href="http://kagan.mactane.org/blog/2010/08/24/what-does-dont-be-evil-mean-now/">the stuff I posted about <em>a year and a half ago</em></a>, giving a litany of pretty evil things Google had&nbsp;done.</p>
<p>Around the same time, I posted a blog entry asking <a href="http://kagan.mactane.org/blog/2010/06/22/apple-more-anticompetitive-than-microsoft/">why Apple was still considered a &#8220;good guy&#8221;</a> by geeks. At this point, I feel that question is <em>much</em> more appropriately directed at&nbsp;Google.</p>
<p>Google is no longer the happy, friendly company it once was. It is not a company I can support any more. I&#8217;m deleting my Google+ account, and looking for alternatives to Google Contacts and Calendar (which I&#8217;m really mostly using <a href="http://kagan.mactane.org/blog/2011/04/24/ive-chosen-convenience-over-privacy/">because of my Android smartphone</a>). If you&#8217;re a geek who works for Google? <strong>Leave. Stop being a party to their evil.</strong> I know it takes a few months to find a job in Bay Area tech circles, but with Google on your r&eacute;sum&eacute;, you can surely find something.</p>
<p>But do it now. The way Google is burning out its reputation capital, in a few years having Google on your r&eacute;sum&eacute; may start to look like Microsoft did ten years ago&#8230; and then like having <a href="http://www.ryanbyrd.net/techramble/2007/10/17/dont-hire-laidoff-sco-employees/">SCO on your r&eacute;sum&eacute;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/02/19/a-cute-motto-cant-make-up-for-evil-actions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beware of Optional Curly Braces&#160;&#8212; They Will Bite You</title>
		<link>http://kagan.mactane.org/blog/2012/01/30/beware-of-optional-curly-braces-they-will-bite-you/</link>
		<comments>http://kagan.mactane.org/blog/2012/01/30/beware-of-optional-curly-braces-they-will-bite-you/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:26:51 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bad ideas]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[silly coding tricks]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=441</guid>
		<description><![CDATA[I was looking through some PHP code from a third-party vendor recently, and saw something that made my jaw drop. It&#8217;s pretty innocent-looking, at first. Here&#8217;s a somewhat anonymized and genericized version of the code, but the thing that bothered me is still intact. It&#8217;s not really a bug, per&#160;se; the code will function as [...]]]></description>
			<content:encoded><![CDATA[<p>I was looking through some PHP code from a third-party vendor recently, and saw something that made my jaw drop. It&#8217;s pretty innocent-looking, at first. Here&#8217;s a somewhat anonymized and genericized version of the code, but the thing that bothered me is still intact. It&#8217;s not really a bug, <i>per&nbsp;se</i>; the code will function as intended.&nbsp;But&#8230;</p>
<div class="code">$currentRow = 0;<br />
$itemId = &#8220;&#8221;;<br />
$index = 0;<br />
while ($row = mysql_fetch_object($result)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($currentRow == 10) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renderHeaderRow();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$currentRow = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// takes an itemId and displays relevant columns<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renderSummaryRow($row->itemId);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$currentRow++;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($index > 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemId .=  &#8220;,&#8221;;    # interpolate a comma<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemId .= $row->itemId;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$index++;<br />
}</p></div>
<p>See the problem? Really, there are a few ways this can go wrong. To a quick glance, the only clue that line&nbsp;14 (&#8220;interpolate a comma&#8221;) is part of a conditional is its indentation. The indentation is important to a human reader&nbsp;&mdash; but <strong>absolutely irrelevant</strong> to the PHP interpreter, which simply treats the next line after the conditional as the conditional&#8217;s block. Regardless of how it&#8217;s indented, and regardless of what else is&nbsp;around.</p>
<p><em>The way it looks to a human <strong>is not</strong> the way it looks to the&nbsp;machine.</em></p>
<p>What happens if someone wants to add some logging? What if they add it after the comma&nbsp;line?</p>
<div class="code">if ($index > 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemId .=  &#8220;,&#8221;;    # interpolate a comma<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeLog(&#8220;Added a comma&#8221;);<br />
$itemId .= $row->itemId;<br />
$index++;</div>
<p>Now the log claims the code has added a comma, even when it hasn&#8217;t. But still, it could be worse! What if you decided to add your logging <em>before</em> the other&nbsp;line?</p>
<div class="code">if ($index > 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeLog(&#8220;Adding a comma to itemId&#8230;&#8221;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$itemId .=  &#8220;,&#8221;;    # interpolate a comma<br />
$itemId .= $row->itemId;<br />
$index++;</div>
<p>Now it adds a comma no matter what&nbsp;&mdash; even the first time through the loop, when the string is empty. So instead of a string like <code>'123,124,125'</code>, $itemId will now have a leading comma: <code>',123,124,125'</code>. Since this value is getting stitched into a SQL query later on, it means your app will blow up with a SQL syntax&nbsp;error.</p>
<p>This is why Python makes whitespace significant to program flow. The way the indentation makes it <em>look like</em> the logical structure is, is how the structure <em>actually</em>&nbsp;is.</p>
<p>And this is also why Perl&nbsp;&mdash; of all languages, one that normally errs on the side of letting you leave out anything that can be inferred from context&nbsp;&mdash; <strong>Perl</strong> insists in its syntax documentation that <a href="http://perldoc.perl.org/perlsyn.html#Compound-Statements">in cases like this</a>, &#8220;the curly brackets are <em>required</em>&nbsp;&mdash; no dangling statements allowed.&#8221; (It then says, in typically Perlish fashion: &#8220;If you want to write conditionals without curly brackets there are several other ways to do it.&#8221;)</p>
<p>If you&#8217;re working in one of those languages that lets you omit curly braces around a single-statement conditional&nbsp;&mdash; <strong><em>DON&#8217;T DO IT!</em></strong> The potential maintenance and debugging problems are <em>not</em> worth the fun of saving two keystrokes (or just one, if you work in an editor that auto-closes your braces for&nbsp;you).</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/01/30/beware-of-optional-curly-braces-they-will-bite-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Single Context for All Social Interaction: Merely Quixotic, or Dangerously Misguided?</title>
		<link>http://kagan.mactane.org/blog/2012/01/12/a-single-context-for-all-social-interaction-merely-quixotic-or-dangerously-misguided/</link>
		<comments>http://kagan.mactane.org/blog/2012/01/12/a-single-context-for-all-social-interaction-merely-quixotic-or-dangerously-misguided/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 04:31:59 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bad ideas]]></category>
		<category><![CDATA[don't be ridiculous]]></category>
		<category><![CDATA[geek culture]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[snark]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[the world-wide conversation]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=439</guid>
		<description><![CDATA[I recently read a blog post by Leo Widrich, the co-founder of Buffer, entitled &#8220;Why do we have so many lives?&#8221; In it, Mr. Widrich&#160;says: We have a private life, a public life. We have a work life, a school life, a party life, a love life and I am sure you can name lots [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read a blog post by Leo Widrich, the co-founder of Buffer, entitled &#8220;<a href="http://leostartsup.com/2011/12/why-do-we-have-so-many-lives/">Why do we have so many lives?</a>&#8221; In it, Mr. Widrich&nbsp;says:</p>
<blockquote><p>We have a private life, a public life. We have a work life, a school life, a party life, a love life and I am sure you can name lots of others. <strong>I never understood why.</strong>&#8230; I always felt that it is hard enough to focus on getting one life right. Why create so many? (emphasis&nbsp;added)</p></blockquote>
<p><span id="return1">This guy</span> is a startup founder. I expect he may well be typical of the genus. And so, he makes a great example of why so many startups<a href="#note1">*</a> seem to be promoting the &#8220;single identity&#8221; model. It&#8217;s nice that this guy feels he can have just one life&nbsp;&mdash; though even he admits it&#8217;s hard! But the rest of us <strong>don&#8217;t really want to deal with everyone on the same single&nbsp;channel</strong>.</p>
<p>Mr. Widrich claims that: &#8220;I can walk into a club and speak the same thoughts I have in my head to a girl, as I can to my family. And again I can speak with the same mindset to my co-founder, give an interview or play football.&#8221; Personally, I can&#8217;t help but wonder if that&#8217;s <em>really</em> working out for him. The pitch you use to woo an investor is quite seriously different from the kind you use to woo a woman. The way you talk to your girlfriend is very different from the way you talk to your mother or sister (I sincerely hope!).</p>
<p>In fact, I can&#8217;t help but wonder if this is a manifestation of Asperger&#8217;s Syndrome, or some other failure (or refusal) to understand social interaction. Regardless, it seems like a very clear example of a <a href="http://www.plausiblydeniable.com/opinion/gsf.html">geek-specific sort of fallacy</a> that&nbsp;&mdash; I&#8217;m starting to think&nbsp;&mdash; may underlie the various new systems that try to enforce single identities:</p>
<blockquote><p>Figuring out the rules for social interaction is <em>hard</em>. One of the hardest parts is figuring out <em>which rules</em> apply in <em>what contexts</em>. Wouldn&#8217;t it be great to just have <strong>one context for everything?</strong></p></blockquote>
<p>No. No, it would&nbsp;not.</p>
<p>Most of us react with some consternation when our contexts collide unexpectedly&nbsp;&mdash; for example, meeting a co-worker (or boss!) at the supermarket (or worse, nightclub or bar!). Most of us <em>don&#8217;t want our boss to see us drunk</em>, or trying to pick people up. We don&#8217;t even really want to introduce our boss to our friends and have to try to integrate them into the conversation. Of course, being a startup founder, Mr. Widrich (like guys like Mark Zuckerberg and Larry Page) <strong>doesn&#8217;t have a boss</strong>, and so doesn&#8217;t have to worry about&nbsp;this.</p>
<p>The combination of &#8220;boss privilege&#8221; and &#8220;desire of poorly-socialized people to not have to deal with so many social contexts&#8221; makes a powerful one-two punch, and it may go a long way toward explaining the recent spate of apps that try to enforce single identities. In the meantime, I&#8217;m happily using <a href="https://seesmic.com/seesmic-social/mobile/">Seesmic</a> as my mobile phone&#8217;s Twitter client, because it has <em>excellent</em> support for multiple&nbsp;accounts.</p>
<p><span id="note1">*</span> I include Google and Facebook in this category. They still think they&#8217;re startups, they still think <em>like</em> startups, and they still have the startup culture and mindset, even if they&#8217;ve grown into ginormous corporations.&nbsp;<a href="#return1">^back</a></p>
<div style="margin: 1em 40%; border-bottom: thin groove;"> </div>
<p><strong>An Addendum:</strong> If you think the desire for multiple identities and contexts is just &#8220;an old people issue&#8221;, as <a href="http://www.cenedella.com/job-search/privacy-is-for-old-people-says-linked-in-founder/">LinkedIn CEO Reid Hoffman recently described &#8220;privacy&#8221; in Davos</a>, then ask any teenager: Would you like to hang out with your parents, in the same way you hang out with your friends? How about your&nbsp;teachers?</p>
<p>If you have any doubt what their reaction would be, you don&#8217;t know teenagers very&nbsp;well.</p>
<p>By the way, a word to Mr. Hoffman: Apparently the new common wisdom is that <a href="http://imonlinkedinnowwhat.com/2010/03/18/linkedin-is-for-old-people/">LinkedIn is also</a> <a href="http://www.informationweek.com/thebrainyard/news/social_networking_consumer/231602083">&#8220;for old people&#8221;</a>, so you might want to rethink your company&#8217;s stance on privacy. And quit pissing off your own target&nbsp;market.</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2012/01/12/a-single-context-for-all-social-interaction-merely-quixotic-or-dangerously-misguided/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Failed Goal</title>
		<link>http://kagan.mactane.org/blog/2011/12/31/a-failed-goal/</link>
		<comments>http://kagan.mactane.org/blog/2011/12/31/a-failed-goal/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 21:26:33 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[complaining]]></category>
		<category><![CDATA[geek culture]]></category>
		<category><![CDATA[gender]]></category>
		<category><![CDATA[should have known better]]></category>
		<category><![CDATA[the world-wide conversation]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=430</guid>
		<description><![CDATA[Near the beginning of this year, I published a piece called &#8220;Ada Lovelace Day Is Not Enough&#8220;. In it, I noted that only 8.69% of my 2010 posts had been marked with the &#8220;gender&#8221; tag, and it would be nice to increase that percentage. (But it was still an improvement over 2009&#8242;s 4.76%.) I&#160;said: So [...]]]></description>
			<content:encoded><![CDATA[<p>Near the beginning of this year, I published a piece called &#8220;<a href="http://kagan.mactane.org/blog/2011/01/24/ada-lovelace-day-is-not-enough/">Ada Lovelace Day Is Not Enough</a>&#8220;. In it, I noted that only 8.69% of my 2010 posts had been marked with the &#8220;<a href="http://kagan.mactane.org/blog/tag/gender/">gender</a>&#8221; tag, and it would be nice to increase that percentage. (But it was still an improvement over 2009&#8242;s 4.76%.) I&nbsp;said:</p>
<blockquote><p>So I may be improving&#8230; but I&#8217;ve still got a way to go. If you&#8217;re another man in tech reading this, I tell you what: I&#8217;ll work on improving myself, and the tech field as a whole, if you&#8217;ll do the&nbsp;same.</p></blockquote>
<p>It&#8217;s now the end of 2011. Looking back over my blog activity this year, I see 24 posts, with only two tagged &#8220;gender&#8221;. That marks a slight drop to 8.33%. What&nbsp;happened?</p>
<p>I&#8217;ve had one in the works for months now. (Maybe more than one; there&#8217;s more than enough material.) I started it back in the summer, when I heard about the death threats against Naomi Dunford. In quick succession, before I could marshal my thoughts and words enough, there was the incident where the atheist/skeptic community blew up over SkepChick&#8217;s very <a href="http://skepchick.org/2011/06/about-mythbusters-robot-eyes-feminism-and-jokes/">polite advice on not acting like a scary creep</a> (including Richard Dawkins blatantly <a href="http://www.urbandictionary.com/define.php?term=Show%20your%20ass">showing his ass</a> in a way that also showed off his monumental privilege and the ignorance it&#8217;s brought him), followed by the <a href="http://www.guardian.co.uk/world/2011/nov/05/women-bloggers-hateful-trolling">call for a stop to misogynist trolling</a> and the associated <a href="https://twitter.com/#!/search/%23MenCallMeThings">#MenCallMeThings</a> hashtag on Twitter. (Yes, it&#8217;s still going, and yes, it&#8217;s still worth reading if you want to see what women put up with&nbsp;online.)<span id="more-430"></span></p>
<p>So, frankly&#8230; I just couldn&#8217;t keep&nbsp;up.</p>
<p>Because I don&#8217;t just want to write two or three opinionated paragraphs about these sorts of things. I want to be able to <em>back up what I say</em>. I know that when people try to call out the sexism (or homophobia, or racism) in the tech world, and point out the privilege and the irrational biases that a lot of these (straight, white) guys take for granted, the reactions are not exactly kind. So if I want to say, &#8220;Men in tech are mistreating women, and this needs to stop,&#8221; I need to have a shit-ton of evidence to back up the first half of the&nbsp;sentence.</p>
<p>That&#8217;s why, in my September, 2010 post &#8220;<a href="http://kagan.mactane.org/blog/2010/09/09/blame-the-men-who-are-behaving-badly/">Blame the Men Who Are Behaving Badly</a>&#8220;, I threw in one list that had nearly a dozen links to news items and blog posts and other items around the web, showing that the problem of sexism in the tech industry <em>really is</em> rampant. Pandemic, even. And then I followed that list up with four more links in the next three paragraphs.</p>
<p>I figured that if I got any comments to the effect of, &#8220;It&#8217;s just a few bad apples,&#8221; or &#8220;People are just whining about nothing,&#8221; I could ask what they thought of the content of said links&#8230; and probably make it clear that the questioner hadn&#8217;t actually bothered to read the supporting&nbsp;material.</p>
<p>But that bunch of links represented <strong>a substantial time outlay</strong>, in terms of going out and doing research. And finding the ones that supported my point the best (yes, there were probably four or five times as many pages that I clicked into, read for a bit, and decided it wasn&#8217;t quite a clear enough&nbsp;example).</p>
<p>And also: There was the time outlay to <em>recover psychologically</em> from all that muckraking. Because this research isn&#8217;t like researching, say, product recommendations for a good pair of wireless headphones, or the relative merits of two different books on Medieval calligraphy. Instead, it&#8217;s a deep dive into some <em>really disgusting, asshole behavior</em>. It&#8217;s shining a light into the dark crevices of the IT and FOSS worlds&nbsp;&mdash; and I don&#8217;t like what I see there. I don&#8217;t like knowing that it&#8217;s happening in my chosen professional field. I don&#8217;t like wondering if anyone thinks that, just because I&#8217;m male, I might condone&nbsp;&mdash; or worse, ever participate in!&nbsp;&mdash; any of this&nbsp;bullshit.</p>
<p>And I don&#8217;t like feeling that other members of my very own <em>species</em> are this venal, this pathetic, this detestable.</p>
<p>So after an hour of this kind of research, I&#8217;m beat for three or four hours. It&#8217;s a losing battle, time-wise.</p>
<div class="notice large">And I know that any woman in tech&nbsp;&mdash; or any woman who even <a href="http://borderhouseblog.com/?p=7283">wants to play a multiplayer game online</a>&nbsp;&mdash; has to deal with this shit every goddamn day. They don&#8217;t get to put it down and walk away like I do. I am in awe of their strength of character, even as I&#8217;m sickened by the fact that they&#8217;ve had to develop&nbsp;it.</div>
<p>I do what I can. I wrote: &#8220;I don&#8217;t like knowing that it&#8217;s happening in my chosen professional field.&#8221; Well, that&#8217;s why I keep writing and speaking out, in the hope that some day, <strong>it won&#8217;t happen any more</strong>. I wrote: &#8220;I don&#8217;t like wondering if anyone thinks that, just because I&#8217;m male, I might condone&#8230; any of this bullshit.&#8221; And that&#8217;s another reason why I speak up: Not just so people know where I stand, but also so that I can be an example&#8230; and maybe let some other folks know <strong>they&#8217;re not alone in wanting equality</strong>, and in deploring the behavior that keeps us from having&nbsp;it.</p>
<p>I do what I can. But &#8220;what I can&#8221; has not been enough, not&nbsp;yet.</p>
<div style="margin: 1em 40%; border-bottom: thin groove;"> </div>
<p>Two minor oddities I should point&nbsp;out:</p>
<p><strong>First off:</strong> I wrote an Ada Lovelace Day <a href="http://kagan.mactane.org/blog/2011/03/24/about-amy-hoy/">post about Amy Hoy</a>. That entry was not tagged &#8220;gender&#8221;&nbsp;&mdash; because, honestly, it had nothing to do with gender in any social or political way. It was about Amy Hoy, and her achievements, and how she rocks in areas from coding to teaching to&nbsp;writing.</p>
<p>But my later Ada Lovelace Day <a href="http://kagan.mactane.org/blog/2011/10/07/her-name-is-skud/">post about Skud</a> <em>was</em> gender-tagged&nbsp;&mdash; because Skud&#8217;s accomplishments include having started <a href="http://geekfeminism.wikia.com/wiki/Geek_Feminism_Wiki">the Geek Feminism wiki</a>, and having been a major fighter in the Google+ NymWars (which include a definite portion of unexamined male privilege on the part of the Google execs setting the policy). So gender was an integral part of that write-up.</p>
<p><strong>The second oddity is:</strong> Once I post this, it will bring my numbers to 25, with three of them tagged &#8220;gender&#8221;. That raises my percentage to 12%&nbsp;&mdash; above the 10% bar I set for&nbsp;myself.</p>
<p>But I&#8217;m not giving myself any props for this; it&#8217;s a last-minute, kind of half-assed post. It isn&#8217;t even substantive content; it&#8217;s more of an apologia for why I haven&#8217;t written anything better, combined with some complaining about how research is hard, but doubly so on psychologically-fraught topics like people&#8217;s inhumanity to each&nbsp;other.</p>
<p>So I&#8217;m not excusing myself. I&#8217;m not letting myself off the hook. Look again at the title of this&nbsp;post.</p>
<p>Maybe I can do better next&nbsp;year.</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2011/12/31/a-failed-goal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are We Always New At Everything?</title>
		<link>http://kagan.mactane.org/blog/2011/12/17/are-we-always-new-at-everything/</link>
		<comments>http://kagan.mactane.org/blog/2011/12/17/are-we-always-new-at-everything/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 23:20:09 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[bad ideas]]></category>
		<category><![CDATA[hall of shame]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[the world-wide conversation]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=423</guid>
		<description><![CDATA[The trend in Microsoft&#8217;s products for the past 15 years or more has been toward making things easy for the people who have never used the software before. Of course, as time goes on, there are fewer and fewer of those&#160;people. The Ribbon is introduced in the Help file&#160;thus: And if you&#8217;ve used previous versions [...]]]></description>
			<content:encoded><![CDATA[<p>The trend in Microsoft&#8217;s products for the past 15 years or more has been toward making things easy for the people who have never used the software before. Of course, as time goes on, <em>there are fewer and fewer of those&nbsp;people</em>.</p>
<p>The Ribbon is introduced in the Help file&nbsp;thus:</p>
<blockquote><p>And if you&#8217;ve used previous versions of Word, you&#8217;ll wonder where the menus and toolbars have gone. That&#8217;s the beauty of the Ribbon. No longer do you have to wander through the maze of menus, submenus, and toolbars searching for what you&nbsp;want.</p></blockquote>
<p>No, instead we now have to wander through a bewildering array of Ribbon tabs and drop-down menus. It&#8217;s as if the Office 2007 design team didn&#8217;t realize that everyone who&#8217;s been using Word for more than a year or two <strong>already knows their way around</strong> Word&#8217;s menu structure. It&#8217;s as if someone re-arranged my local neighborhood so that I &#8220;no longer have to wander through&#8221; the streets I already know. Indeed, SecretGeek finds the Ribbon so hard to find things in, he <a href="http://secretgeek.net/ribbonfinder.asp">suggests that the Ribbon should</a> include <em>its own search feature</em> so people can find features that are hidden among all those&nbsp;tabs!</p>
<p>It&#8217;s not just Microsoft. Check out <a href="http://www.qwiki.com">Qwiki, &#8220;the information experience&#8221;</a>. It is very clearly <strong>optimized to look cool in a demo</strong>. A demo, of course, is the ultimate in &#8220;aimed at new users&#8221;&nbsp;&mdash; it&#8217;s aimed at people who <em>aren&#8217;t even users yet</em>, but might <em>become</em> users. And user interface guru Bruce Tognazzini has been <a href="http://www.asktog.com/columns/044top10docksucks.html">decrying the OS&nbsp;X Dock for years</a>, partly on the basis that &#8220;It makes for a great demo, but not a great&nbsp;product.&#8221;</p>
<p class="notice">Interestingly, while I was prepping this post for publication, I became aware of Paul Miller&#8217;s article, &#8220;<a href="http://www.theverge.com/2011/12/9/2616204/the-condescending-ui">The Condescending UI</a>&rdquo;. It excoriates many of the very same problems in Apple&#8217;s and Microsoft&#8217;s recent OSes, saying that &#8220;these new tricks are horrible and offensive. They&#8217;re not only condescending and overwrought, they&#8217;re actually counter-functional.&#8221;</p>
<p>It&#8217;s as if usability tests and design reviews are all conducted with people who have never used the software in question before&#8230; and those who already have some domain knowledge are left out in the cold, forced to <a href="http://kagan.mactane.org/blog/2009/07/27/a-world-where-people-regularly-discard-knowledge/">discard their knowledge every few&nbsp;years</a>.</p>
<p>Are we really always newbies at everything? Or do developers even believe that we are? Or, heck, do <strong>marketers and product managers actually believe that we&#8217;re all still newbies</strong>? Or that there&#8217;s some vast, untapped market of prospective new users out there, just waiting for an even more dumbed-down interface before they&#8217;ll buy their first&nbsp;computer?</p>
<p>Just in case anyone out there believes any of those things, please, let me be the one to disabuse you of the notion. <strong>Anyone who doesn&#8217;t already use a computer is not ever going to.</strong> The only exception here is people under about 10 years old, and they&#8217;re not scared of unfamiliar UIs&nbsp;&mdash; to them, <em>every</em> UI is new, and they&#8217;re eager to learn new things. Stop dumbing things down, and stop sacrificing your long-time users&#8217; skills in the name of changing things just for the hell of&nbsp;it. </p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2011/12/17/are-we-always-new-at-everything/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Can You Strike it Rich in a Startup?</title>
		<link>http://kagan.mactane.org/blog/2011/11/30/can-you-strike-it-rich-in-a-startup/</link>
		<comments>http://kagan.mactane.org/blog/2011/11/30/can-you-strike-it-rich-in-a-startup/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 04:21:52 +0000</pubDate>
		<dc:creator>Kai MacTane</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bad ideas]]></category>
		<category><![CDATA[don't be ridiculous]]></category>
		<category><![CDATA[geek culture]]></category>
		<category><![CDATA[startups]]></category>
		<category><![CDATA[the world-wide conversation]]></category>

		<guid isPermaLink="false">http://kagan.mactane.org/blog/?p=420</guid>
		<description><![CDATA[Startups are known for being places where people work really hard, often at unsustainable paces. &#8220;Work hard, play hard,&#8221; is the oft-invoked slogan, and there are usually foosball tables, game consoles, and other signifiers of fun lying around the office. (How often they get&#160;used is another story; the reality can easily be more like &#8220;work [...]]]></description>
			<content:encoded><![CDATA[<p>Startups are known for being places where people work really hard, often at unsustainable paces. &#8220;Work hard, play hard,&#8221; is the oft-invoked slogan, and there are usually foosball tables, game consoles, and other signifiers of fun lying around the office. (How often they <em>get&nbsp;used</em> is another story; the reality can easily be more like &#8220;work hard, then crash&#8221; or &#8220;work, eat, sleep&#8221;.) But there&#8217;s a logic behind&nbsp;it:</p>
<p>The idea is that you work really hard for a few years, but then there&#8217;s a big payout when your company goes public. In those few years, you can make enough money to live in comfort for quite a while. Or so the story goes. Does it actually happen that&nbsp;way?</p>
<p>Let&#8217;s try a quick experiment: Think of <strong>all the people you know, or have known, who have worked at startups</strong>. If you&#8217;re like me, working as a web developer in the Bay Area, this means &#8220;think of all your past and present co-workers&#8221;, and maybe a fair number of your friends who have worked for startups&#8230; just not the same ones as&nbsp;you.</p>
<p>Okay, total that up. Got a general ballpark number, at least?&nbsp;Great.</p>
<p>Now, how many of those people have actually <strong>gotten the kind of &#8220;big payout&#8221; that lets them live in comfort?</strong> Even for just a few years?<span id="more-420"></span></p>
<p>When I run these numbers for my own circumstances and acquaintances, I come up with roughly two hundred friends and ex-co-workers who&#8217;ve &#8220;done the startup thing&#8221;. <em>None</em> of them have &#8220;struck it rich&#8221; to the point of being able to take even 5 years off from work. One friend made enough money to buy a house, but wasn&#8217;t able to keep up the payments, and wound up back on the rental market again after a few years; he never took more than maybe one year off from&nbsp;working.</p>
<div class="notice">&#8220;What about jwz?&#8221;, I hear you ask. Well, I go dancing at his night club every so often, and I saw him give a talk at <a href="http://www.balug.org/" title="the Bay Area Linux Users' Group">BALUG</a> once back in the late &#8217;90s. Other than that, I&#8217;ve never so much as shaken his hand; he doesn&#8217;t actually qualify as even an acquaintance, much less a&nbsp;friend.</div>
<p>That says to me that &#8220;striking it rich&#8221; as an employee in a startup is <strong>a less than 1-in-200 chance</strong>. And that&#8217;s over the past 15 years, which includes the first Dot-Com Boom. IPOs haven&#8217;t exactly been quite so common in the past few years. Even when they do occur, as with Groupon, they&#8217;re not the spectacular events that we saw with Netscape and Yahoo! back in the&nbsp;day.</p>
<p>And even if your company does have an IPO, it may not get you much. Consider the <a href="http://techcrunch.com/2011/02/13/engineers-startups/#comment-145771680">experiences of this commenter on TechCrunch</a>, who pointed out that &#8220;[E]quity received after dilution is hardly the big exit most people read about. After two exits, the pay out was about equal to 1 bonus check received from big company.&#8221; A reply agreed that he&#8217;d &#8220;been wiped out (ie, diluted basically to bupkiss) three times in 10&nbsp;years.&#8221;</p>
<p>I&#8217;m not saying &#8220;Don&#8217;t work for a startup.&#8221; I&#8217;m just saying that you shouldn&#8217;t count on &#8220;The Big Payout&#8221; as part of the upside, because <strong>it&#8217;s probably mythical</strong>. Sure, the chances are better than those of winning the lottery&nbsp;&mdash; but you give up a lot more to work at a startup than you do to play the&nbsp;lottery.</p>
<p><strong>Addendum:</strong> Just as I was getting this article into final shape for publication, I ran across <a href="http://www.jwz.org/blog/2011/11/watch-a-vc-use-my-name-to-sell-a-con/">this post by none other than the aforementioned jwz</a>, posted two days ago, making a very complementary point. The whole thing is worth reading in its entirety, but if you take only one thing from it, this is the &#8220;money paragraph&#8221;:</p>
<blockquote><p>I did make a bunch of money by winning the Netscape Startup Lottery, it&#8217;s true.  So did most of the early engineers.  But the people who made 100x as much as the engineers did?  I can tell you for a fact that none of <em>them</em> slept under their desk. If you look at a list of financially successful people from the software industry, I&#8217;ll bet you get a very different view of what kind of sleep habits and office hours are successful than the one presented&nbsp;here.</p></blockquote>
<p>But really, read the whole thing. It&#8217;ll take you less than five minutes. Many of the comments are worth reading, too, particularly <a href="http://www.jwz.org/blog/2011/11/watch-a-vc-use-my-name-to-sell-a-con/#comment-98227">the one by Jet</a> and the second reply to it, by Brandon.</p>
]]></content:encoded>
			<wfw:commentRss>http://kagan.mactane.org/blog/2011/11/30/can-you-strike-it-rich-in-a-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

