changeset 20: |
3d1d5115a5b7 |
parent 19: |
e82f2ac78c0e |
child 21: |
b174dd6a3f7c |
author: |
ellis <ellis@rwest.io> |
date: |
Tue, 12 Dec 2023 21:51:28 -0500 |
files: |
.hgsubstate notes/20231209.org notes/20231212.org |
description: |
notes |
1.1--- a/.hgsubstate Wed Dec 06 23:28:18 2023 -0500
1.2+++ b/.hgsubstate Tue Dec 12 21:51:28 2023 -0500
1.3@@ -1,2 +1,2 @@
1.4-61204f8b2ff8ee86fea2ed931e0d781af99a3a33 blog
1.5-b38886ced111d5d2a339eb69024a5d31b38c1e68 docs
1.6+b6380832df99ead6c390a664bdf3b5623444a978 blog
1.7+31db7a83d2c62c5b59770f839c1c2e86a354a5e9 docs
2.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2+++ b/notes/20231209.org Tue Dec 12 21:51:28 2023 -0500
2.3@@ -0,0 +1,5 @@
2.4+
2.5+* doc best practices
2.6+https://rust-lang.github.io/api-guidelines/documentation.html
2.7+
2.8+also: https://lisp-lang.org/style-guide/
3.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2+++ b/notes/20231212.org Tue Dec 12 21:51:28 2023 -0500
3.3@@ -0,0 +1,89 @@
3.4+* On Computers
3.5+If you've met me in the past decade, you probably know that I am
3.6+extremely passionate about computers. Let me first explain why.
3.7+
3.8+On the most basic level computers are little (or big) machines that
3.9+can be programmed to do things, or /compute/ if we're being
3.10+technical.[fn:1]
3.11+
3.12+They host and provide access to the Internet, which is a pretty big
3.13+thing, but they do little things too like unlock your car door and
3.14+tell your microwave to beep at you. They solve problems. Big or small.
3.15+
3.16+They're also /everywhere/ - which can be scary to think about, but
3.17+ultimately helps propel us into the future.
3.18+
3.19+There's something pretty cool about that - when you look at the
3.20+essence of computation. There are endless quantities of these machines
3.21+which follow the same basic rules and can be used to solve /real/
3.22+problems.
3.23+
3.24+** The Programmer
3.25+Now, let us consider the /programmer/. They have power. /real/
3.26+power. They understand the language of computers, can whisper to them
3.27+in various dialects. It can be intimidating to witness until you
3.28+realize how often the programmer says the wrong thing - a bug.
3.29+
3.30+In reality, the programmer has a symbiotic relationship with
3.31+computers. Good programmers understand this relationship well.
3.32+
3.33+#+begin_annecdote
3.34+One day after I got my first job at a software company, I remember
3.35+being on an all-hands meeting due to a client service outage. We had
3.36+some management, our lead devs, product team, and one curious looking
3.37+man who happened to be our lead IT consultant who had just joined. He
3.38+was sitting up on a hotel bed, shirtless, vaping an e-cig, typing
3.39+away in what I can only imagine was a shell prompt.
3.40+
3.41+After several minutes he took a swig from a bottle of Coke and said
3.42+"Node 6 is sick." then a few seconds later our services were
3.43+restored. For the next hour on the call he explained what happened and
3.44+why, but that particular phrase always stuck with me. He didn't say
3.45+Node 6 was down, or had an expired cert - his diagnosis was that /it/
3.46+was /sick/.
3.47+#+end_annecdote
3.48+
3.49+The more you work closely with computers, the more you start to think
3.50+of them this way. You don't start screaming when the computer does the
3.51+wrong thing, you figure out what's wrong and learn from it. With
3.52+experience, you start to understand the different behaviors of the
3.53+machines you work with. I like to call this /Machine Empathy/.
3.54+
3.55+** Programs
3.56+I already mentioned bugs - I write plenty of those, but usually I try
3.57+to write /programs/. Programs to me are like poetry. I like to think
3.58+they are for the computer too.
3.59+
3.60+Just like computers, /computer programs/ come in different shapes and
3.61+sizes but in basic terms they are sets of instructions used to control
3.62+a computer.
3.63+
3.64+You can write programs to do anything - when I first started, my
3.65+programs made music. The program was a means to an end. Over time, I
3.66+started to see the program as something much more. I saw it as the
3.67+music itself.
3.68+
3.69+[fn:1] ... perform computations
3.70+
3.71+
3.72+* On Infra
3.73+Something that is missing from many organizations big or large, is an
3.74+effective way to store and access information, even about their own
3.75+org.
3.76+
3.77+It can be difficult problem to solve - usually there's the official
3.78+one, say Microsoft Sharepoint and then the list of unofficial sources
3.79+which becomes tribal corporate hacker knowledge. Maybe the unofficial
3.80+ones are more current, or are annotated nicely, but their very
3.81+existence breaks the system. There's no longer a single source of
3.82+truth.
3.83+
3.84+My priority in this department is writing services which process and
3.85+store information from a variety of sources in a distributed knowledge
3.86+graph. The graph can later be queried to access information on-demand.
3.87+
3.88+My idea of infrastructure is in fact to build my own Cloud. Needless
3.89+to say I don't have an O365 subscription, and wherever possible I'll
3.90+be relying on hardware I have physical access to. I'm not opposed to
3.91+cloud services at large but based on principle I like to think we
3.92+shouldn't be built on them.