~ilmu/eloop-talk

83cd8ecda987c772cf26f054e844c2052cff0be7 — Hjorvar Logi 4 years ago ff1f79b
Updated talk to be more applicable to audience
3 files changed, 106 insertions(+), 47 deletions(-)

A lattice_drawing.svg
M notes.md
M slides-i-have-no-idea.html
A lattice_drawing.svg => lattice_drawing.svg +1 -0
@@ 0,0 1,1 @@
<svg version="1.1" viewBox="0.0 0.0 417.78477690288713 558.8293963254594" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l417.7848 0l0 558.8294l-417.7848 0l0 -558.8294z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l417.7848 0l0 558.8294l-417.7848 0z" fill-rule="evenodd"/><path fill="#0000ff" d="m205.51517 159.6042l0 0c-32.369873 25.592316 -81.00852 24.00595 -109.98157 -3.5870972c-28.973045 -27.593048 -27.858109 -71.266815 2.5210876 -98.75499c30.379196 -27.488173 79.09445 -28.902521 110.154785 -3.19812l-54.423355 52.67632z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.51517 159.6042l0 0c-32.369873 25.592316 -81.00852 24.00595 -109.98157 -3.5870972c-28.973045 -27.593048 -27.858109 -71.266815 2.5210876 -98.75499c30.379196 -27.488173 79.09445 -28.902521 110.154785 -3.19812l-54.423355 52.67632z" fill-rule="evenodd"/><path fill="#ffff00" d="m206.91063 53.54195l0 0c32.94017 -26.73896 83.66429 -24.898863 113.971756 4.134506c30.307465 29.033375 29.000397 74.53293 -2.936798 102.23268c-31.937195 27.699768 -82.704575 27.365387 -114.06894 -0.75131226l57.567963 -51.607033z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m206.91063 53.54195l0 0c32.94017 -26.73896 83.66429 -24.898863 113.971756 4.134506c30.307465 29.033375 29.000397 74.53293 -2.936798 102.23268c-31.937195 27.699768 -82.704575 27.365387 -114.06894 -0.75131226l57.567963 -51.607033z" fill-rule="evenodd"/><path fill="#00ff00" d="m204.8998 423.52713l59.27559 59.275604l-56.755905 56.75592l-59.27559 -59.275604z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m204.8998 423.52713l59.27559 59.275604l-56.755905 56.75592l-59.27559 -59.275604z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m247.84756 434.27667l31.298248 -37.663544l-3.6220398 -3.015747l13.268677 -1.2183533l1.2195129 13.281342l-3.6220703 -3.015747l-31.298233 37.663544z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m247.84756 434.27667l31.298248 -37.663544l-3.6220398 -3.015747l13.268677 -1.2183533l1.2195129 13.281342l-3.6220703 -3.015747l-31.298233 37.663544z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m146.70918 437.90567l-36.33928 -32.826813l-3.1653519 3.4960632l-0.66859436 -13.314911l13.330009 -0.66934204l-3.1653519 3.4960632l36.339287 32.826813z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m146.70918 437.90567l-36.33928 -32.826813l-3.1653519 3.4960632l-0.66859436 -13.314911l13.330009 -0.66934204l-3.1653519 3.4960632l36.339287 32.826813z" fill-rule="evenodd"/><path fill="#0000ff" d="m110.76933 364.96512l0 0c-20.64228 23.958557 -53.805584 24.31192 -74.072296 0.7892761c-20.266722 -23.522644 -19.962267 -62.013733 0.68001556 -85.97226c20.642284 -23.958527 53.805584 -24.31189 74.07231 -0.7892456l-37.376167 43.380737z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m110.76933 364.96512l0 0c-20.64228 23.958557 -53.805584 24.31192 -74.072296 0.7892761c-20.266722 -23.522644 -19.962267 -62.013733 0.68001556 -85.97226c20.642284 -23.958527 53.805584 -24.31189 74.07231 -0.7892456l-37.376167 43.380737z" fill-rule="evenodd"/><path fill="#00ff00" d="m111.490746 279.37796l36.65467 42.52411l-37.45079 43.467407l-36.65468 -42.52411z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m111.490746 279.37796l36.65467 42.52411l-37.45079 43.467407l-36.65468 -42.52411z" fill-rule="evenodd"/><path fill="#ffff00" d="m301.5516 279.78214l0 0c20.642273 -23.958527 53.805573 -24.31189 74.072296 -0.7892761c20.266724 23.522644 19.96225 62.013733 -0.6800232 85.97226c-20.642273 23.958557 -53.805573 24.31192 -74.072296 0.7892761l37.37616 -43.380768z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m301.5516 279.78214l0 0c20.642273 -23.958527 53.805573 -24.31189 74.072296 -0.7892761c20.266724 23.522644 19.96225 62.013733 -0.6800232 85.97226c-20.642273 23.958557 -53.805573 24.31192 -74.072296 0.7892761l37.37616 -43.380768z" fill-rule="evenodd"/><path fill="#00ff00" d="m300.83017 365.36932l-36.654663 -42.52414l37.450806 -43.467377l36.654663 42.52411z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m300.83017 365.36932l-36.654663 -42.52414l37.450806 -43.467377l36.654663 42.52411z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m272.8738 262.16608l-12.254028 -47.405106l-4.566925 1.173233l6.7736816 -11.476791l11.494019 6.7838745l-4.566925 1.173233l12.254028 47.40509z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m272.8738 262.16608l-12.254028 -47.405106l-4.566925 1.173233l6.7736816 -11.476791l11.494019 6.7838745l-4.566925 1.173233l12.254028 47.40509z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m112.83763 257.98346l18.462952 -45.351776l-4.3622055 -1.7795258l12.277199 -5.1679077l5.1716156 12.286011l-4.362198 -1.7795258l-18.46296 45.351776z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m112.83763 257.98346l18.462952 -45.351776l-4.3622055 -1.7795258l12.277199 -5.1679077l5.1716156 12.286011l-4.362198 -1.7795258l-18.46296 45.351776z" fill-rule="evenodd"/><path fill="#00ff00" d="m207.06316 55.091835l52.283463 52.283463l-52.063004 52.062996l-52.283463 -52.28347z" fill-rule="evenodd"/><path stroke="#000000" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m207.06316 55.091835l52.283463 52.283463l-52.063004 52.062996l-52.283463 -52.28347z" fill-rule="evenodd"/></g></svg>
\ No newline at end of file

