<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Paul Chiusano's blog - FP</title>
		<description>Posts categorized as 'culture'</description>
		<link>http://pchiusano.github.io</link>
		<atom:link href="http://pchiusano.github.io/feed.fp.xml" rel="self" type="application/rss+xml" />
		
			<item>
				<title>Having a technical discussion without using labels or making it personal</title>
				<description>&lt;p&gt;I’ve been doing some thinking about how to have more civil and respectful discussions online. Most people would agree that direct personal attacks and insults are unwelcome, but many times people (perhaps unintentionally) end up insulting the other party or putting them on the defensive by &lt;em&gt;using labels that come with baggage&lt;/em&gt;. The other party takes offense to use of these labels, perhaps responds by hurling a few labels of their own, and the conversation devolves into nastiness.&lt;/p&gt;

&lt;p&gt;What’s sad is that when conversations like this devolve, everyone is too busy responding to all the labels being tossed around to give the ideas themselves sufficient attention. But exchange of ideas is presumably the whole point of these conversations! Why are we arguing about labels when we actually are trying to have a discussion about something that actually matters?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aside:&lt;/strong&gt; &lt;em&gt;I consider myself guilty of many of the things I’m calling out in this post, so this post is as much a note to myself as it is a call for others to be better.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let’s look at some examples.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You’re an idiot” “You’re an asshole” etc.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Just about everyone would agree statements like this have no place in civil discourse. We are taking a label with lots of connotations and directly assigning it to the other party. We should not be surprised if the other party responds with defensiveness and nastiness.&lt;/p&gt;

&lt;p&gt;But the labels don’t need to be the obvious ones like “asshole”, “idiot”, etc. For instance:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You’re not a real-world programmer” “You’re an academic” “You’re a FP fanatic” “You’re unprincipled”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Obviously, these labels aren’t as bad, but they come with baggage that many are uncomfortable with. Labels like this are often a way of placing a person or an idea in a little bin that can be ignored or dismissed without serious inspection.&lt;/p&gt;

&lt;p&gt;There’s generally no need to get both parties to agree on whether someone or something deserves a label like “idiotic”, “dumb”, “unprincipled”, etc. What’s the point? Is the goal to argue semantics about these labels, or have an actual discussion about something? These words come with too much baggage, and if the goal is communication about the issues, better to just avoid the labels and focus on the real points.&lt;/p&gt;

&lt;p&gt;Sometimes people do have fundamental differences in goals or values, but it’s best to acknowledge those differences directly, when it’s clear they exist, rather than slapping a label on the other party.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“That’s an idiotic idea.” “That’s utter nonsense”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Some people might defend their right to make statements like this, by saying they are purely critiquing the idea, not the person saying it. But people are always at least a little bit attached to ideas they have in their head, so attaching any label (“idiotic”) with baggage often carries some of that baggage over to the person themselves. Avoiding these labels whenever possible is both &lt;a href=&quot;/2014-10-12/kindness.html&quot;&gt;kinder and more effective&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A better thing to say is simply: “I don’t agree with that statement for reasons X, Y, Z”, or just “X, Y, Z”, or “Can you clarify? Are you saying…?” Don’t vehemently disagree with a claim before you’re even sure you understand what’s being said!&lt;/p&gt;

&lt;p&gt;Importantly, the point still gets across. Actually, it is &lt;em&gt;only&lt;/em&gt; the point that gets across. The goal of your response is not to get the other party to agree on whether the statement deserves a label, the point was to respond to the actual claims! Using a loaded label actually works &lt;em&gt;against&lt;/em&gt; the purpose of the discussion. So why use these labels at all?&lt;/p&gt;

&lt;p&gt;Likewise, if you’re on the receiving end of a comment like this, a very charitable interpretation of their remark is that the other party simply disagrees strongly with what you are saying, not that you are being called an idiot. You can ask for clarification “Are you saying I’m an idiot?” which most people will backpedal from: “No, of course not, I just meant that I don’t agree with what you just said..” And you can give them feedback that you didn’t appreciate them calling an idea you put forth idiotic, even if they felt it was justified. Ask them if they can just say why they disagree without using these labels.&lt;/p&gt;

&lt;p&gt;Note that tossing out labels of your own “you’re being a jerk”, “how condescending of you”, etc, just tends to exacerbate unpleasantness. When you feel insulted, it’s easy to feel self-righteous and justified in assigning some unpleasant label to the other party, but if you manage to stay cool, it does help the situation. It also &lt;a href=&quot;/2014-10-12/kindness.html&quot;&gt;makes it clear to any reasonable observer who is in the wrong&lt;/a&gt;, and makes it easier for observers to step in an reinforce the feedback: “I also didn’t like how you spoke to so-and-so, can you do a better job of that”. This increases social pressure on the person using these labels to change their behavior.&lt;/p&gt;

