blog

Practice Guide for Computer

originally shared here on

Originally adapted from Ron Miller's Advanced Improv Practice Guide, and discovered at the bottom of jyn's incredible blog post titled "i'm just having fun", which is a must-read.

Before starting your daily practice routine, read and seriously consider the following:

A. DAILY AFFIRMATIONS

  1. How fortunate I am that in this life I am one who has been allowed to create beauty with computer.
  2. It is my responsibility to create peace, beauty, and love with computer.

B. I WILL BE KIND TO MYSELF

  1. IT IS ONLY COMPUTER
  2. No matter my level of development in computer, how good or bad I think I am, it is only computer and I am a beautiful person.
  3. I will not compare myself with my colleagues. If they do computer beautifully, I will enjoy it and be thankful and proud that I live in fellowship with them.
  4. There will always be someone with more abilities in computer than my own as there will be those with less.

C. REASONS TO DO COMPUTER

  1. To contribute to the world's spiritual growth.
  2. To contribute to my own self-discovery and spiritual growth.
  3. To pay homage to all the great practitioners of computer, past and present, who have added beauty to the world.

D. RID YOUR SELF OF THE FOLLOWING REASONS FOR BEING A PRACTITIONER OF COMPUTER

  1. To create self-esteem
  2. To be "hip"
  3. To manipulate
  4. To get rich or famous

The psychology of evil


🔗 a linked post to builders.genagorlin.com » — originally shared here on

When we fail to take active responsibility for our life, we tend to feel helpless, which breeds resentment of others—especially those who seem to be doing better than us and to be looking down on us. A passive person is easily hurt and so fixates on, exaggerates, or manufactures grievances. This then creates a felt need to expend energy on destroying perceived threats instead of creating and defending genuine values. This felt need takes the form of an unadmitted motivation that’s possible to all of us, and that we’ve all experienced in moments, but which is fundamentally different from the rational pursuit of values, and which can come to dominate and pervert a soul: the motivation to destroy.

When we see signs of it in our selves, our neighbors, or our nation, we can and need to recognize it for what it is, to isolate and disempower it—and to turn our attention toward building something better.

Continue to the full article


Monocle for macOS


🔗 a linked post to heyiam.dk » — originally shared here on

My buddy Paul1 sent me a link to this macOS app a few weeks ago, but I didn’t have a use case for it until yesterday.

I was reading a few different documents relating to a machine learning contract I just started, and I was getting overwhelmed by the mountains of text on my screen.

Monocle is a very simple utility for macOS that blurs out every app window that is not in the foreground. If you want to see everything, you can shake your mouse back and forth2. If you want it blurred again, you do the same shake gesture.

It’s the best $9 I’ve spent on software in years.


  1. Latest blog post was over a year ago?! Come on man, share some of those dope woodworking projects you’ve been working on! 😅 

  2. Which also triggers one of my favorite macOS features: making your mouse cursor super huge so you can find it on your screen. 

Continue to the full article


The Rise of Sanityware


🔗 a linked post to thatshubham.com » — originally shared here on

The most annoying thing about corporate surveillance to me is the arrogance of the prediction mechanisms. These algorithms build a model of me based on my clicks from three years ago and then try to trap me in that loop forever. They show me music they think I'll like, and news they think I'll engage with, and videos they think will enrage me enough to keep me hooked to their platforms. They are actively trying to flatten my personality into something easy to monetize.

As most people I've seen say out loud, "Privacy as a concept is way beyond hiding secrets. A part of it also means preserving your capacity to change. To be surprised. To be inconsistent." If I could tell every human one thing, it would be to actively refuse to be a predictable data point.

Mess up their metrics. In whatever way you are capable of.

Continue to the full article



Prompt caching: 10x cheaper LLM tokens, but how?


🔗 a linked post to ngrok.com » — originally shared here on

What's going on in those vast oceans of GPUs that enables providers to give you a 10x discount on input tokens? What are they saving between requests? It's not a case of saving the response and re-using it if the same prompt is sent again, it's easy to verify that this isn't happening through the API. Write a prompt, send it a dozen times, notice that you get different responses each time even when the usage section shows cached input tokens.

Not satisfied with the answers in the vendor documentation, which do a good job of explaining how to use prompt caching but sidestep the question of what is actually being cached, I decided to go deeper. I went down the rabbit hole of how LLMs work until I understood the precise data providers cache, what it's used for, and how it makes everything faster and cheaper for everyone.

After reading the Joan Westenberg article I posted yesterday, I decided I’m going to read more technical articles and focus my attention on them.

This post from the ngrok blog was very helpful in explaining how LLMs work up through the attention phase, which is where prompt caching happens.

It also got me to go down a rabbit hole to remember how matrix multiplication works. I haven’t heard the phrase “dot product” since high school.

Continue to the full article


The Discourse is a Distributed Denial-of-Service Attack


🔗 a linked post to joanwestenberg.com » — originally shared here on