M notes.md => notes.md +60 -34
@@ 1,67 1,90 @@
# I have no idea

I'm giving a talk because I talk a lot anyway, I'll just touch on some things I like to talk about and we'll see how it goes. 

There's no idea behind this thing, I'm just in general kind of frustrated and hope I can vent a little bit.

Why would I be frustrated you ask?
Since I don't have much time I will stay abstract and avoid details, if you like details then I am available for a conversation.

I work as a modern insurance salesman, we have a large amount of people, funded by venture capital, working every day on building notifications and other manipulation - so that we may convince our few hundred 'customers' to switch insurance providers - this allows us to collect commission each iteration.
# Universal Principle
List in order: set theory, type theory, causality [terminology is not so good independent vs synchronized could be better], logic, metrics, divisibility, politics, language, religion.

Siphoning excess potential like this is a similar kind of job as being a squatter, dumpster diver or thief. It exposes vulnerabilities in the system which is helpful because we can fix them in the next iteration. However it is literally counterproductive in some sense, like a cry for attention; "please fix me!" - it's our collective back pain.
This list contains some examples of applying the mathematical theory of hierarchies in different domains. Computer science is clearly deeply related to the study of hierarchy since we study directed spaces like computation / causality.

My frustration is not limited to this though, if it was then I'd be the happiest man in the world.
I want to highlight this "courage" and "faith" i.e.
Acting while observing / being observed : Courage
Acting without observing / being observed : Faith
since I think this serves as a good lens for finding fault with enterprise.

Okay now to start this talk.
In the interest of brevity, just think of groupthink as noise and the person who can represent their beliefs under peer pressure as courageous. Similarly, trust without verification implies faith.

# Universal Principle
These concepts are actually methods that will allow us to traverse any kind of space, and those who know me will know that I consider space to be the fundamental concept, so I think being able to diverge and converge freely in any context is pretty much the most important quality you can have as a traveler.

There's a mathematical theory of hierarchy it has extremely profound and hard to understand consequences. I'm sure you will agree computer science is clearly deeply related to the study of hierarchy since we study directed spaces like computation / causality.
Now, as we know, enterprises are violent places which often punish people who have the courage to speak up [emperors new clothes story] it is also a place that has little faith and relies heavily on measurements as a result these are not very mobile entities.

I want to use this talk to point out spaces where we desperately need to navigate with more care. The space of possible organization or "culture" being a primary example.

I want to highlight the less rigorous concepts that I put at the bottom. They may be understood as a parallels of concurrent vs sequential, I include them as I believe they serve as a good lens for diagnosing the problem with enterprise.
[Next]

Act while observing / being observed : Courage
Act without observing / being observed : Faith
## Example
[No notes for this slide]

These are in the best case. What can also happen is that our "Courage" is just Noise and our "Faith" leads to Conflict. Lack of resolve is what causes this to happen. It takes determination to participate in communication, you can't be dropping packets and refusing connections aimlessly. Working with you peers on resolving merge conflicts and fixing bugs is a beautiful thing.
# Enterprise
An organization that has reached sufficient size to be its own source of truth is inefficient. An analogy, which some of you may be able to see, is when squatters become owners, not necessarily a bad thing, but this transition is often a place where a false assumption or expedient rhetoric can sneakily become a foundational belief.

[Next]
Let's address some of this expedient structure in modern organization.

# Enterprise
First, a tree, which is how most modern organizations are organized, has the property that the top of the hierarchy has a direct chain of command to each subordinate. This means that the boss can track accountability easily through the chain of custody, the tyrants piece of mind comes at a cost though.

The problem is that since every subordinate can only have one boss it means that the structure has no means to deduplicate redundant subordinates, or from another perspective, allow gradients instead of hard borders. I recommend reading Christopher Alexanders' excellent article "A City is Not a Tree" for more insight into this issue.

Next we can look at the Join column of the earlier slide, we can see that a Join has the penalty of synchronization, i.e. we would expect that an organization can get bottlenecked by it's worst member.

An organization that has reached sufficient size to be its own source of truth is inefficient.
This directly affects the organizations' cognitive bandwidth and motivates measurement since it is a great aid in pruning bottlenecks from the organization.

First thing to notice is that a tree has no means to deduplicate structure, you may need redundant structure since each member of the hierarchy can only have on boss maximum.
This consideration of throughput, i.e. "how much cognitive bandwidth does the organization have, and how is it allocated?" is the reason for an organizations' inability to scale, so let's examine it a bit closer. If you are asking "why do we need organization to scale" then I need you to understand that we will need to coordinate 7 billion people to respond to [for example] climate change.

Next we can look at the Join column of the earlier slide, we can see that a Join has the penalty of synchronization, that is an organization is easily bottlenecked by it's worst member.
Okay, so a short argument for why the tension between measurement and trust is the leading cause behind the inability to scale goes like this:

Finally there is this consideration of throughput, how much cognitive bandwidth does the organization have and how is it allocated?
Measurement consumes bandwidth but at the same time it serves the purpose of better understanding how to allocate this bandwidth in a maximally efficient way.