&lt;p&gt;In contrast, a long volley of people throwing rocks (labels like “idiotic”, “jerk”, or “rude” that carry baggage) back and forth at each other makes it hard to disentangle who is really at fault, and harder for others to know how to get involved. (“I see two people arguing and being generally pretty awful to each other… where to even begin??”)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You have no idea what you’re talking about.” “I’m not sure if you have enough experience to have an informed opinion about this.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Again, some people might feel statements like this are perfectly fine. If someone is making statements that seem misinformed, or they seem to not have experience with something they are criticizing, what’s wrong with calling them out on it? But once again, these responses move the discussion away from the actual points and put the other party on the defensive.&lt;/p&gt;

&lt;p&gt;A better response is something like: “That’s not true, because XYZ”. Note that calling a factual statement incorrect is not rude—its an important part of meaningful discourse. If people are afraid to make counterarguments, then the discussion doesn’t progress. Adding a hedge like a “I don’t think that’s true, because…” or “IMO, that’s not true because” is not necessary, but it’s a bit softer than flat out contradicting someone.&lt;/p&gt;

&lt;p&gt;And if you do get the impression that someone is uninformed and you don’t want to engage with them further, just exit the discussion politely: “I don’t agree with a lot of what you’re saying, but I don’t want to keep trying to convince you. Let’s just leave it at that for now.”&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“I’m very curious: where did you get the idea that XYZ?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This is a bit more subtle, but again the conversation is shifted away from the actual topic and becomes about the other person’s psyche. Better to just say: “Can you elaborate on that?” or “I don’t agree that XYZ, because of…”.&lt;/p&gt;

&lt;p&gt;This is also an instance of a hanging question. The person presumably has some internal reasons for asking the question but has delayed giving their own thoughts (that they disagree about XYZ or don’t think XYZ is justified). The question is being asked without letting the other party where they are going with the questioning. Most people find this off-putting (just like most people find use of the Socratic method off-putting). Better to just state your thoughts directly, or at least give some indication of why you are asking the questions and let the other party opt in to how the discussion proceeds.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You’re confused.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Very often, when people use this label, it’s because there is some disagreement about definitions for some of the terms being used in the discussion. When someone says something that doesn’t make sense to you, assuming it’s because &lt;em&gt;they&lt;/em&gt; are confused (and telling them this) just isn’t helpful.&lt;/p&gt;

&lt;p&gt;Better to just ask them to clarify: “Are you saying that XYZ?” Or just state your counterargument directly. “I don’t agree with XYZ, because of…”&lt;/p&gt;

&lt;p&gt;Note that the same thing gets accomplished as far as the actual points of the discussion. There’s just no need to get the other party to agree on whether they deserve the “confused” label. And if the person really is confused, keeping the focus on the actual points rather than on characterizing their mental state is a polite and respectful way to correct the confusion.&lt;/p&gt;

&lt;h3 id=&quot;remarks&quot;&gt;Remarks&lt;/h3&gt;

&lt;p&gt;One of the things I keep coming back to is: what is the purpose of the conversation? Is it to exchange and discuss ideas, or is it to vent or “win” an argument and make the other party feel inferior? Most people would say the former but still use loaded labels, often without really thinking about it. These labels frequently work &lt;em&gt;against&lt;/em&gt; our goals for the conversation.&lt;/p&gt;

&lt;p&gt;If you have a conversation with someone, keep it to the facts, ideas, and arguments. Don’t worry about characterizing things with labels. Labels come with different connotations for different people, and getting everyone to agree on these connotations is often hopeless. But more importantly, it’s not usually necessary!&lt;/p&gt;

&lt;p&gt;And if you really believe it is important to reach agreement on how some label applies to a particular idea or person, have it be a deliberate choice to introduce the label, rather than a habit or tic to sprinkle them in conversation.&lt;/p&gt;
</description>
				<pubDate>Mon, 03 Nov 2014 00:00:00 +0000</pubDate>
				<link>http://pchiusano.github.io/2014-11-03/labels.html</link>
				<guid isPermaLink="true">http://pchiusano.github.io/2014-11-03/labels.html</guid>
			</item>
		
			<item>
				<title>Good teaching makes long-term investments in the learner</title>
				<description>&lt;p&gt;In &lt;a href=&quot;/2014-10-13/worseisworse&quot;&gt;my post on “Worse is Better”&lt;/a&gt;, I stated that software development could be viewed as a form of investment management:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When a company or an individual develops a new feature, inserts a hack, hires too quickly without sufficient onboarding or training, or works on better infrastructure for software development (including new languages, tools, and the like), these are investments or the taking on of debt. Investments in software development bring risk (we don’t know for certain if some tech we create or try to create will pan out), and potential returns. &lt;a href=&quot;http://en.wikipedia.org/wiki/Modern_portfolio_theory&quot;&gt;Modern portfolio theory&lt;/a&gt; states there is no optimal portfolio, but an &lt;em&gt;efficient frontier&lt;/em&gt; of optimal portfolios for each level of investor risk tolerance. In the same way, there is no &lt;em&gt;optimal&lt;/em&gt; portfolio of software investment. Questions about whether an investment in new technology is justified therefore cannot be settled at the level of ideology or sloganeering. Actual analysis is needed, but “Worse is Better” pushes us unthinkingly toward the software portfolio consisting entirely of government bonds.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That same lens applies to another subject, &lt;em&gt;teaching and learning&lt;/em&gt;, and it has some interesting things to say.&lt;/p&gt;

