<?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>Just wondering....</title>
	<atom:link href="http://sworddance.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://sworddance.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 31 Aug 2010 04:43:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pustulance, bile and falsehoods about online privacy from the WSJ</title>
		<link>http://sworddance.com/blog/2010/08/30/pustulance-bile-and-falsehoods-about-online-privacy-from-the-wsj/</link>
		<comments>http://sworddance.com/blog/2010/08/30/pustulance-bile-and-falsehoods-about-online-privacy-from-the-wsj/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 00:01:40 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[political]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://sworddance.com/blog/?p=675</guid>
		<description><![CDATA[The WSJ spewed forth this bit of online privacy pustulance from an alleged &#8220;professor of economics&#8221;, Paul Rubin Paul Rubin&#8217;s falsehoods: Paul Rubin&#8217;s First Falsehood 1) Privacy is free. Many privacy advocates believe it is a free lunch—that is, consumers &#8230; <a href="http://sworddance.com/blog/2010/08/30/pustulance-bile-and-falsehoods-about-online-privacy-from-the-wsj/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://online.wsj.com/article/SB10001424052748704147804575455192488549362.html">The WSJ spewed forth this bit of online privacy pustulance from an alleged &#8220;professor of economics&#8221;, Paul Rubin</a></p>
<p><img align="left" border="10" src="http://sworddance.com/blog/wp-content/uploads/2010/08/Rubin.jpg" alt="mickey mouse professor of economics" /></p>
<p>Paul Rubin&#8217;s falsehoods:</p>
<p><strong>Paul Rubin&#8217;s First Falsehood</strong></p>
<blockquote><p>1) Privacy is free. Many privacy advocates believe it is a free lunch—that is, consumers can obtain more privacy without giving up anything. Not so. There is a strong trade-off between privacy and information: The more privacy consumers have, the less information is available for use in the economy. Since information helps markets work better, the cost of privacy is less efficient markets.</p></blockquote>
<p>Its not that &#8220;privacy is free&#8221; anymore than &#8220;freedom is free&#8221;. Privacy is the right to not be watched all the time. Clearly the groups working on privacy are expending time and energy. Does not sound free to me. </p>
<p>But lets take a closer look at the fallacies.</p>
<p><em>Fallacy #1.1 : &#8220;consumer privacy means the economy has less information&#8221; and &#8220;information helps the markets work better&#8221;. </em></p>
<p>Paul does not make a case that the consumers&#8217; private information is <em>the</em> information needed to make the markets work. He just says consumers give less information and that information is needed for an efficient economy.</p>
<p><em>Fallacy #1.2: &#8220;helps&#8221;</em></p>
<p>How much value is derived from the consumers private information? Notice that Paul himself is fudging with that wussy word &#8220;helps&#8221;. Does the economy function 10% less efficient? 5%? 3%? What exactly is the realized benefit to the economy? </p>
<p><em>Fallacy #1.3: The consumer realizes some benefit</em></p>
<p>Does the consumer giving up the information realize any tangible value? Or is the economic value realized only to the recipient of the information. Most transactions involve an exchange of value. Does the consumer realize anything of value? How many sites ask for private information and then offer nothing useful. Or worse turn out to be scam sites.</p>
<p><strong>Paul Rubin&#8217;s Second Falsehood</strong></p>
<blockquote><p>2) If there are costs of privacy, they are borne by companies. Many who do admit that privacy regulations restricting the use of information about consumers have costs believe they are born entirely by firms. Yet consumers get tremendous benefits from the use of information.</p>
<p>Think of all the free stuff on the Web: newspapers, search engines, stock prices, sports scores, maps and much more. Google alone lists more than 50 free services—all ultimately funded by targeted advertising based on the use of information. If revenues from advertising are reduced or if costs increase, then fewer such services will be provided.</p></blockquote>
<p><em>Fallacy 2.1: Uncle Sam is counting on you! Give up your privacy or the world will end!!</em></p>
<p>This assertion is simply ludicrous. I know it is sooooo last century, but does anyone remember broadcast TV? maybe radio? Did everyone remember to &#8220;register&#8221; with your favorite FM station before listening to the free music?</p>
<p>Of course not! Did the advertisers refuse to advertise on radio for the last 70 years because they didn&#8217;t have targeted information about the listeners? How about newspapers? Of course not!</p>
<p>Clearly the economy managed to function quite well without demanding private information from consumers.</p>
<p><em>Fallacy 2.2: News flash: advertising revenue is already down. And it ain&#8217;t because of privacy groups.</em></p>
<p>The basic economics of online advertising is flawed. There is simply so many places to display ads that the value of each display ad even on a popular site like Facebook is in the range of about $0.00002 ( yes, Dorothy much less than a penny) And this is for a site like Facebook which has a lot of private information about its users.</p>
<p><em>Fallacy 2.3: News flash: Advertisers can use the information</em></p>
<p>Reality here is that most ad buyers still have very limited mechanisms to segment their target audience: sex, approximate age and that is about it.</p>
<p>All that detailed information the consumer is being asked to give up? for the most part unused.</p>
<p><em>Fallacy 2.4 The companies depend on the information they are gathering to make enough money to stay in business and without the information the companies will disappear.</em></p>
<p>Completely without substance. Companies that fold in Silicon Valley go out of business for many reasons. The most common reason is spending all the invested capital before figuring out how they will make money. Viable internet companies don&#8217;t go out of business. Once an internet business becomes cashflow positive, the company is successful. Consumer privacy issues have never changed a viable internet business into a failure. The more usual case is that in spite of gathering all this private information, the company couldn&#8217;t figure out how to make money with the information.</p>
<p><strong>Paul Rubin&#8217;s Third Falsehood</strong></p>
<blockquote><p>3) If consumers have less control over information, then firms must gain and consumers must lose. When firms have better information, they can target advertising better to consumers—who thereby get better and more useful information more quickly. Likewise, when information is used for other purposes—for example, in credit rating—then the cost of credit for all consumers will decrease.</p></blockquote>
<p><em>Fallacy 3.1: Fallacy of the win-lose by implication scenario: &#8220;consumers have less control over information, then firms must gain and consumers must lose.&#8221; </em><br />
<img align="right" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/AdamSmith.jpg/200px-AdamSmith.jpg" /><br />
Paul is arguing the inverse here. He is implying a falsehood, if &#8220;consumers have more control over information, then firms must LOSE&#8221;. Apparently, Paul can not imagine a scenario where firms manage to function without the consumers&#8217; private information. Paul really needs to revisit the economic history of this country. Maybe <a href="http://en.wikipedia.org/wiki/Adam_Smith" rel="nofollow">Adam Smith</a> can help him out. Once again, the economy managed to function without privacy being invaded.</p>
<p><em>Fallacy 3.2 Red Herring: Credit scores are not an online privacy issue. </em></p>
<p>Credit gathering for the purpose of issuing loans are a specific transactions already covered by consumer law.  Online privacy is all about information gathering that is not needed for a specific immediate transaction.</p>
<p><strong>Paul Rubin&#8217;s Fourth Falsehood</strong></p>
<blockquote><p>4) Information use is &#8220;all or nothing.&#8221; Many say that firms such as Google will continue to provide services even if their use of information is curtailed. This is sometimes true, but the services will be lower-quality and less valuable to consumers as information use is more restricted.</p>
<p>For example, search engines can better target searches if they know what searchers are looking for. (Google&#8217;s &#8220;Did you mean . . .&#8221; to correct typos is a familiar example.) Keeping a past history of searches provides exactly this information. Shorter retained search histories mean less effective targeting.</p></blockquote>
<p><em>Fallacy 4.1: Google does not need past history to correct a search. </em></p>
<p>I have search history turned off. And I have had no problems. If this is indeed such a problem for google, then every library patron who searches the internet from a public computer must have this &#8220;problem&#8221;. After all my search for &#8220;butterflies&#8221; is going to be blended with the search history of every other library patron.</p>
<p><em>Fallacy 4.2: The &#8220;lower&#8221; quality is some how meaningful</em></p>
<p>At a certain point, additional precision is meaningless. For example, if you ask your kids where they are, is it really more useful if they reply &#8220;I am 3.4 meters from the front door facing to 3degrees to the north, sitting down.&#8221; or if they say &#8220;I am at home&#8221;.</p>
<p><strong>Paul Rubin&#8217;s Fifth Falsehood</strong></p>
<blockquote><p>5) If consumers have less privacy, then someone will know things about them that they may want to keep secret. Most information is used anonymously. To the extent that things are &#8220;known&#8221; about consumers, they are known by computers. This notion is counterintuitive; we are not used to the concept that something can be known and at the same time no person knows it. But this is true of much online information.</p></blockquote>
<p><em>Fallacy 5.1 &#8220;Anonymous data&#8221;</em></p>
<p>It is relatively easy to deanonymize data. <a href="http://www.google.com/search?hl=en&#038;q=de+anonymizing+personal+data+netflix&#038;spell=1">Netflix was forced to cancel their second planned contest because it was demonstratively easy to deanonymize the Netflix data</a>. This was in spite of Netflix doing their best to prevent exactly that. So a motivated company trying to anonymize can&#8217;t do so. A less motivated company is going to do better? </p>
<p><em>Fallacy 5.2 Deanonymizing takes a lot of effort.</em></p>
<p>In fact, <a href="http://ephemerallaw.blogspot.com/2010/03/netflix-fails-data-anonymization.html">zip code, age, gender deanonymizes 87% of all data</a>. Anyone asking &#8220;Happy birthday! How old are you?&#8221; at your birthday party has enough information.  <a href="http://www.wired.com/threatlevel/2009/12/netflix-privacy-lawsuit/">Netflix is now facing a lawsuit about this.</a></p>
<blockquote><p>The suit is also asking the court to stop Netflix from launching its promised second contest  to improve the recommendations — this time giving out user data that includes ZIP codes, ages and gender, along with movie ratings and ID numbers substituted for user names.</p>
<p>That’s a foolish idea on Netflix’s part, according to University of Colorado law professor Paul Ohm, who in a blog post in September called the idea “a privacy blunder that could cost millions of dollars in fines and civil damages.” Ohm, a former Justice Department lawyer, recently authored a legal paper calling into question the practice of anonymizing data, essentially finding that if data is useful to researchers, it could also, by definition, be re-identified.</p>
<p><a href="http://www.wired.com/threatlevel/2009/12/netflix-privacy-lawsuit/#ixzz0y8Qj3Prk">Read More</a></p></blockquote>
<p>I think Netflix would disagree with Paul Rubin. </p>
<p><strong>Paul Rubin&#8217;s Sixth Falsehood</strong></p>
<blockquote><p>6) Information can be used for price discrimination (differential pricing), which will harm consumers. For example, it might be possible to use a history of past purchases to tell which consumers might place a higher value on a particular good. The welfare implications of discriminatory pricing in general are ambiguous. But if price discrimination makes it possible for firms to provide goods and services that would otherwise not be available (which is common for virtual goods and services such as software, including cell phone apps) then consumers unambiguously benefit.</p></blockquote>
<p><em>Fallacy 6.1 Price discrimination is o.k. no matter what it is based on.</em></p>
<p>Paul Rubin is willfully ignoring <a href="http://en.wikipedia.org/wiki/Redlining" rel="nofollow">Redlining</a>:</p>
<blockquote><p>Redlining is the practice of denying, or increasing the cost of, services such as banking, insurance, access to jobs, access to health care, or even supermarkets to residents in certain, often racially determined, areas. </p>
<p>The term &#8220;redlining&#8221; describes the practice of marking a red line on a map to delineate the area where banks would not invest; later the term was applied to discrimination against a particular group of people (usually by race or sex) no matter the geography. During the heyday of redlining, the areas most frequently discriminated against were black inner city  neighborhoods. Through at least the 1990s this practice meant that banks would often lend to lower income whites but not to middle or upper income blacks.</p>
<p>Reverse redlining occurs when a lender or insurer particularly targets minority consumers, not to deny them loans or insurance, but rather to charge them more than would be charged to a similarly situated majority consumer.</p></blockquote>
<p>Paul Rubin, as a economics professor you should know about Redlining.</p>
<p><strong>Paul Rubin&#8217;s Seventh Falsehood</strong></p>
<blockquote><p>7) If consumers knew how information about them was being used, they would be irate. When something (such as tainted food) actually harms consumers, they learn about the sources of the harm. But in spite of warnings by privacy advocates, consumers don&#8217;t bother to learn about information use on the Web precisely because there is no harm from the way it is used.</p></blockquote>
<p><em>Fallacy 7.1 Consumers understand and are willing participants in giving up their privacy.</em></p>
<p>The <a href="http://www.nytimes.com/2010/05/13/technology/personaltech/13basics.html">Facebook privacy policy is longer than the U.S. Constitution</a>:</p>
<blockquote><p>If you guessed the latter, you’re right. Facebook’s Privacy Policy is 5,830 words long; the United States Constitution, without any of its amendments, is a concise 4,543 words. </p></blockquote>
<p>Considering how vague the Facebook policy is, most consumers have no idea what the meaning of the policy is.</p>
<p><em>Fallacy 7.2 : Ignorance means permission.</em></p>
<p>Presuming that consumer ignorance is because there is no harm is a huge leap. The consumer has no ability to ask Google, Netflix, or Yahoo for an exact list of who got their information. No phone number to call, no email address that will be responded to. Even a motivated consumer is in the dark.</p>
<p><strong>Paul Rubin&#8217;s Eighth Falsehood</strong></p>
<blockquote><p>8 ) Increasing privacy leads to greater safety and less risk. The opposite is true. Firms can use information to verify identity and reduce Internet crime and identity theft. Think of being called by a credit-card provider and asked a series of questions when using your card in an unfamiliar location, such as on a vacation. If this information is not available, then less verification can occur and risk may actually increase.</p></blockquote>
<p><em>Fallacy 8.1 Gathering information reduces fraud.</em></p>
<p>The opposite is true. By having more private information stored on more computers at more companies there are more opportunities for hackers to gain access to the information. The hackers only need to penetrate the company with the weakest security. </p>
<p><strong>Paul Rubin&#8217;s Ninth Falsehood</strong></p>
<blockquote><p>9) Restricting the use of information (such as by mandating consumer &#8220;opt-in&#8221;) will benefit consumers. In fact, since the use of information is generally benign and valuable, policies that lead to less information being used are generally harmful.</p></blockquote>
<p><em>Fallacy 9.1 :  &#8220;The information is valuable but not really.&#8221;</em></p>
<p>If the information is so valuable, why shouldn&#8217;t consumers be allowed to protect it?</p>
<p><strong>Paul Rubin&#8217;s Tenth Falsehood</strong></p>
<blockquote><p>10) Targeted advertising leads people to buy stuff they don&#8217;t want or need. This belief is inconsistent with the basis of a market economy. A market economy exists because buyers and sellers both benefit from voluntary transactions. If this were not true, then a planned economy would be more efficient—and we have all seen how that works.</p></blockquote>
<p><em>Fallacy 10.1 Advertising doesn&#8217;t work!</em></p>
<p>Do I really need to say more? Advertising has no ability to induce demand. Women with 300 pairs of shoes really need and want 300 pairs of shoes.</p>
<p><strong>Paul Rubin&#8217;s Upcoming Falsehood!</strong></p>
<p>Coming next week, Paul Rubin will write an article about the evils of cash purchases. Paul will explain how cash purchases deprive desperately poor banks of needed purchase information.</p>
<p>I might add more later but enough with the pustulance!</p>
<p>Update ( 30 aug 2010 ) : <a href="http://www.nytimes.com/2010/08/30/technology/30adstalk.html?_r=1">Apparently the NYTimes has noticed that consumers really do care about online privacy</a>:</p>
<blockquote><p>“Retargeting has helped turn on a light bulb for consumers,” said Jeff Chester, a privacy advocate and executive director of the Washington-based Center for Digital Democracy. “It illustrates that there is a commercial surveillance system in place online that is sweeping in scope and raises privacy and civil liberties issues, too.” </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/08/30/pustulance-bile-and-falsehoods-about-online-privacy-from-the-wsj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to do variable/conditional SQL sorting order of results</title>
		<link>http://sworddance.com/blog/2010/07/25/how-to-do-variableconditional-sql-sorting-order-of-results/</link>
		<comments>http://sworddance.com/blog/2010/07/25/how-to-do-variableconditional-sql-sorting-order-of-results/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 18:48:49 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[help notes]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=657</guid>
		<description><![CDATA[I was jazzed today. I figured out how to conditional order of SQL results. Specifically being able to vary change the sorting order within the results based on a database field. Specifically, Create two tables Main and Secondary create table &#8230; <a href="http://sworddance.com/blog/2010/07/25/how-to-do-variableconditional-sql-sorting-order-of-results/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was jazzed today. I figured out how to conditional order of SQL results. Specifically being able to vary change the sorting order within the results based on a database field. </p>
<p>Specifically, </p>
<ol>
<li>Create two tables <em>Main</em> and <em>Secondary</em>
<ul>
<li><code>create table Main ( ID bigint, ordering varchar(3));</code></li>
<li><code>create table Secondary ( Main_ID bigint, Secondary_Value bigint);</code></li>
</ul>
<li>Insert Values:
<ul>
<li><code>insert into Main (ID, ordering) values (1, 'u'),(2,'d'),(3,'n');</code></li>
<li><code>insert into Secondary (Main_ID, Secondary_Value) values ( 1, 11),(1,21),(1,41),(1,31),(1,71),(1,61),(1,51),(2,62),(2,42),(2,82), ( 3,3), (3, 1), (3, 5);</code></li>
</ul>
</li>
<li>Create a query that orders the results by Main.ID, Secondary.Secondary_Value based on Main.ordering value. If the Main.ordering is:
<ul>
<li>&#8216;u&#8217; then the corresponding Secondary_Value is ordered ascending,</li>
<li>&#8216;d&#8217; then the corresponding Secondary_Value is ordered descending,</li>
<li>&#8216;n&#8217; then the corresponding Secondary_Value is unordered</li>
</ul>
</li>
</ol>
<p>The solution is:</p>
<blockquote><p><code>select * from Main join Secondary on ( Main.ID = Secondary.Main_ID ) order by Main.ID, (case MAIN.ordering when 'u' then 1 when 'd' then -1 else 0 end) * Secondary.Secondary_Value;</code></p></blockquote>
<pre>
+------+----------+---------+-----------------+
| ID   | ordering | Main_ID | Secondary_Value |
+------+----------+---------+-----------------+
|    1 | u        |       1 |              11 |
|    1 | u        |       1 |              21 |
|    1 | u        |       1 |              31 |
|    1 | u        |       1 |              41 |
|    1 | u        |       1 |              51 |
|    1 | u        |       1 |              61 |
|    1 | u        |       1 |              71 |
|    2 | d        |       2 |              82 |
|    2 | d        |       2 |              62 |
|    2 | d        |       2 |              42 |
|    3 | n        |       3 |               1 |
|    3 | n        |       3 |               5 |
|    3 | n        |       3 |               3 |
+------+----------+---------+-----------------+
13 rows in set (0.00 sec)
</pre>
<p>Variable ordering within a single result set! woo-hoo!</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/07/25/how-to-do-variableconditional-sql-sorting-order-of-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User-Generated Content? Do not use BurstNET</title>
		<link>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/</link>
		<comments>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 23:54:04 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=649</guid>
		<description><![CDATA[A hosting provider, BurstNet, shut down a wordpress hosting service, Blogetery.com, last week. This is an example of egregious abuse of power by BurstNET against Blogetery.com. Blogetery.com hosts 70,000 wordpress blogs. Apparently, a few of those blogs had &#8220;an al-Qaeda &#8230; <a href="http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">A hosting provider, BurstNet, shut down a wordpress hosting service, Blogetery.com, last week</a>.  </p>
<p><a href="http://www.readwriteweb.com/archives/burstnet_statement_links_blogetery_to_al-qaeda.php">This is an example of egregious abuse of power by BurstNET against Blogetery.com</a>. <a href="http://Blogetery.com/">Blogetery.com</a> hosts 70,000 wordpress blogs. Apparently, a few of those blogs had &#8220;an al-Qaeda hit list&#8221; and &#8220;bomb-making&#8221; instructions on them. So for the <em>possible</em> sins of a few, 69,999 innocent blogs are shutdown with no recourse. </p>
<p><a href="https://www.burst.net/news/blogetry.shtml">You can read BurstNet&#8217;s lame press release here</a>.</p>
<p>Any web service that allows user-generated content ( so pretty much any site that isn&#8217;t a static site) would be subject to a draconian response by BurstNET. What is especially egregious is that BurstNet is not letting Blogetery get access to any of Blogetery&#8217;s data!</p>
<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">Continuing, from the New York Times Bits blog,</a>:</p>
<blockquote><p>And Kurt Opsahl, a staff attorney for the Electronic Frontier Foundation, a digital rights group, said the “tragedy is that thousands of blogs will be taken offline for no good reason.”</p>
<p>Mr. Yusupov said he had backed up some of the blogging site’s data, but not all. And he said he was trying to negotiate with BurstNet to get the data so he could restart the blogging site with another hosting service. “This has been a big hassle for me,” he said.</p></blockquote>
<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">In the New York Times Bits blog,</a>:</p>
<blockquote><p>Mr. Marr of BurstNet said the Blogetery server did “not get a lot of use or traffic,” suggesting the number of active users of the free blogging site was probably a tiny fraction of the 73,000 Blogetery claimed.</p></blockquote>
<p>So basically, Blogetery is a small business and is therefore &#8220;not important&#8221;. Important news to any small business considering using BurstNet: </p>
<blockquote><p>BurstNET thinks small businesses are not important</p></blockquote>
<p>Stay away, stay away! You cannot run a business where at the arbitrary whim of the hosting provider you can be shutdown, especially if the hosting provider will not supply your data so you can go elsewhere!</p>
<p><a href="http://www.sworddance.com/blog/2009/08/17/dont-let-the-lawyers-run-the-business/">For similar reason, I stayed away from GoGrid (and now BurstNet).</a></p>
<p>Update ( 28 July 2010 ) :</p>
<p><a href="http://news.cnet.com/8301-31001_3-20011471-261.html">A last interesting point from CNET about how Burst.NET feels about their customers&#8217; data (aka don&#8217;t use Burst.Net for mission-critical purposes)</a>:</p>
<blockquote><p>Joe Marr, chief technology officer of Burst.net, stressed again that the reason for the service termination was that the materials the FBI <em>alleges</em> belonged to terrorists are a violation of Burst.net&#8217;s terms of service. He noted that typically, <strong>Burst.net does not return data to customers booted for TOS violations</strong>. </p></blockquote>
<p>Violations of the Burst.NET Terms of Service result is losing all your data! </p>
<p>Excuse me????</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Britian cancels runways because of global warming concerns</title>
		<link>http://sworddance.com/blog/2010/07/03/britian-cancels-runways-because-of-global-warming-concerns/</link>
		<comments>http://sworddance.com/blog/2010/07/03/britian-cancels-runways-because-of-global-warming-concerns/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 10:16:10 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[high-speed-rail]]></category>
		<category><![CDATA[political]]></category>
		<category><![CDATA[transportation]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=634</guid>
		<description><![CDATA[Its time to give up &#8220;binge flying&#8221; says the Conservative government: “The emissions were a significant factor” in the decision to cancel the runway-building plans, Teresa Villiers, Britain’s minister of state for transport, said in an interview. “The 220,000 or &#8230; <a href="http://sworddance.com/blog/2010/07/03/britian-cancels-runways-because-of-global-warming-concerns/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nytimes.com/2010/07/02/science/earth/02runway.html">Its time to give up &#8220;binge flying&#8221; says the Conservative government</a>:</p>
<blockquote><p>“The emissions were a significant factor” in the decision to cancel the runway-building plans, Teresa Villiers, Britain’s minister of state for transport, said in an interview. “The 220,000 or so flights that might well come with a third runway would make it difficult to meet the targets we’d set for ourselves.” She said that local environmental concerns like noise and pollution around Heathrow also weighed into the decision.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/07/03/britian-cancels-runways-because-of-global-warming-concerns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If you don&#8217;t vote, your opinion doesn&#8217;t matter. And sometimes you shouldn&#8217;t vote</title>
		<link>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/</link>
		<comments>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 17:00:42 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[political]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=632</guid>
		<description><![CDATA[(This post is related to management I promise! ) Robert Cruickshank over at the California HSR Blog whines about Palo Alto&#8217;s &#8220;undemocratic&#8221; democratic process: In short, it is becoming increasingly clear that Palo Alto’s planning and citizen engagement process is &#8230; <a href="http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(This post is related to management I promise! )</p>
<p><a href="http://www.cahsrblog.com/2010/06/palo-altos-unrepresentative-citizen-engagement-process-distorts-hsr-realities/" rel="nofollow">Robert Cruickshank over at the California HSR Blog whines about Palo Alto&#8217;s &#8220;undemocratic&#8221; democratic process</a>:</p>
<blockquote><p>In short, it is becoming increasingly clear that Palo Alto’s planning and citizen engagement process is a failure, distorting true public opinion by favoring a small, vocal elite at the expense of a silent majority whose opinions are much more supportive of new density and new transportation solutions – but whose voices are rarely ever included in the city’s planning process.</p></blockquote>
<p>Of course, our democratic process requires energy and participation. There are lots of people who chose not to vote because their vote &#8220;will not be effective&#8221;.</p>
<p>Most people are uninformed about this issue, do not ride transit, or have no idea how to build transit effectively. Their opinion should not count as much as the people who are taking the time to inform themselves and to be involved.</p>
<p><em>If someone is not involved, their opinion is probably uninformed and negative.</em></p>
<p><strong>Meetings to planning a company project can be just as bad.</strong></p>
<p>Uninformed people should not be part of the process(<sup>see below</sup>). In<br />
<a href="http://www.inc.com/magazine/20100201/a-little-less-conversation.html" rel="nofollow">an old Inc. article, Joel</a>:</p>
<blockquote><p>When was the last time you scheduled a meeting and invited eight people instead of the three people who really needed to be there simply because you didn&#8217;t want anyone to feel left out?</p>
<p>When was the last time you sent a companywide e-mail that said something like, &#8220;Hey, attention coffee drinkers: If you finish the pot, make another!&#8221; even though there is actually only one person who violates this rule (and she&#8217;s your co-founder)?</p>
<p>When was the last time you got into a long discussion over the color palette for the new brochure with a programmer, who has nothing to do with the brochure but sure knows that he doesn&#8217;t like orange?</p>
<p>These are symptoms of a common illness: too much communication.</p></blockquote>
<p><em>(&#8220;below&#8221;)</em><br />
However, I disagree with Joel&#8217;s assertion that only people whose vote counts should be allowed to attend meetings. Decisions with no visible process result in no buy-in. While a company is not a democracy, and a city is not a company both should learn from each other.</p>
<p>What a company can learn from a city:</p>
<ol>
<li><em>Process does matter.</em> Process means consistency and reliability in how decisions are being made. People know how to voice their opinion. They know that there is a means and method for voicing their opinion. Instead of voicing opinion in an adhoc, disruptive manner &#8211; they can wait until the allocated time. </li>
<li><em>Only some people get a vote.</em> Many people can show up to a city council to express their opinion, but only city council members get a vote. In company meeting, discussion can include everyone &#8211; but predecided ( and preannounce! ) who&#8217;s vote will be counted. For example, if a developer is trying to decide who to best implement a feature. Only his/her, the CTO&#8217;s, QA&#8217;s and customer service rep&#8217;s votes are counted. Others who are not involved, do not get to vote. They can express their opinion but they are not a decision maker (for this issue). Only people expending effort or where the decision has a material impact on their job should be counted.</li>
<li><em>Representatives get &#8220;elected&#8221;</em>. Allow some self-selection in the process. Try to allow the lead representative to be selected by people other than managers. If a developer selected to be the lead in a project makes a decision, this makes it easier for the decision to be respected.</li>
<li><em>Make the discussion observable and inclusive</em> While only some people get a vote, allowing others to learn from the process of making a decision prepares those observers to step into their own decision-making role. It also allows them to take knowledge from one decision-making group to another.</li>
</ol>
<p>What a city can learn from a company:</p>
<ol>
<li><em>Require an energy expenditure to participate.</em> A meeting should only be open to people who have attended the last 5 meetings.</li>
<li><em>Allow adhoc representation.</em> Allow people to represent adhoc groups. For example, allow a person to collect 10+ signatures of his neighbors giving him/her proxy authority to voice their collective opinion. Require that this adhoc representative keep the people she is representing informed of the progress and results. (With power should come responsibility).</li>
<li><em>Allow weighted voting.</em> In a company, the CTO&#8217;s vote counts more than a lowly developer. When voting for a company&#8217;s board of directors&#8217;, shareholders have a vote based on number of shares not a one vote per shareholder. In a city planning process, the &#8220;vocal&#8221; minority may represent no one other than themselves. Let the &#8220;vocal minority&#8221; collect proxy signatures to indicate how strongly their &#8220;silent&#8221; neighbors (who can&#8217;t participate) trust the &#8220;vocal&#8221; people to represent the &#8220;silent&#8221; majorities best interest. The more signatures, the more strongly a &#8220;vocal&#8221; representative&#8217;s vote/opinion should count. Allow certain signatures to be more valuable than others based on the issue. For example, distance to a housing project, transit user&#8217;s opinion on a transit project, etc.</li>
</ol>
<p>Update:</p>
<p>Lastly, learn when you should not vote or participate.</p>
<ol>
<li>If you personally do not have any direct, meaningful, unique knowledge: don&#8217;t participate. Observing is o.k. &#8211; voicing a &#8220;I agree&#8221; content-free vocalization is not o.k.</li>
<li>If you don&#8217;t have the time to stay involved: don&#8217;t sign up and then drop out.</li>
<li>If an issue has no one who cares: then the decision can be made by a single person. Others should insist that that single person make the decision. The sole decision-maker should not need the CYA of a &#8220;group vote&#8221;.</li>
<li>If you cannot expend effort on the solution, then don&#8217;t vote. Note that &#8220;effort&#8221; does not mean &#8220;coding&#8221; or &#8220;making&#8221;</li>
<li>If the decision will not effect how hard your job is, then don&#8217;t vote. If the decision does meaningfully effect your job then you <em>must</em> participate and must vote.</li>
</ol>
<p>There is this temptation to dismiss the concerns of Customer Service or QA people as being less important than that of the development team. This is ass-backwards.</p>
<p>A Customer Service rep will have to deal daily with a bad development decision. Their job satisfaction, their ability to deliver happy customers is daily determined by developers decisions. They must be allowed to participate and must be given a strong voice.</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where to start learning Java if you are a PHP person?</title>
		<link>http://sworddance.com/blog/2010/06/09/where-to-start-learning-java-if-you-are-a-php-person/</link>
		<comments>http://sworddance.com/blog/2010/06/09/where-to-start-learning-java-if-you-are-a-php-person/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 20:07:37 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=630</guid>
		<description><![CDATA[Over at StackOverflow, the question was asked : Where to start with Java when coming from PHP? PHP5 has the concept of objects, interfaces and exceptions. These are similar enough to Java&#8217;s version of objects, interfaces and exceptions for basic &#8230; <a href="http://sworddance.com/blog/2010/06/09/where-to-start-learning-java-if-you-are-a-php-person/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com/questions/3002701/where-to-start-learning-java" rel="nofollow">Over at StackOverflow, the question was asked : Where to start with Java when coming from PHP?</a></p>
<p><a href="http://php.net/manual/en/language.oop5.php">PHP5 has the concept of objects, interfaces and exceptions.</a> These are similar  enough to Java&#8217;s version of objects, interfaces and exceptions for basic learning purposes.</p>
<p>Once you get the PHP5 equivalent understood then crossover to Java.</p>
<p>Since everyone starts with a Hello world program,</p>
<ol>
<li>Set up eclipse (J2EE version)</li>
<li>Use the Java tooling to create a new class that is your Hello world.</li>
<li>Figure out the basics of debugging with eclipse</li>
<li>Figure out the basics of objects, interfaces, exceptions and inheritance.</li>
<li>Understand the basic language differences PHP vs. Java&#8217;s</li>
<li>Understand the differences between a static typed language and the dynamic-typed languages that you are used to.</li>
<li>Learn the classes in java.lang.* and java.util.* packages.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/09/where-to-start-learning-java-if-you-are-a-php-person/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>why people bother to interview here &#8211; if you can&#8217;t teach (Part 2)</title>
		<link>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/</link>
		<comments>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 17:11:08 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=624</guid>
		<description><![CDATA[Part 1 was a technical question that I ask because so many &#8220;strong&#8221; developers cannot answer that technical Java question. Part 2, is more about the valuable soft skill of teaching. One of my standard questions that candidates constantly struggle &#8230; <a href="http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sworddance.com/blog/2005/12/22/why-people-bother-to-interview-here-part-1/">Part 1 was a technical question that I ask because so many &#8220;strong&#8221; developers cannot answer that technical Java question.</a> Part 2, is more about the valuable soft skill of teaching.</p>
<p>One of my standard questions that candidates constantly struggle with is the most simple and yet the most subtle:</p>
<blockquote><p>Teach me something you know.</p></blockquote>
<p>If a candidate cannot teach &#8220;something&#8221;, then they have not completely thought through and learned the subject. Someone who claims to be &#8220;strong&#8221; in Java, databases, or cooking is only strong if they can articulate the core essence of their knowledge in a way that a beginner can understand.</p>
<p>When developing code at a startup, a good &#8220;teacher&#8221;:</p>
<ul>
<li>understands that it is the teacher&#8217;s responsibility to reach the student. If the student doesn&#8217;t understand, then a good &#8220;teacher&#8221; patiently retries until the student does understand. In a startup, the &#8220;student&#8221; is a new hire, a sales person or the customer;</li>
<li>writes excellent code comments (for the student),</li>
<li>is patient and not egotistic when others don&#8217;t &#8220;get it&#8221;;</li>
<li>can articulate their own problems so that others can help;</li>
<li>can give presentations to non-technical people;</li>
<li>is empathic;</li>
<li>is motivated to do their own learning.</li>
<li>is enthusiastic</li>
</ul>
<p>So what can you teach?</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-threaded Homework Problem</title>
		<link>http://sworddance.com/blog/2010/06/01/multi-threaded-homework-problem/</link>
		<comments>http://sworddance.com/blog/2010/06/01/multi-threaded-homework-problem/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 17:43:27 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=613</guid>
		<description><![CDATA[Occasionally I have been asked about learning multithreaded programming. My standard suggested problem is to create a &#8220;simplistic&#8221; TCP/IP block ordering library. This is a variant of the standard producer/consumer problem that shows up in interviews. This problem is a &#8230; <a href="http://sworddance.com/blog/2010/06/01/multi-threaded-homework-problem/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Occasionally I have been asked about learning multithreaded programming. </p>
<p>My standard suggested problem is to create a &#8220;simplistic&#8221; TCP/IP block ordering library. This is a variant of the standard producer/consumer problem that shows up in interviews. This problem is a standard multiple-producer/multiple-consumer problem with a twist and goes way beyond what can be handled in an interview. </p>
<p><em><strong>Problem #1</strong></em></p>
<p>Use case:</p>
<ul>
<li>each block as a conversation Id and a sequence id within the conversation. </li>
<li>All blocks are received on a single queue.</li>
<li>Blocks are separated by conversation and then ordered by sequence number.</li>
<li>Blocks arrive semi-random order &#8211; the sequence id will be within +/-2 of the previous block (in the same conversation)&#8217;s sequence id. But there will be no gaps in the sequence id for a given conversation.</li>
<li>sequence id 0 starts the conversation, sequence id 99 ends the conversation</li>
</ul>
<p>Sample sequence: (1,0), (1,2), (2,0), (1,3), (2,2), (1,1), (2,1), &#8230;.  </p>
<p><em><strong>Problem #2:</strong></em></p>
<p>Extending Problem #1 with these additional requirements:</p>
<ul>
<li>Conversations where the 0 block has not been seen are discarded.</li>
<li>Blocks may be repeatedly sent. Duplicates are discarded.</li>
<li>Conversations are now buffered when doing the ordering ( represents buffering within the TCP/IP stack )</li>
<li>Each conversation chunk can only hold 3 blocks.</li>
<li>Each buffer when complete is dispatched in order to a dummy thread ( represents the application ) &#8211; which has a random delay and then tests and discards the data.</li>
</ul>
<p>Sample data (for single conversation):</p>
<p>(1,0) <em>- buffer#1</em>; (1, 5)<em> &#8211; buffer#2</em>; (1,6) <em>- buffer#3</em>; (1,1)<em> &#8211; buffer #1</em>; (1,2)<em> -buffer #1 (dispatched)</em>; (1,1)<em> &#8211; duplicate (discarded)</em>; (1,3)<em> &#8211; buffer #2</em>; (1,7)<em> &#8211; buffer #3 ( cannot be dispatched because buffer #2 has not been dispatched)</em>; (1,4)<em> &#8211; buffer #2 and #3 are both dispatched</em>; (1,10)<em> &#8211; buffer #1 is now reavailable</em>; &#8230;.</p>
<p><em><strong>Problem #3:</strong></em></p>
<p>Additional requirements:</p>
<ul>
<li>Each conversation now has the sequence variation by +/-10 (bell curve)</li>
<li>Each conversation (on the consumer side) has only 2 buffers available to it</li>
<li>Blocks that can not be sequentially placed in the conversation buffers are discarded.</li>
<li>When the consumer threads detect 3 failures to complete the buffer, the consumer notifies the producers that the missing block needs to be resent.</li>
<li>Conversations have an indeterminate length. Additional flag signals the last block in the conversation.</li>
<li>Conversations that have not sent data in the last 30 seconds are terminated. All uncompleted buffers are discarded. Any further TCP/IP blocks are discarded.</li>
<li>Producers have a 5 buffers per conversation available</li>
</ul>
<p>Things to look for:</p>
<ul>
<li>Starvation &#8211; conversation is not being processed in spite of buffers being available</li>
<li>Effective I/O rate</li>
<li>Retry rate because of dropped buffers</li>
</ul>
<p><em><strong>Update:</strong></em></p>
<p>Some resource suggestions from <a href="http://nl.linkedin.com/in/ronaldvermeij">Ronald Vermeij</a>:</p>
<blockquote><p>
<a href="http://www.tutorialspoint.com/java/java_multithreading.htm">Simple very basic tutorial</a></p>
<p><a href="http://www.doc.ic.ac.uk/~jnm/book/index.html">Concurrency: State Models &#038; Java Programs Book</a></p>
<ul>
<li><a href="http://www.doc.ic.ac.uk/~jnm/book/slides.html">slides, notes and lectures</a></li>
<li><a href="http://www.doc.ic.ac.uk/~jnm/book/book_applets/concurrency.html">demo programs with GUI interaction and source-codes</a></li>
</ul>
<p><a href="http://refcardz.dzone.com/refcardz/core-java-concurrency">Nice &#8220;Concurrency RefCard&#8221; at Devzone</a></p></blockquote>
<p><em>Update 2</em></p>
<p>The homework problem is actually fiendishly difficult. The problem is similar to a real world problem I had constructing a network switch monitoring program. The switches run a http server on a low priority thread. The http server respond slowly, occasionally they just drop a request. In the test lab, the switches are not under high load but in the field they are. Under high load, the http server may not respond in a timely manner. Different switch models responded differently. Determining the monitoring program&#8217;s response to a switch&#8217;s behavior or (non) behavior was &#8220;interesting&#8221; &#8211; panic and tell the operator that the switch has crashed? Do we delay the failure notification (turning switch status to red)? How often to poll the switch ( we don&#8217;t want to add to the overloaded switch&#8217;s work ). We also had to process the incoming data as fast as possible so the switch doesn&#8217;t drop the connection because the response is not being processed.</p>
<p><em><strong>Extra credit:</strong></em></p>
<ul>
<li>Separate out the producer and consumer portions into 2 different programs</li>
<li>Each conversation is on a separate Java NIO connection</li>
<li>100+ producer threads (in the producer program), 5 consumer threads in the consumer program</li>
<li>each conversation&#8217;s producer produces data at a random rate (will be bursty).</li>
<li>The conversation&#8217;s consumer must consume the produced data fast enough so the producer always has an available buffer to write to ( producer has 2 buffers &#8211; but try reducing the producer&#8217;s available buffers ). Consumer&#8217;s per conversation buffers can be higher than previous problem.</li>
<li>Producer may arbitrarily stop sending data </li>
<li>Use Java NIO</li>
</ul>
<p>Notice: </p>
<ul>
<li>When setting up, the connection the consumer must quickly complete establishment of the connection otherwise the connection will be dropped. [Hint: Have a dedicated consumer thread do just the connection establishment. Many Java NIO sample programs try to have the same thread establish connections and do the read operations those connections.]</li>
<li>Consumer must be aggressive about processing incoming data.</li>
<li>Consumer needs to have a  &#8220;give up and retry&#8221; mechanism</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/01/multi-threaded-homework-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bad management advice from Jason Calacanis</title>
		<link>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/</link>
		<comments>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/#comments</comments>
		<pubDate>Fri, 28 May 2010 09:00:04 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=605</guid>
		<description><![CDATA[I am beginning to think that Jason Calacanis&#8217; advice should be taken in the opposite. Jason Calacanis&#8217;s latest advice on when to fire people ignores human psychology: Calacanis goes on to examine the three categories of that mistakes and employees &#8230; <a href="http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am beginning to think that Jason Calacanis&#8217; advice should be taken in the opposite. <a href="http://www.readwriteweb.com/start/2010/05/youre-fired-or-not-advice-on-w.php">Jason Calacanis&#8217;s latest advice on when to fire people ignores human psychology</a>:</p>
<blockquote><p>Calacanis goes on to examine the three categories of that mistakes and employees can fall into and discusses his thoughts on who and when to fire:</p>
<ol>
<li>A great team member who makes a big mistake
<p>Verdict: Don&#8217;t fire them. Talk about the mistake, and brainstorm ways to fix it and to make sure it doesn&#8217;t happen again.</li>
<li>An average team member who makes a big mistake
<p>Verdict: Fire them. In fact, Calacanis makes the argument that you shouldn&#8217;t hire average employees at your startup in the first place.</li>
<li>A great team member who makes multiple mistakes
<p>Verdict: It&#8217;s complicated, and unfortunately, it&#8217;s all too common. Calacanis says that when faced with this, he does try to work through the person&#8217;s problems. And while he notes that founders might not have the time or the training to do this, he stresses its importance. &#8220;When you try to save a flawed, yet at other times effective, team member, you send the other members of your team a positive message: loyalty.&#8221;</li>
</ol>
</blockquote>
<p>Seems reasonable doesn&#8217;t it? But lets break this down from the perspective of the employee.</p>
<p><strong>Flaw #1: Employee does not know where (s)he stands. </strong></p>
<p>Does the employee know that he is an &#8220;average employee&#8221; or is a &#8220;great team member&#8221;? From earlier in the post, clearly in this case the employee responsible for the problem in question thought that he was an average employee living under the one strike rule:</p>
<blockquote><p>And according to Calacanis, the individual responsible was apologetic, fearing that he&#8217;d be fired.</p></blockquote>
<p><strong>Flaw #2: &#8220;Great Team Member&#8221; Employee does not know when their chances are used up.</strong></p>
<p>In the case, in question the sysadmin who screwed up and let people post the the jason-list discovered he was a &#8220;great team member&#8221;. This mistake did not mean his job. whew&#8230;. however, if that sysadmin makes another mistake &#8211; how much time has to elapse before he is in the category #3 &#8211; &#8220;great team member but multiple mistakes&#8221;? Is he allowed 1 per month? one per quarter?</p>
<p><strong>Flaw #3: Inconsistent response</strong></p>
<p>Human beings as a rule do not respond well to perceived inconsistently applied punishment. Having the &#8220;great team members&#8221; not get fired for a mistake that got a &#8220;average&#8221; employee fired does not create loyalty &#8211; just fear.</p>
<p><strong>Flaw #4: Dependency on above average employees</strong></p>
<p>A business owner should be creating a reproducible process that drives repeated high-quality execution. Relying on above average talent to sustain the business is simply bad practice that results in inconsistent and high-stress environments.</p>
<p><strong>Flaw #5: Blame</strong></p>
<p>Failures are always a sign of a systemic problem. When the B-17 (Flying Fortress) was developed there were several crashes traced back to pilot error. <a href="http://www.atchistory.org/History/checklst.htm">&#8220;Some newspapers had dubbed it[B-17] as ‘too much plane for one man to fly.’ </a>. The Air Force&#8217;s solution was not to find better pilots but rather to develop the checklist.</p>
<hr/>
<p><em><strong><u>My summarized counter suggestions:</u></strong></em></p>
<ol>
<li>Look for and reward passion &#8211; passionate people will self-correct each other</li>
<li>Define a fireable offense, in advance and apply consistently</li>
<li>Expect better &#8211; Put everyone on a Performance Improvement Plan including the CEO &#8211; Performance improvement plans should be a plan to raise the organizational execution level.</li>
<li>Expect Greatness &#8211; Drive a plan to get people to &#8220;hit above their weight class&#8221; &#8211; in other words exceed their personal best. Read the book <a href="http://en.wikipedia.org/wiki/Moneyball" rel="nofollow">Moneyball</a> to understand this idea applied in baseball.</li>
<li>Create Checklists &#8211; Use the above average people in the organization to create a process that does prevents mistakes. In other words, the creative great people should not necessarily be promoted to managers but rather be put in charge of formalizing their &#8220;above averageness&#8221;. Internally, I am working on having a great contributor (&#8220;Bill&#8221;) formalize his current responsibilities. This formalization will enable another contributor (&#8220;Peter&#8221;) with a significantly lower skill set to take over the tasks. Because of the formalization of greatness, &#8220;Peter&#8221; will operate at Bill&#8217;s higher skill level. Bill can now move on to other new challenges.</li>
</ol>
<p>Update: <a href="http://bhorowitz.com/2010/05/14/why-startups-should-train-their-people/">Read ben horowitz&#8217; post</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook indifference at work again</title>
		<link>http://sworddance.com/blog/2010/05/23/facebook-indifference-at-work-again/</link>
		<comments>http://sworddance.com/blog/2010/05/23/facebook-indifference-at-work-again/#comments</comments>
		<pubDate>Sun, 23 May 2010 19:17:33 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=601</guid>
		<description><![CDATA[Last week, Facebook made a change resulted in small businesses losing the ability to create custom landing pages. Facebook later reversed their decision. Dennis Yu at Blitzlocal comment on the custom landing page change noting: this just underscores the risk &#8230; <a href="http://sworddance.com/blog/2010/05/23/facebook-indifference-at-work-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week, Facebook made a change resulted in small businesses losing the ability to create custom landing pages. Facebook later reversed their decision. <a href="http://www.dennis-yu.com/facebook-deals-a-massive-blow-to-small-business">Dennis Yu at Blitzlocal comment on the custom landing page change</a> noting:</p>
<blockquote><p>this just underscores the risk of building your business on someone else’s website. You’re at the whim of their policy changes.</p></blockquote>
<p>This should be in loud screaming letters. Having no Plan B, no alternatives is lunacy.</p>
<p>Having business alternatives is like keeping backups of your data. The Facebook change may have been inadvertent this time and reversed in part, but the larger reality is that it really doesn&#8217;t matter. There was a business impact on businesses wholly dependent on FB. If the *only* way a business has to communicate to their customers is FB &#8211; then what happens when:</p>
<ul>
<li>Facebook decides that the business is a spammer?</li>
<li>Facebook has a bug that turns off access to sites starting with the letter &#8216;b&#8217; ?</li>
<li>Facebook decides the account is violating the Facebook ToS?</li>
<li>Facebook suffers a data corruption that drops all the business&#8217;s fans?</li>
<li>Facebook enters into a court agreement requiring Facebook change the way businesses can interact with users?</li>
</ul>
<p>Businesses dependent on Facebook need to realize :</p>
<ol>
<li>They have no enforceable contract with Facebook</li>
<li>They have no recourse for any economic impacts of Facebook decisions or failures</li>
<li>Blowback against Facebook impact their own business directly.</li>
</ol>
<p>Right now Facebook shows little understanding of the larger issues around privacy. <a href="http://bits.blogs.nytimes.com/2010/05/11/facebook-executive-answers-reader-questions/">Read the &#8220;interaction&#8221; between Elliot Schrage VP at Facebook and the New York Times public</a>. Elliot seems to think that Facebook&#8217;s problem is that there is just a lack of understanding. Elliot thinks that Facebook does not need to change their behavior, just explain better:</p>
<blockquote><p>We’ve worked hard to educate our users about changes to, and innovations in, our products. Facebook users receive notices about our new products and whenever we propose a change to any policies governing the site, we have notified users and solicited feedback.</p>
<p>Clearly, this is not enough. We will soon ramp up our efforts to provide better guidance to those confused about how to control sharing and maintain privacy.</p></blockquote>
<p><strong>Facebook does not have to be malicious, to cause harm.</strong></p>
<p><u><strong><em>Facebook is indifferent.</em></strong></u> If a business is not big enough, can&#8217;t organize a massive response&#8230;..</p>
<p>Facebook.</p>
<p>does.</p>
<p>NOT.</p>
<p>care. </p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/05/23/facebook-indifference-at-work-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
