<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<link rel="self" href="http://fulltextrssfeed.com/www.instapaper.com/starred/rss/999056/O9w4EGZ0Pjj61ZPDCEpoS64XTqg" xmlns="http://www.w3.org/2005/Atom" />
<title>Instapaper: Starred</title>
<link>http://www.instapaper.com/starred</link>
<description> // via fulltextrssfeed.com</description>
<item>
<link>http://www.joelonsoftware.com/articles/fog0000000069.html</link>
<guid isPermaLink="true" >http://www.joelonsoftware.com/articles/fog0000000069.html</guid>
<title>Things You Should Never Do, Part I - Joel on Software</title>
<pubDate>Wed, 09 May 2012 21:27:22 -0700</pubDate>
<description>&lt;div&gt;


&lt;p&gt;by Joel Spolsky&lt;/p&gt;
&lt;p&gt;Thursday, April 06, 2000&lt;/p&gt;
&lt;p&gt;Netscape 6.0 is finally going into its first public beta. There never was a version 5.0. The last major release, version 4.0, was released almost three years ago. Three years is an &lt;em&gt;awfully&lt;/em&gt; long time in the Internet world. During this time, Netscape sat by, helplessly, as their market share plummeted.&lt;/p&gt;
&lt;p&gt;It's a bit smarmy of me to criticize them for waiting so long between releases. They didn't do it &lt;em&gt;on purpose&lt;/em&gt;, now, did they?&lt;/p&gt;
&lt;p&gt;Well, yes. They did. They did it by making the &lt;strong&gt;single worst strategic mistake&lt;/strong&gt; that any software company can make:&lt;/p&gt;
&lt;p&gt;&lt;img hspace=&quot;4&quot; align=&quot;right&quot; src=&quot;http://www.joelonsoftware.com/pictures/Upper_West_Side_Brownstones_2.jpg&quot; /&gt;They decided to rewrite the code from scratch.&lt;/p&gt;
&lt;p&gt;Netscape wasn't the first company to make this mistake. Borland made the same mistake when they bought Arago and tried to make it into dBase for Windows, a doomed project that took so long that Microsoft Access ate their lunch, then they made it again in rewriting Quattro Pro from scratch and astonishing people with how few features it had. Microsoft almost made the same mistake, trying to rewrite Word for Windows from scratch in a doomed project called Pyramid which was shut down, thrown away, and swept under the rug. Lucky for Microsoft, they had never stopped working on the old code base, so they had something to ship, making it merely a financial disaster, not a strategic one.&lt;/p&gt;
&lt;p&gt;We're programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We're not excited by incremental renovation: tinkering, improving, planting flower beds.&lt;/p&gt;
&lt;p&gt;There's a subtle reason that programmers always want to throw away the code and start over. The reason is that they think the old code is a mess. And here is the interesting observation: &lt;em&gt;they are probably wrong.&lt;/em&gt; The reason that they think the old code is a mess is because of a cardinal, fundamental law of programming:&lt;/p&gt;
&lt;p class=&quot;c4&quot;&gt;It’s harder to read code than to write it.&lt;/p&gt;
&lt;p&gt;This is why code reuse is so hard. This is why everybody on your team has a different function they like to use for splitting strings into arrays of strings. They write their own function because it's easier and more fun than figuring out how the old function works.&lt;/p&gt;
&lt;p&gt;&lt;img hspace=&quot;4&quot; align=&quot;left&quot; src=&quot;http://www.joelonsoftware.com/pictures/Columbus_Ave_Barber_Shop.jpg&quot; /&gt;As a corollary of this axiom, you can ask almost any programmer today about the code they are working on. &quot;It's a big hairy mess,&quot; they will tell you. &quot;I'd like nothing better than to throw it out and start over.&quot;&lt;/p&gt;
&lt;p&gt;Why is it a mess?&lt;/p&gt;
&lt;p&gt;&quot;Well,&quot; they say, &quot;look at this function. It is two pages long! None of this stuff belongs in there! I don't know what half of these API calls are for.&quot;&lt;/p&gt;
&lt;p&gt;Before Borland's new spreadsheet for Windows shipped, Philippe Kahn, the colorful founder of Borland, was quoted a lot in the press bragging about how Quattro Pro would be much better than Microsoft Excel, because it was written from scratch. All new source code! As if source code &lt;em&gt;rusted&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The idea that new code is better than old is patently absurd. Old code has been &lt;em&gt;used&lt;/em&gt;. It has been &lt;em&gt;tested&lt;/em&gt;. &lt;em&gt;Lots&lt;/em&gt; of bugs have been found, and they've been &lt;em&gt;fixed&lt;/em&gt;. There's nothing wrong with it. It doesn't acquire bugs just by sitting around on your hard drive. Au contraire, baby! Is software supposed to be like an old Dodge Dart, that rusts just sitting in the garage? Is software like a teddy bear that's kind of gross if it's not made out of &lt;em&gt;all new material&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Back to that two page function. Yes, I know, it's just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I'll tell you why: those are bug fixes. One of them fixes that bug that Nancy had when she tried to install the thing on a computer that didn't have Internet Explorer. Another one fixes that bug that occurs in low memory conditions. Another one fixes that bug that occurred when the file is on a floppy disk and the user yanks out the disk in the middle. That LoadLibrary call is ugly but it makes the code work on old versions of Windows 95.&lt;/p&gt;
&lt;p&gt;Each of these bugs took weeks of real-world usage before they were found. The programmer might have spent a couple of days reproducing the bug in the lab and fixing it. If it's like a lot of bugs, the fix might be one line of code, or it might even be a couple of characters, but a lot of work and time went into those two characters.&lt;/p&gt;
&lt;p&gt;When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work.&lt;/p&gt;
&lt;p&gt;You are throwing away your market leadership. You are giving a gift of two or three years to your competitors, and believe me, that is a &lt;em&gt;long&lt;/em&gt; time in software years.&lt;/p&gt;
&lt;p&gt;You are putting yourself in an extremely dangerous position where you will be shipping an old version of the code for several years, completely unable to make any strategic changes or react to new features that the market demands, because you don't have shippable code. You might as well just close for business for the duration.&lt;/p&gt;
&lt;p&gt;You are wasting an outlandish amount of money writing code that already exists.&lt;/p&gt;
&lt;p&gt;&lt;img align=&quot;center&quot; src=&quot;http://www.joelonsoftware.com/pictures/Columbus_Ave.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Is there an alternative? The consensus seems to be that the old Netscape code base was &lt;em&gt;really&lt;/em&gt; bad. Well, it might have been bad, but, you know what? It worked pretty darn well on an awful lot of real world computer systems.&lt;/p&gt;
&lt;p&gt;When programmers say that their code is a holy mess (as they always do), there are three kinds of things that are wrong with it.&lt;/p&gt;
&lt;p&gt;First, there are architectural problems. The code is not factored correctly. The networking code is popping up its own dialog boxes from the middle of nowhere; this should have been handled in the UI code. These problems can be solved, one at a time, by carefully moving code, refactoring, changing interfaces. They can be done by one programmer working carefully and checking in his changes all at once, so that nobody else is disrupted. Even fairly major architectural changes can be done without &lt;em&gt;throwing away the code&lt;/em&gt;. On the Juno project we spent several months rearchitecting at one point: just moving things around, cleaning them up, creating base classes that made sense, and creating sharp interfaces between the modules. But we did it carefully, with our existing code base, and we didn't introduce new bugs or throw away working code.&lt;/p&gt;
&lt;p&gt;A second reason programmers think that their code is a mess is that it is inefficient. The rendering code in Netscape was rumored to be slow. But this only affects a small part of the project, which you can optimize or even rewrite. You don't have to rewrite the whole thing. When optimizing for speed, 1% of the work gets you 99% of the bang.&lt;/p&gt;
&lt;p&gt;Third, the code may be doggone ugly. One project I worked on actually had a data type called a FuckedString. Another project had started out using the convention of starting member variables with an underscore, but later switched to the more standard &quot;m_&quot;. So half the functions started with &quot;_&quot; and half with &quot;m_&quot;, which looked ugly. Frankly, this is the kind of thing you solve in five minutes with a macro in Emacs, not by starting from scratch.&lt;/p&gt;
&lt;p&gt;It's important to remember that when you start from scratch there is &lt;strong&gt;absolutely no reason&lt;/strong&gt; to believe that you are going to do a better job than you did the first time. First of all, you probably don't even have the same programming team that worked on version one, so you don't actually have &quot;more experience&quot;. You're just going to make most of the old mistakes again, and introduce some new problems that weren't in the original version.&lt;/p&gt;
&lt;p&gt;&lt;img hspace=&quot;4&quot; align=&quot;left&quot; src=&quot;http://www.joelonsoftware.com/pictures/Lincoln_Center_Trees.jpg&quot; /&gt;The old mantra &lt;em&gt;build one to throw away&lt;/em&gt; is dangerous when applied to large scale commercial applications. If you are writing code experimentally, you may want to rip up the function you wrote last week when you think of a better algorithm. That's fine. You may want to refactor a class to make it easier to use. That's fine, too. But throwing away the whole program is a dangerous folly, and if Netscape actually had some adult supervision with software industry experience, they might not have shot themselves in the foot so badly.&lt;/p&gt;
&lt;br clear=&quot;all&quot; /&gt;&lt;blockquote class=&quot;textmessage&quot;&gt;&lt;a title=&quot;Hg Init: a Mercurial tutorial&quot; href=&quot;http://hginit.com/&quot;&gt;&lt;img border=&quot;0&quot; align=&quot;right&quot; src=&quot;http://www.joelonsoftware.com/i/hginit.png&quot; /&gt;&lt;/a&gt; Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a &lt;a href=&quot;http://hginit.com/&quot;&gt;Mercurial tutorial&lt;/a&gt;—check it out!&lt;/blockquote&gt;
&lt;h4 class=&quot;microhead&quot;&gt;Next:&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html&quot;&gt;Controlling Your Environment Makes You Happy&lt;/a&gt;&lt;/p&gt;
&lt;h4 class=&quot;microhead&quot;&gt;Want to know more?&lt;/h4&gt;
&lt;p&gt;You’re reading &lt;a href=&quot;http://www.joelonsoftware.com/&quot;&gt;Joel on Software&lt;/a&gt;, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.&lt;/p&gt;
&lt;h4 class=&quot;microhead&quot;&gt;About the author.&lt;/h4&gt;
&lt;p&gt;I’m &lt;a href=&quot;http://www.joelonsoftware.com/AboutMe.html&quot;&gt;Joel Spolsky&lt;/a&gt;, co-founder of &lt;a href=&quot;http://www.fogcreek.com/&quot;&gt;Fog Creek Software&lt;/a&gt;, a &lt;span class=&quot;c5&quot;&gt;New York&lt;/span&gt; company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make FogBugz, enlightened &lt;a href=&quot;http://www.fogcreek.com/FogBugz/&quot;&gt;project management software&lt;/a&gt; for bug tracking, Kiln, which provides distributed &lt;a href=&quot;http://www.fogcreek.com/kiln/&quot;&gt;version control&lt;/a&gt; and code reviews, and Fog Creek Copilot, which makes &lt;a href=&quot;https://www.copilot.com/&quot;&gt;remote desktop support&lt;/a&gt; easy. I’m also the co-founder of &lt;a href=&quot;http://stackoverflow.com/&quot;&gt;Stack Overflow&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;© 2000-2012 Joel Spolsky&lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;&lt;img src=&quot;http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
</item>
<item>
<link>http://norvig.com/21-days.html</link>
<guid isPermaLink="true" >http://norvig.com/21-days.html</guid>
<title>Teach Yourself Programming in Ten Years</title>
<pubDate>Mon, 07 May 2012 17:21:16 -0700</pubDate>
<description>&lt;div id=&quot;&quot;&gt;&lt;td&gt;
&lt;h2&gt;Why is everyone in such a rush?&lt;/h2&gt;
Walk into any bookstore, and you'll see how to &lt;em&gt;Teach Yourself Java in 7 Days&lt;/em&gt; alongside endless variations offering to teach Visual Basic, Windows, the Internet, and so on in a few days or hours. I did the following &lt;a href=&quot;http://www.amazon.com/exec/obidos/tg/browse/-/468558/104-5938873-6579160&quot;&gt;power search&lt;/a&gt; at &lt;a href=&quot;http://www.amazon.com&quot;&gt;Amazon.com&lt;/a&gt;:
&lt;pre&gt;
     &lt;a href=&quot;http://www.amazon.com/exec/obidos/search-handle-url/ix=books&amp;amp;rank=%2Bfeaturedrank&amp;amp;fqp=power%01pubdate%3A%20after%201992%20and%20title%3A%20days%20and%0D%20%28title%3A%20learn%20or%20title%3A%20teach%20yourself%29&amp;amp;sz=25&amp;amp;pg=1/ref=s_b_np&quot;&gt;pubdate: after 1992 and title: days and&lt;/a&gt;
      &lt;a href=&quot;http://www.amazon.com/exec/obidos/search-handle-url/ix=books&amp;amp;rank=%2Bfeaturedrank&amp;amp;fqp=power%01pubdate%3A%20after%201992%20and%20title%3A%20days%20and%0D%20%28title%3A%20learn%20or%20title%3A%20teach%20yourself%29&amp;amp;sz=25&amp;amp;pg=1/ref=s_b_np&quot;&gt;(title: learn or title: teach yourself)&lt;/a&gt;