&lt;p&gt;How is learning like investment management? Whenever you decide to spend time learning a subject, you’re expending limited resources (your time and energy) to acquire an asset—&lt;em&gt;future knowledge&lt;/em&gt;. We might say that you’re “paying for” future knowledge using the “currency” of your own time and energy, which isn’t really much different than a portfolio manager purchasing a stock or bond for their portfolio. Like the portfolio manager, you have some expectation about the future value of this knowledge you’re attempting to acquire. And like the portfolio manager, who can’t know with certainty the future value of assets purchased, you are facing uncertainty as well—before learning a subject, you don’t necessarily know what its value will be to you.&lt;/p&gt;

&lt;p&gt;There is a cultural tendency, &lt;em&gt;pragmatism&lt;/em&gt;, to learn only what is deemed necessary and useful in the short term. On the one hand, we have the seemingly reasonable argument—why go to the trouble of learning something before it’s clear you need it, and before it’s clear it will be useful? But putting on our investment management hat, we can see that the same argument made for software investment applies here. Learning only obviously useful things when it’s clear you need them is the analogue of the portfolio consisting entirely of government bonds. In the long term, devoting at least some of your portfolio to assets other than government bonds yields higher overall returns. Likewise, learning some subjects before you’re sure you need them, and before society has definitively concluded the subjects are useful, is &lt;em&gt;eminently practical&lt;/em&gt;. These riskier investments need not be the entirety of your learning portfolio, but making them some portion of your portfolio is entirely justified, &lt;em&gt;even if you have no interest in learning for its own sake&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;So far so good. Now let’s consider &lt;em&gt;teaching&lt;/em&gt;. Teaching can also be though of as investment management. In a curriculum, whether in book form or any other form, the teacher expends a limited resource (the learner’s time, attention, and energy) to acquire an asset—&lt;em&gt;knowledge in the mind of the learner&lt;/em&gt;. We might say that the teacher is buying knowledge for the learner, using the currency of the learner’s time and attention. Once again, there is a cultural tendency to teach only what is deemed necessary and useful in the short term. On the one hand, we have the seemingly reasonable argument—why go to the trouble of teaching something difficult, “before the learner really needs it”, and before it’s clear the learner will find it valuable? And once again, putting on our investment management hat, we can see the same counterargument applies–teaching things that are challenging now can be investments in the student’s long-term learning of that subject.&lt;/p&gt;

&lt;p&gt;If you are a teacher, and you sincerely believe in the value of what you are teaching, then making long term investment in the learner not only makes sense, it’s an honest and respectful way of teaching. You are saying to the learner “I believe in the value of what I am teaching enough to invest in helping you develop a deep understanding of it”. You are also sending the message that you believe the learner is willing and capable of developing this understanding. This is something that learners of all skill levels can appreciate, regardless of what they decide to do with their learning. In contrast, the tendency to teach “only what is necessary” implicitly makes the pessimistic assumption that the learner is uninterested in the subject and unwilling or incapable of learning it!&lt;/p&gt;

&lt;p&gt;What’s at the root of the unexamined pragmatism we see in teaching? Our educational system has “cured” many people of their natural curiosity and love of learning. There’s a culture that views learning as a traumatic activity, and newcomers to a subject are therefore to be shielded from the trauma of learning. The goal of teaching becomes (implicitly) to &lt;em&gt;teach as little as possible&lt;/em&gt; in order for the learner to “get the job done”. And just what is “getting the job done”? The implication here is the subject is just a means to an end. But what end? If the subject is worth knowing, then investing in the long term learning of the student in that subject is entirely appropriate and will pay dividends many times over. Avoiding deeply teaching a subject or giving explanations that are wrong or misleading (but require less learning in the short-term) is analogous to taking on debt or purchasing only safe assets.&lt;/p&gt;

&lt;p&gt;There’s nothing inherently wrong with this sort of thing, but let’s be honest about the fact that learners are being sold a portfolio full of government bonds, and let learners make an informed decision that this is what they want.&lt;/p&gt;

&lt;p&gt;Everyone has opinions about the way rich, deep subjects like functional programming should be taught. But behind the bikeshedding about &lt;a href=&quot;http://www.haskell.org/pipermail/haskell-cafe/2009-January/053539.html&quot;&gt;things like whether to call monoids “appendables”&lt;/a&gt; or whether monads should be called “workflows”, there’s a question—what sort of portfolio are we trying to build for learners? What are the investment time horizons? In functional programming, if the goal is just to provide the minimum of intuition needed to “get by” in the short term, then perhaps “appendable” and “workflow” are fine, and one shouldn’t bother mentioning abstract algebra at all. But if the goal is promoting deep understanding and long-term learning, then getting learners comfortable with the concept of abstract algebraic structures like monoids and monads is critical. So is learning that these structures are part of a grander zoo of interesting creatures that have been studied by mathematicians and programmers.&lt;/p&gt;

