2023
Rule #1 is you a) get up early, b) ride stuff early and c) take a break in the middle of the day while (many) folks are at the parks.
Roz is the unsung hero of the Monsters, Inc. franchise. Impeccable delivery, no notes.
One of our favorites is the Animation Academy. It’s a short entertainment, wherein a cast member teaches you to draw a Disney/Pixar character in ten minutes or so. I’m not at all good at sketching, so I think it speaks volumes to the quality of the cast members that you can, maybe, tell that I’m drawing Mickey Mouse here.
![](https://cdn.uploads.micro.blog/151691/2024/37a1d0c0ef.jpg)
![](https://cdn.uploads.micro.blog/151691/2024/b483601429.jpg)
![](https://cdn.uploads.micro.blog/151691/2024/1e9822d99a.jpg)
![](https://cdn.uploads.micro.blog/151691/2024/4e0c58637b.jpg)
Rauno Freiburg is building attention to design details
Sitting down and just thinking hard does not magically produce valuable discoveries either. The essence of the word “interaction” implies a relationship between a human and an environment. In my experience, great revelations surface from making something — filling your headspace with a problem — and then going for a synthesising daydreaming walk to stir the pot.
👍🏻 This is the excellence in interactions and attention to detail. Moreover, a restatement of the Hickey/Feynman methods for problem-solving. (Is there a restatement of said methods that doesn’t sound lovely?)
Work side-by-side; the more you can see, the more you can think
Wisen Tanasa, Stop flipping around, put them side-by-side:
This constant flipping is a self-inflicted cognitive load that reduces our productivity. Pay attention to what’s happening in your mind when you flip things around. What was the CSS property I was trying to modify? Flip… flip… What was that JSON structure look like again? Flip… flip… Is it similar to Figma now? Flip… flip… When you catch yourself doing this, stop. Put them side-by-side.
Many of the tasks we have as software engineer is crunching information from one medium to another. What I’d like you to try instead is to pause and make all the information you need to execute your task visible on your screen.
Using splits in my editor (vim, then RubyMine), notes app (Obsidian), and even window manager (Rectangle Pro) are crucial to how I work. Single window, uni-tasking, “focus modes” were coolr in their day. But, most work lends itself to some manner of multi-window, conceptual layout. As Wisen points out, that could be test and production code, designs and code, code and browser/simulator, designs and documentation, or a document and video chat.
I wish I could get even more conceptual layout. I usually do fine with 2-3 vertical splits (i.e. three full-height windows) when I’m coding. But, I look with envy upon designers in Figma/Sketch/etc. when they consider several iterations upon one screen or lay designs out on their canvas to match the spatial/workflow relationships in the actual product. Concepts like Natto, PureData, and Obsidian’s canvas leave me optimistic that in the future I’ll find myself organizing modules and functions however I want, regardless of linear text in source code files on disk.
Magic (AI) is what we don’t (yet) understand
It reflects a sound understanding of the nature of AI — as an uncredited and formless modifier of other technologies. One whose presence is marked by familiar behaviors having slightly magical effects.
– Venkatesh Rao, Magic, Mundanity and Deep Protocolization
The whole magic & AI thing. The most 2023 of vibes!
Yet, it remains to be seen to what extent AI will yield entirely new media, modalities, and consumption levels or if it will merely modify technology we’re already familiar with.
Is generative AI the iPhone (entirely new media/modality/consumption), the iPhone camera (displaces and exceeds existing categories), or the ability to scan QR codes with your camera to reduce transactional friction (a game changer for some that quickly fades into the background)?
Evenings at the Village Gate: John Coltrane (with Eric Dolphy). Five tracks, all excellent. Great bass playing by Reggie Workman and Art Davis. Favorite tracks: “Greensleeves”, “Africa”.
Less but better
The Designer’s Designer’s Watch – A Look Back At Braun And The Rebirth Of A Few Classics
The Braun watches AW 10 and AW 50 embody simplicity. Just as do the clocks and electrical appliances made by Braun, they truly follow the “less is more” dogma that (arguably) stems from the Bauhaus school. Or, as Braun likes to put it: Less but better. Design has been at the core of the brand for seven decades, and its watches and clocks were designed by a team headed by two men: Dieter Rams and Dietrich Lubs.
✋🏻 “Less is more”: easy to say, hard to apply.
👍🏻 “Less but better”: easy to say, easy to tell when you’ve done the first part but missed on the second.
When finished isn’t done
The work is done, the post is published, the code has shipped, the boxes are all checked.
And yet, it remains in my head. The bit of code I’d like to revisit, an edge I couldn’t round off, a paragraph that doesn’t fit like I want it to, a workflow we didn’t improve upon, a conversation about trade-offs that went sideways…
The work is more than the work, more than an end. It’s emotions and memories. A new way of thinking, experience and wisdom newly integrated with what I’ve done before. The start of something new, with this finished work as the prologue that sets the stage for the next story.
Previous tasks continue to consume attention even after switching. This is especially true for anything that causes strong emotions. I find it hard to concentrate if I’m opening (Slack) every 15 minutes and every time seeing that thread where someone is arguing with me and they’re totally wrong and how can they even believe what they’re saying and what was I doing again? — Jamie Brandon, Moving Faster
- Acknowledging and managing emotions is a productivity/go-fast hack
- Really, don’t dwell on people being wrong. You can’t control it. Just keep going.
- Absent people and emotions, completing a task doesn’t mean it’s out of our heads. Account for that in planning the day or projects.
Often, things are only getting started when I check that box.
We call it perfectionism when we hold the work back to make one last tweak, another small improvement. Perfectionism is pouring myself into one checkbox for weeks or months at the expense of all the other things I want to do. It’s not so much seeking perfect, but an inability to let go and get started in earnest.
To the contrary, every day I’m more convinced that perfect emerges from checking that first box. Putting the work out there, starting the next checkbox (of several dozen), accumulating and shaping something more perfect.
Everything finished is the start of something else.
Charles Chamberlain
An “independent researcher & developer focused on making new interfaces to create with”. He’s developing some neat low road (in the How Buildings Learn sense) ideas at the intersection of dynamic languages and web media.
I made a new cloud programming environment called red pear! (redpear.dev) Its goal is to help you build small web apps very quickly. In particular, it helps you build 2012-era, backend-first web apps with the use of ruby and sinatra.
Much like birch, red pear has instant deploys: the code you write is hosted on a dev instance immediately and on a prod instance with the push of a button.
I made a new interface to persistent data for use in red pear: walnut. Its goal is to be easier than something like sql or graphql, especially in the context of smaller apps.
apricot: a structure editor for ui:
It's a structure editor that makes it surprisingly easy to "type" out a user interface.
I originally thought of Apricot as a prototyping tool — a place to quickly get some dynamic behaviour wired up to a UI, without worrying too much about pixel-perfect fidelity. Weirdly, a lot of prototyping tools nowadays go the other way — focusing on pictoral representation while mostly leaving out semantic behaviour.
A cozy development environment making prototyping and scripting as easy as possible.
Watch the demos!
Think through making. – Matt Webb (by way of Matt Ward) Protocol Fiction, Desire, and Belief
Ideas in your head are shallow next to ideas worked out with craft, material, and context.
The Bear
I watched seasons 1 and 2 over the course of a few weeks. Fantastic show, no notes.
I can’t start to describe it. It’s not crime-y, not a comedy. It’s not exactly feel good, but it possibly takes the spot in my brain formerly held by Ted Lasso.
There’s often a lot of yelling. But it made me start using “heard” as a single-word sentence conveying “I have heard what you said, don’t disagree, but haven’t entirely processed it.”
It’s about cooking, craft, and running a restaurant. Maybe it’s Ratatouille’s darker cousin?
Recommended.
Shortcuts for scripting API integration
If you want to do straight-forward API scripting, Shortcuts + Actions might do the trick.
![FetchJsonFeedShortcut.png Shortcuts workflow to fetch and parse a JSON feed](https://til.therealadam.com/uploads/2023/fetchjsonfeedshortcut.png)
Patterns in play:
- Fetch URL (Shortcuts built-in)
- Parse document as feed/JSON/XML
- (not sure if this is built into Shortcuts or you need Actions to cover all three)
- Pull out “the stuff” element/attribute (e.g.
items
,articles
,results
, etc.) (Shortcuts built-in) - Do something on each item.
- YMMV depending on support in whatever app you’re integrating with.
See also: How I Sync Readwise Highlights to Bear.
Use Swift Playgrounds to sketch ideas
Before spinning up a whole Swift project, use Swift Playgrounds to sketch out ideas.
In Xcode (macOS):
File -> New -> Playground
- Choose “Single View” (I’m not sure what impact picking macOS or iOS has)
- Choose a name and location to save your playground
UIKit is the iOS default for a single-view playground. Storybooks are the default for macOS. To replace those with a SwiftUI component:
import SwiftUI
import PlaygroundSupport
struct ContentView: View {
var body: some View {
VStack {
Button("Tap me!") {
}
}
}
}
let contentView = ContentView()
PlaygroundPage.current.setLiveView(contentView)
🤔 I haven’t yet come upon a good heuristic for:
- when to spin up a project for tinkering vs. a playground
- to what extent one could use TDD in playgrounds
- how to import files from a playground inside a project and use project resources
In the meantime, if you’re not into the world you live in, you can build your own world around you. (Now would be a good time to put on your headphones and cue up the Beach Boys song “In My Room.”) Surround yourself with books and objects that you love. Tape things up on the wall. Create your own world.
– Austin Kleon, Steal Like an Artist
Put up the walls you want in the world. Look past the walls you dislike. (Ed. As a metaphor, this works for sure. Literally, in the case of oppressive regimes, not sure how to carry this idea forward.)
In the moment
Is pessimism about the past, present, or future? If it says, “we can’t get there from here, based on where we’ve been”, it neglects the present and maybe the future.
Does optimism favor the future over the past or present? A smart optimist might use the past as a trend-line to the future, and seek to make the most of the present.
Fruitless activities and hobbies are important!
Anything you do that doesn’t make you money or help others better be something for your own damned amusement. – Austin Kleon
"If this isn’t nice, I don’t know what is"
And I urge you to please notice when you are happy, and exclaim or murmur or think at some point, ‘If this isn’t nice, I don’t know what is.’
It’s a kind of way to go about life. Find more activities, people, places that lead to this kind of thought. Find more reasons to say it in regular life. Spend more time doing all those things.
Monk and Robot: very enjoyable chill-future vibes
Monk and Robot, A Psalm for the Wild-Built, Becky Chambers. An optimistic, non-space/techno sci-fi short novel. For me, it’s a welcome departure from the Very Serious Ideas of Stephenson, Asimov, Gibson, etc. No big bad, just a nice world and great interactions between a person and a robot.
Highly recommended for a vacation/beach read.