Labnotes

Published

Weekend Reading — What if it changes?

This week we install a dopamine drip, uncover a 3 letter psyop, charge our car, and solve philosophy.

Weekend Reading — What if it changes?

Nathan Baschez “Every homepage ever”


Tech Stuff

Thin Backend This looks slick. The name is a play on "thin client", but what Thin does nicely is allowing you to quickly build a thin backend using a Postgres database.

You get React/Svelte/Vue components, CRUD API, authentication, optimistic updates, live queries that sync in real-time, Git-like schema migration, TypeScript support, etc. And of course, you can add your own business logic with backend functions.

This works well for CRUD apps where the backend is primarily for storing state. You get just enough control without the overhead of building REST/GraphQL APIs. Good complement for Next.js.

Maintaining Software Correctness A very interesting talk about designing for people (in this case, developers):

This is what I call the correctness dilemma: it’s easy to create but hard to maintain. Getting people to align on a code style, properly contribute to an OSS project, or consistently releasing good builds - all of these processes are easy to come up with, but errors eventually creep in when people don't use them correctly.

The core mistake is designing without keeping human fallibility in mind. Expecting people to be perfect is not a tenable solution.

Track Your Project Events Like a Pro This app does one thing and does it really well.

There's an API and you send it events — user signed up, published a post, upgraded their plan, etc.

There's a mobile app (also desktop) for receiving real-time notifications.

Pure dopamine drip for app developers. So of course I signed up and using it on my current project.

I once had a small fleet of SSDs fail because they had some uptime counters that... Experience is knowing which system will fail after exactly 40K hours of service:

I once had a small fleet of SSDs fail because they had some uptime counters that overflowed after 4.5 years, and that somehow persistently wrecked some internal data structures. It turned them into little, unrecoverable bricks.

It was not awesome seeing a bunch of servers go dark in just about the order we had originally powered them on. Not a fun day at all.

DocsToSite Build your website using Google Docs.

There are several services like that for Notion as well. I feel like Notion is a better fit when you're sharing usage guides, help pages, API references, etc. Especially if you end up using Notion's database feature.

On the other hand, Google Docs is better for long-form writing, and also gives you more design control. For example, check out this portfolio page.

sachaos/viddy A modern watch command with time machine mode — rewind and fast forward like video — and Vim key bindings.

demo

Transmat - Seamless cross web interactions Why don't we use JSON+LD to transfer data between applications?

For example, you could drag and drop an event from a website to the calendar app, or contact from the calendar event to an email app. We have the schemas, we just need to agree to use them.

Notes on maintaining an internal React component library A thorough article on the things you need to know and care about, including ownership, variants, positioning, sizing, properties, codemods, etc.

In my exceptionally strong opinion, someone has to own the component library. Without an owner, the component library will accumulate one-off “I just need this one thing” type changes that, when grouped, do not mirror a holistic view of the design system. At least one developer’s job description must be the maintenance of the component library.

The mindless tyranny of ‘what if it changes?’ as a software design principle

Developers from certain languages have learned to wield this design principle with more power than many others. It's how we end up with so much stuff in code bases that's just... there. Existing. Superficially it appears unused, but silently and stoically, we know it protects us from the turbulent future change which lurks ever ahead. As I navigate through 18 levels of defensive indirection, I smile happily to myself, thankful for the warm, comforting, temporal protection created by someone with the good graces and foresight to ask "what if it changes?" before each and every line of code written.

A Vibe Shift Is Coming For more about “vibe shit” check out the Stack Overflow developer survey.


Eye for Design

Readability: The Optimal Line Length

It turns out that the subconscious mind is energized when jumping to the next line (as long as it doesn’t happen too frequently; see above bullet point). At the beginning of every new line the reader is focused, but this focus gradually wears off over the duration of the line (“Typographie”, E. Ruder).

swyx

Them: Can you change the text of this button?

Me: Sure it'll just take a couple minutes

Them: Actually, can you A/B test the changes? We want to be data-driven.

Me: I'll need a data analyst, 2 vendor integrations, 2 sprints, and about 500% more visitors than we have today

George Kedenburg III “iOS, but teenage engineering took over all the audio settings”


📈 Business Side

Ben Bear 😂

What’s a startup conspiracy theory you believe?

Mine: OKRs were actually a psyop from Google to slow down potential early stage competitors

Daryl Ginn Without fail:

$200 client:

Can we change the logo font to Poppins? Oh and make it bigger while you're at it. Also that illustration you spent so much time on, can we make it 3D? What about animation? Can you animate it too?

$10,000 client:

This is perfect. Just paid your invoice, thanks!


Machine Thinking

hardmaru How many model parameters do you need to read/write like a 2nd grader?

Parti paper has some really interesting results where they show the improvements in image quality as the number of model parameters is scaled up from 350M to 20B.

You see visible quality enhancement for the hipster kangaroo, and accurate text rendering!


Everything Else

Charging an electric AMC Gremlin

What’s the deal with all those weird wrong-number texts? Down the rabbit hole:

These texts are usually the lead-in to romance scams that usually end with fake crypto deposits, written so as to imply wealth and success on the part of the scammer, who is often an abused and captive worker operating multiple phones and attempting to con several people from a compound operated by shady gambling rings somewhere in Southeast Asia.

The Brain Has a ‘Low-Power Mode’ That Blunts Our Senses

Absurd Trolley Problems There's your chance to solve philosophy!

ELLA_vs_NESH “This is exactly why I have trust issues now😩😂😂😂😂”

0:00
/

Emily Velasco “The box of latex-free vinyl exam gloves my neighbor gave me other day uses the logo of the Latex software for documents”

🔥 Looking for more? Subscribe to Weekend Reading.

Or grab the RSS feed