&lt;p&gt;Reasonable people can disagree about the best path toward these goals, but watering down a subject or tiptoeing around fundamental concepts because they might be challenging for learners is just saddling the learner with debt they’ll have to pay back later. If you expect the learner to stick around, and if you really believe in the value of a subject, you owe it to learners to teach the subject deeply and honestly, in the best way you know how.&lt;/p&gt;
</description>
				<pubDate>Thu, 23 Oct 2014 00:00:00 +0000</pubDate>
				<link>http://pchiusano.github.io/2014-10-23/learning.html</link>
				<guid isPermaLink="true">http://pchiusano.github.io/2014-10-23/learning.html</guid>
			</item>
		
			<item>
				<title>The problematic culture of &quot;Worse is Better&quot;</title>
				<description>&lt;p&gt;Our industry has been infected by a dangerous meme, and it’s one that hasn’t been given its proper scrutiny. Like many memes that explode in popularity, &lt;a href=&quot;http://en.wikipedia.org/wiki/Worse_is_better&quot;&gt;“Worse is Better”&lt;/a&gt; gave a name to an underlying fragment of culture or philosophy that had been incubating for some time. I point to C++ as one of the first instances of what would later become “Worse is Better” culture. There had been plenty of programming languages with hacks and warts before C++, but C++ was the first popular language &lt;em&gt;deliberately&lt;/em&gt; crippled for pragmatic reasons by a language designer who likely knew better. That is, Stroustrup had the skills and knowledge to create a better language, but he chose to accept as a design requirement retaining full compatibility with C, including all its warts.&lt;/p&gt;

&lt;p&gt;There’s nothing inherently wrong with making tradeoffs like C++ did. And since C++ we’ve seen many instances of these sorts of tradeoffs in the software world. Scala is another recent example–a powerful functional language which makes compromises to retain easy interoperability with Java. What I want to deconstruct is the &lt;em&gt;culture&lt;/em&gt; that has come along to rationalize these sorts tradeoffs without the need for serious justification. That is, we do not &lt;em&gt;merely&lt;/em&gt; calculate in earnest to what extent tradeoffs are necessary or desirable, keeping in mind our goals and values, there is a &lt;em&gt;culture&lt;/em&gt; around making such compromises that actively discourages people from even considering more radical, principled approaches. That culture campaigns under the banner “Worse is Better”.&lt;/p&gt;

&lt;p&gt;The signs that “Worse is Better” would become a cultural phenomenon—rather than a properly justified philosophy—were everywhere. Stroustrup famously quipped that “there are only two kinds of languages: the ones people complain about and the ones nobody uses”, and &lt;a href=&quot;http://en.wikiquote.org/wiki/Bjarne_Stroustrup&quot;&gt;his wikiquote page&lt;/a&gt; is full of similar sentiments. Unpacking this a bit, I detect an admission that, yes, C++ is filled with hacks and compromises that everyone finds distasteful (“an octopus made by nailing legs onto a dog”), but &lt;em&gt;that’s just the way things are, and the adults have accepted this and moved on to the business of writing software&lt;/em&gt;. Put more bluntly: &lt;em&gt;STFU and get to work&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Thus when Richard P. Gabriel published &lt;a href=&quot;http://en.wikipedia.org/wiki/Worse_is_better&quot;&gt;his original essay in 1989&lt;/a&gt; from which “The Rise of Worse is Better” was later extracted and circulated, he was merely giving a name and a slogan to a fragment of culture that was already well on its way to taking over the industry. To give some context, in 1989, Lisp was quite far along in the process of losing out to languages like C++ that were in many technical respects inferior. The story of Lisp’s losing out in adoption to other languages is complex, but the rise of “Worse is Better” as a cultural phenomenon is a piece of the puzzle.&lt;/p&gt;

&lt;p&gt;Nowadays, the “Worse is Better” meme gets brought up in just about every tech discussion in which criticisms are leveled against any technology in widespread use or suggestions are made of a better way (among other places, on this blog see &lt;a href=&quot;/2014-07-02/css-is-unnecessary&quot;&gt;CSS is unnecessary&lt;/a&gt;). Unpacking “Worse is Better”, I find the following unstated, and unjustified assumption:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As a rule, we should confine ourselves to incremental, evolutionary change. Revolutionary change, and going back to the drawing board, is impractical.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;… though part of what makes “Worse is Better” such an effective meme is that it can always be defensively weakened to near-tautological statements (like: “one should consider whether radical changes are justified”). Well, of course. But when “Worse is Better” is brought up, it is typically as an &lt;em&gt;excuse&lt;/em&gt; to avoid doing this calculus in earnest about what investments might or might not pay for themselves, or to dismiss out of hand anyone suggesting such a thing. In &lt;a href=&quot;/2014-07-02/css-is-unnecessary&quot;&gt;my post&lt;/a&gt;, the mere hint that we might benefit from scrapping CSS, sidestepping it, or starting over in that domain is enough to bring charges of being an “idealist”, “impractical”, and the like, which are considered forms of heresy by the culture. Notice that there is no rational, technical argument being made–that would be an interesting and worthwhile conversation! Like other powerful memes, the underlying assumptions go unsaid, and attempts to bring them to light in discussions can always be deflected by backpedaling to some truism or tautology. The slogan thus remains untarnished and can continue to be propagated in future conversations.&lt;/p&gt;