A short argument for why the tension between measurement and trust consumes cognitive bandwidth goes like this:
This is a famous problem: Analysis paralysis. It is nicely illustrated by a scheduler that keeps context shifting and never gets anything done. Nowadays the kernel will use a rather dumb approach, allocate some time for everything and avoid the overhead of priority analysis [pushing that responsibility onto the application itself, which is more context aware].

Measurement consumes bandwidth for the purpose of better understanding how to allocate this same bandwidth. This is a famous problem: Analysis paralysis. It is nicely illustrated by a scheduler that keeps context shifting so it never gets anything done.
Okay, so trust is a huge efficiency gain, but it's not easy to achieve when your job is a literally a lie. When you are a part of some large feedback loop of excess potential that is not grounded in the real world *cough* finance *cough* then your "value add" is a lie. This is btw a particularly egregious example of an organization becoming it's own source of truth.

This begs the question: "how can your boss trust that you will do this job when he knows that the work is fake?"

Okay, so trust is a huge efficiency gain, but it's not easy to achieve when the job you are given is a lie. How can your boss trust that you will do this job when he knows that the work is fake? Don't get me started on money. Let's move on.
Don't get me started on money... Let's just assume that he can't, so he needs to measure, right? and as the number of subordinates grows the cognitive load of measurement grows as well. Of course we are now in the process of inventing some nightmare machines to create the perfect tyranny, exactly to solve this problem, but I want to approach this from another angle...

# Software
But first, software, we can clearly identify the growth-myopia that defines the enterprise in software.

The software we write reflects the problems apparent in our growth-myopia.
A good way to illustrate this idea that "continuous growth implies that we should create more problems than solutions" is to look at how easily this can be achieved with terrible software.

We seem to think that growth implies that we should always create more problems than solutions.
[down]

The easiest way to do this is to write terrible software and then depend so fully on it that the only thing we can do is wrap it in more terrible software until the maze of complexity is big enough for everyone to have a job.
[up]

The necessary work of sorting out the assumptions and the resulting implications is deemed too expensive. Yet this work is mostly been done already by generations of mathematicians.

I would really like for us to start thinking in longer time-scales.
The problem is that we don't really believe that there will be a civilization in thousands (or even hundreds) of years! A lot of people seem to think it is a fact that we live in the "end time", it is kind of incredible!

We don't believe that there will be a civilization in thousands (or even hundreds) of years, if we did, we would behave differently.
I would really like for us to start thinking in longer time-scales. 

I'd like to talk about Turing completeness and local optima from this perspective; where we are building a foundation for an indeterminate amount of future.

## Growth-Myopia
Okay so we write terrible software.

Then we depend on that software for mission critical things.

The only thing we can do now is wrap it in more terrible software.

Eventually the maze of complexity is big enough for everyone to have a job.

# Information Technology
So I've raised the question: How would we behave if we weren't going extinct in a couple of years?

This raises the question: How would we behave if we weren't going extinct in a couple of years?
Let's attempt to answer it.

First we need to achieve the year of the linux desktop.



@@ 79,14 102,17 @@ Then the next step is to organize religion.

We need to know what people believe so that we know what questions science should be focusing on.

Organizing beliefs is a side-effect of giving users feasible tools for organizing information. People do things according to their beliefs and version control systems are made to keep track of and resolve merge conflicts... they are the perfect primitive for a social network centered on political discussion and I believe that the next iteration of democracy should be expressed using version control semantics.
Organizing beliefs is a side-effect of giving users feasible tools for organizing information. The most important information is the information that you believe and the information you are willing to organize is the information that is important...

Like I said earlier, the perfect primitive for a social network is a version control system, we can keep track of all the different versions of belief systems and try to resolve merge conflicts. In fact I believe that the next iteration of democracy should be expressed using version control semantics.

Notice however that organizing religion cannot happen top-down or we will be invoking that XKCD with the competing standards. We need for it to emerge as we converge the existing schools of thought through discussion.

To recap: Allocating cognitive bandwidth requires having shared values because measurement is a drain on efficiency and not needed to the same extent when there is mutual trust. Trust can be created through finding shared values, this process can be reasoned about as "resolving merge conflicts" in belief systems.
To recap:
1. Allocating cognitive bandwidth requires having shared values because measurement is a drain on efficiency and not needed to the same extent when there is mutual trust.
2. Trust can be created through finding shared values, this process can be reasoned about as "resolving merge conflicts" in belief systems.

## HCIM

Here is a model of how a computer serves a user as a communication device.

On the picture there are four arrows.


@@ 99,11 125,11 @@ Programming happens in layers; there is the versioning of data, the building of 

Solving programming is very difficult, we'd need to get rid of turing completeness and that may not be feasible in the short term (i.e. pre-climate crisis devastation) and we'd also want it to be approachable which is like learning to run before you know how to walk.

Solving build systems is more feasible but not as high leverage for the vast majority of users as solving version control.
Solving build systems is more feasible but not as high leverage for the vast majority of users as solving version control (and a build system can leverage better version control).

Version control is just democracy in disguise, that is, it makes the trade-off that availability may be sacrificed for consistency and partition tolerance. It is also the first step to making the user into a "technical" user.

I'd argue that the next step after NixOS (which tries to make configuration a faithful representation of the computer) is to escape the local maxima of Git and build a "proper version control system", i.e. let's make it easy to manage personal data like secrets.
I'd argue that the next step after NixOS (which tries to make configuration a faithful representation of the computer) is to escape the local optima of Git and build a "proper version control system", i.e. let's make it easy to manage personal data like secrets.

We already have git, git-annex and pass so I guess we can start by wrapping these tools and making some sort of state daemon for userspace data. I'm currently applying for a grant to work on this.



