danott.website / archive / 2024

A watched DNS never propagates.

I’ve got some premature optimization on the mind. Right now I read and upsert a row for every single text file in the tree. This is fine while the data set is small. What happens as it grows? The performance time will grow linearly at best.

I could minimize the necessary upserts by only upserting files that have changed recently. I could get this list of files with something along the lines of.

find ~/textfiles -type f -newermt "$(stat -c "%y" /yolk.sqlite3)"

This would grab only the text files that have changed since the last time the sqlite3 database was written. This will work as long as the only thing that writes to the database is this upsert mechanism.

But thinking in fractal scenarios—that could change. If it does, it’d be easy enough to swap out a new source of truth in place of $(stat -c "%y" /yolk.sqlite3).

That’s probably a named concept waiting to emerge. Bash scripting resists named concepts.

The Rise and Fall of Getting Things Done (newyorker.com)

Mann posted a self-reflective essay on 43 Folders, in which he revealed a growing dissatisfaction with the world of personal productivity. Productivity pr0n, he suggested, was becoming a bewildering, complexifying end in itself—list-making as a “cargo cult,” system-tweaking as an addiction. “On more than a few days, I wondered what, precisely, I was trying to accomplish,” he wrote. Part of the problem was the recursive quality of his work. Refining his productivity system so that he could blog more efficiently about productivity made him feel as if he were being “tossed around by a menacing Rube Goldberg device” of his own design; at times, he said, “I thought I might be losing my mind.” He also wondered whether, on a substantive level, the approach that he’d been following was really capable of addressing his frustrations. It seemed to him that it was possible to implement many G.T.D.-inflected life hacks without feeling “more competent, stable, and alive.” He cleaned house, deleting posts. A new “About” page explained that 43 Folders was no longer a productivity blog but a “website about finding the time and attention to do your best creative work.”

I think about this article every time I rebuild my personal website. I love the exploration in finding new ways to do things. But once again I’m confronted with what I’m actually trying to accomplish.

I am drawn to work of a recursive nature.

Rails has a built in route for viewing notes.

  • bin/rails notes in the console
  • http://localhost:3000/rails/info/notes in the browser

I just deployed my bespoke personal website from my iPhone. I remember ideating about such a flow while attending a University of Kentucky basketball game back in 2007. The tools have always been there, I’ve just never sat down to do it. Building is fun.

brctl is a command line utility for managing the CloudDocs (iCloud) daemon.

bctrl status | grep "somefile.ext" could be useful for checking the status of a particular file.

Made mini pizzas with the kids tonight. Followed by a giant desert pizza with Nutella, marshmallow cream, Reese’s puffs, crushed orange mint, glitter sprinkles, and more. Turned out great.

I haven’t had a DNS propagation headache like this since 2005.

I envy Jay-Z and his meager 99 problems.

The Euchre’ish. Invite a few people over to play card games, eat bread, and drink wine.

The title of The Body Keeps the Score conveys the big idea. Our traumas are stored in our bodies.

In my mind, I recall the demo of Tony Hawk’s Pro Skater. I learned that the game freezes when you max out the score at 550,000’ish.

The Body Keeps the Score, and I am maxing out the available memory of the system.

Every token is a feature (daverupert.com)

Infinite customizability and peak performance are often at odds.

Resiliency trades off against efficiency. Customization trades off against performance. I love finding and living in the tension in our systems.

Egoless Engineering (egoless.engineering)

I cannot find a video of this presentation. The slides and speaker notes are gold.

A big mistake they made in my view was that they conflated roles with work a little too much. Frontend engineers did all of the frontend work and none of the backend work, and vice versa.

I have seen this. In the worst characterizations it interprets people as interchangable parts instead of unique collaborators with strengths, weakenesses, and room for growth.

One big thing that a lot of people love to do is create new role types. For any new thing a company wants to do, the tendency is to put up a new job description.

Resist this urge. Start doing the new thing. If it ends up taking an inordinate amount of time, hire someone to do the thing.

Once people have subdivided work, they naturally try to arrange people into assembly lines. If you have AI work, hand it over to the AI person. If you have ops work, give it to the ops person.

That’s the kind of thing that feels obvious to leaders, but I think it’s wrong. And sometimes it’s wrong in a mathematically provable way.

Thinking Fast & Slow comes to mind. It feels intuitive, but it never works out quite that way in practice.

The most important bit that we took from that movement was that we should tear down existing barriers between roles. So after about two years of creative destruction pretty much everybody was pitching in on pretty much everything.

Tearing down dividing walls is work of the highest nobility.

the thing we were actually going to do was use our rare and precious organizational power, and the free time that came with it, to lift up other teams and make them more effective.

Seeing your work make the lives of real people better is the most rewarding outcome.

We tried really hard to have domain experts, but never really domain owners.

Ownership is a word that means different things to different people. I like the idea of floating experts serving the team rather than stationary owner controlling their fief.

There were other ways in which we didn’t just wait for the streams to cross themselves. We injected sustaining energy into this system very intentionally.

Good organizing patterns and collaboration don’t just happen. They require the intention of leaders.

None of them would admit this, but I think there’s an industry instinct that misery gets results. I think this is mistaken. Misery is a shitty proxy metric for results.

Misery loves companies. This rebellion against misery as a metric reminds me of the bigger argument within Accelerate (the most high-performing teams are those that are healthy and enjoyable to be on).

Deltas to the Global Maxima: Better Career Conversations (theengineeringmanager.com)

So why is it that career tracks can be misused? The issue is that they are a simplification of a complex, multi-dimensional problem space. People’s careers can go in limitless directions, and career tracks are just one possible path at one possible company. They are represent a local maxima, not the global maxima.

It is easy to forget the vastness of the forest when you’re gathering all your resources from a single tree.

We need to stop obsessing over dangling the next step on the career track as a carrot. Doing so almost always leads to disappointment. Long term conversations become short term: why can’t I have that role now? When can I get that role? What’s the fastest way to get there? These are all questions that are focused on shortcuts and checking boxes, and not on doing impactful work for customers or increasing their skills.

Doing something that is already defined can be appealing. This is the work of clergy cementing the norms of an institution. But many would rather be trailblazing or pioneering.

Instead, we need to help our reports consider the bigger picture: what is the global maxima of their career?

This global maxima is the point at which we are at our most skilled, our most impactful, and the most satisfied. The global maxima may not even be a role, but a state of being where everything comes together: life, work, compensation, contribution, and happiness.