&lt;p&gt;Developing software is a form of investment management. When a company or an individual develops a new feature, inserts a hack, hires too quickly without sufficient onboarding or training, or works on better infrastructure for software development (including new languages, tools, and the like), these are investments or the taking on of debt. Investments in software development bring risk (we don’t know for certain if some tech we create or try to create will pan out), and potential returns. &lt;a href=&quot;http://en.wikipedia.org/wiki/Modern_portfolio_theory&quot;&gt;Modern portfolio theory&lt;/a&gt; states there is no optimal portfolio, but an &lt;em&gt;efficient frontier&lt;/em&gt; of optimal portfolios for each level of investor risk tolerance. In the same way, there is no &lt;em&gt;optimal&lt;/em&gt; portfolio of software investment. Questions about whether an investment in new technology is justified therefore cannot be settled at the level of ideology or sloganeering. Actual analysis is needed, but “Worse is Better” pushes us unthinkingly toward the software portfolio consisting entirely of government bonds.&lt;/p&gt;

&lt;p&gt;This investment management view also makes it clear that we may choose to invest in things not solely for future return, but because the investment itself has value to us. That is, “Worse is Better” thinking encourages the view that software is always a means to an end, rather than something with attributes we value for their own sake. It doesn’t matter if something is ugly or a hack, the ends justify the means. Unpack this kind of thinking and see how ugly it really is. Do we really as an industry believe that how we write software and what software exists should be fully determined by optimizing the Bottom Line? Other professions, like medicine, the law, and engineering, have values and a professional ethic, where certain things are valued for their own sake. “Worse is Better” pushes us to accepting the idea that software is nothing more than a means to an end, and whatever hacks are needed to “get the job done” (whatever that means exactly) are justified.&lt;/p&gt;

&lt;p&gt;But we don’t need to resort to philosophy to justify why we should make greater investment in the software tech we all use daily. This “Worse is Better” culture is a large part of what’s brought us to the current state, where programmers are awash in a sea of accidental complexity caused by the piling on of hack after hack, always to solve short term needs:&lt;/p&gt;

&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;&lt;p&gt;OH: &amp;quot;Basically, no one seems to grasp that when stuff that&amp;#39;s fundamental is broken, what you get is a combinatorial explosion of bullshit.&amp;quot;&lt;/p&gt;&amp;mdash; Paul Chiusano (@pchiusano) &lt;a href=&quot;https://twitter.com/pchiusano/status/401428683375661056&quot;&gt;November 15, 2013&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;

&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;&lt;p&gt;Eventually a software project becomes a small amount of useful logic hidden among code that copies data between incompatible JSON libraries&lt;/p&gt;&amp;mdash; Nat Pryce (@natpryce) &lt;a href=&quot;https://twitter.com/natpryce/status/498248257622269952&quot;&gt;August 9, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;

&lt;p&gt;The first quote is due to &lt;a href=&quot;http://psnively.github.io/&quot;&gt;Paul Snively&lt;/a&gt;. He made it as a rather offhand remark—I love it because it perfectly captures our industry’s predicament (a swamp of accumulated technical debt and accidental complexity) and is suggestive of the inevitable &lt;em&gt;frustration&lt;/em&gt; we all feel in having to deal with the direct, day-to-day consequences of these poor inherited decisions.&lt;/p&gt;

&lt;p&gt;What I take from these quips is that even without getting philosophical, an earnest appraisal of our actual investment horizons and level of risk tolerance is often enough to justify some level of investment in “risky” new technology that can if successful improve in various ways on the status quo. The portfolio view is again helpful–even if we in general want to play it safe by investing in the software tech equivalent of government bonds, that does not justify making 0% of our portfolio risker investment in new foundational tech. The outcome of everyone solving their own narrow short-term problems and never really revisiting the solutions is the sea of accidental complexity we now operate in, and which we all recognize is a problem.&lt;/p&gt;

&lt;p&gt;“Worse is Better”, in other words, asks us to accept a false dichotomy: either we write software that is ugly and full of hacks, or we are childish idealists who try to create software artifacts of beauty and elegance. While there are certainly cases where values may conflict, very often, there is no conflict at all. For instance, functional programming is a beautiful, principled approach to programming which is &lt;em&gt;also simultaneously extremely practical&lt;/em&gt; and can be justified entirely on this basis!&lt;/p&gt;