&lt;/pre&gt;
and got back 248 hits. The first 78 were computer books (number 79 was &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0781802245/&quot;&gt;&lt;em&gt;Learn Bengali in 30 days&lt;/em&gt;&lt;/a&gt;). I replaced &quot;days&quot; with &lt;a href=&quot;http://www.amazon.com/exec/obidos/search-handle-url/ix=books&amp;amp;rank=%2Bfeaturedrank&amp;amp;fqp=power%01pubdate%3A%20after%201992%20and%20title%3A%20hours%20and%0D%20%28title%3A%20learn%20or%20title%3A%20teach%20yourself%29&amp;amp;sz=25&amp;amp;pg=3/ref=s_b_np&quot;&gt;&quot;hours&quot;&lt;/a&gt; and got remarkably similar results: 253 more books, with 77 computer books followed by &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0028638999/&quot;&gt;&lt;em&gt;Teach Yourself Grammar and Style in 24 Hours&lt;/em&gt;&lt;/a&gt; at number 78. Out of the top 200 total, 96% were computer books.
&lt;p&gt;The conclusion is that either people are in a big rush to learn about computers, or that computers are somehow fabulously easier to learn than anything else. There are no books on how to learn Beethoven, or Quantum Physics, or even Dog Grooming in a few days. Felleisen &lt;em&gt;et al.&lt;/em&gt; give a nod to this trend in their book &lt;em&gt;&lt;a href=&quot;http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html&quot;&gt;How to Design Programs&lt;/a&gt;&lt;/em&gt;, when they say &quot;Bad programming is easy. &lt;em&gt;Idiots&lt;/em&gt; can learn it in &lt;em&gt;21 days&lt;/em&gt;, even if they are &lt;em&gt;dummies&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Let's analyze what a title like &lt;em&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1556227078/?tag=fu0b5-20&quot;&gt;Learn C++ in Three Days&lt;/a&gt;&lt;/em&gt; could mean:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Learn:&lt;/strong&gt; In 3 days you won't have time to write several significant programs, and learn from your successes and failures with them. You won't have time to work with an experienced programmer and understand what it is like to live in a C++ environment. In short, you won't have time to learn much. So the book can only be talking about a superficial familiarity, not a deep understanding. As Alexander Pope said, a little learning is a dangerous thing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C++:&lt;/strong&gt; In 3 days you might be able to learn some of the syntax of C++ (if you already know another language), but you couldn't learn much about how to use the language. In short, if you were, say, a Basic programmer, you could learn to write programs in the style of Basic using C++ syntax, but you couldn't learn what C++ is actually good (and bad) for. So what's the point? &lt;a href=&quot;http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html&quot;&gt;Alan Perlis&lt;/a&gt; once said: &quot;A language that doesn't affect the way you think about programming, is not worth knowing&quot;. One possible point is that you have to learn a tiny bit of C++ (or more likely, something like JavaScript or Flash's Flex) because you need to interface with an existing tool to accomplish a specific task. But then you're not learning how to program; you're learning to accomplish that task.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;in Three Days:&lt;/strong&gt; Unfortunately, this is not enough, as the next section shows.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Teach Yourself Programming in Ten Years&lt;/h2&gt;
Researchers (&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/034531509X/&quot;&gt;Bloom (1985)&lt;/a&gt;, &lt;a href=&quot;http://norvig.com/21-days.html#bh&quot;&gt;Bryan &amp;amp; Harter (1899)&lt;/a&gt;, &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0805803092/?tag=fu0b5-20&quot;&gt;Hayes (1989)&lt;/a&gt;, &lt;a href=&quot;http://norvig.com/21-days.html#sc&quot;&gt;Simmon &amp;amp; Chase (1973)&lt;/a&gt;) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is &lt;em&gt;deliberative&lt;/em&gt; practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits and an appearance on the Ed Sullivan show in 1964. But they had been playing small clubs in Liverpool and Hamburg since 1957, and while they had mass appeal early on, their first great critical success, &lt;em&gt;Sgt. Peppers&lt;/em&gt;, was released in 1967. &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0316017922/?tag=fu0b5-20&quot;&gt;Malcolm Gladwell&lt;/a&gt; reports that a study of students at the Berlin Academy of Music compared the top, middle, and bottom third of the class and asked them how much they had practiced:
&lt;blockquote&gt;
&lt;p&gt;Everyone, from all three groups, started playing at roughly the same time - around the age of five. In those first few years, everyone practised roughly the same amount - about two or three hours a week. But around the age of eight real differences started to emerge. The students who would end up as the best in their class began to practise more than everyone else: six hours a week by age nine, eight by age 12, 16 a week by age 14, and up and up, until by the age of 20 they were practising well over 30 hours a week. By the age of 20, the elite performers had all totalled 10,000 hours of practice over the course of their lives. The merely good students had totalled, by contrast, 8,000 hours, and the future music teachers just over 4,000 hours.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So it may be that 10,000 hours, not 10 years, is the magic number. (Henri Cartier-Bresson (1908-2004) said &quot;Your first 10,000 photographs are your worst,&quot; but he shot more than one an hour.) Samuel Johnson (1709-1784) thought it took even longer: &quot;Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.&quot; And Chaucer (1340-1400) complained &quot;the lyf so short, the craft so long to lerne.&quot; Hippocrates (c. 400BC) is known for the excerpt &quot;ars longa, vita brevis&quot;, which is part of the longer quotation &quot;Ars longa, vita brevis, occasio praeceps, experimentum periculosum, iudicium difficile&quot;, which in English renders as &quot;Life is short, [the] craft long, opportunity fleeting, experiment treacherous, judgment difficult.&quot; Although in Latin, &lt;em&gt;ars&lt;/em&gt; can mean either art or craft, in the original Greek the word &quot;techne&quot; can only mean &quot;skill&quot;, not &quot;art&quot;.&lt;/p&gt;
&lt;h2&gt;So You Want to be a Programmer&lt;/h2&gt;
&lt;p&gt;Here's my recipe for programming success:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Get &lt;strong&gt;interested&lt;/strong&gt; in programming, and do some because it is fun. Make sure that it keeps being enough fun so that you will be willing to put in your ten years/10,000 hours.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Program&lt;/strong&gt;. The best kind of learning is &lt;a href=&quot;http://www.engines4ed.org/hyperbook/nodes/NODE-120-pg.html&quot;&gt;learning by doing&lt;/a&gt;. To put it more technically, &quot;the maximal level of performance for individuals in a given domain is not attained automatically as a function of extended experience, but the level of performance can be increased even by highly experienced individuals as a result of deliberate efforts to improve.&quot; &lt;a href=&quot;http://www2.umassd.edu/swpi/DesignInCS/expertise.html&quot;&gt;(p. 366)&lt;/a&gt; and &quot;the most effective learning requires a well-defined task with an appropriate difficulty level for the particular individual, informative feedback, and opportunities for repetition and corrections of errors.&quot; (p. 20-21) The book &lt;em&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0521357349/?tag=fu0b5-20&quot;&gt;Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life&lt;/a&gt;&lt;/em&gt; is an interesting reference for this viewpoint.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Talk with&lt;/strong&gt; other programmers; read other programs. This is more important than any book or training course.&lt;/li&gt;
&lt;li&gt;If you want, put in four years at a &lt;strong&gt;college&lt;/strong&gt; (or more at a graduate school). This will give you access to some jobs that require credentials, and it will give you a deeper understanding of the field, but if you don't enjoy school, you can (with some dedication) get similar experience on your own or on the job. In any case, book learning alone won't be enough. &quot;Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter&quot; says Eric Raymond, author of &lt;em&gt;The New Hacker's Dictionary&lt;/em&gt;. One of the best programmers I ever hired had only a High School degree; he's produced a lot of &lt;a href=&quot;http://www.xemacs.org&quot;&gt;great&lt;/a&gt; &lt;a href=&quot;http://www.mozilla.org&quot;&gt;software&lt;/a&gt;, has his own &lt;a href=&quot;http://groups.google.com/groups?q=alt.fan.jwz&amp;amp;meta=site%3Dgroups&quot;&gt;news group&lt;/a&gt;, and made enough in stock options to buy his own &lt;a href=&quot;http://en.wikipedia.org/wiki/DNA_Lounge&quot;&gt;nightclub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Work on &lt;strong&gt;projects with&lt;/strong&gt; other programmers. Be the best programmer on some projects; be the worst on some others. When you're the best, you get to test your abilities to lead a project, and to inspire others with your vision. When you're the worst, you learn what the masters do, and you learn what they don't like to do (because they make you do it for them).&lt;/li&gt;
&lt;li&gt;Work on &lt;strong&gt;projects &lt;em&gt;after&lt;/em&gt;&lt;/strong&gt; other programmers. Understand a program written by someone else. See what it takes to understand and fix it when the original programmers are not around. Think about how to design your programs to make it easier for those who will maintain them after you.&lt;/li&gt;
&lt;li&gt;Learn at least a half dozen &lt;strong&gt;programming languages&lt;/strong&gt;. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).&lt;/li&gt;
&lt;li&gt;Remember that there is a &quot;&lt;strong&gt;computer&lt;/strong&gt;&quot; in &quot;computer science&quot;. Know how long it takes your computer to execute an instruction, fetch a word from memory (with and without a cache miss), read consecutive words from disk, and seek to a new location on disk. (&lt;a href=&quot;http://norvig.com/21-days.html#answers&quot;&gt;Answers here.&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Get involved in a language &lt;strong&gt;standardization&lt;/strong&gt; effort. It could be the ANSI C++ committee, or it could be deciding if your local coding style will have 2 or 4 space indentation levels. Either way, you learn about what other people like in a language, how deeply they feel so, and perhaps even a little about why they feel so.&lt;/li&gt;
&lt;li&gt;Have the good sense to &lt;strong&gt;get off&lt;/strong&gt; the language standardization effort as quickly as possible.&lt;/li&gt;
&lt;/ul&gt;
With all that in mind, its questionable how far you can get just by book learning. Before my first child was born, I read all the &lt;em&gt;How To&lt;/em&gt; books, and still felt like a clueless novice. 30 Months later, when my second child was due, did I go back to the books for a refresher? No. Instead, I relied on my personal experience, which turned out to be far more useful and reassuring to me than the thousands of pages written by experts.
&lt;p&gt;Fred Brooks, in his essay &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/No_Silver_Bullet&quot;&gt;No Silver Bullet&lt;/a&gt;&lt;/em&gt; identified a three-part plan for finding great software designers:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Systematically identify top designers as early as possible.&lt;/li&gt;
&lt;li&gt;Assign a career mentor to be responsible for the development of the prospect and carefully keep a career file.&lt;/li&gt;
&lt;li&gt;Provide opportunities for growing designers to interact and stimulate each other.&lt;/li&gt;
&lt;/ol&gt;
This assumes that some people already have the qualities necessary for being a great designer; the job is to properly coax them along. &lt;a href=&quot;http://www-pu.informatik.uni-tuebingen.de/users/klaeren/epigrams.html&quot;&gt;Alan Perlis&lt;/a&gt; put it more succinctly: &quot;Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers&quot;. Perlis is saying that the greats have some internal quality that transcends their training. But where does the quality come from? Is it innate? Or do they develop it through diligence? As Auguste Gusteau (the finctional chef in &lt;em&gt;Ratatouille&lt;/em&gt;) puts it, &quot;anyone can cook, but only the fearless can be great.&quot; I think of it more as willingness to devote a large portion of one's life to deliberative practice. But maybe &lt;em&gt;fearless&lt;/em&gt; is a way to summarize that. Or, as Gusteau's critic, Anton Ego, says: &quot;Not everyone can become a great artist, but a great artist can come from anywhere.&quot;
&lt;p&gt;So go ahead and buy that Java/Ruby/Javascript/PHP book; you'll probably get some use out of it. But you won't change your life, or your real overall expertise as a programmer in 24 hours, days, or even weeks. How about working hard to continually improve over 24 months? Well, now you're starting to get somewhere...&lt;/p&gt;
&lt;hr /&gt;&lt;h2&gt;References&lt;/h2&gt;
&lt;p&gt;Bloom, Benjamin (ed.) &lt;em&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/034531509X/?tag=fu0b5-20&quot;&gt;Developing Talent in Young People&lt;/a&gt;&lt;/em&gt;, Ballantine, 1985.&lt;/p&gt;
&lt;p&gt;Brooks, Fred, &lt;em&gt;&lt;a href=&quot;http://citeseer.nj.nec.com/context/7718/0&quot;&gt;No Silver Bullets&lt;/a&gt;&lt;/em&gt;, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;bh&quot; id=&quot;bh&quot;&gt;Bryan, W.L. &amp;amp; Harter, N. &quot;Studies on the telegraphic language: The acquisition of a hierarchy of habits. &lt;em&gt;Psychology Review&lt;/em&gt;, 1899, 8, 345-375&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hayes, John R., &lt;em&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0805803092/?tag=fu0b5-20&quot;&gt;Complete Problem Solver&lt;/a&gt;&lt;/em&gt; Lawrence Erlbaum, 1989.&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;cs&quot; id=&quot;cs&quot;&gt;Chase, William G. &amp;amp; Simon, Herbert A.&lt;/a&gt; &lt;a href=&quot;http://books.google.com/books?id=dYPSHAAACAAJ&amp;amp;dq=%22perception+in+chess%22+simon&amp;amp;ei=z4PyR5iIAZnmtQPbyLyuDQ&quot;&gt;&quot;Perception in Chess&quot;&lt;/a&gt; &lt;em&gt;Cognitive Psychology&lt;/em&gt;, 1973, 4, 55-81.&lt;/p&gt;
&lt;p&gt;Lave, Jean, &lt;em&gt;&lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0521357349/?tag=fu0b5-20&quot;&gt;Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life&lt;/a&gt;&lt;/em&gt;, Cambridge University Press, 1988.&lt;/p&gt;
&lt;hr /&gt;
Approximate timing for various operations on a typical PC:
&lt;table border=&quot;1&quot; cellpadding=&quot;2&quot; cellspacing=&quot;2&quot;&gt;&lt;tr&gt;&lt;td&gt;execute typical instruction&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;1/1,000,000,000 sec = 1 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;fetch from L1 cache memory&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;0.5 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;branch misprediction&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;5 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;fetch from L2 cache memory&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;7 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Mutex lock/unlock&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;25 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;fetch from main memory&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;100 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;send 2K bytes over 1Gbps network&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;20,000 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;read 1MB sequentially from memory&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;250,000 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;fetch from new disk location (seek)&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;8,000,000 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;read 1MB sequentially from disk&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;20,000,000 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;send packet US to Europe and back&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;150 milliseconds = 150,000,000 nanosec&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;&lt;hr /&gt;&lt;h2&gt;Appendix: Language Choice&lt;/h2&gt;
Several people have asked what programming language they should learn first. There is no one answer, but consider these points:
&lt;ul&gt;&lt;li&gt;&lt;em&gt;Use your friends&lt;/em&gt;. When asked &quot;what operating system should I use, Windows, Unix, or Mac?&quot;, my answer is usually: &quot;use whatever your friends use.&quot; The advantage you get from learning from your friends will offset any intrinsic difference between OS, or between programming languages. Also consider your future friends: the community of programmers that you will be a part of if you continue. Does your chosen language have a large growing community or a small dying one? Are there books, web sites, and online forums to get answers from? Do you like the people in those forums?&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Keep it simple&lt;/em&gt;. Programming languages such as C++ and Java are designed for professional development by large teams of experienced programmers who are concerned about the run-time efficiency of their code. As a result, these languages have complicated parts designed for these circumstances. You're concerned with learning to program. You don't need that complication. You want a language that was designed to be easy to learn and remember by a single new programmer.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Play.&lt;/em&gt; Which way would you rather learn to play the piano: the normal, interactive way, in which you hear each note as soon as you hit a key, or &quot;batch&quot; mode, in which you only hear the notes after you finish a whole song? Clearly, interactive mode makes learning easier for the piano, and also for programming. Insist on a language with an interactive mode and use it.&lt;/li&gt;
&lt;/ul&gt;
Given these criteria, my recommendations for a first programming language would be &lt;strong&gt;&lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt;&lt;/strong&gt; or &lt;strong&gt;&lt;a href=&quot;http://www.schemers.org&quot;&gt;Scheme&lt;/a&gt;&lt;/strong&gt;. But your circumstances may vary, and there are other good choices. If your age is a single-digit, you might prefer &lt;a href=&quot;http://alice.org&quot;&gt;Alice&lt;/a&gt; or &lt;a href=&quot;http://www.squeak.org/&quot;&gt;Squeak&lt;/a&gt; (older learners might also enjoy these). The important thing is that you choose and get started.
&lt;hr /&gt;&lt;h2&gt;Appendix: Books and Other Resources&lt;/h2&gt;
Several people have asked what books and web pages they should learn from. I repeat that &quot;book learning alone won't be enough&quot; but I can recommend the following:
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Scheme:&lt;/strong&gt; &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0262011530/?tag=fu0b5-20&quot;&gt;Structure and Interpretation of Computer Programs (Abelson &amp;amp; Sussman)&lt;/a&gt; is probably the best introduction to computer science, and it does teach programming as a way of understanding the computer science. You can see &lt;a href=&quot;http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures/&quot;&gt;online videos of lectures&lt;/a&gt; on this book, as well as the &lt;a href=&quot;http://mitpress.mit.edu/sicp/full-text/book/book.html&quot;&gt;complete text online&lt;/a&gt;. The book is challenging and will weed out some people who perhaps could be successful with another approach.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scheme:&lt;/strong&gt; &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0262062186/?tag=fu0b5-20&quot;&gt;How to Design Programs (Felleisen &lt;em&gt;et al.&lt;/em&gt;)&lt;/a&gt; is one of the best books on how to actually design programs in an elegant and functional way.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python:&lt;/strong&gt; &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/1887902996/?tag=fu0b5-20&quot;&gt;Python Programming: An Intro to CS (Zelle)&lt;/a&gt; is a good introduction using Python.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python:&lt;/strong&gt; Several online &lt;a href=&quot;http://wiki.python.org/moin/BeginnersGuide&quot;&gt;tutorials&lt;/a&gt; are available at &lt;a href=&quot;http://python.org&quot;&gt;Python.org&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Oz:&lt;/strong&gt; &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0262220695/?tag=fu0b5-20&quot;&gt;Concepts, Techniques, and Models of Computer Programming (Van Roy &amp;amp; Haridi)&lt;/a&gt; is seen by some as the modern-day successor to Abelson &amp;amp; Sussman. It is a tour through the big ideas of programming, covering a wider range than Abelson &amp;amp; Sussman while being perhaps easier to read and follow. It uses a language, Oz, that is not widely known but serves as a basis for learning other languages. &amp;lt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;h2&gt;Notes&lt;/h2&gt;
T. Capey points out that the &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0805803092/?tag=fu0b5-20&quot;&gt;Complete Problem Solver&lt;/a&gt; page on Amazon now has the &quot;Teach Yourself Bengali in 21 days&quot; and &quot;Teach Yourself Grammar and Style&quot; books under the &quot;Customers who shopped for this item also shopped for these items&quot; section. I guess that a large portion of the people who look at that book are coming from this page. Thanks to Ross Cohen for help with Hippocrates.&lt;/td&gt;
&lt;td&gt;          &lt;/td&gt;
&lt;td class=&quot;c2&quot; valign=&quot;top&quot;&gt;
&lt;h2&gt;Translations&lt;/h2&gt;
Thanks to the following authors, translations of this page are available in:
&lt;hr /&gt;&lt;a href=&quot;http://www.myahya.org/writing/21-days&quot;&gt;Arabic&lt;br /&gt;(Mohamed A. Yahya)&lt;br /&gt;&lt;img width=&quot;150&quot; height=&quot;56&quot; src=&quot;http://norvig.com/150px-Arabic_Text.png&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.math.bas.bg/bantchev/misc/teach-10-years.html&quot;&gt;Bulgarian&lt;br /&gt;(Boyko Bantchev)&lt;br /&gt;&lt;img src=&quot;http://norvig.com/200px-Flag_of_Bulgaria.svg.png&quot; height=&quot;60&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.javaresearch.org/article/showarticle.jsp?column=451&amp;amp;thread=12568&quot;&gt;Chinese&lt;br /&gt;(Xiaogang Guo)&lt;br /&gt;&lt;img width=&quot;82&quot; height=&quot;54&quot; src=&quot;http://norvig.com/ch-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://tvrtko.bedekovic.net/home/articles/programming/21-days.html&quot;&gt;Croatian&lt;br /&gt;(Tvrtko Bedekovic)&lt;br /&gt;&lt;img src=&quot;http://norvig.com/hr-flag.gif&quot; height=&quot;55&quot; width=&quot;108&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.vizmatic.com/apprenez-a-programmer-en-dix-ans/lang/fr&quot;&gt;French&lt;br /&gt;(Etienne Beauchesne)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/fr-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://purl.net/stefan_ram/html/21-tage&quot;&gt;German&lt;br /&gt;(Stefan Ram)&lt;br /&gt;&lt;img width=&quot;89&quot; height=&quot;54&quot; src=&quot;http://norvig.com/gm-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.reviewsnest.com/charities/programmingin10years.htm&quot;&gt;Hebrew&lt;br /&gt;(Eric McCain)&lt;br /&gt;&lt;img width=&quot;150&quot; height=&quot;56&quot; src=&quot;http://norvig.com/heb-150.png&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://vikashtiwari.blogspot.com/2008/04/teach-yourself-programming-in-10-years.html&quot;&gt;Hindi&lt;br /&gt;(Vikash Tiwari)&lt;br /&gt;&lt;img src=&quot;http://norvig.com/in-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://mestyanm.extra.hu/doc/21_nap.html&quot;&gt;Hungarian&lt;br /&gt;(Marton Mestyan)&lt;br /&gt;&lt;img src=&quot;http://norvig.com/hu-flag.gif&quot; width=&quot;81&quot; height=&quot;54&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://djitz.com/djitzlosophy/belajar-programming-sendiri-dalam-sepuluh-tahun/&quot;&gt;Indonesian&lt;br /&gt;(Tridjito Santoso)&lt;br /&gt;&lt;img src=&quot;http://norvig.com/id-flag.png&quot; width=&quot;81&quot; height=&quot;54&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.culturahacker.it/documenti/teach.html&quot;&gt;Italian&lt;br /&gt;(Fabio Z. Tessitore)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/it-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.yamdas.org/column/technique/21-daysj.html&quot;&gt;Japanese&lt;br /&gt;(yomoyomo)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/ja-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.tavon.org/site/work/21-days&quot;&gt;Korean (John Hwang)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/ks-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://barnamenevis.org/forum/showthread.php?t=150950&quot;&gt;Persian&lt;br /&gt;(Mehdi Asgari)&lt;br /&gt;&lt;img width=&quot;87&quot; height=&quot;54&quot; src=&quot;http://norvig.com/ir-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://jnowak.students.wmid.amu.edu.pl/norvig.html&quot;&gt;Polish&lt;br /&gt;(Kuba Nowak)&lt;br /&gt;&lt;img width=&quot;87&quot; height=&quot;54&quot; src=&quot;http://norvig.com/pl-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://pihisall.wordpress.com/2007/03/15/aprenda-a-programar-em-dez-anos/&quot;&gt;Portugese&lt;br /&gt;(Augusto Radtke)&lt;br /&gt;&lt;img width=&quot;74&quot; height=&quot;54&quot; src=&quot;http://norvig.com/br-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://norvig.com/romanian21-days.html&quot;&gt;Romanian&lt;br /&gt;(Ştefan Lazăr)&lt;br /&gt;&lt;img width=&quot;80&quot; height=&quot;54&quot; src=&quot;http://norvig.com/ro-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.williamspublishing.com/21-days.html&quot;&gt;Russian&lt;br /&gt;(Konstantin Ptitsyn)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/rs-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.inverudio.com/21-days.htm&quot;&gt;Serbian&lt;br /&gt;(Lazar Kovacevic)&lt;br /&gt;&lt;img width=&quot;108&quot; height=&quot;54&quot; src=&quot;http://norvig.com/rb-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://loro.sf.net/notes/21-dias.html&quot;&gt;Spanish&lt;br /&gt;(Carlos Rueda)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/sp-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://www.efton.sk/sk/learn_programming_in_10_years.html&quot;&gt;Slovak&lt;br /&gt;(Jan Waclawek)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/lo-lgflag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;a href=&quot;http://ileriseviye.org/arasayfa.php?inode=programmingtenyears.html&quot;&gt;Turkish&lt;br /&gt;(Çağıl Uluşahin)&lt;br /&gt;&lt;img width=&quot;81&quot; height=&quot;54&quot; src=&quot;http://norvig.com/tu-flag.gif&quot; /&gt;&lt;/a&gt;
&lt;hr /&gt;&lt;/td&gt;
&lt;/div&gt;&lt;img src=&quot;http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
</item>
<item>
<link>http://thegospelcoalition.org/blogs/justintaylor/2012/05/02/eight-reasons-why-my-anxiety-is-pointless-and-foolish/</link>
<guid isPermaLink="true" >http://thegospelcoalition.org/blogs/justintaylor/2012/05/02/eight-reasons-why-my-anxiety-is-pointless-and-foolish/</guid>
<title>Eight Reasons Why My Anxiety Is Pointless and Foolish – Justin Taylor</title>
<pubDate>Fri, 04 May 2012 05:56:53 -0700</pubDate>
<description>&lt;div&gt;
&lt;p&gt;&lt;strong&gt;1. God is &lt;em&gt;near&lt;/em&gt; me to help me.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Philippians%204.5-6&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Philippians 4:5-6&lt;/a&gt;: “&lt;em&gt;The Lord is at hand&lt;/em&gt;; [therefore] do not be anxious about anything, but in &lt;em&gt;everything&lt;/em&gt; by prayer and supplication with thanksgiving let your requests be made known to God.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;2. God &lt;em&gt;cares&lt;/em&gt; for me.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/1%20Peter%205.7&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;1 Peter 5:7&lt;/a&gt;: “. . . casting all your anxieties on him, because &lt;em&gt;he cares for you&lt;/em&gt;.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;3. My Father in heaven &lt;em&gt;knows&lt;/em&gt; all my needs and will &lt;em&gt;supply&lt;/em&gt; all my needs.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.31-33&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:31-33&lt;/a&gt;: “Therefore do not be anxious, saying, ‘What shall we eat?’ or ‘What shall we drink?’ or ‘What shall we wear?’ For the Gentiles seek after all these things, and &lt;em&gt;your heavenly Father knows that you need them all&lt;/em&gt;. But seek first the kingdom of God and his righteousness, and &lt;em&gt;all these things will be added to you&lt;/em&gt;.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;4. God &lt;em&gt;values&lt;/em&gt; me more than birds and grass, which he richly provides for and adorns; how much more will he provide for all my needs!&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.26-30&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:26-30&lt;/a&gt;: “Look at the birds of the air: they neither sow nor reap nor gather into barns, and yet your heavenly Father feeds them. Are you not of more value than they? And which of you by being anxious can add a single hour to his span of life? And why are you anxious about clothing? Consider the lilies of the field, how they grow: they neither toil nor spin, yet I tell you, even Solomon in all his glory was not arrayed like one of these. But if God so clothes the grass of the field, which today is alive and tomorrow is thrown into the oven, will he not much more clothe you, O you of little faith?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;5. The worst someone can do to me is to kill me and take things from me!&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.25&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:25&lt;/a&gt;: “Do not be anxious about your life, what you will eat or what you will drink, nor about your body, what you will put on. Is not life more than food, and the body more than clothing?” [I.e., you still have eternal life even if you have no food; you will still have a resurrection body even if you are physically deprived.]&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Luke%2012.4&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Luke 12:4&lt;/a&gt;: “Do not fear those who kill the body, and after that have nothing more that they can do.”&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Luke%2021.16&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Luke 21:16&lt;/a&gt;, &lt;a href=&quot;http://biblia.com/bible/esv/Luke%2021.18&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;18&lt;/a&gt;: “Some of you they will put to death. . . . But not a hair of your head will perish.”&lt;/p&gt;
&lt;p id=&quot;p45008037.01-1&quot;&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Romans%208.31-32&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Romans 8:31-32&lt;/a&gt;, &lt;a href=&quot;http://biblia.com/bible/esv/Romans%208.35&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;35&lt;/a&gt;, &lt;a href=&quot;http://biblia.com/bible/esv/Romans%208.38-39&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;38-39&lt;/a&gt;: “If God is for us, who can be against us? He who did not spare his own Son but gave him up for us all, how will he not also with him graciously give us all things? . . . Who shall separate us from the love of Christ? Shall tribulation, or distress, or persecution, or famine, or nakedness, or danger, or sword? . . . For I am sure that neither death nor life, nor angels nor rulers, nor things present nor things to come, nor powers, nor height nor depth, nor anything else in all creation, will be able to separate us from the love of God in Christ Jesus our Lord.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;6. Anxiety is pointless.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.27&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:27&lt;/a&gt;: “Which of you by being anxious can add a single hour to his span of life?” [Answer: no one.]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;7. Anxiety is worldly.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.31-32&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:31-32&lt;/a&gt;: “Do not be anxious, saying, ‘What shall we eat?’ or ‘What shall we drink?’ or ‘What shall we wear?’ For the &lt;em&gt;Gentiles&lt;/em&gt; seek after all these things. . . .”&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/James%204.4&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;James 4:4&lt;/a&gt;: “You adulterous people! Do you not know that friendship with the world is enmity with God? Therefore whoever wishes to be a friend of the world makes himself an enemy of God.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;8. Tomorrow has enough to worry about and doesn’t need my help.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Matthew%206.34&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Matthew 6:34&lt;/a&gt;: “Do not be anxious about tomorrow, for tomorrow will be anxious for itself. Sufficient for the day is its own trouble.”&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://biblia.com/bible/esv/Lamentations%203.23&quot; target=&quot;_blank&quot; rel=&quot;external nofollow&quot; title=&quot;&quot;&gt;Lamentations 3:23&lt;/a&gt;: “[God's mercies] are new every morning.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;&lt;img src=&quot;http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
</item>
<item>
<link>http://www.scientificamerican.com/article.cfm?id=how-critical-thinkers-lose-faith-god</link>
<guid isPermaLink="true" >http://www.scientificamerican.com/article.cfm?id=how-critical-thinkers-lose-faith-god</guid>
<title>How Critical Thinkers Lose their Faith in God</title>
<pubDate>Thu, 03 May 2012 21:05:52 -0700</pubDate>
<description>&lt;div id=&quot;mainCol&quot;&gt;
&lt;div class=&quot;articleHeader&quot;&gt;
&lt;div id=&quot;breadcrumb&quot;&gt;&lt;a href=&quot;http://www.scientificamerican.com&quot; class=&quot;moreLink&quot;&gt;Home &lt;span class=&quot;linkArrow&quot;&gt;»&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;http://www.scientificamerican.com/section.cfm?id=mindmatters&quot; class=&quot;moreLink&quot;&gt;Mind Matters &lt;span class=&quot;linkArrow&quot;&gt;»&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;eyebrow&quot;&gt;&lt;a class=&quot;contentType&quot; href=&quot;http://www.scientificamerican.com/section.cfm?id=mindmatters&quot;&gt;Mind Matters&lt;/a&gt; | &lt;a class=&quot;category&quot; href=&quot;http://www.scientificamerican.com/mind-and-brain&quot;&gt;Mind &amp;amp; Brain&lt;/a&gt;&lt;/span&gt;


&lt;p id=&quot;articleDek&quot;&gt;Religious belief drops when analytical thinking rises&lt;/p&gt;
&lt;p class=&quot;articleInfo&quot;&gt;&lt;span class=&quot;byline&quot;&gt;By &lt;a href=&quot;http://www.scientificamerican.com/author.cfm?id=2813&quot;&gt;Daisy Grewal&lt;/a&gt;&lt;/span&gt;  | &lt;span class=&quot;datestamp&quot;&gt;May 1, 2012 |&lt;/span&gt; &lt;/p&gt;
&lt;/div&gt;
&lt;div id=&quot;articleContent&quot;&gt;
&lt;div class=&quot;moduleHolder&quot;&gt;
&lt;p class=&quot;in-article-image&quot;&gt;&lt;img id=&quot;articleImg&quot; src=&quot;http://www.scientificamerican.com/media/inline/how-critical-thinkers-lose-faith-god_1.jpg&quot; alt=&quot;faith, god, critical thinkers&quot; width=&quot;277&quot;/&gt;&lt;span class=&quot;imageCaption&quot;&gt; Faith and intuition are intimately related.&lt;/span&gt; &lt;span class=&quot;imageCredit&quot;&gt;Image: iStock/artpipi&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Why are some people more religious than others? Answers to this question often focus on the role of culture or upbringing.  While these influences are important, new research suggests that whether we believe may also have to do with how much we rely on intuition versus analytical thinking. In 2011 Amitai Shenhav, David Rand and Joshua Greene of Harvard University published a &lt;a href=&quot;http://psycnet.apa.org/psycinfo/2011-21081-001/&quot;&gt;paper&lt;/a&gt; showing that people who have a tendency to rely on their intuition are more likely to believe in God.  They also showed that encouraging people to think intuitively increased people’s belief in God. Building on these findings, in a recent &lt;a href=&quot;http://www.sciencemag.org/content/336/6080/493&quot;&gt;paper&lt;/a&gt; published in &lt;em&gt;Science&lt;/em&gt;, Will Gervais and Ara Norenzayan of the University of British Columbia found that encouraging people to think analytically reduced their tendency to believe in God. Together these findings suggest that belief may at least partly stem from our thinking styles.&lt;/p&gt;
&lt;p&gt;Gervais and Norenzayan’s research is based on the idea that we possess &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1364661303002250&quot;&gt;two&lt;/a&gt; different ways of thinking that are distinct yet related. Understanding these two ways, which are often referred to as System 1 and System 2, may be important for understanding our tendency towards having religious faith. System 1 thinking relies on shortcuts and other rules-of-thumb while System 2 relies on analytic thinking and tends to be slower and require more effort. Solving logical and analytical problems may require that we override our System 1 thinking processes in order to engage System 2. Psychologists have developed a number of clever techniques that encourage us to do this. Using some of these techniques, Gervais and Norenzayan examined whether engaging System 2 leads people away from believing in God and religion.&lt;/p&gt;
&lt;p&gt;For example, they had participants view images of artwork that are associated with reflective thinking (Rodin’s The Thinker) or more neutral images (Discobulus of Myron). Participants who viewed The Thinker reported weaker religious beliefs on a subsequent survey. However, Gervais and Norenzayan wondered if showing people artwork might have made the connection between thinking and religion too obvious. In their next two studies, they created a task that more subtly primed analytic thinking. Participants received sets of five randomly arranged words (e.g. “high winds the flies plane”) and were asked to drop one word and rearrange the others in order to create a more meaningful sentence (e.g. “the plane flies high”). Some of their participants were given scrambled sentences containing words associated with analytic thinking (e.g. “analyze,” “reason”) and other participants were given sentences that featured neutral words (e.g. “hammer,” “shoes”). After unscrambling the sentences, participants filled out a survey about their religious beliefs. In both studies, this subtle reminder of analytic thinking caused participants to express less belief in God and religion. The researchers found no relationship between participants’ prior religious beliefs and their performance in the study. Analytic thinking reduced religious belief regardless of how religious people were to begin with.&lt;/p&gt;
&lt;p&gt;In a final study, Gervais and Norenzayan used an even more subtle way of activating analytic thinking: by having participants fill out a survey measuring their religious beliefs that was printed in either clear font or font that was difficult to read. Prior &lt;a href=&quot;http://www.ncbi.nlm.nih.gov/pubmed/17999571&quot;&gt;research&lt;/a&gt; has shown that difficult-to-read font promotes analytic thinking by forcing participants to slow down and think more carefully about the meaning of what they are reading. The researchers found that participants who filled out a survey that was printed in unclear font expressed less belief as compared to those who filled out the same survey in the clear font.&lt;/p&gt;
&lt;br/&gt;&lt;/div&gt;





&lt;/div&gt;&lt;img src=&quot;http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
</item>
<item>
<link>http://thegospelcoalition.org/blogs/kevindeyoung/2012/01/14/following-up-on-the-jesusreligion-video/</link>
<guid isPermaLink="true" >http://thegospelcoalition.org/blogs/kevindeyoung/2012/01/14/following-up-on-the-jesusreligion-video/</guid>
<title>Following Up on the Jesus/Religion Video – Kevin DeYoung</title>
<pubDate>Tue, 01 May 2012 10:14:49 -0700</pubDate>
<description>&lt;div&gt;
&lt;p&gt;Well, the internet is a strange place. With all the enthusiasm for and against Jeff Bethke’s viral video and now all the enthusiasm for and against &lt;a href=&quot;http://thegospelcoalition.org/blogs/kevindeyoung/2012/01/13/does-jesus-hate-religion-kinda-sorta-not-really/&quot;&gt;my critique&lt;/a&gt;, it may seem like all we have here is sound and fury signifying nothing. Maybe another Bellesque brouhaha in the making.&lt;/p&gt;
&lt;p&gt;But sometimes good things happen on the internet, even in exchanges like this. Jeff sent me an email yesterday afternoon and we exchanged several emails since then. I have his permission to post parts of that exchange.&lt;/p&gt;
&lt;p&gt;This was his first email to me:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I just wanted to say I really appreciate your article man. It hit me hard. I’ll even be honest and say I agree 100%. God has been working with me in the last 6 months on loving Jesus AND loving his church. For the first few years of walking with Jesus (started in ’08) I had a warped/poor paradigm of the church and it didn’t build up, unify, or glorify His wife (the Bride). If I can be brutally honest I didn’t think this video would get much over a couple thousand views maybe, and because of that, my points/theology wasn’t as air-tight as I would’ve liked. If I redid the video tomorrow, I’d keep the overall message, but would articulate, elaborate, and expand on the parts where my words and delivery were chosen poorly… My prayer is my generation would represent Christ faithfully and not swing to the other spectrum….thankful for your words and more importantly thankful for your tone and fatherly like grace on me as my elder. Humbled. Blessed. Thankful for painful growth. Blessings.&lt;/p&gt;
&lt;p&gt;Grace and Peace,&lt;/p&gt;
&lt;p&gt;Jeff&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wrote this in reply:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Thanks for your email. It confirms my impression of you—humble, sincere, a real love for God and the gospel. I can’t remember ever receiving such a teachable response to criticism. I’m grateful for you and your courage in taking time to write me a note. Really grateful.&lt;/p&gt;
&lt;p&gt;I know that criticism can be hard. You are probably getting it from right, left, and center, from Christians and non-Christians. I’m sure you are getting a lot of affirmation too, and that presents its own challenges. I tried to my write my post as a friend, not as a hater. I am rooting for you, not against you. I wanted to approach this like Acts 18:26. Thank you for receiving it in that spirit….&lt;/p&gt;
&lt;p&gt;What can I do to help you? Have you thought about posting a clarifying follow up to the video? Or maybe writing something on “what I wish I had said differently?” It could be a powerful example of the things you were talking about to come back and say, “Hey, I didn’t get everything right here. I don’t want people to take this in the wrong direction.” Do you want me to post some of your email to me on my blog so people can see your heart in this? Let me know if there is something I can do.&lt;/p&gt;
&lt;p&gt;Your friend,&lt;/p&gt;
&lt;p&gt;Kevin&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Later Jeff wrote me back. This is part of his reply:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Wasn’t expecting such a quick response. I appreciate you a ton, and your words really hit home…My biggest fear is that I will say something and it will be out on the internet forever. But already quickly learning all praise goes to Jesus, and same with critique…Feel free to share parts of my email on the blog if you’d like! The tone is already gracious enough but it’d be cool to show that we have had some correspondence and it’d mean a lot.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The actual emails were longer, but these excerpts give you a feel for the tone. I’m immensely grateful for Jeff’s response and feel like I’ve made a new friend in this process. We talked on the phone this morning and had a chance to get to know each other better. We talked about the wonders and trials of the internet and the difficulty in receiving praise and criticism. We both talked about what we could have done differently in retrospect.&lt;/p&gt;
&lt;p&gt;A friend wrote to me yesterday and said, “This is a good test for both Jefferson and for yourself. Is he the kind of guy who would be willing to write a critic with humility? And did you write the piece in such a way that the one being criticized would feel comfortable chatting with you?” I hope we are passing that test. Through the years I haven’t always aced this kind of exam.&lt;/p&gt;
&lt;p&gt;I hope everyone reading this blog will share Jeff’s heart and mine for getting the gospel out as far as we can and as right as we can. I look forward to seeing Jeff’s next video.&lt;/p&gt;
&lt;/div&gt;&lt;img src=&quot;http://pixel.quantserve.com/pixel/p-89EKCgBk8MZdE.gif&quot; border=&quot;0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
</item>
</channel>
</rss>