This is interesting, because it will be different for every single person. Maxing out one attribute of life can lead to dread. Satisfizing within the local maxima may lead to more fulfillment.

Quit Your Job (palladiummag.com)

But you cannot pursue interesting novelty—things that no one else is doing or which you have never seen before, or the little threads of nagging curiosity or doubt—by chasing along known direct value gradients. But that’s where the treasure is. That’s how you will find the place where you need to build. To get the biggest and most interesting payoffs, you have to start by chasing merely interesting novelty in an open-ended way.

This describes my learning style. Follow curiosities with no clear end in mind, just fascination.

This efficient pursuit of predictable value is the quiet dignity of the mass of working people. But if we are to solve the bigger structural, spiritual, and intellectual problems which aren’t addressed by existing institutions, someone needs to be exploring off of the established road, where there is a high probability of failing to accomplish anything at all, and a significant probability of discovering and exploiting the next big breakthroughs.

Conference talks of trailblazers, pioneers, and settlers come to mind.

But this isn’t really about your job. It’s about your relationship to resources and value.

A helpful frame. A job is not an identity. It’s a proxy broker of resources and value.

Capability makes your life simpler (bryanbraun.com)

Capability makes your life simpler. Tolerance, skills, knowledge, and health are always with you, wherever you go. They are assets but they take up no space. They are stored in your body.

Tolerance, skills, knowledge, and health. Investing in these things is an investment in yourself.

Runestone (runestone.app)

A plain text editor. That’s it.

iA Writer is my go-to mobile text editor. But it is strictly for words. Having a plain text editor for code-like things could be useful. And this is the tool I’d reach for to do it.

Scriptable (scriptable.app)

Automate iOS using JavaScript

An alternative to Shortcuts for scripting on iOS. Seems compelling.

Introducing o(m)g:image (blog.jim-nielsen.com)

Social share images are basically billboards on the information superhighway. Perhaps they were intended to convey additional context about the article, but in practice they’re really just screaming to catch your eye (and attention) and hopefully make you click.

How can I can turn my website into the Wall Drug of the internet?

100 miles to Wall Drug

50 miles to Wall Drug

25 miles to Wall Drug

10 miles to Wall Drug

Countdown accelerated anticipation doesn’t work, because websites are always one click away. Unless I create a labyrinth of indirection—multiple properties across dozens of domains.

1,092 miles to Buccees

That is a real billboard I have seen.

TIL that macOS has a built in speed test utility: networkquality.

Chicago Kare by Duane King (chicagokare.xyz)

A Faithful Reproduction of the Bitmap Version of the Chicago Typeface Created by Susan Kare for Apple Computer in 1984.

Reading words set in this type took me all the way back to the computer lab in elementary school. I’m just happy this exists and I can download it.

Offensive Horticulture (taylor.town)

In this series, I’ll be using the definitions interchangably because I’m not a good writer.

This is a great sentence. Good writers set the tone and the expectations.

In Kyoto (poetryfoundation.org)

In Kyoto,
hearing the cuckoo,
I long for Kyoto.

A beautiful little poem that I came across in the course of my weekend.

Being in the details (theengineeringmanager.com)

Middle management is not just a communication bus. You should be making things happen.

A parked car needs no alignment. A vehicle’s need for realignment is only revealed when observing it in motion.

New senior managers who have become highly effective at managing smaller teams may overdelegate in larger organizations to the point that they require someone else to answer all of the key questions for them. This is a bug, not a feature. You need to know what your org is doing if you are accountable for it.

Which requires some kind of organized communication bus, which cannot be the entire job.

Facets and Social Networks (jefftk.com)

Current social network technology strongly favors the former: if you write about just one area it’s much easier for algorithms to figure out who to show your posts to. And so you see a lot of advice to build your personal brand about an area: write about cooking, or housing policy, or military history.

This is very much not for me. I want to write about whatever I want to write about, which is a lot of different things, and I’ve generally just accepted that this is a bad fit for Facebook and the other places people read my writing.

The desire for an author to write about whatever they want to write about resonates strongly with my own desire for writing.

I can add this to the pile of excuses for why I haven’t shared my writing. Or I can just get over it and start writing.

Interview with Tobi Lütke (theobservereffect.org)

Lots of gold nuggets in this interview with Shopify Founder Tobi Lütke.

My attention is the most liquid and valuable resource that I have.

It’s okay that every day doesn’t look the same. Embrace the liquidity of your most valuable resource!

if those assumptions are faulty, the seemingly perfect decision is faulty too.

Challenge every assumption, especially your own, to arrive at good decisions.

One of my biggest beefs with engineers, in general, is that they love determinism. I think there’s very little determinism in engineering left that’s of value. An individual computer is deterministic; once you introduce even just a network connection into the mix, everything becomes unpredictable and you have to write code that’s resilient to the unknown. Most interesting things come from non-deterministic behaviors. People have a love for the predictable, but there is value in being able to build systems that can absorb whatever is being thrown at them and still have good outcomes.

Build systems that handle the unpredictable. This is why people with an emergency fund sleep better at night than those who assume nothing in their life will ever fail.

Syndicating to Bluesky (adactio.com)

One day Bluesky will go away. It won’t matter much to me. My website will still be here.

I’m going to join the POSSE strategy.

Something at the intersection of rails new --minimal and the new “solid” defaults is borked. Here’s what I’m seeing:

  • The minimal flag excludes ActiveJob
  • SolidCache has an ExpirationJob that relies on ActiveJob.
  • So a fresh app deployed with kamal won’t boot properly

The Cleanse (randsinrepose.com)

the lack of healthy debate on most social media is one of the core issues with the platform. Humans must disagree, but these platforms do not provide a proper bi-directional medium (or set of tools) for these debates

Normalize disagreeing respectfully. Can this medium even support it?

in the primarily anonymous world of social media, it’s normal not to consider the other human a human. They are the last thing they wrote that you disagree with. There is no relationship; it’s simply the last thing they posted. And how do you feel about that post.

Eleanor Rosevelt said something along the lines of “Great minds discuss ideas; average minds discuss events; small minds discuss people.” It seems like we’ve all become great minds, but have forgotten their is value from the other points on the belle curve.

Great hearts care for people; average hearts show up for events; small hearts hold only ideas.

