Skip to content

I Don't Work on bramadams.dev For You

My Thoughts on The Creative Act: A Way of Being by Rick Rubin

[BUY THE BOOK (affl. link)]

  • a raw look into creativity – quite pragmatic actually, and says some things that don't satisfy the fragile sensibilities of the artist, but is tough love for making the best art
  • i read this around the same time as another great book on finding the art in creation, The Timeless Way of Building
  • what does it mean to sacrifice for your art?
  • this book is 5 stars in my opinion because of who wrote it. rick rubin is a legend and walks the walk of creativity
  • the artist moves from project to project as the living being moves from breath to breath
  • this book says what many artists feel every day but fail to formalize into words
  • art is for ourselves, a love letter to the universe and our place in it

The purpose of the work is to awaken something in you first, and then allow something to be awakened in others. And it’s fine if they’re not the same thing. We can only hope that the magnitude of the charge we experience reverberates as powerfully for others as it does for us.

If you have an idea you’re excited about and you don’t bring it to life, it’s not uncommon for the idea to find its voice through another maker.

Imagine going to live on a mountaintop by yourself, forever. You build a home that no one will ever visit. Still, you invest the time and effort to shape the space in which you’ll spend your days. The wood, the plates, the pillows—all magnificent. Curated to your taste. This is the essence of great art. We make it for no other purpose than creating our version of the beautiful, bringing all of ourself to every project, whatever its parameters and constraints. Consider it an offering, a devotional act. We do the best, as we see the best—with our own taste. No one else’s. We create our art so we may inhabit it ourselves.

an interesting take on alpha zero being trained, or more acutely, coming up with creative go moves with huge sets of numbers. what is human, anyway?

The machine learned the game from scratch, with no coach. The AI followed the fixed rules, not the millennia of accepted cultural norms.

It didn’t take into account the 3000 year old traditions and conventions of the game.

It didn’t accept the narrative of how to properly play.

It wasn’t held back my limiting beliefs.

Ultimately, your desire to create must be greater than your fear of it.

If you make the choice of reading classic literature every day for a year, rather than reading the news, by the end of that time period you’ll have a more honed sensitivity for recognizing greatness from the books than from the media.

i drew a picture of this in my journal – it was crappy but still!

The word comes from the Latin—inspirare, meaning to breathe in or blow into. For the lungs to draw in air, they must first be emptied. For the mind to draw inspiration, it wants space to welcome the new. The universe seeks balance. Through this absence, you are inviting energy in.

so good they cant ignore you

With the objective of simply doing great work, a ripple effect occurs. A bar is set for everything you do, which may not only lift your work to new heights, but raise the vibration of your entire life. It may even inspire others to do their best work. Greatness begets greatness. It’s infectious.

Is It Worse to Be A Good Citizen?

My Thoughts on Alone in Berlin (Play) by Hans Falida

[BUY THIS BOOK (affl. link)]

  • i read the play because it was on kindle lol and the original currently isnt, but i really liked reading the stage play itself actually
  • courage is sometimes not about being a good citizen in times of peace, or a bad citizen in times of dissent, but to be a good person

A Bench in the Paupers’ Graveyard, Friedrichshain Elsie enters, wanders, glances at the graves, sits down, takes out a bottle and swigs. Elsie (spoken) I like it here. It’s nice sometimes To sit upon the grass And park your arse On someone’s grave. No need to ask permission (Points down into the earth.) This lot don’t even have names. The paupers’ graveyard of Berlin Would not have let them in If big inscriptions and memorials Were what they’d hoped for. (Sings.) No stones, no carved poetic lines, No grand funereal designs Were ever offered here. No sure and certain hope Had ever come their way in life So why begin in death? They tossed ’em in In groups of five or six or ten or twenty Shovelled earth on top And shrugged and headed home. Not one of those inglorious dead Had lived a life of plenty Though plenty had of course been promised them. And now they lie unsung, unhonoured and unwept, For promises are promises And very rarely kept.

(Spoken.) I need a smoke.

Elsie (sings) At night the SS boss’s boss is Lying in the dark Trembling at the thought Of what the day could bring, Pondering his chances of survival. While far above him, Far, far above him, The boss of bosses Author of the Reich designed to last a thousand years Ordains another thousand deaths To help conceal his fears.

