About

Ryan Johnson

Hello,

I am a computer scientist with an undergraduate degree from the University of Memphis. In my free time I research computer science, programming languages, human-computer interaction (HCI), which includes user interface (UI) and user experience (UX) design, information theory, cognitive science, social science, and psychology.

I got started in programming in early high school with a Texas Instruments TI-83+ Silver Edition calculator, using a structured language called TI-BASIC. I have a background in physics and mathematics and earned a perfect score on the physics subject test for the SAT in 2007. I also earned a 33 composite score on the ACT (out of 36), and a 2000 composite on the SAT out of 2400. My top ACT sections were Mathematics (34) and Science (35).

Vision

I have noticed that the complexity of the programming profession has exploded over the years. As a developer, you go to great lengths to learn and memorize programming languages, tools, and workflows, which end up changing underneath your feet. You create programs, which only survive by hijacking the end-user’s attention via dopaminergic reward pathways in the brain; and you collect their usage habits and sell the data to businesses that want to control our market decisions for profit. I think it is time we put an end to this. We need to scrap the current way software is marketed and created and focus our energy on creating software that is respectful of our time here on earth. Our greatest assets in life are our brains, so it is very disrespectful to have to use software that spends our attention for us and abuses our brains’ memory span. Our software should be designed to be compatible with basic human psychology. In addition to abusing end users’ cognitive resources, the development of software should be kind to the developer. The most valuable resource in computer science is the human programmer’s time and creativity–not the computer’s processing time. End-user tools should be minimally invasive on our attention, and developer workflows should have as low cognitive overhead as possible. Because current software ignores these basic precepts about reality and life, we find ourselves constantly having to waste time “keeping up with the Kardashians,” and responding to signals from the outside world.

This is why I ask,

Are we programming the computers, or are they programming us?

To achieve the goal of cleaning up the software engineering profession, we must learn how to reduce complexity and control chaos.

To that end, I am developing several projects to replace the technology that has become infected with complexity. The technologies are central to decades of development, and as such, the complexity that infects them affects every technology that is built on top of them. The concepts that these projects use force users to accept them as a given in computing, when we know better now.

The problem with complexity is reduced to a uniqueness problem. Things that behave similarly should not be presented in vastly different ways or have vastly different implementations. As we all know, rules are meant to be broken, but the rules exist to provide a convenient place for our minds to store memories. To begin in this area, I am developing a file system to replace the hierarchical organization structure used on virtually every operating system and hard drive since the 1970s.

I also intend to move the desktop computing experience forward, breaking it out of the confines of tradition and integrating the full potential of recent technological advances. To that end, I am developing a human-computer interface to extend and replace the mouse and keyboard, which have prevented the desktop experience from moving forward for nearly 50 years.

Inspirations

“I would rather be free in my mind, and be locked up in a prison cell, than to be a coward and not be able to say what I want.”

Bobby Fischer
Bobby Fischer
Chess Grandmaster

“Psychologically, you have to have confidence in yourself and this confidence should be based on fact.”

Bobby Fischer

“The mind is like a parachute: it only works when it’s open.”

Frank Zappa
Frank Zappa
Musician

“The best way to predict the future is to create it.”

Peter Drucker
Peter Drucker
Management consultant, educator and author

“Being really good at C++ is like being really good at using rocks to sharpen sticks.”

Thant Tessman

“When your hammer is C++, everything begins to look like a thumb.”

Steve Hoflich on compl.lang.c++
Freddie Mercury
Lead singer of Queen

“I’m an investigator. A professional respects the traditions of the profession and does what he’s taught to do. An investigator tears it all down, questions everything, asks, ‘What should we be doing?’ It’s a completely different posture.”

Cal Meineke, violin luthier
Chicago Mag interview