Not everyone needs to be talking to customers (feltpresence.com)

Putting everybody in one room is the lowest denominator of collaboration. Same with asking everyone to take part in the same work.

Everyone in the same room should be rare, to refill the trust batteries. Everyone in the same room as the mode of collaboration is waste.

Real collaboration is when someone knows something deeply, another person knows something else deeply, and we put our heads together. We bridge the gaps, we fill in different perspectives, we add in information the other doesn’t have. It’s 1+1=3. More comes out than we put in.

1+1 can equal 3. 1+1+1 can also equal 3. 1+1+1+1 can equal 2. The limit approaches zero.

What we need to collaborate better is (1) appreciation of each others’ strengths and (2) a common language to communicate with.

Creating the common language takes time in smaller groups.

I like building tools. I like writing about building tools because I like the tool building. Once a tool is built, I don’t have much to say. Because the building in the fun part. The broadcast it carries is variable. But the building. That’s the good stuff.

“Unhinged” has entered the vocabulary.

I was forced to a decision today. Do I throw a list into ChatGPT and ask it to reverse the lines. Or do I figure out how to manipulate the text to reverse the lines. I want to know my tools. I don’t want to context switch between tools to do a simple text manipulation operation. Today I relearned that, of course, vim can do this. :g/^/m0 was the incantation. Which feels like magic only as long as I refuse to learn the grammer of vim. Vim is good. I want to manipulate text in Vim.

How I ship projects at big tech companies (seangoedecke.com)

Shipping in a big tech company is a very different skill to writing code, and lots of people who are great at writing code are terrible at shipping.

This statement is true at all scales of companies based on my anecdata.

Projects do not ship automatically once all the code has been written or all the Jira tickets closed. They ship because someone takes up the difficult and delicate job of shipping them.

Tasks done as the definition of shipped feels very waterfall. Each completed task reveals more information about the gaps between what’s been done and when the project will be done.

What does it mean to ship? It does not mean deploying code or even making a feature available to users. Shipping is a social construct within a company. Concretely, that means that a project is shipped when the important people at your company believe it is shipped.

I resonate with this idea that “shipping is a social construct”. It seems to explain why defining what “done” means is so difficult to nail down. It’s dynamic based on the scope and impact and progress of the project.

Really, the whole thing could be highlighted. Go read it.

Visual Studio Code can open files with a url scheme. This could be handy for local development. vscode://file/Users/danott/path/to/file.rb

link-to-text-fragment (github.com)

The Link to Text Fragment extension allows for the easy creation of text fragment URLs via the context menu

Linking to text fragments is a thing that I forget is available. Putting it into the browser extensions may help me remember.

Accessible tips for people to protect their privacy (github.com)

These steps can reduce risk, which is great, but it’s not the same as eliminating risk. Do what works for you, and do it as consistently as possible. The best steps you take are the ones you take. Start small, build up gradually, and make informed choices.

Some times all you need is a README on GitHub.

Four Years in New Brunswick (ashfurrow.com)

I don’t like how certain events have played out, but I’ve learned to accept that - while I am only in control of myself - I am in control of myself. I’ve learned not to assume responsibility for the feelings and actions of others. I’ve learned boundaries. I’ve grown. And I’ve had to accept that not everyone is interested in that growth.

Emphasis mine. Because it matches my experience over the last few years.

…my wife and I have largely gone where life has taken us. That has led to great adventures, but it has also carried great costs…

…change is slow. We’re more in the driver’s seat of our own lives than ever before.

I’m bookmarking Ash’s blog post because it feels like something I could have written about my similar experiences.

I must have been four years old. I cried and cried and cried when I realized we weren’t going boating. Rock the vote.

People who say “I’m an open book” are well meaning, but misguided. There is a boundary, and they’re putting the onus on the questioner to find it.

Conferences talks from Sandi Metz (rubyvideo.dev)

The secret to my success as a developer has been watching every talk Sandi Metz has ever recorded, reading every book she’s ever written, and assuming her instruction is correct until proven wrong.

I think I’m mostly definitely done creating a micro blog out of a text file.

yyyy'W'w is my secret sauce for generating a “weeknote” filename in Apple Shortcuts.

A giant markdown textfile can be a micro blog.

This is not a democracy (mailchi.mp)

As a leader, you can change the rules. You can do so unilaterally. It is so often your job to make the hard calls. No one writing this newsletter would tell you otherwise. What we can tell you, though, is that when you change the rules your people will notice. And at that moment, they will have some hard calls of their own to consider.

A leader can create whatever environment they want. Everyone will choose how they want to respond to that environment.

Colophon (Interconnected) (interconnected.org)

The site is served by Apache2 with mod_wsgi from a lowish-end Ubuntu instance hosted at Digital Ocean. I don’t use an dedicated app server, or a CDN or cache. Posts have hit the top of Hacker News a handful of times without load struggle; this approach seems fine.

Another drop in the bucket of anecdotal evidence that I do not need the complexity of a git based workflow, Netlify, etc.

But what I lose in simplicity I gain in control.

This is the unspoken trade off of static site generators. I want control. I want dynamism.

In praise of hype docs (trysmudford.com)

I quickly realised that if I didn’t toot my own trumpet (or at least record the notes I played), they’d quickly get lost in the noise of a 500+ person organisation.

Striking the balance between shipping code and highlighting why those contributions are valuable is an art unto itself. It can feel like documenting your own career becomes your career in a large enough organization.

A Message From the Past (Thoughts on Nostalgia) (collabfund.com)

When thinking about our own lives, we don’t remember how we actually felt in the past; We remember how we think we should have felt, given what we know today.

The transition from uncertainty to certainty melts the memories of anxiety and worry.

So much of what matters in investing – this is true for a lot of things in life – is how you manage the psychology of uncertainty. The problem with looking back with hindsight is that nothing is uncertain. You think no one had anything to worry about, because most of what they were worrying about eventually came to pass.

“You should have been happy and calm, given where things ended up,” you say to your past self. But your past self had no idea where things would end up. Uncertainty dictates nearly everything in the current moment, but looking back we pretend it never existed.

Michael Scott said it best: “should have had hindsight.”

Nice, nice, very nice (mailchi.mp)

The neat part about cultural change is that it’s a rolling average of the last thousand or so interactions you’ve had. And the really neat part about humans is how quickly we adapt to changes in culture.