@@ 111,14 137,14 @@ but we also need to build the final layer, the window manager. However I'm not g

So lets assume we finish cleaning all the dirty state and we finally make the computer a usable device.

Then the "year of the linux desktop" will happen because it offers the user a better experience and gives them greater agency and leverage in their daily struggle.
Then the "year of the linux desktop" will happen naturally, the users go where they get greater agency and leverage in their daily struggle so long as the up front cost is not higher than the perceived value.

[Flip back up]

# Improving Organization

Once we have the tools we need to converge we can uproot false assumptions and stop doing fake work.

Right now what we need is more space in the world for free software developers. Providing room and board for people who want to solve these problems should be our absolute number one priority.

Thank you for listening.


M slides-i-have-no-idea.html => slides-i-have-no-idea.html +45 -13
@@ 20,7 20,7 @@
</style>

		<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="471RIODIufV6XrkiM4uD17e9k9YSmNjmb6cSqLEm4VMQcQEO1wRWuZEvie3xvvrK83qntddv5UxVrjcNQQj76g==" />
<meta name="csrf-token" content="McK7DfbGpC9DZHAmLMiInpRit/KVwnpJzFGopIcGjLPCDusjwQpLY6gVQOnu/fGD0KWDkVA1R+P2WI0BdyiWCg==" />
		<style id="user-css-output" type="text/css"></style>
	</head>
	<body>


@@ 28,12 28,14 @@
			<div class="slides">
				<section data-id="52cca08de61283bda4e105898f56ea17"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 238px; height: auto;" data-block-id="bcc0fc2faa34fe7864f15df0662a6c91"><div class="sl-block-content" data-placeholder-tag="h1" data-placeholder-text="Title Text">
<h1>I have no idea</h1>
</div></div></section><section data-id="f36340951e64dd9842395cb2b2890c95"><div class="sl-block" data-block-type="text" style="width: 384px; left: 48px; top: 140px; height: auto;" data-block-id="98ccd58a92158263b15f33f1d6a7bb54"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="text-align: center; z-index: 11;">
</div></div></section><section class="stack" data-id="f497b98dc2322f90515c1cfdf6dc737a"><section data-id="f36340951e64dd9842395cb2b2890c95"><div class="sl-block" data-block-type="text" style="width: 384px; left: 48px; top: 140px; height: auto;" data-block-id="98ccd58a92158263b15f33f1d6a7bb54"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="text-align: center; z-index: 11;">
<h3>Meet</h3>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 384px; left: 48px; top: 210px; height: auto;" data-block-id="570baa2082a9a60fbc784b1788e9697c"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin urna odio, aliquam vulputate faucibus id, elementum lobortis felis. Mauris urna dolor, placerat ac sagittis quis." style="text-align: center; z-index: 12;">
<p>Intersection</p>

<p>Enum</p>

<p>Concurrent</p>

<p>OR</p>


@@ 44,11 46,11 @@

<p>Faith</p>

<p>.</p>
<p>Divergence</p>

<p>.</p>
<p>Yin?</p>

<p>.</p>
<p>...</p>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 384px; left: 528px; top: 140px; height: auto;" data-block-id="67019197113b0710e8b7529ecf74ec6e"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="text-align: center; z-index: 13;">
<h3>Join</h3>


@@ 56,6 58,8 @@
<div class="sl-block" data-block-type="text" style="width: 384px; left: 528px; top: 210px; height: auto;" data-block-id="45aec024d9cd632cbc6c7e059903141f"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin urna odio, aliquam vulputate faucibus id, elementum lobortis felis. Mauris urna dolor, placerat ac sagittis quis." style="text-align: center; z-index: 14;">
<p>Union</p>

<p>Struct</p>

<p>Sequential</p>

<p>AND</p>


@@ 66,15 70,31 @@

<p>Courage</p>

<p>.</p>
<p>Convergence</p>

<p>.</p>
<p>Yang?</p>

<p>.</p>
<p>...</p>
</div></div>
<div class="sl-block" data-block-type="text" style="height: auto; min-width: 30px; min-height: 30px; width: 600px; left: 180px; top: 33px;" data-block-id="5833cd7f4a5e5c0e44b3db1d488957b6"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 15; text-align: center; border-width: 1px;">
<h2>Universal Principle</h2>
</div></div></section><section data-id="24e615808404a8b6b03bd352da5360f4"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="74627938f5e826ed67a1b7d3e30dad13"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
</div></div></section><section data-id="da093669ec0e7c75c6b418585535756c"><div class="sl-block" data-block-type="text" style="width: 413px; left: 29px; top: 71px; height: auto;" data-block-id="4996ba71999d6aabf499d3926ff7a469"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="text-align: left; z-index: 10;">
<h2>Example</h2>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 413px; left: 29px; top: 148px; height: auto;" data-block-id="adc55f7b1fbc69ddbcf8fc9e68a8b855"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi nec metus justo. Aliquam erat volutpat." style="z-index: 12; text-align: left;">
<p>The top element is the <strong>Join</strong> of the two pointed circles</p>

<p>The bottom is the <strong>Meet</strong> of those same circles.</p>

<p> </p>

<p>The condition that must hold is that there is a unique least upper bound / greatest lower bound (respectively).</p>

<p> </p>

