No matter how hard they try, brain scientists and cognitive psychologists
will never find a copy of Beethoven’s 5th Symphony in the brain – or
copies of words, pictures, grammatical rules or any other kinds of
environmental stimuli. The human brain isn’t really empty, of course. But
it does not contain most of the things people think it does – not even
simple things such as ‘memories’.
the evolution of metaphors for the brain (clay → hydraulics → machines →
electrochemistry) traces a series of practical but incomplete models:
other paradigms, with their own
entities and rules, which allowed us to iteratively complexify our conceptual model of the
brain🧠.
once the limits of the metaphor were reached, or new technology with
more complex or expressive dynamics was discovered⚙️,
the paradigm shifts.
it's not a bad thing to have an incomplete paradigm. it's a bad thing once
it supresses a better, more explanatory one from coming along. Robert
suggests that this is what the humours metaphor did, though I think there
were probably many more significant factors at play if you want to talk
about why it took so long for the renaissance to happen.
there's a type of computer process that people colloquially refer to as
"baking." the computer isn't literally putting bits in an oven at 180°C,
but the metaphor is helpful because it quickly conveys that some
ingredients were assembled, and now a process is about to occur that will
take some time, and there will be some output on the other side that we
care about. language is full of these and we have to make subjective calls
about which metaphors are best at capturing the dynamics of a system that
are relevant to us based on how well we think they strike the right
balance between clarity, correctness, intuitiveness, etc.
his example of a "non-algorithmic" explanation of how to catch a ball is
literally an algorithm. I think we have fundamentally different
understandings of what "information", "processing", and "computation"
means.
his "metaphor-free" everything-is-operant-conditioning proposal is a
theory that collapsed in the 70s?
Misleading headlines notwithstanding, no one really has the slightest idea
how the brain changes after we have learned to sing a song or recite a
poem. But neither the song nor the poem has been ‘stored’ in it. The brain
has simply changed in an orderly way that now allows us to sing the song
or recite the poem under certain conditions. When called on to perform,
neither the song nor the poem is in any sense ‘retrieved’ from anywhere in
the brain, any more than my finger movements are ‘retrieved’ when I tap my
finger on my desk. We simply sing or recite – no retrieval necessary.
Why don't we just say that that's retrieval, which is maybe kind of similar
to other sorts of things that we call retrieval, and see if this helps us
explain or make predictions about a system any better than before? "The
brain doesn't retrieve. We simply sing." is not a predictive theory that
could help us understand things, rather it suggests that we shouldn't even
try.
I don't think this was a good representation of anti-representationalism,
and I don't claim to have any answers as to how the brain works (I'm just a
guy who really liked
Being You) but I think if you're going to point out why the dominant paradigm
doesn't work, you need to make a better case than this.
There's a good version on
Standard Ebooks. Greg Wagland's rendition is also great.👂
For thirty years, I've sailed the seas and seen good and bad, better and
worse, fair weather and foul, provisions running out, knives going, and
what not. Well, now I tell you, I never seen good come o' goodness yet.
Him as strikes first is my fancy; dead men don't bite; them's my
views—amen, so be it.
It's wild to think how many of today's pirate tropes this popularized or
influenced☠️ Yo ho ho and a bottle
of rum!
Pew was a really menacing minor villain! I was genuinely scared of him.
Despite the mutiny, everyone has a very strong code of honour. Jim makes
promises to the pirates and desperately hopes to keep them, to his great
personal risk.
They didn't know what caused malaria back then. The doctor is going on
about the quality of the air: low, boggy air was bad. dry, mountainous air
was good. Cool to see some proto-science.
The novel's awash with nautical terminology. How many of these words and
terms did the average British kid know back then?
I think I might be entering my audiobook era. Going for a run getting lost
in a story is a delightful double-dip, though I wish it were possible to
highlight noteworthy excerpts while listening.
A friend just asked me this. Might as well write it down.
I stopped eating meat when I was 17 because my girlfriend at the time was
vegetarian, and I knew that it was one of the remaining ways I could
significantly lower my carbon footprint.
A year or so later I made the switch to veganism because of the same logic.
After a few years of being "outside" of meat consumption, it became possible
for me to be able to think more critically about the moral aspects of
breeding/farming/eating animals.🧱
So now I stay vegan both to reduce emissions and habitat loss, and to try
and absolve myself somewhat from the suffering.
The cruelty and pain is greater than anyone can comprehend. It is one of the
most evil atrocities humanity continues to commit. I desperately hope for
its end. I want children to grow up in a world where they're truly horrified
to learn what we did to trillions of animals for hundreds of years.
I first saw this on
Hakushi Hasegawa's website1 and after a little
digging around in the source, saw that it was implemented with a shader and
three.js
But I had a hunch that it might be possible with CSS blending modes. Not
because I fully understood them, but just because it
seemed like the sort of thing they're made for.
And as you can see, my hunch was correct, but as I write this sentence I
still don't completely understand why.
They've been
explainedamilliontimes
by other people, but it's an open secret that blog posts like this are for
me, not you, so here we go again:
What actually are blending modes?
In a black and white image, every pixel can be represented as a value
between 0 and 1.
0 is fully black. 1 is fully white.
Blending modes are rules for what should happen when you combine two of
these numbers. For instance, the darken mode takes
the lower of the two.
Or the multiply blending mode, which can be written
as:
where
is the base pixel value
is the blend pixel value (the one on top with the blending mode set)
is the output
If you have one pixel that is 0.5 (medium gray) and another that is 0.7
(light gray) and you blend them together with the
multiply mode, you'll get a pixel that is 0.35.
And to be clear, this isn't just 3 divs with 3 different hexcodes. The third
square you see is two divs stacked on top of one another with
mix-blend-mode: multiply
set on the top one.
need proof?
One thing you might take away from multiply is that
it's not possible to get a lighter value than the values going into it. A
fraction of a fraction is always smaller than the fraction itself.
How about the other blending modes? Expand for more details than the
average person wants to know
So how do we use these tools to make the spotlight? The key is understanding
that the abrupt edges of the
color-dodge mode can turn a gradient into a mask.
With color-dodge, as the blend pixel approaches 1,
the denominator approaches zero and the output value increases abruptly.
Here's a medium gray base layer and a black-to-white gradient blended over
it using
color-dodge
Think about what's happening here.
A is 0.5
B ranges from 0 to 1.
On the left, B is 0, so we're dividing 0.5 by 1, which equals 0.5
2
As B approaches 1, we start to divide A by a smaller and smaller number.
When B is 0.5, we divide 0.5 by 0.5, which equals 1: pure white. Any higher
value of B makes no difference because 1 is the lightest value possible.
As soon as the blend pixel becomes lighter than the base pixel, the output
flips to white.
What if we blended a gradient over a noise texture?
Some of the noise pixels have slightly lightened, and many of them have
turned fully white.
Effectively, what's happening is the computer is sampling each pixel and
comparing it to the gradient. If the gradient is lighter, it hides the
pixel. The further along the gradient you go, the more pixels get hidden.
Now all we need to do is make the remaining pixels black. Fortunately,
there's another blend mode for that:
color-burn
color-burn takes the inverse of your base layer,
divides it by the blend layer, and then takes the inverse of that.
Let's color-burn a black layer over the
color-dodge layer.
We start by picking one of the remaining visible pixels. Say we pick one
that's dark gray (0.3)
The inverse of dark gray is a light gray (0.7)
The blend layer is black (0)
0.7 / 0 = Infinity
1 - Infinity = -Infinity
CSS can't display negative infinity: it clamps the value to 0. This is why
all the gray pixels turn black: we're always going to be dividing them by
zero.
But there's a special case! What if the pixel we sample is white? (1)
The inverse of white is black (0)
The blend layer is black (0)
0 / 0 = NaN
1 - NaN = NaN
NaN means "Not a Number", which is a special value used to represent
undefined or unrepresentable numerical results. Fortunately for us, CSS
renders these specific errors as white.3
And so there you have it. There's some artifacting going on due to tolerance
for near-white values, but to recap:
color-dodge "hides" pixels that are darker than
the gradient.
color-burn blackens the remaining pixels
This gives us a pixelated falloff based on the lightness of a gradient that
we can overlay atop a noise layer.
Building the effect
Now that we understand the principle, let's build it step by step.
First, we create a div and center some text in it:
Then we place a new div above the text, with a noisy background image.
Statically positioned elements' backgrounds paint first, which is why the
absolutely positioned text is shown above it.
Then we place a div inside the noise layer and give it a radial-gradient
from white to black.
Because the div is absolutely positioned, it's now painted above the text.
We can set a darken blend on the darkness layer so
that the darker black of the text shows through.
Now we can add mix-blend-mode: color-dodge to the
spotlight div.
But wait, why doesn't the spotlight hide the text? Isn't white lighter than
black?
Nesting spotlight inside the noise layer puts it in a new stacking context.
When you set a blend mode on an element, it only blends with elements that
are behind it in the same stacking context. To use a metaphor, the spotlight
is inside a box (the noise layer). It can blend with the walls of its box,
but it can't reach outside the box to blend with things sitting next to the
box.
This changes how the box looks, but the box (the noise layer) is still
blending with the text in its stacking context using
darken.4
Finally, we add a new div over everything, with
mix-blend-mode: color-burn and
background: #414141 to turn all the remaining
non-white pixels black.5
A little JavaScript to make the circle follow the mouse and you've got a
spotlight!
If you'd asked me how blending modes worked before writing this, I would
have said "by iterating through them until you find one that looks right."
I think that's still kind of the case. Experienced photographers probably
have a stronger intuition about when to use a particular mode for adjusting
one of their photos, but I'd be surprised if most of them don't also just
tap the down arrow on the selector to preview what each of the modes would
do.
And I could have implemented all of this with canvas and it would likely
perform better, but I'd need to have learned the theory regardless, and it's
cool to learn what's possible with regular CSS nowadays 🙂
Two years ago, a colleague asked me "concretely, what's a way in which you
think AI is going to change the world?"
I said: the way we relate to and use software. We will stop writing or
installing it.1
We'll instead have an AIs that dynamically write our programs for us.
Two years later, I'm feeling even more confident about this. Claude Code and
Codex are the worst they'll ever be, and they're already one-shotting simple
webapps.
I wanted it for months, but never got around to making it myself, because to
code it by hand would take more time than the idea was worth. But now I can
get it made in 30 seconds, provided I have my laptop on me.
The next step could be making it possible to create these apps by typing a
prompt on my phone: "Write a program that does X, Y, and Z."
The model writes it and stages it somewhere. I'd maybe ask for a few
iterations, and once satisfied, deploy it on my site.3
I think this kind of capability would be really useful, and I'm sure the
ergonomics will improve rapidly (alongside their capabilities and possible
complexity, incorporating our phones' cameras and gyroscopes and what have
you.)
For now, it remains a niche power among those who are somewhat technical or
tool-making. But it seems kind of easy to commodify and market: what could
be more useful than making it easy to make useful things?
Interoperability will be important, and there will still likely need to be
some organizational effort to design and spread standards so that my bespoke
apps can interact with other people's bespoke apps.
But, basically, we're all going to become Geordi Laforge, Chief Prompt
Engineer, and everything will go great. There will be no problems.
this isn't merriam-webster, but i reckon it's when you're motivated by
something other than what you should be.
say you come out of the cinema with your friends and you start raving about
how many of the shots were inspired by some french new wave guy.
maybe you're authentically stoked about the cinematography (the pretense),
but maybe you mostly just want to sound smart about movies because of how it
affects your status in the group.
someone who loves film for its own sake should be happy to talk about the
film at any level with their friends. people aren't familiar with godard?
that's okay, you could also talk about the acting or the story. if you're
incapable of meeting people where they're at, i think people will be
rightfully suspicious that you've got an ulterior motive.
sometimes accusations of pretentiousness are just anti-intellectual. i've
been called pretentious for referencing the history of a genre of music as
part of my appreciation for a song. it felt genuine to me at the time, and i
wish the person who said that had just said "i don't know enough about that
to engage in the same way and i don't want to hear a lecture." or "yeah... i
liked a different aspect of it." instead it was basically like "shut up,
nerd."
it takes two. one to notice that their passion is alienating their
interlocutor and one to engage supportively if someone seems excited to talk
about a subject they love.
this stuff all gets worse if you're talking about disliking something. if
someone's perfomatively liking something, it's easier to overlook that it's
pretend. if they're being a hater, it's a bad deal: being persuaded to enjoy
something less in order to feel insecure about my inferior
taste.1
pretentiousness doesn't have to be about taste or aesthetics. i was
pretentious the other day when i got in a little back-and-forth with my
driving theory instructor about whether or not he had explained something
correctly. ostensibly i was speaking up to clarify for myself and my fellow
students, but once he began to double-down on his confusing explanation and
i started to try to explain to him why it was confusing, i could feel my
motivation shift to something else: i wanted to outdo him and show that i
was smart to the group.2
it's hard to know what the exact mix of any of our motivations is. i like to
flex my vocabulary in a way that is a little pretentious, but i also
genuinely enjoy finding the word that feels like it perfectly conveys what
i'm trying to say. having multiple motivations isn't necessarily
pretentious, but you should try to reduce the amount you decieve yourself or
others as to what they are.
The "driver shortage" framing is industry spin on the fact that employers
are deliberately underpaying workers to increase churn and keep the
average pay grade low.
Automation will lead to further degradation of the trucking career that
has allowed many men to earn a decent wage and quality of life. The
consequences of this will be dire.
Is automation necessarily anti-labour? Is it possible to automate jobs while
protecting the people who do them?
My supermarket installed 12 self-checkouts several years ago. In the pen,
there's now one worker who harriedly flits between the stations, swiping
their lanyard to authorize alcohol purchases. Repetitive and thankless.
Pretty bad, as far as jobs go.1
I assume most of people doing this job don't love it, but that doing it is
still one of the better options available to them. Maybe they don't have any
skills, or the skills from a previous career aren't valued anymore. Maybe
they like the flexibility of part-time work.2
All I know is that I wouldn't want that job, and that I'm grateful
for the privileges of my life that mean it's not yet been an option I've had
to consider - privileges that I wish were extended to everyone.
It's all well and good for me to say that I wish for a world where everyone
is so taken-care-of that we'd find it unconscionable to require labour that
alienates3, but steering
our shambling society towards such a utopia is really hard to do. How can we
identify and agree on why we have "bad jobs", align everyone's
interests to the collective cause of reducing suffering, and correctly
triage the opportunities we have?4
Maybe the answer is to read more Marx, but I don't think it's possible to
get the Good Automation that reduces toil, without also fundamentally
lowering the value of the equivalent human labour and therefore the power of
those workers' strikes.
i.e. the truckers are right to be concerned.
But I want jobs to be automated. I want humans to do things other
than scan barcodes and drive along the interstate for the majority of their
lives. If we still have warehouses filled with humans in 15 years5, I think that's because we've shambled wrong, even if it's because we've
fought tooth and nail for labour.
Maybe there's a more middle-ground Scandanavian model. Companies that
automate must invest some additional amount in continual retraining such
that automation remains complimentary rather than rivalrous. I'm not
actually sure if that approach will be able to keep up with the rate at
which human skill is outcompeted.
In any case, I think it's going to be really hard to form a coherent story
and set of policies to sell automation. Workers are proud of their worth,
and are going to be skeptical that any self-sacrifice will contribute to a
greater good, because the collectivist spirit is so dead in the West.
Conversely, corporations will argue against paying redistributive taxes,
because it's the profit incentive that drives the transition to full
automation.
Yet, ultimately, I think automation will win. It's going to be hard for
labour to globally impede technological progress, whereas tech companies
will be able to easily relocate and improve, until they're so cost-effective
that even the most labour-sympathetic regions will be unable to resist
interfacing with the automated economy.
Whether or not that irreparably tears the social contract, idk. Hope not.
When people say "the problem is education" they tend to mean "I want
everyone to have the same beliefs as me, but persuading adults is too hard."
I think it's naive to assume that agreeing on a national curriculum is any
easier, but assuming that you could, it's even more naive to assume that
students would internalize the lessons you want them to.
For example: in high school, I didn't understand our English curriculum's
emphasis on literary analysis essays. They seemed mysteriously tautological:
fill in the essay template to demonstrate to the person marking you that you
can fill in an essay template.😱
like this but with paragraphs instead of lines
I don't mean to insist that the subject of english "justify itself" in that
stembro way. I just don't remember anyone ever telling me why it was
worthwhile to learn how to analyze literature. I have since read some greek
plays and can say with confidence that this was a tragedy.
Here's an explanation that might have worked for me:
Stories are one of the main ways we make sense of the world. Writing is
another. We write about stories to gain an ability to think about how
they're written and what they mean. This allows to be more persuasive and
less susceptable to bullshit. It also allows us to share our perspectives
with one another, which is essential for democracy.
I smashed that out in 2 minutes. It's arbitrary and a thousand alternate
justifications exist, but the idea is that, for each student, there is a
justification that could appeal to them.
Why didn't we do this? Some ideas
We did
but not often enough to remember 10 years later (wisdom has a
luridness problem)
but I didn't like the justifications ("it'll be on the test",
"it's needed for jobs that pay a lot of money")
but it doesn't work. Existentialism doesn't vibe with kids before they
know their spelling, or, it doesn't make a measurable difference.
(also, if every teacher was making the best case for their subject,
wouldn't it all come out in the wash and students would drift towards
their natural competencies as we currently do?)
but in the wrong way. Teachers mistakenly believe they
are teaching purpose, simply because the purpose is so
obvious to them that they don't realize how much more explicit
articulation it needs.
We can't
it's too politically contentious to agree on
it's too expensive to personalize per student, teachers are too busy,
etc
teachers are lacking in real-life experience to know all the potential
applications of what the kids are learning.
We shouldn't
this is something you can only figure out yourself, and it can only
ever be an ongoing process.
I suspect the answer is some combination of the above and more.
🏫 It's clearly not "no one's
ever thought of it before", but pretending that it is, what outcomes would I
hope for?🌏
If I was motivated to write literary analysis because I cared about
democracy, maybe my teacher or I would realize that it would then be good to
actually try to engage with the substance of other students' arguments.
Let's actually test if it's working! It's wild to me how little time we
spent as a class, or in groups, debating what
V for Vendetta actually meant.
We never tried to persuade one another to adopt different beliefs about what
a story was about, or whether it was good or bad. Our essays were written in
a near vaccuum, graded more on their internal coherence than in relation to
other people's arguments. It's astounding, really, how little dialogue there
was. No opportunities to say "I don't think that makes sense" in response to
someone's poorly constructed argument. No way to learn better ways of seeing
things.🧠
And now we're sleepwalking into education's purpose being entirely lost with
language models. I see students at cafés copy-pasting to and from their
moodles and can't help but think "Damn, if only you were a little better at
questioning what any of this is for."
It's so parallel to the alignment problem that I'd argue it's a comedy.
Part of the reason why, is that I cannot reliably hear the downbeat in the
right place. There is a clear "right" way to hear it that my mind can snap
into if I try, but most of the time I hear it spasmodic style.
wrongright
In the "wrong" way of hearing it, the bass drum hits on the one, which is a
ubiquitous convention of rock music, and something I am very biased towards
hearing.
But by that counting, the rest of the beat makes no sense: there's a snare
hit on the first "and" and then on the "four" - a non-ubiquitous
unconvention.
By comparison, hearing it the "right" way (with the bass drum on the first
"and") gives the song a natural, head-bumping groove. When my mind lurches
over to hearing it this way, it immediately makes sense and I feel almost,
like, relief?
This doesn't seem to happen to other people as much. Some get a little
confused in trying to count it, though I think it often has more to do with
the song's timing being kind of imprecise and wobbly, not due to an
ambiguous downbeat. In my surveying, most people only ever hear it the
"right" way, and struggle to hear it my way at all - if they do, it's
usually with effort and incredulity.