Can I show up intentionally 1,000 times in a row? Will I show up with adaptability 1,000 times in a row? Its probably a dance of both.

a disagreement happening out loud is one we can resolve. A disagreement happening in silence is not.

Disagreement, like expectations, need to be shared out loud if there is going to be any relational progress.

HTML for People (htmlforpeople.com)

Though I work professionally in the field, I feel strongly that anyone should be able to make a website with HTML if they want. This book will teach you how to do just that. It doesn’t require any previous experience making websites or coding. I will cover everything you need to know to get started in an approachable and friendly way.

I resonate with this message deeply. Learning HTML was one of the best happy accidents of my life. I hope this resource stays available for a long time.

Here’s What Not To Do (newsletters.feedbinusercontent.com)

A brief introduction to Cicero got me thinking this morning. A cautionary tale for those of us who like to live in the world of ideas. (It me.)

He loved to talk about it, he was fascinated by it intellectually, but his ego and his expensive tastes got in the way of actually practicing it day to day.

It’s easier to want to curate a vibe that projects an identity than to practice a discipline in obscurity.

He loved the art of rhetoric more than the practice of virtue.

And, as always, “actions speak louder than words” in the long game.

Acquiring Fireside (johnnunemaker.com)

As they say, first time founders are obsessed with product and second time founders are obsessed with distribution.

I didn’t know they said that. But it makes sense and I trust the founders who have gone before me.

What if he was just a Mandalor named Ian?

iA-Writer-Templates (github.com)

Templates are built with web pages. You can use HTML, CSS, and JavaScript to lay out your documents. If you know how to make a web site, you can easily make an iA Writer template.

You can use HTML, CSS, and Javascript is a great lead to any publishing endeavor. Remember OSX widgets built with HTML, CSS, and JavaScript? What a joy!

Your Way Is the Only Way (collabfund.com)

A talented person can quickly become mediocre when you force them to be someone they aren’t.

Are there any examples of it going the other way? Can talent supplant mediocrity through the denial of self?

You do your best work and have the most fun when you’re not burdened by fear that someone else thinks you’re doing it wrong.

Remember to correctly frame your relationship to research. Not everything that is written down is right. Often it was right, for them, in context.

Eating buttloads of Indian food then doing hot yoga.

Blogging & Listening (blog.jim-nielsen.com)

So if you don’t know what to blog about, listen. Listen to what you hear and write it down. I doubt you’re the only one hearing it, but you can be one of the few writing it down.

Listening refines my thinking. Writing refines my thinking. Imagine what could happen if listening and writing oh look a squirrel.

Authoring in plaintext just feels right. Why have we made computers so complicated for minimal gains to self-expression?

It turns out Dropbox is still good, actually. I’ve been blinded by git based publishing flows for the last several years. Being able to sync plain text files from iOS is opening up paths of thought about the publishing flows I’ve always wanted.

I believe this will work from both macOS and iOS.

I think I’m going to make the move from Bear to iA Writer. The years-old desire to be dealing with plaintext files and folders is finally winning.

Florida based Hunger Games fan fiction featuring Flatness Evergreen.

The 4 components of product quality: performance, bugs, completeness, and consistency (amivora.substack.com)

These 4 components of quality have proven to be straightforward, independent, mostly measurable streams to track. There’s no need for a “grand quality metric” which combines them, and no complex coordination system required to manage all these in lockstep. Customers are happy when any of these improve, so I can just make progress on each of them individually whenever it makes sense.

I’m always down for a simple system that does not overcomplicate things.

Smooth Space (kneelingbus.substack.com)

And screens are the exception that prove the rule because, as Byung-Chul Han has noted, we look through them rather than at them. Screens don’t decorate the physical environment so much as they invite us to stare through a window into a different kind of non-place.

I’m writing these reflections of interest into my special corner of the non-place.

Abstract away the costs
And externalities
Just give me
Milk and honey
Strait to my veins
Devoid of pleasure
Avoiding pain
Milk toasted
Into eternity

There’s no shortcuts to seasoning
Cook and cook and cook
And in dew time
Mountains move

A land of milk and honey
Is also a land of shoveling cow shit
Or GOAT shit
And dressing bee stings

Someday I will be dead.
Someday will be the day before the day of my death.
Someday I’ll be two days away from death. Someday I’ll have one week left.

That day could be today.
It might have been yesterday.
No day is guaranteed.
No hour is owed to me.

I am alive right now.
I can live grounded.
I can live unmoored.
One if by land.
Two if by sea.

The air I breathe is everywhere.
So I can feel out of place anywhere.

I make puns
Because I’m constantly
searching for connections

And belonging and acceptance

That’s why they’re called dad jokes
Little boys grow up
In search of them

Slop is Good (furbo.org)

The web has always been built on trust.

TCP/IP, HTTP(S), DNS, HTML, CSS, and many other protocols along the chain are the medium. And the medium is the message. Trust is at the core. The message of slop goes against the grain of the medium of the open web.

The human component of the web won’t change. People will need answers that they can trust. Folks on the web are also resourceful; they always have been.

It’s humans trusting humans all the way down. We’ll build new networks of reliable information we can trust. Or, to quote the world’s most reputable chaotician Dr. Ian Malcolm: “life finds a way.”

Rims, roads, and butter
Sea, lick, and works
Grain, rock, and flake
Salt
I demand salt

Ephemeral tic tac toe (codepen.io)

What a brilliant idea. And implementted in a codepen, to boot!

Nobody wants to use any software (characterworks.co)

Nobody wakes up in the morning thinking, “I want some software.”

This is a problem for those of us who wake up desiring to build software, hypothetically.

I want a milkshake. I want to drink a milkshake, preferably with a friend, while we sit around and talk in person

Me too. But often I’ll talk about building software, in Ruby.

I hope nobody ever screams at their phone or their computer because of what I’ve done. I’m sure they have, and I hate it. 

Same.

A Stalled American Dream (walkingtheworld.substack.com)

I’ve come to realize I don’t like America, not as a place to live. We have an ugly, selfish, winner-take-all culture — devoid of community, meaning, and the majestic — and almost all our policy is built around the notion that individual liberty, with the most stuff at the cheapest price, is the ultimate good

A brutal run on sentence from a guy who’s walking around the world.

Susan Wojcicki, a Pivotal Chief of YouTube, Dies at 56 (nytimes.com)

I read this obituary of Susan Wojcicki. She was the chief of YouTube. She died of lung cancer.

