(1) Spending time building a plan. I have lots of artifacts like diagrams, tables, web pages that help me think through all the details quickly. Get code snippets to reduce uncertainty, get options for architectural decisions, flesh out assumptions.
Main thing is (1) how do I verify the agent hits the happy path and (2) how can I elicit and clarify assumptions it might make.
Then follow up the build with exploring and refactoring.
(2) prioritized context switching (like playing an RTS)
I have several tasks going at once, while one works I hop onto other tasks.
I usually have one or two “core” goals I’m trying to accomplish that take deeper thinking and get priority. The other tasks are smaller and require less thinking.
A lot of times I’ll have the secondary agents build research docs I can review in detail later.
> every line of code written by a human should have a dollar sign attached to it.
Every line of code that adds value should have some of that value should GO BACK INTO THE PROJECT.
I'm against the idea a successful product should be open source, even when you have full conrol of your data and they only charge for convenience.
Its an assinine philosophy that makes for WORSE products. Your projects would do better with revenue. More time, better marketing, other people to help.
Octave developer gave up after 25 years[0]. Instead of a robust competitor with a full team of people working on it and generational wealth for the value he created, he gave up struggling to pay bills.
I'm mixing the two because I think developers should value their time and profit from the value they add. I want them to build viable businesses so they get wealthy from their efforts and can continue keeping useful products alive.
There's no value to their business to open sourcing the product. Open source risks losing customers to knock-off competitors or fragmenting their plugin ecoystem (which is a lot of Obsidians moat).
So you saw a product that (1) gives you complete control of your data (2) uses an open format (3) only charges for sync, publish, and commercial use, and you thought to yourself:
"What a great use of my time building a competitor that adds no value, just to save a few dollars a month on sync and publishing. I hope other people value their time as little as I do and contribute"
Why should it be opensource? Obsidian gives you complete control of your data, which it stores in an open standard.
Please explain to me why developers should act like monks who've taken a vow of poverty? The devs built something valuable, they should profit from it.
Taking a contrarian point here, I went into software to make money doing a craft I can enjoy. I love software because its *useful*. Useful enough I can finance a lifestyle I enjoy for myself and my family, while still feeling moments of creativity and autonomy.
I think there needs to be a distinction between artist and artisan. Art exists for its own sake, code exists because its useful. I don't want code that reads like poetry, I want code that works so I read actual poetry later.
> Have a project in mind that you’ve always wanted to tackle but it never made sense to you to do it because it would never be used by anyone else or it would never make you any money?
I appreciate the tinker's and hobbyists, software is endlessly interesting as a career, and I'm thankful to be here. But I only want to build code that is useful.
> we've doubled down on mediating social interactions through economic relationships
We've doubled down on marketplaces to mediate interactions because they are rational systems. Rational systems like marketplaces, elections, and bureaucracies are the sine qua non of liberalism, which both ends of the political spectrum advocate for in their own ways. The right typically advocates more for marketplaces and corporations (i.e. market-based bureaucracies) and the left typically advocates for more government managemeant (election based bureaucracies).
Rational systems are in constrast to local cultures based on tradition, biology, and shared history. Its why there is so much homogenization in farming, music, clothing, architecture, etc.
The upside is that rational systems allow for scale, propserity, and individual liberty on an unprecedented level. On the downside, rational systems are fundamentally dehumanizing.
We mediate everything through marketplaces because we've don't have any place for non-rational organizing principles (locality, biology, shared history, etc)
Within healthy communities the need for meaningful human interaction is spread out among the community and not placed solely on your spouse. Therefore, I suggest a large driver of marital loneliness arises because marriage is not capable, on its own, of solving loneliness. Loneliness roughly means a lack of meaningful relationships. Communities offer the opportunities for various levels of connection from close friends to casual acquaintances while connecting all the individuals to each other (i.e. you have your close friends but everyone also knows each other). Furthermore, healthy communities create a dynamic environment where new relationships form spontaneously as the individuals grow and change (e.g. the former acquaintance marries your sister and now you become close friends, you have a kid and get to know the other parents in the community better, etc).
In this way, communities and marriage form a symbiotic relationship. Stable marriages become the bedrock of a community, as family provide the most stable structure for the community. However, strong communities also provide a dynamism and support that reduce the burden on marriage to provide a fulfilling life to those within it.
However, meaningful communities have been almost entirely eroded by the acids of modern life: increased mobility (communities, like all relationships, require time), car reliant infrastructure, declining religious participation, and economies built on individual consumption all make it harder to build, find, and belong to communities. And with the decline of communities, the sense of belonging and meaning that once was spread out over a largely stable group now falls to a single individual - your spouse.
In fact, one could argue that the increase in marital breakdown observed during the 20th century is itself a second-order effect of the breakdown of communities in that same time frame. Even the liberalization of the divorce laws could, arguably, be framed as a response to a trend already in motion rather than kickstarting it from out of nowhere.
It’s why the execs get so excited about these tools: they understand how to delegate.
I still do deep work, but I actually enjoy a session bouncing between agents. And I can chose how much focus to give each tasks.
Be real, most of that flow state was typing boilerplate