The music transitions to a much jauntier tone as the next scene is set up.

Elsie (sings) Good citizens Can always be relied upon. Good citizens Who dress for church on Sunday And on Monday Go about their business And are never late for work. Good citizens who never shirk Responsibility and duty. The beauty of a system That’s both tragedy and farce Is a citizen’s ability To kiss official arse.

Elsie (sings) You may despise bad citizens Who lie in bed on Sunday And on Monday Duck and dive To stay alive Breaking every rule Hiding from the law Hoping that some fool Will give them money For a drink. Cheating, lying, stealing. Ruthless and unfeeling And not averse To little acts of violence. But … in bad times, Bad citizens (Beat.) Good citizens. (Beat.) Who knows which is worse?

More Podcast Setup

continued work on podcast setup

i bought the shure mic. (affl. link)

i worked on obs scenes.

i figured out how to record my iphone.

i got an earbud stuck in my ear.

iphone testing:

15 minute rant:

i wrote some xml for fcp (ok ok, chatgpt wrote it, i just watched):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fcpxml>
<fcpxml version="1.11">
    <resources>
        <asset id="r1" duration="29s" start="0s" hasAudio="1" audioSources="1" audioChannels="2" audioRate="192000">
            <media-rep kind="original-media" src="file:///Users/bram/Movies/mov1.mp4"/>
        </asset>
        <asset id="r2" duration="21s" start="0s" hasAudio="1" audioSources="1" audioChannels="2" audioRate="192000">
            <media-rep kind="original-media" src="file:///Users/bram/Movies/mov2.mp4"/>
        </asset>
        <format id="r3" frameDuration="1/30s" width="1920" height="1080"/>
    </resources>
    <library location="file:///Users/bram/Movies/Untitled.fcpbundle/">
        <event name="My Podcast">
            <project name="Test Podcast Cut">
                <sequence duration="20s" format="r3">
                    <spine>
                        <!-- First half of the podcast -->
                        <asset-clip name="Podcast Part 1" ref="r1" duration="20s" start="0s" offset="0s"/>

                        <!-- Transition (e.g., Cross Dissolve) -->
                        <transition name="Cross Dissolve" duration="2s" offset="20s" />

                        <!-- "Free video is over" clip -->
                        <asset-clip name="End Clip" ref="r2" duration="21s" start="0s" offset="22s"/>

                        <!-- Second half of the podcast -->
                        <!-- <asset-clip name="Podcast Part 2" ref="r1" duration="9s" start="20s" offset="43s"/> -->
                    </spine>
                </sequence>
            </project>
        </event>
    </library>
</fcpxml>

i got a gpt to start the process of researching an episode topic:

then i user perplexity to run the actual searches:

comes up with some pretty interesting kindling:

i got meta with gpt writing gpts:

Help people write an assistant.

On start,
Ask one by one and wait for user feedback:
1. what do you want to achieve?
2. what are your main problems?
3. what have you tried?
4. what do you think is missing

after you have these answers create hypothetical instructions for a new assistant that uses problems and solutions provided. fill in the gaps and amke a step by step by step assistant that can help the user get to their goals. for any functions you want to call, stub out the name as {call function()} in curly braces.

then when the user approves the instructions, run an example with the loaded instructions.

which outputs...

the plan

this is roughly the plan to record with tomorrow. we'll see how it goes!

Working Title: how i start api projects with the openai api

