Web Code (NaNoWriMo 2016)

Chapter. On will

It seemed to me … that the people with the greatest reputations were almost entirely deficient, while others who were supposed to be their inferiors were much better qualified in practical intelligence…

I reflected as I walked away: Well, I am certainly wiser than this man. It is only too likely that neither of us has any knowledge to boast of; but he thinks that he knows something which he does not know, whereas I am quite conscious of my ignorance. At any rate it seems to me that I am wiser than he is to the extent, that I do not think that I know what I do not know.
— Socrates in Plato’s Apology

I have a friend and web developer who thought I was really smart, but he didn’t think much of his own abilities. During a particular coincidence in him of both opinions, he asked me if I’d hire him if I was in a position to make such a judgement.

“Of course!” I said, “But why do you ask this?”

“I was just thinking that one day you will be atop the web, and I want to be a part of it.”

I replied, “In general, the thing I found is the #1 thing necessary for success is will. And you have will. ‘Smarts’ are a result of will, not vice versa. So sure I’d hire you.”

As someone who has leaned on his “smarts” a number of times to the detriment of his own personal development, I truly believe what I said. Every day, I’m starting to discover the wisdom of Socrates.

As you’ve gone through this book and learned perhaps a thing or two, I hope you’ve discovered that it was your innate desire and will that powered through learning and not your innate “smarts.”

Remember that feeling, for the less of it you forget, the better you will do. And maybe, when you are “atop the web,” you might consider hiring me.


  1. In PHP and MySQL: Web Development, 4th Edition, which was the top-selling PHP text in its time, page 43 (Chapter 1) has a 21-rule table covering the associativity and precedence of operators. However Practical C reduces all those rules down to three: 1) * / %; 2) + -; 3) (Put parenthesis around everything else). 
  2. In Learning Python, 3rd Edition., a popular introductory book on Python programming language, chapter 1 has three paragraphs rationalizing “object-oriented” as a technical strength of Python (p.12); while all of chapter 2 devotes itself to byte-code compilers, virtual machines, various implementations, just-in-time compilers/C++ translators, and frozen binaries. A person new to programming asked me once to explain the three terms above she read in those chapters. I told her to skip them and go directly to chapter 3, and the only thing important in those two chapters was that Python was named after Monty Python’s Flying Circus. Hard to believe this person has been “teaching [Python] for 10 [years]” to anyone other than a proficient coder. 
  3. I’m specifically referring to the Head First Programming series which specifically spends the first chapter rationalizing its style based on research into learning, but this could equally apply to …For Dummies and The Complete Idiots Guide… books on programming, programming language, or web development. The research is ruined because the authors, I assume, were too busy hiding out in the computer lab during English class, where, they might have run across William Zinsser’s On Writing Well, where he specifically warns against the “breezy style” adopted by these books. Similarly putting text bubbles on 50’s clip art or iconography for “tip”, “warning”, “technical stuff”, and “remember” does not help visual learners because the pairing of graphics and text is context free. 
  4. These were the tasks assigned in the Karel programming language which was written in the 1980’s at Stanford and used back then to teach “computer literacy” when I was in high school. I narrowly avoided having to take it by aceing AP Pascal. Karel is not 1/100th as cool as it sounds because computer graphics in the 1980’s were lacking. Go look up examples of it on the web. 
  5. A reference to the understanding imparted by the ferryman to the eponymous character in Siddharta (1922) by Herman Hesse. 
  6. The golden hour is the period around sunrise and sunset where light has to travel through more atmosphere and achieves a golden tone. That, plus the long length of shadows which add dimensionality to the image, make it a nearly ideal time to photograph outdoors. 
  7. I was first exposed to this concept in (and shamelessly stealing from) Agile Software Development (2001) by Alistair Cockburn 
  8. The Chinese character for Ha is composed of sub-characters meaning “to break stone.” 
  9. The Chinese character for “Ri” alludes to a bird leaving or departing. 
  10. Python, for sure, is a better language for teaching general programming. 
  11. based on an Amazon search in November 2016 
  12. Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 in which PHP shaes the headline with an application, another programming language and programming framework, as well as two markup languages. 
  13. the TIOBE index tries to measure the popularity of a programming language based on the number of search engine results for certain queries. It has been around since September 2001 (when PHP was ranked #10). 
  14. I worked at Automattic, the creators of WordPress, from 2009-2012 and the Wikimedia Foundation, the maintainers of Wikipedia, from 2012-2014. 
  15. The difference between a model and a simulation is the former is a simplification in order to provide a deeper theoretical understanding and the latter is tries to capture as much detail of a rich complexity as an extension of experiment into areas where direct observation cannot reach. 
  16. As a young boy playing at my mom’s office in the University, I remember these boxes stacked up above her bookcase. 
  17. The minicomputer was a smaller computer than a mainframe pioneered by Digital Equipment Corporation (DEC). The main difference was the central processing unit of the computer was located on a single custom board. A workstation had the same CPU on a single custom chip, while a microcomputer (or PC) had that CPU on a single general purpose chip. 
  18. Time-sharing is the use of multi-tasking to allow multiple people to interact with the same computer concurrently,