
Rage Against the God Machine - lelf
https://buttondown.email/hillelwayne/archive/rage-against-the-god-machine/
======
simonh
This is neither a flaw in our computers nor a flaw in our programming
languages. It’s a consequence of two things. Firstly computers only do
precisely what you tell them to do. Secondly we don’t know exactly what we
want them to do.

It’s that second part that’s the real issue. It turns out very precisely, and
completely unambiguously only expressing exactly what you want to happen, when
you want it to happen, in every conceivable circumstance that might occur,
based on very specific assumptions of the conditions in which it might happen,
is quite difficult and complicated and error prone to achieve. Also if we get
any particular detail wrong - the assumptions about the problem, the order of
events, the anticipated conditions, the system fails.

But that’s it. That’s the problem. Beings precise and unambiguous is hard.
Formulating our assumptions is hard. Anticipating every circumstance is hard.

Why is this so? Our brains just don’t work that way. They’re randomly
variegated, fuzzy logic, neural network, pattern matching, feedback loop
driven mammal organs. It’s amazing they work at all. They only get things
sufficiently right because all the ones that got it badly enough wrong got
themselves killed before they had offspring. Not only that, but we’re actually
only just barely intelligent in a general sense. After all, in evolutionary
terms we only just very recently gained enough intelligence to develop
significant technology, otherwise we’d have done it sooner. We’re at the very
edge of the lowest threshold for achieving a technological society. No wonder
we find this stuff hard.

------
akkartik
This resonates so hard it hurts. And yet, part of the problem here lies in the
very tempting framing. "God machine" implies something that can do everything
you can but better. That's very far cry from the truth. In reality we have two
kinds of computation in the world now. One is slow, flexible, resilient,
easily bored. The other is fast, rigid, literal-minded, mindlessly focused.
When I put it like that it becomes easier to accept why things are hard. To
make programming easy is to help slow, flexible computations create fast,
rigid, literal-minded computations. That's an unsolved research problem.