pp (philosopy plaza):

  • the first thing to do is to understand the problem being solved, what is the information pipeline
    • One of the simplest forms of relaxation in computer science is known as Constraint Relaxation. In this technique, researchers remove some of the problem’s constraints and set about solving the problem they wish they had. Then, after they’ve made a certain amount of headway, they try to add the constraints back in. That is, they make the problem temporarily easier to handle before bringing it back to reality -- Algorithms to Live By: The Computer Science of Human Decisions (affiliate link)

    • When you are having trouble getting your thinking straight, consider an extreme or simple case. This will often give you the insight you need to move forward. More generally, make a problem as simple as possible without losing its essence – but no simpler. -- Maxims for Thinking Analytically: The wisdom of legendary Harvard Professor Richard Zeckhauser

  • generation or retrieval
    • Texts are half finished. Their signs rush toward an end point but past this toward a reader who, they hope, will complete them. It makes no difference whether the writer is aware of it, or even whether, like Kafka, he expressly rejects a completing reader; texts are a search for the Other. Of course, it is possible to divide up the universe of texts according to various criteria, but all texts are outstretched arms trying, whether optimistically or in despair, to be taken up by another. This is what the gesture of writing is disposed to do. -- Does Writing Have a Future? (Electronic Mediations Book 33) (affiliate link)

    • True, good, and beautiful texts, that is, concise texts that flow without interruption and are nevertheless contradictory,are works of a creative dialogue between the writer and the publisher. They justify some hope that not all texts will be sacrificed to the rising universe of technical images. -- Does Writing Have a Future? (Electronic Mediations Book 33) (affiliate link)

    • Prolonged data-gathering is not uncommonly used as a means of not dealing with a problem: -- SYSTEMANTICS. THE SYSTEMS BIBLE (affiliate link)

    • The virtues of the use of big data for market research are frequently touted. The deficiencies are seldom noted, except for concerns about invasions of personal privacy. In addition to privacy issues, the real problem is that numerical correlations say nothing of people’s real needs, of their desires, and of the reasons for their activities. As a result, these numerical data can give a false impression of people. But the use of big data and market analytics is seductive: no travel, little expense, and huge numbers, sexy charts, and impressive statistics, all very persuasive to the executive team trying to decide which new products to develop. After all, what would you trust—neatly presented, colorful charts, statistics, and significance levels based on millions of observations, or the subjective impressions of a motley crew of design researchers who worked, slept, and ate in remote villages, with minimal sanitary facilities and poor infrastructure? -- The Design of Everyday Things: Revised and Expanded Edition (affiliate link)

    • The need to rely on data can also blind you to important facts that lie outside your model. It was surely relevant that Trump was filling sports halls wherever he campaigned, while Clinton was drawing sparse crowds. It’s important to remember that big data all comes from the same place – the past. -- Alchemy: The Dark Art and Curious Science of Creating Magic in Brands, Business, and Life (affiliate link)

  • architecture

cc (commentary cove):

ll (lesson library):

  • the first thing to do is to understand the problem being solved, what is the information pipeline
    • run the mom test with your clients
    • what tools do you have at your disposal? what is your budget?
  • generation or retrieval
  • architecture
    • fastapi
      • swagger schema and function calling
    • vector database vs pgsql
    • frontend
      • nextjs
      • discord bot
      • gpts

Issue 50: Reset your Social Media Annually

On the controlled burn of online profiles

💡
This post is part of a two part series.
Part I: Reset Your Social Media Annually (you are here)
Part II: Your Art or Your Life

< Previous Issue

Dear Reader,

Food For Thought

You should delete your social media profiles, once a year or so.

If this suggestion shocks or angers you, pause for a moment and sit with this feeling – this is a great opportunity to reflect on your relationship with social media.

This annual deletion is not an argument to step away permanently. You might not quit, in fact, you might make a new profile, with the same handle, the same day. The goal is to reset your humors and to remind yourself why you joined "platform of choice" in the first place.

My rule of thumb is that if it takes less than five minutes to set up a new account and make your first post, you should reset the profile once it reaches a certain saturation point. This saturation point varies from platform to platform. Often, it doesn't have a quantified metric. Often, it will be a feeling. A curl of your upper lip in disgust every time your fingers automatically type the URL, knowing that you'll be spending the next 45 minutes doom scrolling. An anxiety every time your phone dings. An urge to get your heart rate up by arguing with strangers. Once you've reached this saturation point, I have bad news for you. It will never desaturate, there is no pressure valve except one. The reset button.

This argument has many faces. Let's go over the most grotesque masks, starting with the dead weight, the status quo.

Status Quo I: Middle Management

