Feasgar Math,
a chairdean!

Good afternoon, friends!

Repeat this

(fesgar mah)

Is mise Cory

Tha mi ailtire bathar-bog 

Tha mi ag obair an-dràsta aig Voze

My name is Cory. I am a software architect. I currently work at Voze

Tha mi ag ionnsachadh Gàidhlig

agus a-nis, tha thusa cuideachd

I am learning Scottish Gaelic.

and now, you are too.

Tha mi tolichte a bhi an seo còmhla ribh an-diugh

 

I am happy to be here with you today.

Cory Brown

Architect

Developer Multiplier

JavaScript acolyte

@ voze

The Increasing Importance Of Simplicity In Code In The Age Of A.I.

A.I. In Context

I love technology! But you know what I don't like?...

This A.I.

In January, I lost my job.  

(that's a whole talk in it self)

Fear took me

Irrational

(and rational)

anxiety

Is my career over?

A.I. Expert

One weird trick

Use this today!

DISCLAIMER

Amataure intrest in history

Been doing this for a minute

A story.

https://upload.wikimedia.org/wikipedia/commons/b/b9/Printing_and_writing_materials_-_their_evolution_%281904%29_%2814777458662%29.jpg

1440

anno domini

  • Distribution of Misinformation
  • Worker Displacement
  • Disrupted Power Structures & Institutions
  • Loss of Quality
  • "Dangerous" Ideas

Printing Press

Great Engine for Chaos

1450 - 1750

anno domini

Distribution of Misinformation

Distribution of Misinformation

Worker Displacement

Crafts and craftmenship are destroyed when production is commodotized.

Loss of Quality

New information technologies enable ideas previously on the fringe to recieve a wider audience

"Dangerous" Ideas

1501

anno domini

New information technologies enable ideas previously on the fringe to recieve a wider audience

"Dangerous" Ideas

1517

anno domini

1533

anno domini

Disrupted Power Structures

  • Democratization of Information
  • More and Varied Jobs
  • Dispersed Power Structures
  • Wider Access/Craftsmanship as Status Symbol
  • Better Ideas (eventually) Rise to the Top

Printing Press

Great Engine for Human Flourishing

Print culture was a critical component in the shaping of U.S. History by quickly spreading news and opinions to a wider audience than ever before, encouraging people's interest in politics, literature, and science during the Enlightenment Period influenc[ing] the increase of literacy in colonialist society. Newspapers, books, art, and other mediums were now being shared with almost eighty-percent of the population.

https://learninglab.si.edu/collections/print-culture-throughout-the-enlightenment-period/hm1oK8qkgaW8pARn

The spread and distribution of ideas 

Democratization of Information

Even those who couldn’t read were impacted by these revolutionary ideas. When Thomas Paine published “Common Sense” in 1776, despite a literacy rate of only 15% in the American colonies, more copies of the pamphlet were printed and sold than there were people living in the colonies! This proves how information can spread even to those who can’t directly access it.

https://magazine.machinedalal.com/the-printing-press-how-one-invention-changed-the-world/

The spread and distribution of ideas

Democratization of Information

The English philosopher Francis Bacon, a key figure in the development of the scientific method, identified the printing press as one of the three inventions that fundamentally changed the world. For centuries, science had been largely a solitary pursuit. Scholars were often separated by geography, language, and the slow, error-prone process of hand-copying texts. 

https://magazine.machinedalal.com/the-printing-press-how-one-invention-changed-the-world/

The spread and distribution of ideas

Democratization of Information

[T]he huge demand for printed material spawned the creation of an entirely new industry of printers, brick-and-mortar booksellers and enterprising street peddlers. Among those who got his start as a printer's apprentice was future Founding Father, Benjamin Franklin.

More and Varied Jobs

Books came to serve as a means to self-education as well as to offer entertainment, enlightenment, or instruction to the already educated. The range of materials in print, and the use of printed matter for transactions of all kinds, was unprecedented.

 

Lithography, chromolithography, and also photography added new possibilities to image production and reproduction, and styles of journalism as well as illustration reflected these opportunities.

https://www.hob.gseis.ucla.edu/HoBCoursebook_Ch_9.html

More and Varied Jobs

More and varied ideas leads to more and decentralized power structures

Dispersed Power Structures

Immediately prior to the invention of the printing press, Christians were essentially under one of two heads; The Catholic church in Rome, and the Orthodox Church in Constantinople. 

https://www.oikoumene.org/member-churches

Today there are over 2.6 billion Christians. The World Council of Churches is a fellowship of over 352 member churches which represents only a small fraction of the worlds Christians (0.5 billion).

https://thinkingwest.com/2024/09/05/the-printing-revolution-how-mass-media-destabilized-the-west/

Cheaper access to information led to a massive growth in literacy, fueling desire for acccess to even more information.

Wider Access to information

  • Democratization of Information
  • More and Varied Jobs
  • Dispersed Power Structures
  • Wider Access/Craftsmanship as Status Symbol
  • Better Ideas (eventually) Rise to the Top

Printing Press

Great Engine for Human Flourishing

Photo by JJ Ying on Unsplash

Photo by Mike Newbry on Unsplash

Photo by Shekai on Unsplash

Photo by Nadir sYzYgY on Unsplash

First Principles

A.I. Amplifies what you are doing well

And what your are doing poorly.

A.I. writes most of my code!

I'm 10x more efficient at my job!

Who has to diagnose a bug?

Who validates the code A.I. writes?

Who's going to learn how to code?

Photo by Random Mono on Unsplash

Photo by Martin Adams on Unsplash

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Edsger W. Dijkstra

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Code

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Code is a circumstantial irrelevancy

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Complexity

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Complexity can be inherent or circumstantial 

Circumstantial complexity is unnecessary

Circumstantial should not be mastered, it should be eliminated

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Separation of concerns

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Separation of concerns is your first, and most important responsibility

Yet it is the least understood quality

And takes the longest to master.

You are still responsible for code, but writing it is not your most valuable skill set.

Programming, when stripped of all it's circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.

Working code is not the same thing as good code.

Familiar code is not the same thing as readable code

Simple is not easy

Simplicity is a prerequisite for reliablity

Edsger W. Dijkstra

Simple is not entangled

The meaning of simple means unentangled, not twisted together with something else.

Rich Hickey: Simple made Easy

Common code is not the same thing as simple code

Simple does not mean 'I already know what it means'.

Rich Hickey: Simple made Easy

Simple is not the default

The second law may be formulated by the observation that the entropy of isolated systems left to spontaneous evolution cannot decrease, as they always tend toward a state of thermodynamic equilibrium

Second Law of Thermodynamics

https://en.wikipedia.org/wiki/Second_law_of_thermodynamics

Simple takes work

Simple is not stateful

Note: This slide was taken nearly verbatim from Rich Hickey's excellent 2011 talk "Simple made easy"

https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md

  • Complects value and time
  • It is easy, in that it is at hand
  • Interweaves everything it touches, directly or indirectly
  • Not mitigated by modules or encapsulation

State

  • Tests

  • Refactoring

  • Type Safety

  • Disentangling

  • Correct Boundaries

  • Functions

  • Eliminating State

Unquestioningly accept what ever A.I. gives you as long as it "works"(tm)

Spending the time to train your A.I. tools to appropriate styles and give enough context to produce a good output.

You are responsible for the code you commit.

You will have to maintain it.

🔥 take

In 5 years there will be more developer jobs than there are today.

🔥 take

A.I. lowers the barier to entry to the floor

🔥 take

1000x start-ups 

🔥 take

99% will fail

🔥 take

1% will succeed

10x the number of all start-ups today

🔥 take

All of them "Vibe Coded"

Tapadh leibh, a charaidean

365jsthings.tech

https://www.linkedin.com/in/1stdraftdesign/

The importance of simplicity in code in the age of AI

By Cory Brown

The importance of simplicity in code in the age of AI

  • 111