&lt;p&gt;This “Worse is Better” notion that only incremental change is possible, desirable, or even on the table for discussion is not only impractical, it makes no sense. Here’s Richard Dawkins from &lt;em&gt;The Selfish Gene&lt;/em&gt; talking about the importance of starting over:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The complicated organs of an advanced animal like a human or a woodlouse have evolved by gradual degrees from the simpler organs of ancestors. But the ancestral organs did not literally change themselves into the descendant organs, like swords being beaten into ploughshares. Not only &lt;em&gt;did&lt;/em&gt; they not. The point I want to make is that in most cases they &lt;em&gt;could&lt;/em&gt; not. There is only a limited amount of change that can be achieved by direct transformation in the ‘swords to ploughshares’ manner. Really radical change can be achieved only by going ‘back to the drawing board’, throwing away the previous design and starting afresh. When engineers go back to the the drawing board and create a new design, they do not necessarily throw away the ideas from the old design. But they don’t literally try to deform the old physical object into the new one. The old object is too weighed down with the clutter of history. Maybe you can beat a sword into a ploughshare, but try ‘beating’ a propeller engine into a jet engine! You can’t do it. You have to discard the propeller engine and go back to the drawing board.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For similar reasons, catastrophic extinction events are believed to have been important for biological evolution, by breaking ecosystems out of equilibrium and opening new niches for further innovation. So it’s ironic that in the tech industry, despite all the talk of “disruption”, this notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Creative_destruction&quot;&gt;creative destruction&lt;/a&gt; is largely absent, and we’ve consigned ourselves to the grooves of local optimum established thirty years ago by various tech choices made when nobody knew any better.&lt;/p&gt;

&lt;h3 id=&quot;closing-remarks&quot;&gt;Closing remarks&lt;/h3&gt;

&lt;p&gt;Not many people are aware that Richard Gabriel later distanced himself from his own remarks on “Worse is Better”, by writing a later essay &lt;a href=&quot;http://dreamsongs.com/Files/worse-is-worse.pdf&quot;&gt;Worse is Better is Worse&lt;/a&gt; under the pseudonym &lt;a href=&quot;http://en.wikipedia.org/wiki/Worse_is_better#Effects&quot;&gt;Nickieben Bourbaki&lt;/a&gt;. The essay is written from the perspective of a fictional friend of Gabriel’s:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In the Spring of 1989, he and I and a few of his friends were chatting about why Lisp technology had not caught on in the mainstream and why C and Unix did. Richard, being who he is, remarked that the reason was that “worse is better.” Clearly from the way he said it, it was a slogan he had just made up. Again, being who he is, he went on to try to justify it. I’ve always told him that his penchant for trying to argue any side of a point would get him in trouble.&lt;/p&gt;

  &lt;p&gt;A few months later, Europal–the European Conference on the Practical Applications of Lisp–asked him to be the keynote speaker for their March 1990 conference, and he accepted. Since he didn’t have anything better to write about, he tried to see if he could turn his fanciful argument about worse-is-better into a legitimate paper.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I like to imagine that Gabriel, himself a Lisp programmer, was horrified by the cultural monster he’d helped create and the power he gave it by assigning it a name. Realizing what he’d done, the later essay made a vain attempt at putting the genie back in the bottle. But by then it was much too late. “Worse is Better” had become a cultural phenomenon. And over the next twenty five years, we saw the growth of the web, a prevailing culture of “Worse is Better”, and a tendency to solve problems with the most myopic of time horizons.&lt;/p&gt;

&lt;p&gt;Discuss it on Twitter: &lt;a href=&quot;https://twitter.com/#worseisworse&quot;&gt;#worseisworse&lt;/a&gt;&lt;/p&gt;

</description>
				<pubDate>Mon, 13 Oct 2014 00:00:00 +0000</pubDate>
				<link>http://pchiusano.github.io/2014-10-13/worseisworse.html</link>
				<guid isPermaLink="true">http://pchiusano.github.io/2014-10-13/worseisworse.html</guid>
			</item>
		
			<item>
				<title>In praise of universal warmth and kindness toward others in online discussions</title>
				<description>&lt;p&gt;A little over a month ago, I started an experiment in being “exceedingly polite” to everyone I interacted with online:&lt;/p&gt;

&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;&lt;p&gt;Experiment: 1 mo trial period being exceedingly polite to everyone I interact w/ online, rather than a sarcastic ass 1/2 the time &lt;a href=&quot;https://twitter.com/hashtag/politeweb?src=hash&quot;&gt;#politeweb&lt;/a&gt;&lt;/p&gt;&amp;mdash; Paul Chiusano (@pchiusano) &lt;a href=&quot;https://twitter.com/pchiusano/status/505448336653287424&quot;&gt;August 29, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;