One of the most pernicious dangers of the saturation point is adherence to a status quo that is, upon a millisecond of reflection, a sunk cost. Recently, I got into it with some forum mods about some really stupid thing. As a rule of thumb, forum mods are glorified hallway monitors from middle school, or ass-kissers. The hallway monitor, if you'll remember, was a student, who thought of themself as being different or better than the other students, solely by their ability to tattle really well to the adults. Never once did they hold actual power, they were permanently stuck as the henchmen of those who did wield power. As such, these people were generally disliked by their peers.

The internet is filled with mods. Twitch mods, Discord mods, forum mods. People who, by virtue of being terminally online in a particular community, derive the conclusion that indeed, they have a right to say big words, and make big threats, because you are in their domain (quite literally you are in their www domain!). And without even getting paid! Wow!

People who are, in the words of Erik Dietrich:

Yesterday, we had owners and grunts. Today, we have owners, grunts, and a new thing: managers. Only owners have any legal power as far as the company is concerned, which makes managers and grunts the same thing. The main difference is that, at the pleasure of the owners with the real power, managers can tell grunts what to do.

-- Developer Hegemony: The Future of Labor (affiliate link)

To reset your presence on communities is a reminder of your relation to the community itself. Don't become a mod, and if you do, don't act like one, maybe?

Status Quo II: Verification

The second element of status quo is your importance within the community, as bestowed by a badge from the platform that signifies your "influence" in the community. Yep, it's influencer time.

Imagine right after posting this issue, I release an app called GluppyFlippy. On GluppyFlippy you can post images of the dumbest thing you can imagine, let's say pictures of ironing boards in motels. This excites you because as it so happens you travel a lot for work. You find yourself posting a lot, and liking other people's posts about ironing boards, maybe even leaving the odd review about how many coffee stains are on ironing boards in Tulsa vs those in Boise. It's fun because the community is small, and you and your friends finally have a place to discuss all your clothing care needs and how to remove wrinkles.

By some horrific moment of tulip mania, GluppyFlippy becomes popular. Really popular. Like, really. fucking. popular. Millions of users flood into GluppyFlippy, everyone quickly making their own profiles and claiming their handles as fiefdom, and they quickly set off to reshape the meta by posting those handheld steamers as well and beginning to optimize what they can post and at what time to chase the all mighty algorithm.

By your combination of luck, timing and skill, a lot of these new people find their way to your profile and begin liking your pictures. Perhaps thousands! As the platform owner (I built the thing after all!), I see this in my server logs and decide to put a golden iron icon next to your name. This, for me, adds to the legitimacy of my service, since it looks from the outside that I have users who are celebrity creators. It also legitimizes my reasoning to serve more ads on your page, because you are no longer a user, no, you are a brand. And brands need ads.

To add this golden iron icon took me, like, 10 seconds to create an SVG in Photoshop? Maybe? And yet, all of a sudden, all the other GluppyFlippy users want to be you. Ex-lovers are reaching out, motels are trying to sign million dollar deals with you, hell, you might even land a spot on local TV news.

Over time, you begin to notice that this persistent attention has its downsides. People DM you constantly about how you got the golden iron. They beg you to follow their GluppyFlippy profile, to like their post about them surfing the iron board down the stairs in their hotel room in Maui, or at the very least, to collab with them.

You wake up in cold sweats to the voices in your head whispering, "Come on bro, collab."

This sounds ridiculous, right? But go back to the beginning and replace GluppyFlippy with TikTok/Instagram Reels/Threads (blue checkmark) or LinkedIn (brand voice) or Twitter (blue checkmark) or YouTube (gray checkmark) or any other social media where the platform can bestow a <span> next to your username, and let you play God.

To reset your presence is to free yourself from platform signifiers, to reset your peace of mind. The goal is to say what you want to say, not say what will make your audience stick around for your next video about the finer points of ironing pleated pants.

P.S. What's up with all the checkmarks, anyway?

Friends

This one, along with craft (below), is likely the only one that actually matters. Friendships are integral to a healthy life, and you can make really good friends online, in fact I've written about it extensively in issue #34 (a really good read, imo!). It can be annoying for your friends to re-follow you once a year, but I've found that those I'm close to have no qualms with it. Those that do, really don't see your friendship as something they value if they can't take the three seconds to hit the "follow" button. Fair weather friends, much?