It could have been anyone’s death that caused a moment of reflection and meditation. This obituary did it for me.

She was only 16 years older than me. She led one of the biggest culture shifting platforms of our lifetime. She’s still dead.

Steve Jobs died over a decade ago. The culture of Apple has slowly degraded and changed. The brands and institutions being built outlive their founders. The founders still die.

What did they say when you told them? (mailchi.mp)

When a grievance like this lands in front of you, there’s a sentence to get good at. If you need to, you can practice it in front of the mirror first. It goes, “what did they say when you told them?”

It’s a gentle shove. You’re not saying “I don’t want to hear it.” You’re just reminding them that it’s a fair expectation that they would try to resolve it directly

I want to get better at this. Embracing conflict is a learned skill and I’m early in my practice.

Chase the product, not the data (robinrendle.com)

In many organizations it doesn’t matter if the product gets better, so long as the weird garbage kaleidoscope that we call “data” gets better.

A product distributed transmutes into data if you don’t contend for the product.

Design ain’t a democracy (robinrendle.com)

building should be hard, decisions should be easy and if that’s not the case then it’s management who’s to blame

Optimize for quick, bold, reversible decisions.

Against the Advice of My Superintelligence (taylor.town)

Solicited advice is rare because people don’t solicit advice. All this time I could’ve asked my friends/family how to be happier. But I avoid honest feedback. I elect to “flop [sic] around and find out”. No flashlight – at full speed, I will navigate this dark landscape entirely with my big toe, which is now gnarled beyond medical intervention (and divine intervention).

Halfway to a Third Place (kneelingbus.substack.com)

As often happens, it probably became necessary to finally name the third place because it was disappearing from the American landscape

Disappearance as the catalyst for naming is a sad sentiment. But it rings true in many contexts.

World building
In a vacuum sterile
The environment
Sized me up
Found wanting, waxing, waning
Failure modes of single point
Fight modes disabled
Fawn modes perk up
Flight modes clipped
This is the world I chose
With each thoughtless decision
Inaction invites action
Unbecoming
Unwelcome
Undone
Becoming a welcomed one

the uncanny valley of blogging (blog.ayjay.org)

I have stopped thinking of myself as an observer and critic and started thinking of myself as a preserver and transmitter.

There are different motivations for writing and sharing online. Conservation, preservation, and transmission resonate with me.

3-2-1: The key to great relationships, the will to achieve, and beauty as a guiding principle (newsletters.feedbinusercontent.com)

“Some projects benefit from early action. If you’re writing a book, it’s easy to spend a lot of time brainstorming titles and dreaming up an outline, but it’s better to simply write. The book discovers itself as you go. Yes, you’ll need to go back and organize things, but this is easier to do once you have material. The key is to act first and then organize your thinking.

Other projects benefit from early planning. The best way to build a skyscraper is to plan carefully. If you start placing steel beams on day one, you’re guaranteed to run into problems. It is harder to make changes once you’ve begun. You’ll need to tear it down and start over again. The key is to organize your thinking and then act.

Do you need early action or early planning?”

There’s more than one way to achieve a goal. Know which mode would be most helpful. I’ve also heard it described as “scrappy or scaling”.

Living with Linux and Android after two decades of Apple (world.hey.com)

Don’t be afraid to take the trip, but give it at least two weeks (if not two months!), and don’t think of the journey as a way to find the same home in a different place. Be open to a new home, in a new way, in a new place. You might just like it.

David is talking about migrating from Apple to Linux and Android. The paragraph applies to all kinds of experimental life changes.

You Don’t Get To Do This Anymore (newsletters.feedbinusercontent.com)

This is the price of success, of a platform, of power—that is, responsibility. Honesty is still required, but discretion is too. Catharsis is something you’ve given up. Venting is for outsiders. Speaking off the cuff is off the table. You’ll have to learn to keep some things to yourself now. You’ll have to be disciplined, conscientious, deliberate. You’re too visible now. Too much depends on you.

The Switch (lucybellwood.com)

The ease of transition is suspicious. How did this happen? Why did I magically wake up and find it simple to return to work on this day of all days? If I don’t understand it, anything might switch it off again. So I err on the side of secrecy, and remain a jealous guardian of my time.

Seasons of work ebb and flow. I want to find the secret to the seasons that have clicked for me.

Creativity is the byproduct of work (robinrendle.com)

Great ideas don’t come to me if I wait for them, they happen whilst I’m bouncing my head off the wall.

Action begets insight. Insight inspires action. It’s a virtuous cycle.

Don’t wait. Just keep noodling. Creativity isn’t a thing that you are, or a thing that you will be temporarily in the future. Creativity isn’t luck, either.

Creativity is simply a byproduct of work.

Do. The. Work.

Do You Want New Wave or Do You Want the Truth? (kneelingbus.substack.com)

One of the most graceful ways you can age is by becoming a person who sits around outside doing nothing. I’ve started doing it a bit myself.

I’ve been sitting outside doing nothing since my twenties. I want to pick up the frequency on doing nothing for hours.

It’s not just that iPhones are easy for babies to use—iPhones are actually for babies, and when we use our phones we become more baby-like ourselves, endowed with agency-on-training-wheels. You can see why we lose interest in the edge of the sidewalk.

“Agency-on-training-wheels!” What a perfect sentiment for feeling empowered when viewing the world through a window.

Group Chat City (kneelingbus.substack.com)

At this point, group chats are probably overtheorized. They are a seemingly irresistible object of cultural analysis and trend reporting, perhaps because they are so subliminal—the information layer just below the surface of daily experience, literal subtext, hidden in plain sight, begging to be brought into the foreground and discussed.

This article made me wonder if I’m in far fewer group chats than my peers. But I’m afraid to ask because I don’t want to be invited to even more than the few I already manage.

What can we remove? (stephango.com)

Our bias is to always add more. More rules, more process, more code, more features, more stuff. Interdependencies proliferate, and gradually strangle us. Systems want to grow and grow, but without pruning, they collapse. Slowly, then spectacularly.

Prune the fruit-bearing branch, or cut back the dead wood. Either way, a cut is coming.

Warm walls
housing cold hearts
evokes lukewarm
imagined spit takes

Neither hot
nor cold
nor registering
at all

Will the heat death of the universe
be warm enough for acceptance

Would the vacuum of space
be cool enough for belonging