&lt;p&gt;I’m not sure how serious I was about it, but I did make a conscious effort to be more “polite”. Though what does that mean exactly? Politeness is not a well-defined thing–it’s a “mere” set of social conventions. For purposes of this post, I’d like to think of politeness as dimension separate from the actual content of the communication. There’s &lt;em&gt;what&lt;/em&gt; you are trying to say, and then there’s &lt;em&gt;how&lt;/em&gt; it is being said. Politeness is merely addressing the &lt;em&gt;how&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Sometimes, there are things that need saying that are bound to upset people (the &lt;em&gt;what&lt;/em&gt;). But saying these things politely matters. Another way of stating it: politeness is acting in ways that are &lt;em&gt;no more off-putting than necessary&lt;/em&gt; given &lt;em&gt;what&lt;/em&gt; you are trying to communicate.&lt;/p&gt;

&lt;p&gt;If you have something to say, you owe it to yourself, the other party, and most importantly the &lt;em&gt;thing you are trying to convey&lt;/em&gt; to communicate as politely, warmly, and generously as possible. Why? Several reasons:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;For yourself:&lt;/em&gt; There’s never any real satisfaction to be gained by being even slightly vicious or unpleasant in response to a troll or just a person with whom you disagree. Any feelings of righteousness or satisfaction are fleeting, and any unpleasantness shown gets spewed right back at you many times over. A long, increasingly draining back and forth discussion results. Anyone who’s spent any time online talking about things with people has been dragged into such a discussion. I’ve found I don’t like how I feel when the conversation is done.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;For the other person:&lt;/em&gt; It’s a token of kindness and respect. Some people think of kindness and respect as something people must earn. If someone is trolling, acting like a jerk, or has done something wrong, why are you obligated to be nice in return? Well of course you aren’t obligated, but doing so anyway (which admittedly takes conscious effort in some cases) is a good way to be. I like the idea that everyone is entitled to these basic courtesies. Some perspective: on the web, debating tech, politics, etc, the other party is not a war criminal responsible for the deaths of innocent people, they’re just an ordinary person deserving of basic courtesy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But importantly, showing politeness gives the other person, and anyone else observing the conversation &lt;em&gt;an unobstructed view of the underlying issues&lt;/em&gt;, and hence the greatest chance of being influenced by what you have to say. When someone is being unpleasant or impolite, it’s unfortunately easy to not see past that to the actual points being made. In theory, mere violation of some social conventions shouldn’t justify dismissing what you have to say. In practice, seeing past these things requires conscious effort. By being polite, you are giving your ideas the greatest possible chance of being heard.&lt;/p&gt;

&lt;p&gt;I liken this idea to the nonviolent resistance practiced by leaders like MLK and Gandhi (bear with me, here). Not fighting back appeals to the humanity of the aggressors and observers and makes it crystal clear to any reasonable person who is in the wrong. Fighting back raises ambiguities–observers now must disentangle the events that transpired, who did what first, and it becomes possible for some to claim that the aggressor was acting reasonably to deal with a difficult situation.&lt;/p&gt;

&lt;p&gt;Likewise, being pleasant, warm, and generous in online discussions lets the other person and observers focus on the real issues and see your side clearly.&lt;/p&gt;

&lt;p&gt;And this gets to the heart of the matter. What are our goals? Is our goal the communication and exchange of ideas? Or are we looking to vent, express frustration, feel good about ourselves, and validate our egos? If we’re being honest, does &lt;em&gt;how&lt;/em&gt; we communicate online reflect our actual goals?&lt;/p&gt;

&lt;p&gt;This post is my reminder to myself to reflect on these things. Especially in online communication, it’s easy to get into a mode where one communicates reactively, without taking a step back to consider what the purpose of the communication is, and whether we’re doing it in a way that’s actually consistent with our goals.&lt;/p&gt;

&lt;p&gt;I’ll close with one more observation: writing on the web can sometimes compel people to write in a way that provokes attention (with flamebait titles, aggressive writing style, and so on) to get more readers. I plead guilty to this charge. But once your readers are there and reading, your best bet in convincing them of anything is actually a calm, well-reasoned argument rather than an angry rant.&lt;/p&gt;
</description>
				<pubDate>Sun, 12 Oct 2014 00:00:00 +0000</pubDate>
				<link>http://pchiusano.github.io/2014-10-12/kindness.html</link>
				<guid isPermaLink="true">http://pchiusano.github.io/2014-10-12/kindness.html</guid>
			</item>
		
			<item>
				<title>The internet has made defensive writers of us all</title>
				<description>&lt;p&gt;I was struck by this passage in &lt;a href=&quot;http://chronicle.com/article/Why-Academics-Writing-Stinks/148989/&quot;&gt;Steven Pinker’s article about why academics’ writing stinks&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Writers use hedges in the vain hope that it will get them off the hook, or at least allow them to plead guilty to a lesser charge, should a critic ever try to prove them wrong. A classic writer, in contrast, counts on the common sense and ordinary charity of his readers, just as in everyday conversation we know when a speaker means in general or all else being equal. If someone tells you that Liz wants to move out of Seattle because it’s a rainy city, you don’t interpret him as claiming that it rains there 24 hours a day, seven days a week, just because he didn’t qualify his statement with relatively rainy or somewhat rainy. Any adversary who is intellectually unscrupulous enough to give the least charitable reading to an unhedged statement will find an opening to attack the writer in a thicket of hedged ones anyway.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I love this notion of relying on “the common sense and ordinary charity of readers”. What a wonderful, inspiring idea. I realize I’ve begun writing defensively on the web, putting in hedges and clarifications that really aren’t necessary for a charitable reader. I’ve also taken to toning down any rhetorical flourishes that could be interpreted uncharitably in a way that annoys some people. The result: boring writing stripped of a lot of my own personal style.&lt;/p&gt;

