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
- How fortunate I am that in this life I am one who has been allowed to create beauty with computer.
- It is my responsibility to create peace, beauty, and love with computer.
B. I WILL BE KIND TO MYSELF
- IT IS ONLY COMPUTER
- 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.
- 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.
- 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
- To contribute to the world's spiritual growth.
- To contribute to my own self-discovery and spiritual growth.
- 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
- To create self-esteem
- To be "hip"
- To manipulate
- To get rich or famous
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
→
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.
Continue to the full article
→
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
→
Continue to the full article
→
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
→
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
→
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
→
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
→
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
→