Every attempt to discuss the problem becomes another piece of content, another take, another entry in the engagement competition that makes the problem worse. I'm aware that this essay is doing exactly that. I'm aware that you, reading this, are spending cognitive resources on yet another analysis of the discourse when you could be spending those resources on something more important. I'm sorry. I'm not sure what else to do.

What I do know is that the feeling of being overwhelmed, of never being able to keep up, of having strong opinions about everything and confident understanding of nothing, is not a personal failing. It's a predictable response to an impossible situation. Your brain is being DDoS'd, and the fact that you're struggling to think clearly under that onslaught is evidence that your brain is working normally. The servers aren't broken. They're overloaded. And until we figure out how to reduce the load or increase the bandwidth, the best any of us can do is recognize what's happening and try, when possible, to step away from the flood long enough to do some actual thinking.

Find some topic you care about. Just one. Resist the temptation to have takes on everything else. Let the discourse rage without you while you spend weeks or months actually understanding something. Read books about it, not takes. Talk to experts, not pundits. Follow the evidence where it leads, even when it's uncomfortable. Change your mind when you find you were wrong. And when you finally have something to say, something you've actually earned through careful thought rather than absorbed from the tribal zeitgeist, say it clearly and then step back.

Continue to the full article


Why We've Tried to Replace Developers Every Decade Since 1969


🔗 a linked post to caimito.net » — originally shared here on

Here’s the paradox that makes this pattern particularly poignant. We’ve made extraordinary progress in software capabilities. The Apollo guidance computer had 4KB of RAM. Your smartphone has millions of times more computing power. We’ve built tools and frameworks that genuinely make many aspects of development easier.

Yet demand for software far exceeds our ability to create it. Every organization needs more software than it can build. The backlog of desired features and new initiatives grows faster than development teams can address it.

This tension—powerful tools yet insufficient capacity—keeps the dream alive. Business leaders look at the backlog and think, “There must be a way to go faster, to enable more people to contribute.” That’s a reasonable thought. It leads naturally to enthusiasm for any tool or approach that promises to democratize software creation.

The challenge is that software development isn’t primarily constrained by typing speed or syntax knowledge. It’s constrained by the thinking required to handle complexity well. Faster typing doesn’t help when you’re thinking through how to handle concurrent database updates. Simpler syntax doesn’t help when you’re reasoning about security implications.

Continue to the full article


The grief when AI writes most of the code


🔗 a linked post to blog.pragmaticengineer.com » — originally shared here on

I’m coming to terms with the high probability that AI will write most of my code which I ship to prod, going forward. It already does it faster, and with similar results to if I’d typed it out. For languages/frameworks I’m less familiar with, it does a better job than me.

It feels like something valuable is being taken away, and suddenly. It took a lot of effort to get good at coding and to learn how to write code that works, to read and understand complex code, and to debug and fix when code doesn’t work as it should.

It’s been a love-hate relationship, to be fair, based on the amount of focus needed to write complex code. Then there’s all the conflicts that time estimates caused: time passes differently when you’re locked in and working on a hard problem.

Now, all that looks like it will be history.

Early in my career, I helped start a company that conducted autonomous vehicle research. As increasingly complex driving tasks were able to be automated, I’d think about how this technology would one day render truck drivers useless. Which quickly turned into wondering when this tech would make me useless.

There’s no sitting still when it comes to software engineering. Every ten years or so, a new breakthrough comes along and requires folks to make a decision: do I evolve my engineering practice to stay up with the modern times, or do I double down on my current practice and focus on the fundamentals?

The choice comes down to what you value. Are you someone who enjoys artisanally crafting code, painstakingly optimizing each line to result in a beautiful tool? Are you someone who smashes things until they make the shape of a tool that helps someone accomplish a task?

When it comes to our economic structure, however, it doesn't matter what you value, it matters what someone is willing to pay you to solve their problem.

Some employers will value bespoke, artisanal ("clean") code, but I bet most will not care about what the code looks like. They will want whoever can quickly smash something into the shape of the tool that gets the job done.

As they say: don't hate the player, hate the game.

Continue to the full article


A Website To End All Websites


🔗 a linked post to henry.codes » — originally shared here on

This is a beautifully-designed thesis on why we should all go back to having personal websites, which is a topic I could go off on for days.

I hadn’t heard of Tools For Conviviality before, but I think I need to add that to my list:

In his book Tools For Conviviality, technology philosopher and social critic Ivan Illich identifies these two critical moments, the optimistic arrival & the deadening industrialization, as watersheds of technological advent. Tools are first created to enhance our capacities to spend our energy more freely and in turn spend our days more freely, but as their industrialization increases, their manipulation & usurpation of society increases in tow5.

Illich also describes the concept of radical monopoly, which is that point where a technological tool is so dominant that people are excluded from society unless they become its users. We saw this with the automobile, we saw it with the internet, and we even see it with social media.

Illich’s thesis allows us to reframe our adoption and use of the technologies in our life. We can map fairly directly most technological developments in the last 100 (or even 200) years to this framework: a net lift, followed by a push to extract value and subsequent insistence upon the technology’s ubiquity.

Continue to the full article