Social media platforms are dependent on FOMO to continue existing, for without engagement, they cease to exist! They derive value from network effects after all. If you and your friends care about one another, foster that local network. Care for your garden.

Get off the platform. Grab a cup of coffee. Go play basketball or chess together.

Craft

I'm discussing craft last because of all of the arguments, this is the most important. Outside of social media made purely for friends to communicate with one another, you likely joined a social media as an interest group, or to pursue an ambition or an identity. You may be really really into books or knitting or some other hobby and you want to share your learnings with the world. You should be rewarded for that!

One of the largest problems with social media platforms is they edit your voice to fit their goals. You may not notice it, it may be that you pick up a jargon phrase here or there that your real life friends and family make a confused face out you when you say "poggers" or "its giving" in public, or perhaps you develop anxiety of the post button, afraid of what people might say about you and your work – so you never post unless you think it will get a lot of likes. The metrics of quality as derived by social media are firmly lodged in how important any conversation is at any moment, to be quickly replaced by the news of tomorrow, the latest upset, LSF drama, or cancellation.

I occasionally visit Substack, and I very much move in circles where people own Substacks and a friend of mine asked why I prefer Ghost to Substack. The conversation is as follows:

less* not lower east side, though i do like the lower east side a lot

The goal is to let creativity flourish, not to stifle it.

NB: Listen to this whole interview with Donald Glover, but particulary the part about the "Shit Girls Say" trend from 2011.

To paraphrase from issue #41:

Much more importantlybramadams.dev has served as the perfect playground for my creative desires. In between poetryshort storiesimage dumpslong thoughtpiece essaysshitpostszettels (a zettelkasten note, singular), creative codingtutorialsnewsletters, and more, I have never felt more free as a creative than on my own site.

(excuse my language here, but) Fuck websites that tell you your creativity is constrained to 280 characters. Fuck websites that tell you that you can only upload photos in a certain dimension to fit the rest of the site's CSS. Fuck websites that use their networks of likes and comments to change how you think, speak, and create. Fuck sub splits with the website owner because you happen to be renting a handle on their platform. Fuck the narrative you can't grow an audience because Twitbooktube has hoovered up all the curious minds on the Internet and trapped them in their feeds to scroll forever. FUCK ALLLL THAT.

A Practical Guide to Resetting Your Presence Online

Let's wrap up this philosophy with some actionable items. I've gone through these controlled burnings more than once, and here's how I go about it:

A primer how to successfully reset your account:

1) ~A month to a week before you take any action, write down your reasoning for your reset, and your relationship with social media. This is critical to success as you will return to it later.

2) ~A week before your deletion, download all your data from your social media. You'll want to revisit your work for memories sake as years go on. Save it into a Dropbox, or a local drive. But ideally the cloud, so you don't lose it.

3) Come up with a list of people you want to re add or follow. If they are your friends, message them and mention that you're remaking your account. If you are simply following your favorite content creators, no worries, just follow them again.

4) Do not tell everyone or make a big social stink about it, no one cares, and it makes you look needy. You are a person. Deleting your social media profile on GluppyFlippy / Instagram / TikTok / Substack will not make you less of a human.

5) Do not fear. I’ve done this multiple times with no effects other than clarity of mind and freedom to post things i normally wouldn’t. It's great for experimenting, and you learn something new each time!

6) Make a choice. Are you leaving social media for good, or staying? If you're staying, remake an account. As stated above, these platforms that run off network effects desperately want users, so it should take less than 5 minutes. Or if you've been meaning to leave for good, take this time to come up with a replacement hobby you've been looking forward to but haven't done because of social media. Maybe you can go to that restaurant you've wanted to try, or watch really good movies or read some really good bvooks. The sky is the limit!


Resetting your profile is a healthy practice in righting power imbalances between you and social media. Words on the internet can live forever, and are also gone in an instant. It's a paradox, but it is indeed the case. So we must live with it, and ideally, embrace it.

In my mind, there is only one profile that has enough escape velocity to not get marred in the local maxima of social media profile saturation. But we'll discuss that... next week 😎.

