(The above audio is the full essay.) I was a big fan of J. Krishnamurti when I was in high school. (And Alan Watts.) He was an iconoclast and free thinker who had a spiritual kind of message: to be free of the mental problems in the present. Well, that’s what I remember! It was kind of poetic invocation of freedom.

I recorded an essay by Adi Da about J. Krishnamurti so I could listen to it and better understand it. I use a simple linux audio recorder that allows me to append the recording–so I can stop after each paragraph, and catch my breath, and preview the next paragraph before starting to record again. I made a mistake in practically every paragraph–so I’m wondering how the editors must spend a lot of time and narrator takes to stitch together a full-length audio book!

Think back to the mobile phone you had in 2010. It could access the internet, but it wasn’t such a great experience. On average, people only spent 20% of their time online on their phones back then, according to Zenith, a media agency. Today, by contrast, we spend around 70% of our time on the internet on phones, based on estimates and forecasts for more than 50 countries covering two-thirds of the world’s population. By 2019, Zenith says this will rise to close to 80%. What used to be called “mobile internet” is now just the internet.

A small group of programmers wants to change how people code—before catastrophe strikes. — from the Atlantic Magazine

Basic Premise: Code is getting too complicated–how to make it work better for humans?

Example: Problem with 911 calls going out due to simple counter bug

Software is “eating the world” but unexpected complications create havoc

Engineering is 1950s state of thinking: simple failures.

Problem with code is that the complexity is invisible.

Example of hackers remotely taking over a self-driving car.

John Resig, creator of javascript, tech lead at Khan Academy, wondered why learning programming is so tough. He watched a talk by Bret Victor in Montreal in 2012, (Inventing on Principle), about how programming is broken, and how to fix it.

Khan Academy has become perhaps the largest computer-programming class in the world, with a million students, on average, actively using the program each month.

Bret wants to work with images instead of abstract text.

Programming should be visual like WYSIWYG programs.

Example Pic:

Demo of WYSIWYG program: slider on right controls animation on left.

Airplane engineering has dealt with complexity by writing SCADE product family (for safety-critical application development environment)

Documentation is another area where what people want can differ from the code that gets created.

“Architects draw detailed plans before a brick is laid or a nail is hammered,” he wrote in an article. “But few programmers write even a rough sketch of what their programs will do before they start coding.”

Programmers tend to be pragmatic and distrust the theoretical, ivory-tower stuff, which also works against programming improvements.

Java is mainly large enterprise back end systems, and some android, and quite a lot of embedded stuff (nominally what it was invented for), and, worryingly, quite a lot of client side GUI stuff.
C++ is used for legacy systems and where you need speed.

C is used where you need speed, have simple programs and memory constraints, and old fashioned unix software.

C# is for windows programming and .net

Javascript is for browser programming and Node, and some general scripting, where someone has used it as their system’s internal scripting language (see also lua)

PHP is used for relatively simple web stuff, because it’s easy and works and has wide library support

Python is used for what PHP is by better developers, and has brilliant maths libraries so is increasingly used for anything maths related where esoteric things like matlab and R and F# are unhelpfully niche.

Q: Web development—with the wide range of backend and frontend languages, frameworks, and all of the tools and dependencies developers deal with on a day-to-day basis building apps and sites—is inherently complex. What advice do you give folks who are just starting out in web development?

1) When someone is getting started in web development, I usually focus on three things. First, you have to learn your foundations. Get good at HTML, responsive CSS3, and vanilla JavaScript. This will be of use to you no matter where you’re working.

2) Second, pick something and get good at it. Pick a single frontend framework and a single backend framework and get to know them well. Try a variety of projects in them; find the places they annoy you; get to know the communities; dig in deep; give back.