Might this Goldilocks planet
satisfy my desires
in these 40+ years

So far
So good

When convenience becomes a liability (a.wholelottanothing.org)

Resiliency of storage trades off against ease of sharing with others.

Emily and I are trying to find a way to share photos from a three month road trip in Apple photos and it’s painful.

I was led to believe there would be many more food fights in my life.

Endless Shrimp Jesus (ericportis.com)

This post is about a cynical analogy for understanding the generative AI boom.

Explain it to me like I’m addicted to cheddar biscuits.

The popover drama (world.hey.com)

Software development is full of merchants of complexity. They will tell you about great engineering practices and how to optimize for the local, but they never stop to discuss cost/benefit or how the system as a whole will suffer. The recent debate was a great showcase of such a way of thinking.

Curation, search, and the future of the web (manuelmoreale.com)

I think curation, actual human curation, is going to play an important role in the future. In a web filled with generated nonsense, content curated by knowledgeable human beings is going to be incredibly valuable.

It makes me sad that people who used to have thriving blogs have moved them to Substack.

The Brazilianization of the Internet (kneelingbus.substack.com)

When institutions die now, they rarely give us the closure of ceasing to exist—they live on in zombie form, and we learn to tolerate the gradually worsening conditions they impose.

I don’t know that this is new. The haunting of long dead institutions still holds sway on culture.

The red badge notification used to be one of the most reliable indicators of signal amid the noise, but even that has degraded, thanks to proliferating groupchats as well as the feature’s exploitation by legacy platforms. Now you have to come up with your own system, or brace yourself for an onslaught of meaningless alerts.

Growl was great because it was novel and opt-in. Notifications as a first class primitive of the operating system is a burden because it’s opt-out.

Errors Aren’t All Bad (blog.jim-nielsen.com)

Allow me to make errors and give me the space to correct them, rather than preventing them altogether.

A system without errors has completed the work of entrenching all biases. Acknowledgement of the error state would be ceding the truth that other ways of being exist.

You’ll make proactive changes. They’ll say you’re being disruptive. You’ll be responsive to challenges. Critics will say you’re reactive. There is a negative frame for every story. Find the positive frame.

How I Think About Debt (collabfund.com)

As debt increases, you narrow the range of outcomes you can endure in life.

Debt trades away future optionality for accelerating the present desire. Accelerating a nascent desire is not worth the trade most of the time.

Tacos El Gordo (maps.apple.com)

Best tacos in Gaslamp. A group from Planning Center ate here before the Reds vs. Padres game. The tacos were incredible enough that I wanted to write it down to remember later.

Is the Internet the Enemy of Progress? (nytimes.com)

the pull of online reality and headset-mediated simulations almost automatically carries us toward a variation on the Crichton dystopia, a version of stagnation that’s sustained by the illusion of exploration, an age of fundamental conformity disguised by the personal tailoring of everyone’s private holodeck.

The diversity of personalized simulated realities with sensory-dense stimulation will become a commodity. It will result in wide-open spaces with nothing to do becoming a luxury good, available only to the affluent.

How the internet became shit (herman.bearblog.dev)

There’s a reason many people are now searching Reddit rather than Google. Since it’s more difficult to monetise content on Reddit, there is less incentive to stuff it with SEO goop in an attempt to capture keyword rankings.

Every where I look: incentives.

Move at the speed of trust (aworkinglibrary.com)

whenever attempting any effort with other people, prioritize building trust and respect for each other over and above any other goal. The trust forms the foundation from which the work can grow.

Trust requires movement. The tension of drifting apart reinforces the importance of strengthening the bond.

James Clear Newsletter (jamesclear.com)

Is the situation actually complicated or is it really quite straightforward, but you’re making it complicated because it requires a lot of courage to make the straightforward decision?

Complexity can be incidental. It can also be an avoidance mechenism.

Good and useful writing (robinrendle.com)

The most important lesson that blogging taught me is that writing is for thinking first, communication last.

Write to think! Write to communicate! In that order!

Fill up those praise folders (everythingchanges.us)

anytime someone says something nice about you, record it in a central place that you can go back to. Keep up this habit for even a few months, and you will start to have a little resource for the days when your inner critic tries to tell you that you’re no good at anything.

A valuable resource if you can build it.

The writing on the wall
Magic erased
Said all to all
Observant enough
To interpret a smudge

Patches of poorly mixed paint
Hold truth
For this generation
Until sands change

Winds blow sporadically
Predictably enough still
To harness power
And litter the landscape

Mills gathered people
Gathered goods gathered resources
Gathered desires
And acted on

Stitches line the walls
Reflections doubled over
Reminding me of you and others before you
Minding their business between meetings
And mendings and musings
Our hobbies outlive us
And separate us
And unite us
Dependent
On how you look at it

On the DNA of Companies (blankenship.substack.com)

Their current homepage has the feel of a departmental civil war, with little fiefdoms vying for above-the-fold favor from their feudal lord, constrained by their in-fighting to produce copies of their conflict.

Not exactly inspiring for the consumer. Or good for business. People mostly care about their problems being solved for a price they can live with. On the surface of that exchange, none of the org charts, internal politics, policies, procedures, KPIs, or corporate culture jargon du jour matter to the customer. But each of those things affect the customer, since they shape the outcome. So companies should care, if they want to stay in business.

Expose Platform APIs Over Wrapping Them (blog.jim-nielsen.com)

Additionally, you don’t solely write code. You also run it and debug it. When I open my webpage and there’s a 1:1 correspondence between the <meta> tags I see in the devtools and the <meta> tags I see in my code, I can move quickly in debugging issues and trusting in the correctness of my code.

the biggest threat facing your team, whether you’re a game developer or a tech founder or a CEO, is not what you think (docseuss.medium.com)

It went from a studio constantly making new, amazing things to a studio that just. Kept. Making. The Same. Things. And they started losing the experts who knew how to make things and started bringing in people whose job it was to simply make more of the thing

A common refrain in every failure, from Marvel to Warner Brothers to Boeing, was this: “Leadership doesn’t know what they want,” and “leadership doesn’t trust the people who know what they’re doing to do their jobs.” It’s a deadly combination — people who try to use easy data to justify making decisions when they don’t know the first thing about a product, because they’re too busy numberfucking and datafucking to try to make number bigger, results in every one of these companies getting worse.