&lt;p&gt;I think the web has made us all write more defensively, and it’s a shame, because we’re effectively contorting our communication style to defend against a small minority of mean-spirited and uncharitable actions by some. Actually, as I say that, I instinctively feel the need to hedge myself–I don’t believe that people are really mean-spirited (well, perhaps some are–gak I’ve done it again!), but there’s something about commenting about stuff on the internet with people you’ve never met that seems to bring out the worst in people. There’s even an amusing onion article about it: &lt;a href=&quot;http://www.theonion.com/articles/seemingly-mentally-ill-internet-commenter-presumab,33570/&quot;&gt;Seemingly Mentally Ill Internet Commenter Presumably Functions in Outside World&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At times I’ve been tempted to just turn off comments entirely on my blog, and just flat out avoid participating in comment threads on the web, but this feels like throwing the baby out with the bathwater. Despite the signal to noise ratio, there are conversations and exchanges that make talking about things on the web worth it to me. Though there’s a Twitter account with 39K followers which humorously endorses checking out from the cesspool of internet discourse - &lt;a href=&quot;https://twitter.com/AvoidComments&quot;&gt;Don’t Read Comments&lt;/a&gt;. They correctly made the following observation:&lt;/p&gt;

&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;&lt;p&gt;We like to think that we&amp;#39;re smarter than dolphins, but no dolphin has ever bothered to read online comments. Dolphins: 1, Humanity: 0&lt;/p&gt;&amp;mdash; Don&amp;#39;t Read Comments (@AvoidComments) &lt;a href=&quot;https://twitter.com/AvoidComments/status/507203873292161025&quot;&gt;September 3, 2014&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async=&quot;&quot; src=&quot;//platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;

&lt;p&gt;The defensive writing style also encourages another sort of ugliness, which is that “avoiding saying something wrong” becomes a primary focus of the writing, rather than communicating or exploring ideas which the author might himself be unsure of. It encourages a tendency to be attached to ideas and defend them against attackers, rather than letting ideas exist separate from ourselves as they should. I can recall many occasions where I find myself in a position of defending or arguing for an idea I don’t necessarily feel strongly about, but feel compelled to reply to someone giving the idea such dismissive treatment.&lt;/p&gt;

&lt;p&gt;I want to close with one remark. Pinker clarifies here his statements on hedging:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Sometimes a writer has no choice but to hedge a statement. Better still, the writer can qualify the statement—that is, spell out the circumstances in which it does not hold rather than leaving himself an escape hatch or being coy as to whether he really means it. If there is a reasonable chance that readers will misinterpret a statistical tendency as an absolute law, a responsible writer will anticipate the oversight and qualify the generalization accordingly. Pronouncements like “Democracies don’t fight wars,” “Men are better than women at geometry problems,” and “Eating broccoli prevents cancer” do not do justice to the reality that those phenomena consist at most of small differences in the means of two overlapping bell curves. Since there are serious consequences to misinterpreting those statements as absolute laws, a responsible writer should insert a qualifier like on average or all things being equal, together with slightly or somewhat. Best of all is to convey the magnitude of the effect and the degree of certainty explicitly, in unhedged statements such as “During the 20th century, democracies were half as likely to go to war with one another as autocracies were.” It’s not that good writers never hedge their claims. It’s that their hedging is a choice, not a tic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Programmers in particular are obsessed with making sure that all relevant qualifications are added to any statements made by anyone, anywhere, at any time. Why? I suspect it’s because programming is an activity in which one must be perfectly precise, to a degree not typical in day-to-day interactions. This need then carries over into many other arenas. But I wish we’d reflect honestly on whether this level of precision is really warranted in all cases and whether such precision always needs to be completely nailed down up front. Maybe we could all try to exercise a little “ordinary charity” and have a simple conversation sometimes.&lt;/p&gt;

&lt;p&gt;Sadly, I don’t have any concrete proposals and am unsure what to do about all this, but… er, I welcome your comments.&lt;/p&gt;
</description>
				<pubDate>Sat, 11 Oct 2014 00:00:00 +0000</pubDate>
				<link>http://pchiusano.github.io/2014-10-11/defensive-writing.html</link>
				<guid isPermaLink="true">http://pchiusano.github.io/2014-10-11/defensive-writing.html</guid>
			</item>
		
	</channel>
</rss>