On My Nightstand - What I'm Reading

If the Universe was Turing Complete
My Thoughts on At Home in the Universe by Stuart Kauffman

An interesting look into the overlap between biology and computation. A really good book about science, especially if you like scientists making bold conjectures and backing them up. It would likely feel similar to have lived in 1895 and read Darwin's natural selection theory.

Ye Olde Newsstand - Weekly Updates

Learning to Podcast: Week of March 2nd
foibles and lessons

I'm finally getting around to podcasting. A ~year worth of newsletters taught me consistency, now the site needs an audio/video pillar

How Big is Africa?
pretty big, turns out

Media dump, all Hearthstone and no reading makes Brammy a dull boy

Thanks for reading, and see you next Sunday!

ars longa, vita brevis,

Bram

Learning to Podcast: Week of March 2nd

foibles and lessons

here are some lessons i learned in my first week of setting up a podcast.

Notes, Formats, Struggling with Script Pacing


i started w super high level, wasn't dense enough and i flubbed a lot of words. i tried word for word, delivery was too boring/forced. i moved to bullets but detailed, but went too detailed, and they were hard to read. finally settled on bullets that aren't dense, but flow into each other so i'm never "winging it". hard balance to strike, still very wip

Philosophy

Riverside

recorded first test in riverside. meh, i think id rather use obs.

Scene Transitions

this solo podcast has three sections: lessons, commentary, and philosophy. im learning to use obs to switch between them

0:00
/0:20

Microphone

i did a lot of research and was just planning on using airpods for now, but i buckled and picked up a shure mv7.

but here's me testing my mic on my iphone

0:00
/0:20

Ghost Podcast

i want to replicate transistor private sub fn in ghost, and attach it to the current member ids. this comes after i record a few episodes and reach a level of quality that im comfortable splitting in half

ChatGPT
A conversational AI system that listens, learns, and challenges

ghost rss private podcast is ideally the way i want to go. following a sam harris making sense model where first half of ep is free, and second half is for paid subs

Playing with Format

If the Universe was Turing Complete

My Thoughts on At Home in the Universe by Stuart Kauffman

[BUY THIS BOOK (affl. link)]

  • this book is easiest to absorb if you have c.s. knowledge up through a data structures course and a freshman bio course on cells (basically this is a sophomore book)
  • id recommend this book to anyone interested in computational biology
  • interesting claims about the idea of evolution and how it might work if it comes out of order vs coming of chaos
  • subcriticality vs supracriticality really got me thinking!! – very powerful concept
  • coevolution is a game theoretic thing with conflicting shared and stable/unstable peaks
Character Image
<LEDA> where does meruem fit in the map of coevolution?
  • catalyze yourself!
  • cambrian explosion top down vs bottom up of patterns

Quotes

Many are the arguments about this asymmetry between the Cambrian and the Permian explosions. My own view, explored in later chapters, is that the Cambrian explosion is like the earliest stages of the technological evolution of an entirely novel invention, such as the bicycle. Recall the funny early forms: big front wheels, little back ones; little front wheels, big back ones. A flurry of forms branched outward over Europe and the United States and elsewhere, giving rise to major and minor variants. Soon after a major innovation, discovery of profoundly different variations is easy. Later innovation is limited to modest improvements on increasingly optimized designs.

David Raup, a superb paleontologist at the University of Chicago, estimates that between 99 percent and 99.9 percent of all species that have ever existed are now extinct. The earth today may harbor 10 million to 100 million species. If so, then life’s history may have seen 10 billion to 100 billion species come and go. One hundred billion players strutting and fretting their hour upon the stage, and then are heard no more.

Theories, even those that prove incorrect, can have elegance and beauty, or be utterly ad hoc. A theory requiring an infinite series of ever smaller homunculi is too ad hoc to be true.

How Big is Africa?

pretty big, turns out

Images

africa can fit a usa, a india and a china and still have room to spare lol
le chat kinda trash tbh
on the second day of christmas my true love gave to me 2 shielded warpwings
on the third day of christmas my true love gave to me 3 golden matadors
290k years between the spear and the tiny spear on a string. 290,000.
soon.