However, there _is_ one easy problem being alluded to in the article: keeping
software working over time. It's frustrating to me when I hear about somebody
building a program for themselves that suffers bitrot a couple of years later.
The reason is the tower of dependencies we tend to program atop. All we have
to do there is stop digging the hole deeper. Shameless plug:
[http://akkartik.name/akkartik-
convivial-20200607.pdf](http://akkartik.name/akkartik-convivial-20200607.pdf)

------
elgfare
"And I’d find myself again and again at that edge, tangent to reality, where
the air is clear and the shadows are too deep."

This is such an incredibly captivating description of depressive episodes.
There is a stillness and creeping greyness to depression that sets it apart
from just about any other experience.

Brrrhh

~~~
qubex
In my deepest ever plunge into the unfathomable depths of depressive despair,
I saw the walls were _crying_.

------
ordinaryradical
Does anyone know of a language like this? My first thought was that it would
probably be something Lisp-y, but I realized I’m not sure if I’ve ever seen a
language that was scaled to individual coders by design. Sounds like a really
interesting way to consider how a programming language should make its
compromises...

~~~
bitwize
> Does anyone know of a language like this? My first thought was that it would
> probably be something Lisp-y, but I realized I’m not sure if I’ve ever seen
> a language that was scaled to individual coders by design.

The Lisp Machines were designed to be individual workstations, in an era when
virtually all computers were batch or time-shared machines. I remember seeing
a video from Symbolics, the leading Lisp Machine vendor, from the late 80s.
Some VP of product development was on the screen, and he was talking the usual
business stuff: blah blah improve developer productivity, blah blah features,
blah blah. Then he said something interesting, something I've never heard from
a hardware or software executive: "We want to make it possible for a small
team of developers to build large projects, and for a single person to build a
smaller project." So the idea of an individual programmer or a small strike
team being able to build software of virtually any size is very much part of
the Lisp culture.

~~~
lispm
> Lisp Machines were designed to be individual workstations

in networked environments. They were developed for use in early large networks
like Xerox Palo Alto Research Center and the MIT. They were an early (starting
mid 70s) step from time-shared hosts to personal networked workstations for
developers.

------
ganzuul
Most of us have neural circuitry to interface with search engines. We are very
quick to find keywords along with predictions for what might be returned. We
have augmented ourselves, but our bandwidth to the machines is still very
limited.

I used to suffer much more from depression. Turned out I had to cut milk and
wheat from my diet. What a stupid reason to waste 10 of my best years. I don't
trust doctors at all now.

~~~
obvthrowaway2
Why do you figure cutting milk and wheat from your diet helped?

~~~
ganzuul
Lower inflammation values and no more bowel problems.

------
openfuture
The trick to depression is to get older.

If it doesn't work straight away then try some more.

(that's my hope at least, if it doesn't work then at least I die at the end)

Strength is such a wonderful idea. The dao makes a distinction between being
strong (external) and having strength (internal).

Somehow containing all your demons and greeting strangers with kindness is an
unparalleled feat of strength that no one can witness except you yourself.

Becoming your own witness, detached from the hatred or the euphoria, is the
hardest thing about living with depression - but afaict it is the only road
available.

~~~
jmcqk6
There isn't a single path out of depression. There are many paths.
Unfortunately, they don't all work for all people.

For me, mindfulness was key. I understand that doesn't work for others.

Just like some people like cilantro, and I hate it, just because something
works for one person doesn't mean it would work for the next.

------
bitwize
Yes, I realized a few years ago that humans are not yet ready for computers.
They're great inventions, capable of a few fantastic things, but getting them
to do much of anything requires something alien to most humans' thinking, and
as a result has a lot of unintended consequences. That said -- try Lisp. I
find it greatly expands the class of problems solvable by a single programmer.
And to the extent possible, rely less on SaaS and trendy frameworks, and more
on simple libraries or components you build yourself.

~~~
IshKebab
Isn't that widely regarded as being the reason Lisp never caught on. Everyone
writes their own standard library so nobody can understand each others' code.

~~~
bitwize
Just because it's widely regarded as such doesn't make it true. I find Ruby on
Rails code to be more impenetrable than Lisp, and no one can say Rails didn't
catch on.

------
discreteevent
It's an interesting challenge. Could something like AI help people in the
future? A more consistent, selfless human?

But if you need help with these kinds of issues right now I think computers
and networks are the wrong place to look. They are ok as tools to get work
done. But apart from that, technology is like some fascinating individual that
takes up a lot of your time until one day you realise their perspective is
off. And perspective is everything.

------
acenturyandabit
I am trying to solve this problem with a generalised user interface platform.
The aim was to separate data storage and data representation, so that two team
members could work from the same source of data and have it represented in
different ways.

Collaboration at no cost to individual UX. But i never really got it to work
because noone ever wanted to collaborate with me in the first place...

------
jotm
I'm impressed at OPs life, tbh, and I'm glad for them. Building a life while
battling depression and other illness is really hard.

I find that I'm happier when I build something physical, with my hands,
something I can see. Technically, software is the same, yet somehow it's
different.

The shitty websites and apps that I built somehow seem unimportant compared to
the plants that I've grown from seeds, the irrigation system for them or my
smokeless(ish) garbage incinerator.

I guess what I'm saying is maybe there's better work for such people,
something that would make us/them happier and more content.

~~~
hwayne
Author here. Normally I try to avoid discussing the content on HN (I have
weird beliefs about author engagement), but I wanted to share my thoughts on
this.

I mostly agree with you about the manual labor thing. Outside of tech I'm a
really avid cook and chocolatier. There's something special about holding a
cherry cordial in your hand and thinking "I made this" that I've never gotten
with programming. Cooking is one of the very few things I know that can help
me cope with depression. Not stop it, nothing can stop it, but at least make
it feel little bit less awful in the moment.

(This can lead to some funny situations where I'm hungry and want to cook but
have zero appetite, so I make a dish, put in the freezer, and stay hungry.)

But tech helps in other ways. When I'm sane, tech is something that I look
forward to, that keeps me mentally engaged, that gives me new puzzles every
day. I'm proud of some of the things I've done, maybe not to the same degree
that I'm proud of the chocolate I make, but still proud in its own way.

My problem isn't so much that software causes problems as much as that
software could do so much more to help. Software augments our brains in a lot
of different ways, making it easier for us to remember things, organize
information, and communicate. It feels like there must be _some_ way to turn
all that computing power into something it helps with mental illness, too. But
any such thing would probably have to be very personalized to the person using
it, which is something we can't really do that well right now.

~~~
kixiQu
Software is good at codifying processes. Part of what I have hated the most
about cognitive behavioral therapy at times is what a rote process it is (even
when it must be to be effective). I suspect someone will come up with
something good here only as a matter of personal production rather than VC-
moonshot.

~~~
jotm
At the very least, you would need some therapist knowledge about the person
using such a CBT software.

Likely from your actual therapist, but it could be done with a lot of self-
introspection/discovery - the problem with the latter is that if you come to
the wrong conclusions about your own problems and solutions (which is likely)
it could lead you further astray.

So every copy of it would need to be very customizable and very private at the
very least; medically certified, maybe.

------
alex-456321
Thank you.