The only people who can survive repeated failures are the people running platforms and stores. If you aren’t doing that — and it’s impossible for you or I to go into our garage and start a new Apple, because instead of competing with nobody for the personal computer or games console, we’re competing with the biggest, most stable companies in the world, with research and development fortunes that will smother us alive.

So much certainty
Betrayed by a stray tilde
For ever ever

Trolls beneath the bridge
Comb hair and argue online
Tarnish collections

She has considered
Shared responsibility
Such that people left

When in doubt be more
Individualistic
They’ll thank you later

Killing it at work
Prosecutable murder
Report to HR

Backpacks worn front side
Carrying fog, sand, and wind
Away from habits

Towers don’t prevail
Stand tall, feet planted, eyes fixed
Winter lasts long here

Smart Words From Smart People (collabfund.com)

“I believe pretty strongly that one’s overarching aim in life and work is to always be making one’s self obsolete.” – Tim Hanson

I’ll become obsolete anyway. Might as well prepare the way for those I care about.

Leadership requires taking some risk (lethain.com)

If you want to make choices, expect that you’re going to be accountable for outcomes

Be mindful of holding opinions about everything and making decisions about nothing. Decisions speak louder than commentary.

A risk-free existence isn’t a leadership role, regardless of whatever your title might be.

Leading people is inherently risky. If there’s no risk involved, it’s probably not leadership.

The upside is that almost all meaningful personal and career growth is hidden behind the risk-taking door. There’s a lot of interesting lessons to learn out there, and while you can learn a lot from others, some of them you have to learn yourself.

This is a second take

Make better documents. (anildash.com)

A super practical collection of actionable advice for writing in the workplace.

There's no such thing as a zero-marginal-cost free tier (jmduke.com)

If you’re a conventional SaaS, by offering a free tier you are allocating money (in the form of ops load, compute, and various other things) in order to acquire customers. Whether or not that offering is correct is not subjective or qualitative: it’s just like any other avenue of paid acquisition, where you look at CAC and you look at LTV and you look at your runway and you call the shot.

I love people too much to settle for a relationship with the PR version of themselves. Love rejoices in the truth.

Daft Social (daftsocial.com)

This is the most compelling social media I’ve seen yet. Send an email. Embrace the subject line. That’s it.

Tech has graduated from the Star Trek era to the Douglas Adams age (interconnected.org)

When technology becomes absurd, we must respond with absurd inventions.

More than that, we must straight-faced embrace the absurdity. Otherwise the pomposity of today’s technology will eat us alive.

32-Bit Cafe (32bit.cafe)

Yes. You can build your own website. 32-Bit Cafe has the no assumptions guide you need to get started.

Lenticular Photos (snook.ca)

My favorite lenticular illusion was a Ghostbusters bookmark. This is a pleasing effect that makes reasonable use of on device technology. Jump strait to the prototype and tilt your mobile phone.

A dozen thoughts about AI (daverupert.com)

Maybe we need a new fairy tale about a kid who lets a witch’s robot do all their chores and then the kid gets eaten up by the witch.

100% onboard for the re-emergence of cautionary tales to introduce children to the dangers of putting too much trust in technology.

SvelteJS Tenets (github.com)

I haven’t used Svelte beyond tinkering with demos. It’s easy to align with these tenets in the abstract.

Hill-Making vs Hill-Climbing (kk.org)

Hill-making, hill-climbing, and hill-finding are all mentioned in this piece. A great metaphor to think through team interactions.

I’ve noticed that conversations between a hill-makers and a hill-climbers devolve quickly. One person thinks about terraforming the landscape. The other person assumes a fixed landscape that need only to be taken. Then there are others who will only ascend the hill if there is a clearly marked path before them.

Don’t Disable Form Controls (adrianroselli.com)

This burden should always be on the author, not the user. If you find yourself blaming the user for the pattern you built, you might be bad at your job.

Squeaky Wheel Gets the Grease (snook.ca)

Any working system can become invisible to the point where the system loses value because it’s working.

“Look at all the things that aren’t falling apart” is one of the greatest challenges of building tight operations. Things that are done well are invisible because the problems are being consistently, adequately, and even automatically solved.

Enhance (enhance.dev)

THE HTML FIRST FULL STACK WEB FRAMEWORK

The bold headline worked on me. This is one to watch. Their “server rendered custom elements” feels like a good name for what I was playing with a few weeks ago.

HTML!

The Trust Flip (kk.org)

We will come to see that our default of “trust first and check later” was only a short temporary anomaly in our long history. We are back to the state we have been in for most of our time as humans, where we “check first and trust later.”

This historical perspective is helpful. It is a short window of human history where photographs and videos were the primary validation of truth claims. We’ve operated on networks of trust and reputation before. We can operate on them again.

"enshittification is what happens when a disney adult learns about captialism" (cohost.org)

every venture backed company has the following plan: spend a lot of money to gain a monopoly, use the monopoly to price gouge everyone, replace all core services with subcontractors until the company only exists to add a 5% convenience charge on all transactions.

5% of the biggest pie is always going to be bigger than 100% of a small pie.

There will always be outliers who aren’t here to eat pie. The folks who enjoy the end-to-end practice of baking a pie from scratch. And seeing our friends enjoy it.

Acts Not Facts weeknote #7 (interconnected.org)

It is insane how itchy and irritable I get when there is something I want to get out in the world, and it is just inches away from getting there. I always forget.

It’s like… when something is out, whether it’s a public demo or better in people hands, it can stop living in my head and start being material that I work with to make the next thing.

(This goes for things I’m making with my own hands or making with other people.)

And when I’m carrying something half-complete in my imagination… it’s a weight, it’s a drag.

So it’s not just me. Phew.

The radiating programmer (world.hey.com)

Radiating information is not free; it takes time. You need to find a balance that makes sense. I estimate I spend one or two hours per week writing what I did or project updates. I usually leave it for the last part of my day. It doesn’t interrupt my main focused work, and it doesn’t happen every day. It’s also a muscle to train. The more you do it, the easier it gets.

And whenever it feels like a chore, I remind myself that it is a chore that lets me spend most of my time doing what I like.

I’ve noticed that humble people tend to share too little information. They want to avoid the risks of appearing arrogant. They want the work to speak for itself.

These are good motivations. Nobody wants to work with the arrogant one. And the work should be good enough to speak for itself.