Music

Podcasts

Movies

AlphaGo (2017)
The ancient Chinese game of Go has long been considered a grand challenge for artificial intelligence. Yet in 2016, Google’s DeepMind team announced that they would be taking on Lee Sedol, the world’s most elite Go champion. AlphaGo chronicles the team as it prepares to test the limits of its rapidly-evolving AI technology. The film pits man against machine, and reveals as much about the workings of the human mind as it does the future of AI.
Vice (2018)
George W. Bush picks Dick Cheney, the CEO of Halliburton Co., to be his Republican running mate in the 2000 presidential election. No stranger to politics, Cheney’s impressive résumé includes stints as White House chief of staff, House Minority Whip and defense secretary. When Bush wins by a narrow margin, Cheney begins to use his newfound power to help reshape the country and the world.
Shortcomings (2023)
When his girlfriend leaves for New York City on a 3-month-long internship, a strongly opinionated Berkeley arthouse movie theater manager begins exploring life as a bachelor.

Code

GitHub - OS-Copilot/FRIDAY: An self-improving embodied conversational agent seamlessly integrated into the operating system to automate our daily tasks.
An self-improving embodied conversational agent seamlessly integrated into the operating system to automate our daily tasks. - GitHub - OS-Copilot/FRIDAY: An self-improving embodied conversational…
GitHub - TimeSurgeLabs/athenadb: 🦉⚡️Serverless, distributed vector database as an API
🦉⚡️Serverless, distributed vector database as an API - TimeSurgeLabs/athenadb
GitHub - facebookresearch/jepa: PyTorch code and models for V-JEPA self-supervised learning from video.
PyTorch code and models for V-JEPA self-supervised learning from video. - facebookresearch/jepa
GitHub - Scarvy/awesome-readwise: A curated list of awesome Readwise libraries, plugins, software, and resources.
A curated list of awesome Readwise libraries, plugins, software, and resources. - Scarvy/awesome-readwise

Issue 49: Trillions of Lines Written, and We're Still at Day Zero

Will code ever be finished?

< Previous Issue

Dear Reader,

Food For Thought

... despite the millions of people who have written code, and the billions, if not trillions of lines of code written since the field began, it still often feels like we're still making it up as we go along. People still argue about what programming is: mathematics or engineering? Craft, art, or science?

-- Coders at Work: Reflections on the Craft of Programming (affiliate link)

This month, I've been reading Coders at Work by Peter Seibel, a collection of interviews in 2008 with world-class programmers, including household names (among the tech nerds at least): Donald Knuth, Peter Norvig, Douglas Crockford, Frances Allen, and many more (there are fifteen interviews in total). Undoubtedly, with many of these visionaries, you may have never heard of them by name, but you have most certainly used or have benefitted from their work: Haskell, Javascript, compilers, JSON, etc.

When people throw the phrase around: "We stand on the shoulders of giants", these are the giants being referred to.

Reading this book now (in 2024) feels more relevant than ever as the landscape of the craft of programming is being rocked to its core with the introduction of large language models like ChatGPT and IDEs like Cursor or Github Copilot. The blistering rate of change makes it necessary for both developers and those who benefit from computers to take a step back, pause, and to witness the forest over the trees. The current news is a moment, a flash in the pan. Some flashes will indeed cause sparks, and some of the sparks will grow into full blown flames, but we must stay vigilant, and we must stay level-headed and at peace. After all, the present has a certain biased appeal to it (or whatever period of time you consider "the golden days"...science advances one funeral at a time, they say). These biases and the frenetic immediacy of the "latest developments" have a certain gravity to them, and that gravity can quickly become quicksand if we aren't cautious.

Generations; Generative

The jargon discussed in Coders at Work are relevant to a generation of programmers that I am not part of. The techniques they use are unfamiliar. Some of the languages are relics. Many of the concepts are too! And yet, there are some languages, machines and ideas that are the foundations of the work that I do today, and some of these ideas will continue to live long past me and my career as well.