<p>Otherwise your <strong>Lattice</strong> becomes a generic Directed Acyclic Graph (<strong>DAG</strong>)</p>
</div></div>
<div class="sl-block" data-block-type="image" style="width: 418px; height: 559px; left: 497px; top: 71px; min-width: 4px; min-height: 4px;" data-block-id="14362d8cda3823b75fd588153d914f52"><div class="sl-block-content" style="z-index: 11;"><img style="" data-natural-width="418" data-natural-height="559" data-src="https://s3.amazonaws.com/media-p.slid.es/uploads/947110/images/6749078/lattice_drawing.svg"></div></div></section></section><section data-id="24e615808404a8b6b03bd352da5360f4"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="74627938f5e826ed67a1b7d3e30dad13"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
<h2>Enterprise</h2>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 263px; height: auto;" data-block-id="2fa38e40f8d8ca1ceb9d0903563285d3"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">


@@ 83,16 103,25 @@
	<li>Join of all participants</li>
	<li>Measurement vs Trust</li>
</ul>
</div></div></section><section data-id="767d8c5e97a501a2a0f14986bdfa5b27"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="057b12aed6533d3b3d18944547b52abc"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
</div></div></section><section class="stack" data-id="5ad19d5761091358f3512cb7f91cd957"><section data-id="767d8c5e97a501a2a0f14986bdfa5b27"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="057b12aed6533d3b3d18944547b52abc"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
<h2>Software</h2>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 263px; height: auto;" data-block-id="990e6b1a733a62ddac31f13b2ffbb7f4"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<ul>
	<li>Turing Complete</li>
	<li>Vaporware</li>
	<li>Turing Complete</li>
	<li>Stuck in local optima</li>
</ul>
</div></div></section><section class="stack" data-id="24e14549c3595a27b03638ed678ecd6e"><section data-id="29b62980296b2906cc0f08ebc4d1077e"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="e3e16ce92e1a0f5d2c13e9187098665b"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
</div></div></section><section data-id="56c6c6ee3b6dcbb757116fd975130c14"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="2b3600b31c7778a8d9342cca43c5986b"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
<h2>Growth-Myopia</h2>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 263px; height: auto;" data-block-id="3db58b585b06929c1df7b906bd9b9a19"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">
<ol>
	<li>Write terrible software</li>
	<li>Depend on it</li>
	<li>Wrap it [i.e. GOTO 1.]</li>
</ol>
</div></div></section></section><section class="stack" data-id="24e14549c3595a27b03638ed678ecd6e"><section data-id="29b62980296b2906cc0f08ebc4d1077e"><div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 189px; height: auto;" data-block-id="e3e16ce92e1a0f5d2c13e9187098665b"><div class="sl-block-content" data-placeholder-tag="h2" data-placeholder-text="Title Text" style="z-index: 10;">
<h2>Information Technology</h2>
</div></div>
<div class="sl-block" data-block-type="text" style="width: 806px; left: 77px; top: 263px; height: auto;" data-block-id="9ba9c87f366c7a6242f94be64d9987ae"><div class="sl-block-content" data-placeholder-tag="p" data-placeholder-text="Text" style="z-index: 11;">


@@ 153,14 182,17 @@
	<li>was written while redeploying</li>
	<li>is less than 1% of the actual rant</li>
	<li>is AGPL3</li>
	<li>can be found at:</li>
</ul>

<p>https://git.sr.ht/~ilmu/eloop-talk</p>
</div></div></section>
			</div>
		</div>

		