Distilling a week’s worth of work down into a digestible paragraph or sentence is a skill. It is an amplifier to the work that speaks for itself. And the work that won’t hold water in two weeks time.

Summarizing accomplishments is an extract of the raw goods. Good work can be communicated in brief summaries. This signals that the essence of the problem being solved was understood. Shotty work makes for disjointed summaries. The person is trying to get to the essence of the problem for the first time in reflection.

You hear about this all the time. A thoughtful person goes to write the git commit. While writing about the problem and their solution they uncover a new understanding of the problem and a clearer solution. They don’t settle for first impressions and first drafts. Their own writing is a feedback loop that improves their writing.

Unsigned Commits (blog.glyph.im)

Commits cannot meaningfully be changed to become signed retroactively. Unlike an online website, they are part of a historical record, not an operating program. So we cannot establish the difference in treatment by changing how unsigned commits are treated.

Thinking of a website as an operating program is a new thought for me. “Static site generators” shape the thinking that websites are static. The request/response lifecycle that takes my html to your machine is not static. It’s alive!

That probably seemed like increasingly unhinged hyperbole, and it was.

This is a great sentence. Unhinged hyperbole respects unhinged hyperbole.

Just from a baseline utilitarian philosophical perspective, for a given action A, all else being equal, it’s always better not to do A, because taking an action always has some non-zero opportunity cost even if it is just the time taken to do it. Epsilon cost and zero benefit is still a net harm.

Opportunity costs and unpredictable second and third order effects are always present. This isn’t a reason to not take action. It is a reason to truly find value in the desired outcome of the action being taken.

What I am actually trying to point out here is that it is useful to carefully consider how to avoid adding junk complexity to your systems. One area where junk tends to leak in to designs and to cultures particularly easily is in intimidating subjects like trust and safety, where it is easy to get anxious and convince ourselves that piling on more stuff is safer than leaving things simple.

Less is more.

People & Blogs: Ran Prieur (manuelmoreale.com)

Fame is when people who don’t know you, build an image of you in their head for their own purposes, and if you behave differently from that image, they get mad at you

I don’t want to be famous.

What PWA Can Do Today (whatpwacando.today)

This website is living and installable documentation about progressive web apps. I learned a few things while tapping around it on my iPhone.

Kagi Search - A Premium Search Engine (kagi.com)

No ads, fast and personalised results. The search engine you deserve.

I’ve made the leap to paying for email. The time may be approaching to begin paying for search. Privacy is worth it.

My Two Journals (robertbreen.com)

And yet, as much as I enjoy this handwritten journal, I still use Day One in the evenings. The two journals flow from different parts of my brain, though they work together in an interesting way.

This matches my experience. There are different flow states in different writing environments. Even within the same medium.

Before shelving it in its lovely slipcase alongside my other paper journals, I archived a PDF copy with the scanner app on my iPhone for safekeeping.

I’ve got a box full of journals that date back 20+ years. Digitizing them has been a long horizon idea. Something as simple as scanning them into PDFs using Notes on my iPhone hadn’t occurred to me as a minimal first step. I’m gonna take it.

A Chain Reaction (overreacted.io)

But wait, here’s a question. These transformations have to happen somewhere on the way between your computer and mine. So where do they happen?

Do they happen on your computer?

Or do they happen on mine?

This is a pretty pedantic post. And I think it needs to be. But the trailing question is the best. Transformation of named custom concepts into agreed upon standards has to happen. That’s web development.

Where that translation happens? That is the question.

Only you can give meaning to your career: How to mark moments that matter by planting a flag (blog.testdouble.com)

But here’s the thing: I create these things for me and me alone. When a bunch of people read something I wrote or show up to one of my talks, do I find it encouraging and validating? Sure. But it’s not what drives me. I started creating things to punctuate my life’s sentences long before anybody took an interest in me and I wouldn’t stop even if everyone loses interest in me.

What’s more, a lot of (ugh) content creators are the same way. In the course of my travels, I’ve gotten to meet many of my heroes, and while a few have disappointed me spectacularly (don’t meet your heroes!), I’ve found that a surprising number of them got into the thought-leading racket for the same selfish reason I did. They create stuff to scratch their own intrinsic creative itches and to give meaning to their careers. If other people’s attention factors in at all, it’s usually to justify the time they spend making stuff.

A few gems in this blog post. A few things that ring true to me:

  • Planting flags in reflection is more rewarding than setting goals and projections
  • Creating things that scratch my own itch is more rewarding than creating things that cater to an audience

Is htmx Just Another JavaScript Framework? (htmx.org)

javascript fatigue:
longing for a hypertext
already in hand

I was delighted by this haiku. The rest of the article is fine. What I want to remember is the poem.

How to rename a tag in pinboard (tech-universe.net)

curl "https://api.pinboard.in/v1/tags/rename?old=OldTag&new=NewTag&auth_token=YOUR_API_TOKEN"

I use tags for importing Pinboard bookmarks into my website. I wanted to rename tags when changing from https://www.danott.co to https://danott.website. There’s no clear way in the Pinboard website. But this API endpoint did the trick!

The unimagined orange and new frontiers in management consultancy (interconnected.org)

I’m going to be on the lookout for triangle plots that need to exist. 2x2 matrices are great. Venn diagrams are great. Bringing three dimensions adds the nuance that drives depth perception.

RSS Anything (rss.diffbot.com)

Transform any old website with a list of links into an RSS Feed

Yes, please.

Cold-blooded software (dubroy.com)

Maybe your CI isn’t working because one of the services you depend on got bought or ran out of money. You add a new dependency and find yourself needing to upgrade your compiler. Another package you depend on is deprecated, and doesn’t work with the latest version of the compiler.

Some projects are different. You work alone, make some changes when you’re inspired, and then don’t touch it again for another year, or two, or three. You can’t run something like that as a warm-blooded project. There’s not enough activity to keep the temperature up.

This dichotomy of “warm-blooded software” and “cold-blooded software” is really helpful. It invokes feelings of “choose the right tool for the job”, but on an entirely different horizon. Production applications with paying customers can carry the costs of being a warm-blooded project. A personal blog might be more suited to being a cold-blooded project.

Deep Cloning Objects in JavaScript, the Modern Way (builder.io)

Today I learned about structuredClone in JavaScript. Very cool to see the progress in this language over the years. What was implemented as a best attempt in user land is now a native capability that supports all the data structures, circular dependencies, et. al.