To paint the scene of 2008, the corporate programming world was in the midst of a Java wave (which was open-sourced by Sun systems in 2008). Cloud computing had just got off the ground (AWS was created in 2006). The US economy would suffer a housing market crash, triggering a global recession. Facebook was four years old, Google was ten, and they just put out the Chrome browser. The iPhone was one year old, and the app store was launched in July 2008.

Of these meta trends, some caused proactive changes in the craft of programming, others reactive. The craft of programming had to rise to the challenge of distributed computing, and began to dream of how to do mobile computing at scale. Functional programming and OOP continued to square off as Haskell and Erlang took on the titans, Java and C++ (Javascript and Python have evolved to take elements from both paradigms).

Seibel: What do you think is the biggest change in the way you think about programming compared to back then?

Crockford: There was a period of maybe a decade where efficiency was really, really important. I guess it was in the early microprocessor era when memory was still really small and the CPUs were still really slow. We'd get down into assembly language in order to do things like games and music to make it fit and to make it fast. Eventually we got over that, so today we're writing big applications in JavaScript that run in a browser. It's such a profoundly inefficient environment compared to the stuff that we used to do, but Moore's Law sort of made it all OK.

-- Coders at Work: Reflections on the Craft of Programming (affiliate link)

Today's Dillemma

The present of programming is a living, breathing set of individuals, organizations, problems, business practices and a healthy dose of generational trauma.

Programming is a pseudo-perfect information game. Assuming you can get your hands on the source code of a project, there is nothing stopping you from getting the same program to run "anywhere" else. Code is like a strand of RNA, merely waiting for an engine to replicate it.

However, the hidden information of why a programmer solved their problem in a certain way may be lost to history. This is the key. All programmers, in the practice of their craft, take their why with them as they retire or pass away. They may be able to train a few juniors in their image with pair programming, or fancy Agile techniques, or beautifully written documentation, but at the end of the day, we are where we are and must do with what we can.

With all of the done work being... "done", with all of the local and global problems from their era solved and git commit(ed) -am "to history" by the programmers of yore, we stand for better or worse on the foundations of their choices. Some were good, others bad, but choices were made. Even inaction is action.

Each generation of programmers has a duty to do what they think is best, as to leave the next generation with the highest likelihood to be successful as possible in the ever exciting world of software. And so, let's reinforce the good patterns. Let's set aside our egos of how we want the world to be vs. how it is. Let's say yes to the things that need to be built, and perhaps more importantly, say no to the things that shouldn't be built. We do it for the love of the craft, we do it for the love of the game.

What will we leave behind, I wonder?

Leaving aside the work of Ada Lovelace—the 19th century countess who devised algorithms for Charles Babbage's never-completed Analytical Engine—computer programming has existed as a human endeavor for less than one human lifetime: it has been only 68 years since Konrad Zuse unveiled his Z3 electro-mechanical computer in 1941, the first working general-purpose computer. And it's been only 64 years since six women—Kay Antonelli, Jean Bartik, Betty Holberton, Marlyn Meltzer, Frances Spence, and Ruth Teitelbaum—were pulled from the ranks of the U.S. Army's “computer corps”, the women who computed ballistics tables by hand, to become the first programmers of ENIAC, the first general-purpose electronic computer.

Ye Olde Newsstand - Weekly Updates

Patterns: Dead or Alive
how does a jedi die from being tired?

Media dump of the week ft. a Britney Spears movie, a song about poop that goes surprisingly hard, and some screenshots of the thoughts I capture in physical form

GPT UX Patterns
New UX patterns are being discovered every day!

I've been compiling some UX patterns for GPTs. There's gold in these hills, y'all! Bring a shovel.

Track Time in GPT with Code Interpreter
creating a “loading bar”!

Creating a "loading" in a single run by leveraging interpreter state and keeping users engaged by interrupting processes.

On My Nightstand - What I'm Reading

When the Fantasy of the Weak Peaked
My Thoughts on Solo Leveling by Chu-Gong
There is Some Weight Behind this Homesteading Trend
My Thoughts On The Quest of the Simple Life by W.J. Dawson
When Your Sister Rules the Most Powerful Civilization on Earth
My Thoughts on Nefertiti by Michelle Moran

Thanks for reading, and see you next Sunday!

ars longa, vita brevis,

Bram