<script>
	var SLConfig = {"current_user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null,"editor_grid":true,"editor_grid_on_top":false,"editor_snap":true,"editor_fixed_notes":true,"developer_mode":false,"speaker_layout":"tall","speaker_theme":null,"phone_number":null,"phone_country_code":null,"media_sources":null,"export_controls":null,"export_slide_number":null,"export_slide_notes":null,"export_separate_fragments":null},"email":"ilmukalm@gmail.com","notify_on_receipt":true,"billing_address":null,"billing_vat_id":null,"editor_tutorial_completed":true,"manually_upgraded":false,"deck_user_editor_limit":null,"storage_used":46496,"storage_limit":262144000},"deck":{"id":1641260,"slug":"i-have-no-idea","title":"I have no idea","description":"","width":960,"height":700,"visibility":"all","published_at":"2019-11-06T08:37:07.795Z","sanitize_messages":null,"thumbnail_url":"https://s3.amazonaws.com/media-p.slid.es/thumbnails/d77a23e80bfe7bf57f5a9b18fd8d29b3/thumb.jpg?1573029548","view_count":1,"user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null}},"background_transition":"slide","transition":"slide","theme_id":null,"theme_font":"montserrat","theme_color":"white-blue","auto_slide_interval":0,"comments_enabled":true,"forking_enabled":true,"rolling_links":false,"center":false,"shuffle":null,"should_loop":false,"share_notes":null,"slide_number":null,"slide_count":9,"rtl":false,"version":2,"collaborative":null,"deck_user_editor_limit":null,"data_updated_at":1573061315657,"font_typekit":null,"font_google":null,"time_limit":null,"upsizing_enabled":null,"notes":{"52cca08de61283bda4e105898f56ea17":"I'm giving a talk because I talk a lot anyway, I'll just touch on some things I like to talk about and we'll see how it goes. \n\nThere's no idea behind this thing, I'm just in general kind of frustrated and hope I can vent a little bit.\n\nWhy would I be frustrated you ask?\n\nI work as a modern insurance salesman, we have a large amount of people, funded by venture capital, working every day on building notifications and other manipulation - so that we may convince our few hundred 'customers' to switch insurance providers - this allows us to collect commission each iteration.\n\nSiphoning excess potential like this is a similar kind of job as being a squatter, dumpster diver or thief. It exposes vulnerabilities in the system which is helpful because we can fix them in the next iteration. However it is literally counterproductive in some sense, like a cry for attention; \"please fix me!\" - it's our collective back pain.\n\nMy frustration is not limited to this though, if it was then I'd be the happiest man in the world.\n\nOkay now to start this talk.","f36340951e64dd9842395cb2b2890c95":"There's a mathematical theory of hierarchy it has extremely profound and hard to understand consequences. I'm sure you will agree computer science is clearly deeply related to the study of hierarchy since we study directed spaces like computation / causality.\n\n\nI want to highlight the less rigorous concepts that I put at the bottom. They may be understood as a parallels of concurrent vs sequential, I include them as I believe they serve as a good lens for diagnosing the problem with enterprise.\n\nAct while observing / being observed : Courage\nAct without observing / being observed : Faith\n\nThese are in the best case. What can also happen is that our \"Courage\" is just Noise and our \"Faith\" leads to Conflict. Lack of resolve is what causes this to happen. It takes determination to participate in communication, you can't be dropping packets and refusing connections aimlessly. Working with you peers on resolving merge conflicts and fixing bugs is a beautiful thing.\n\n[Next]\n\nConflict : Merge conflict\nNoise : No resolve\n","24e615808404a8b6b03bd352da5360f4":"An organization that has reached sufficient size to be its own source of truth is inefficient.\n\nFirst thing to notice is that a tree has no means to deduplicate structure, you may need redundant structure since each member of the hierarchy can only have on boss maximum.\n\nNext we can look at the Join column of the earlier slide, we can see that a Join has the penalty of synchronization, that is an organization is easily bottlenecked by it's worst member.\n\nFinally there is this consideration of throughput, how much cognitive bandwidth does the organization have and how is it allocated?\n\nA short argument for why the tension between measurement and trust consumes cognitive bandwidth goes like this:\n\nMeasurement consumes bandwidth for the purpose of better understanding how to allocate this same bandwidth. This is a famous problem: Analysis paralysis. It is nicely illustrated by a scheduler that keeps context shifting so it never gets anything done.\n\n\nOkay, so trust is a huge efficiency gain, but it's not easy to achieve when the job you are given is a lie. How can your boss trust that you will do this job when he knows that the work is fake? Don't get me started on money. Let's move on.","767d8c5e97a501a2a0f14986bdfa5b27":"The software we write reflects the problems apparent in our growth-myopia.\n\nWe seem to think that growth implies that we should always create more problems than solutions.\n\nThe easiest way to do this is to write terrible software and then depend so fully on it that the only thing we can do is wrap it in more terrible software until the maze of complexity is big enough for everyone to have a job.\n\nThe necessary work of sorting out the assumptions and the resulting implications is deemed too expensive. Yet this work is mostly been done already by generations of mathematicians.\n\nI would really like for us to start thinking in longer time-scales.\n\nWe don't believe that there will be a civilization in thousands (or even hundreds) of years, if we did, we would behave differently.","29b62980296b2906cc0f08ebc4d1077e":"This raises the question: How would we behave if we weren't going extinct in a couple of years?\n\nFirst we need to achieve the year of the linux desktop.\n\nWhat does 'the year of the linux desktop' mean?\n\nIt means that the average user (lowest common denominator) demands a device running a free software operating system.\n\nSome of you roll your eyes, but let's assume that we have a few thousand years to achieve this (i.e. remove the 'it needs to happen now' constraint that we know and love from our enterprise-y environment) and instead we will just think about the next steps on the path towards this dream.\n\n[Move down one slide]\n\n[Back from HCIM]\n\nThen the next step is to organize religion.\n\nWe need to know what people believe so that we know what questions science should be focusing on.\n\nOrganizing beliefs is a side-effect of giving users feasible tools for organizing information. People do things according to their beliefs and version control systems are made to keep track of and resolve merge conflicts... they are the perfect primitive for a social network centered on political discussion and I believe that the next iteration of democracy should be expressed using version control semantics.\n\nNotice however that organizing religion cannot happen top-down or we will be invoking that XKCD with the competing standards. We need for it to emerge as we converge the existing schools of thought through discussion.\n\nTo recap: Allocating cognitive bandwidth requires having shared values because measurement is a drain on efficiency and not needed to the same extent when there is mutual trust. Trust can be created through finding shared values, this process can be reasoned about as \"resolving merge conflicts\" in belief systems.\n","60e1cb41538fc476b731c8c3e3a740fb":"Once we have the tools we need to converge we can uproot false assumptions and stop doing fake work.\n\nRight now what we need is more space in the world for free software developers. Providing room and board for people who want to solve these problems should be our absolute number one priority.\n\nThank you for listening.","11b6b424f8f579381c5730e2d6b02350":"Here is a model of how a computer serves a user as a communication device.\n\nOn the picture there are four arrows.\n\n[walk through picture + slides]\n\nWe need to program these arrows.\n\nProgramming happens in layers; there is the versioning of data, the building of programs and the running of programs.\n\nSolving programming is very difficult, we'd need to get rid of turing completeness and that may not be feasible in the short term (i.e. pre-climate crisis devastation) and we'd also want it to be approachable which is like learning to run before you know how to walk.\n\nSolving build systems is more feasible but not as high leverage for the vast majority of users as solving version control.\n\nVersion control is just democracy in disguise, that is, it makes the trade-off that availability may be sacrificed for consistency and partition tolerance. It is also the first step to making the user into a \"technical\" user.\n\nI'd argue that the next step after NixOS (which tries to make configuration a faithful representation of the computer) is to escape the local maxima of Git and build a \"proper version control system\", i.e. let's make it easy to manage personal data like secrets.\n\nWe already have git, git-annex and pass so I guess we can start by wrapping these tools and making some sort of state daemon for userspace data. I'm currently applying for a grant to work on this.\n\nbut we also need to build the final layer, the window manager. However I'm not going to talk about it because there's too much to say.\n\nSo lets assume we finish cleaning all the dirty state and we finally make the computer a usable device.\n\nThen the \"year of the linux desktop\" will happen because it offers the user a better experience and gives them greater agency and leverage in their daily struggle.\n\n[Flip back up]","a96b312d63da8e2d04b43ed0ffa4cf58":""}},"user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null}}};
	var SLConfig = {"current_user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null,"editor_grid":true,"editor_grid_on_top":false,"editor_snap":true,"editor_fixed_notes":true,"developer_mode":false,"speaker_layout":"tall","speaker_theme":null,"phone_number":null,"phone_country_code":null,"media_sources":null,"export_controls":null,"export_slide_number":null,"export_slide_notes":null,"export_separate_fragments":null},"email":"ilmukalm@gmail.com","notify_on_receipt":true,"billing_address":null,"billing_vat_id":null,"editor_tutorial_completed":true,"manually_upgraded":false,"deck_user_editor_limit":null,"storage_used":52864,"storage_limit":262144000},"deck":{"id":1641260,"slug":"i-have-no-idea","title":"I have no idea","description":"","width":960,"height":700,"visibility":"all","published_at":"2019-11-06T08:37:07.795Z","sanitize_messages":null,"thumbnail_url":"https://s3.amazonaws.com/media-p.slid.es/thumbnails/d77a23e80bfe7bf57f5a9b18fd8d29b3/thumb.jpg?1573029548","view_count":1,"user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null}},"background_transition":"slide","transition":"slide","theme_id":null,"theme_font":"montserrat","theme_color":"white-blue","auto_slide_interval":0,"comments_enabled":true,"forking_enabled":true,"rolling_links":false,"center":false,"shuffle":null,"should_loop":false,"share_notes":null,"slide_number":null,"slide_count":13,"rtl":false,"version":2,"collaborative":null,"deck_user_editor_limit":null,"data_updated_at":1573207235910,"font_typekit":null,"font_google":null,"time_limit":null,"upsizing_enabled":null,"notes":{"52cca08de61283bda4e105898f56ea17":"I'm giving a talk because I talk a lot anyway, I'll just touch on some things I like to talk about and we'll see how it goes. \n\nThere's no idea behind this thing, I'm just in general kind of frustrated and hope I can vent a little bit.\n\nSince I don't have much time I will stay abstract and avoid details, if you like details then I am available for a conversation.","f36340951e64dd9842395cb2b2890c95":"List in order: set theory, type theory, causality [terminology is not so good independent vs synchronized could be better], logic, metrics, divisibility, politics, language, religion.\n\nThis list contains some examples of applying the mathematical theory of hierarchies in different domains. Computer science is clearly deeply related to the study of hierarchy since we study directed spaces like computation / causality.\n\nI want to highlight this \"courage\" and \"faith\" i.e.\nActing while observing / being observed : Courage\nActing without observing / being observed : Faith\nsince I think this serves as a good lens for finding fault with enterprise.\n\nIn the interest of brevity, just think of groupthink as noise and the person who can represent their beliefs under peer pressure as courageous. Similarly, trust without verification implies faith.\n\nThese concepts are actually methods that will allow us to traverse any kind of space, and those who know me will know that I consider space to be the fundamental concept, so I think being able to diverge and converge freely in any context is pretty much the most important quality you can have as a traveler.\n\nNow, as we know, enterprises are violent places which often punish people who have the courage to speak up [emperors new clothes story] it is also a place that has little faith and relies heavily on measurements as a result these are not very mobile entities.\n\nI want to use this talk to point out spaces where we desperately need to navigate with more care. The space of possible organization or \"culture\" being a primary example.\n\n[Next]","24e615808404a8b6b03bd352da5360f4":"An organization that has reached sufficient size to be its own source of truth is inefficient. An analogy, which some of you may be able to see, is when squatters become owners, not necessarily a bad thing, but this transition is often a place where a false assumption or expedient rhetoric can sneakily become a foundational belief.\n\nLet's address some of this expedient structure in modern organization.\n\nFirst, a tree, which is how most modern organizations are organized, has the property that the top of the hierarchy has a direct chain of command to each subordinate. This means that the boss can track accountability easily through the chain of custody, the tyrants piece of mind comes at a cost though.\n\nThe problem is that since every subordinate can only have one boss it means that the structure has no means to deduplicate redundant subordinates, or from another perspective, allow gradients instead of hard borders. I recommend reading Christopher Alexanders' excellent article \"A City is Not a Tree\" for more insight into this issue.\n\nNext we can look at the Join column of the earlier slide, we can see that a Join has the penalty of synchronization, i.e. we would expect that an organization can get bottlenecked by it's worst member.\n\nThis directly affects the organizations' cognitive bandwidth and motivates measurement since it is a great aid in pruning bottlenecks from the organization.\n\nThis consideration of throughput, i.e. \"how much cognitive bandwidth does the organization have, and how is it allocated?\" is the reason for an organizations' inability to scale, so let's examine it a bit closer. If you are asking \"why do we need organization to scale\" then I need you to understand that we will need to coordinate 7 billion people to respond to [for example] climate change.\n\nOkay, so a short argument for why the tension between measurement and trust is the leading cause behind the inability to scale goes like this:\n\nMeasurement consumes bandwidth but at the same time it serves the purpose of better understanding how to allocate this bandwidth in a maximally efficient way.\n\nThis is a famous problem: Analysis paralysis. It is nicely illustrated by a scheduler that keeps context shifting and never gets anything done. Nowadays the kernel will use a rather dumb approach, allocate some time for everything and avoid the overhead of priority analysis [pushing that responsibility onto the application itself, which is more context aware].\n\nOkay, so trust is a huge efficiency gain, but it's not easy to achieve when your job is a literally a lie. When you are a part of some large feedback loop of excess potential that is not grounded in the real world *cough* finance *cough* then your \"value add\" is a lie. This is btw a particularly egregious example of an organization becoming it's own source of truth.\n\nThis begs the question: \"how can your boss trust that you will do this job when he knows that the work is fake?\"\n\nDon't get me started on money... Let's just assume that he can't, so he needs to measure, right? and as the number of subordinates grows the cognitive load of measurement grows as well. Of course we are now in the process of inventing some nightmare machines to create the perfect tyranny, exactly to solve this problem, but I want to approach this from another angle...","767d8c5e97a501a2a0f14986bdfa5b27":"But first, software, we can clearly identify the growth-myopia that defines the enterprise in software.\n\nA good way to illustrate this idea that \"continuous growth implies that we should create more problems than solutions\" is to look at how easily this can be achieved with terrible software.\n\n[down]\n\n[up]\n\nThe necessary work of sorting out the assumptions and the resulting implications is deemed too expensive. Yet this work is mostly been done already by generations of mathematicians.\n\nThe problem is that we don't really believe that there will be a civilization in thousands (or even hundreds) of years! A lot of people seem to think it is a fact that we live in the \"end time\", it is kind of incredible!\n\nI would really like for us to start thinking in longer time-scales. \n\nI'd like to talk about Turing completeness and local optima from this perspective; where we are building a foundation for an indeterminate amount of future.","29b62980296b2906cc0f08ebc4d1077e":"So I've raised the question: How would we behave if we weren't going extinct in a couple of years?\n\nLet's attempt to answer it.\n\nFirst we need to achieve the year of the linux desktop.\n\nWhat does 'the year of the linux desktop' mean?\n\nIt means that the average user (lowest common denominator) demands a device running a free software operating system.\n\nSome of you roll your eyes, but let's assume that we have a few thousand years to achieve this (i.e. remove the 'it needs to happen now' constraint that we know and love from our enterprise-y environment) and instead we will just think about the next steps on the path towards this dream.\n\n[Move down one slide]\n\n[Back from HCIM]\n\nThen the next step is to organize religion.\n\nWe need to know what people believe so that we know what questions science should be focusing on.\n\nOrganizing beliefs is a side-effect of giving users feasible tools for organizing information. The most important information is the information that you believe and the information you are willing to organize is the information that is important...\n\nLike I said earlier, the perfect primitive for a social network is a version control system, we can keep track of all the different versions of belief systems and try to resolve merge conflicts. In fact I believe that the next iteration of democracy should be expressed using version control semantics.\n\nNotice however that organizing religion cannot happen top-down or we will be invoking that XKCD with the competing standards. We need for it to emerge as we converge the existing schools of thought through discussion.\n\nTo recap:\n1. Allocating cognitive bandwidth requires having shared values because measurement is a drain on efficiency and not needed to the same extent when there is mutual trust.\n2. Trust can be created through finding shared values, this process can be reasoned about as \"resolving merge conflicts\" in belief systems.\n","60e1cb41538fc476b731c8c3e3a740fb":"Once we have the tools we need to converge we can uproot false assumptions and stop doing fake work.\n\nRight now what we need is more space in the world for free software developers. Providing room and board for people who want to solve these problems should be our absolute number one priority.\n\nThank you for listening.","11b6b424f8f579381c5730e2d6b02350":"Here is a model of how a computer serves a user as a communication device.\n\nOn the picture there are four arrows.\n\n[walk through picture + slides]\n\nWe need to program these arrows.\n\nProgramming happens in layers; there is the versioning of data, the building of programs and the running of programs.\n\nSolving programming is very difficult, we'd need to get rid of turing completeness and that may not be feasible in the short term (i.e. pre-climate crisis devastation) and we'd also want it to be approachable which is like learning to run before you know how to walk.\n\nSolving build systems is more feasible but not as high leverage for the vast majority of users as solving version control (and a build system can leverage better version control).\n\nVersion control is just democracy in disguise, that is, it makes the trade-off that availability may be sacrificed for consistency and partition tolerance. It is also the first step to making the user into a \"technical\" user.\n\nI'd argue that the next step after NixOS (which tries to make configuration a faithful representation of the computer) is to escape the local optima of Git and build a \"proper version control system\", i.e. let's make it easy to manage personal data like secrets.\n\nWe already have git, git-annex and pass so I guess we can start by wrapping these tools and making some sort of state daemon for userspace data. I'm currently applying for a grant to work on this.\n\nbut we also need to build the final layer, the window manager. However I'm not going to talk about it because there's too much to say.\n\nSo lets assume we finish cleaning all the dirty state and we finally make the computer a usable device.\n\nThen the \"year of the linux desktop\" will happen naturally, the users go where they get greater agency and leverage in their daily struggle so long as the up front cost is not higher than the perceived value.\n\n[Flip back up]","a96b312d63da8e2d04b43ed0ffa4cf58":"","56c6c6ee3b6dcbb757116fd975130c14":"Okay so we write terrible software.\n\nThen we depend on that software for mission critical things.\n\nThe only thing we can do now is wrap it in more terrible software.\n\nEventually the maze of complexity is big enough for everyone to have a job.","da093669ec0e7c75c6b418585535756c":""}},"user":{"id":947110,"username":"ilmukalm","name":"Ilmu Kalm","description":null,"thumbnail_url":"https://lh3.googleusercontent.com/-V3dNJZ7ax1U/AAAAAAAAAAI/AAAAAAAAAAA/ABtNlbAMEnxNGznyN9NrECYieuaiEhqznQ/mo/photo.jpg","paid":false,"pro":false,"lite":false,"team_id":null,"settings":{"id":2066719,"present_controls":true,"present_upsizing":true,"present_pointer":false,"present_notes":true,"default_deck_tag_id":null}}};
</script>

		<script>