Skip to main content Redeem Tomorrow
I used to be excited about the future. Let's bring that back.
About Hire me
  • The average AI criticism has gotten lazy, and that's dangerous

    Let’s get one thing out of the way: the expert AI ethicists who are doing what they can to educate lawmakers and the public are heroes. While I may not co-sign all of it, I support their efforts to act as a check on the powerful in the strongest possible terms.

    Unfortunately, a funny thing is happening on the way into popular discourse: most of the AI criticism you’ll hear on any given digital street corner is lazy as hell. We have to up our game if we want a future worth living in.

    Sleeping on this will cede the field to people who will set fire to our best interests just to gain 2% marketshare. I want people of conscience to be better at this discussion.

    The danger of bad critique

    There’s a fork in the road.

    After fifty years of evolution, digital computing now has the power to reliably interpret certain patterns of information, and to generate new patterns based on that input. Some of these patterns are not really what we want. But as time passes and investment continues, the output becomes more and more compelling. I think it’s most productive to call this pattern synthesis. But its purveyors would prefer “artificial intelligence.” I’ll use the terms interchangeably, but I think “AI” is more brand than accurate descriptor.

    Whatever we want to call it, the cat is out of the bag. We are not going to stop its use because all it is, in the end, is one of many possible applications of commodity computing hardware. It is broadly documented and broadly available. To curtail its use would require a level of ruthless restriction of how individuals use their privately owned computing devices.

    I don’t see it happening, and if you follow the idea to its logical conclusion, the civil liberties implications suggest we should not want it to happen. Think Fahrenheit 451, but the jackbooted thugs destroy your kid’s Raspberry Pi.

    That said, not all pattern synthesis applications are created equal, nor are all computing devices. OpenAI enjoys a significant lead in the space, and they have enough advanced computing hardware to create uniquely powerful outcomes.

    There are competing initiatives. Other vendors are attempting to catch up with their own proprietary products, and open source ML is a thriving ecosystem of experimentation and novel developments.

    But as it stands, OpenAI is in no danger of losing its lead. ChatGPT’s quality steadily improves, as does its abilities. The difference between this year’s product and last year’s is staggering.

    Meanwhile, OpenAI cannot keep up with demand.

    But I was told this stuff was useless

    At some point in time it wasn’t worth much. A mere toy curiosity. But the evolution of these tools is happening at a vertiginous pace. Look away for a few quarters, and your picture of how it all works is fully out of date.

    Sadly, that doesn’t stop its lazier critics.

    The fork in the road is this: we can dismiss “AI.” We can call it useless, we can dismiss its output as nonsense, we can continue murmuring all the catechisms of the least informed critique of the technology. While we do that, we risk allowing OpenAI to make Microsoft, AT&T and Standard Oil look like lemonade stands.

    We then cede any ability to shape the outcomes of pattern synthesis technology, except through the coarse and sluggish cudgel of regulation. And I don’t know about you, but the legislators in my jurisdiction don’t have the technical sophistication needed to do anything but blindly follow the whims of the last lobbyist they spoke to.

    Real activists ship

    Whatever your beef with AI, you can’t put the genie back in the bottle without outlawing statistics or silicon. The shittiest version of any computer in your house can probably achieve some machine learning task right now, if you download the right stuff.

    More than that, enormous amounts of human labor concern the management and creation of patterns. OpenAI is sold out of its computing capacity because the stuff they do multiplies productivity.

    Pattern synthesizers alter the economics of labor. Like global networking, general purpose personal computing, telephones, electrification, and combustion engines before this, pattern synthesis changes the shape of what individuals, teams, and societies can accomplish.

    So the question is: what kind of future do you want? Do you want a future where effective, reliable pattern synthesizers are available to everyone at a reasonable cost? Or do you want a single company to set their costs, making great margin by serving only the most profitable customer?

    Do you want a future where pattern synthesizers are built cooperatively, on consensually contributed data? Or do you want a regulatory framework authored by the richest guys in the room?

    Do you want a future where pattern synthesizers are energy-efficient, balancing performance against externalities in a sustainable way? Or do you want their costs and externalities concealed and laundered?

    Do you want pattern synthesizers to create a caste system of technical haves and have-nots?

    That’s pretty over the top

    Twice a month, I head over to my library. For an evening, I sit at a table and help seniors with their technology questions. They bring their laptops, phones, tablets, even printers, and often lists of problems that have cropped up. We work through their issues, try to fix problems, and I do my best to reassure them their difficulties are not their fault.

    But too many blame themselves nonetheless. They don’t have a mental model for why things are doing what they’re doing.

    • Why this website is asking them to log in with their Google account with some obnoxious popover (answer: someone has an OKR for new account signups).
    • Why their computer is so slow for no reason (answer: the vender installed backdoor to add crapware that uses vast amounts of CPU)
    • Why someone would be able to remotely log into their computer and destroy all their data (answer: they got scared into calling a scammer callcenter and social engineering did the rest)
    • Why they can’t make sense of the gestures and controls that are necessary to operate any modern smartphone (answer: the UX design isn’t tested on people like them)

    This is an issue of economic justice and political self-determination, as all essential civic activities become digitally mediated. Lack of technology literacy and access hits many people of all ages, but especially low income families and senior citizens. We have completely failed to bring them along.

    And at this rate, it’s going to happen all over again.

    But worse.

    The dumb critique

    I want to talk about all the essential criticism that needs more airtime, but first we need to walk through all the counterproductive bullshit that serves to erode the credibility of AI criticism as a whole.

    It’s “useless” and produces “nonsense”

    The AI elite have been pushing a narrative that would cement their lead with a regulator-imposed fence. Namely: that AI is going to kill us all. It’s important to note here that they’re full of shit on this point: if they truly believed it, surely they’d use their incredible leverage over their own companies to, at the least, delay the inevitable.

    This has not come to pass. Instead, they keep going to work each day.

    Researchers and ethicists have countered this by explaining that these tools are not, in fact, “intelligences” but more akin to “stochastic parrots,” repeating patterns they’ve seen before without much in the way of higher reasoning.

    This has, unfortunately, unleashed a wave of stochastic parroting itself—the meme is irresistible in its visual flourish—which misinterprets the criticism to mean that the output of the tools is ipso facto without value.

    But in fact, an African Grey Parrot retails in the thousands of dollars. Despite their limitations, parrot fanciers find tremendous value in their birds for companionship and amusement.

    Similarly, the output of an LLM is not guaranteed to be useless or nonsense or otherwise without meaning.

    For example LLMs can be used to provide surveys of a topic area, and even book recommendations, tailored to a specific learner’s need. They have, famously, a tendency to “hallucinate,” a generous term of art for “fabricating bullshit.” But in just a few months, this tendency has found a curious guardrail: the LLM can browse the web, and in doing so, provide citations and links that you can check yourself. So where before you might have been led toward publications that didn’t exist, you can now prompt the LLM to ensure it’s giving you proof.

    So it’s not nonsense. Nor is it useless.

    Part of what’s interesting about how LLM’s work is how they can interpret existing information and clarify it for you. An LLM can usefully summarize text of all kinds, from a dense essay to a file of source code.

    And so the problem with saying “AI is useless,” “AI produces nonsense,” or any of the related lazy critique is that destroys all credibility with everyone whose lived experience of using the tools disproves the critique, harming the credibility of critiquing AI overall.

    Worse still, those who have yet to be exposed to the potential of these tools may take this category lazy of critique at face value, losing the opportunity to develop their own experience with an emerging, economically consequential technology.

    This category is the laziest shit out there and I badly wish people would stop.

    Energy consumption as a primary objection

    When we get to the part where people insist that AI technologies use too much energy, it starts to feel like some quarters are just recycling the valid criticisms of cryptocurrency without bothering to check if they fit.

    And I get it: having failed to manifest a paradigm shift in their digital tulip bulbs, the worst of the crypto bullshitters have seamlessly switched lanes to hype AI. Nevertheless, these are distinct cases.

    Energy consumption in cryptocurrency was problematic specifically because cryptocurrency built into its model ever-increasing energy costs. Essentially, proof-of-work cryptocurrency was designed to waste energy, performing cryptographic operations that served no meaningful purpose in the vast majority of cases.

    That’s an exceedingly stupid use of energy, especially in climate crisis, and everyone who supports that deserves to be roasted.

    But a pattern synthesizer has a directed goal: accomplish something useful as decided by its user. Not every product or model is doing a great job at this, but the overall trajectory of usefulness is dramatic.

    The various things we call AI can interpret code for you, detect cancer cells, and helpfully proofread documents. I wrote 2000 lines of C++ that drive IoT devices deployed across my house with ChatGPT’s help. Currently, their uptime is measured in months.

    As I’ve been writing this, I’ve asked ChatGPT 4 to assess how fair I was to cryptocurrencies above, and it provided some nuanced analysis that helped me get to something more specific (qualifying proof-of-work as the major energy wasting culprit).

    So, at least for some cases, and for some users, and in ways that grow as the technology improves its effectiveness, AI is accomplishing helpful work. Moreover, by further contrast to cryptocurrencies, AI vendors are incentivized to reduce the cost of AI. Scarce resources like energy and advanced GPUs reduce their ability to serve customers and harm their margins. The more efficient pattern synthesis can be made, the more profitable its purveyors.

    Meanwhile, the history of computing shows a steady trend: amount of energy needed to accomplish work decreases, while the amount of work possible increases. This even holds true for GPUs, now with 25 years of data.

    On, @glyph argues that energy costs are in fact orders magnitude smaller in favor of LLMs, which seems to hold some water. Compare gigawatt hours to train and operate an LLM to hundreds of terawatt hours to operate the Bitcoin network. Or, for that matter, total data center energy consumption, also measured in the hundreds of terawatts.

    Any argument against pattern synthesis on the grounds of energy consumption is an even more urgent argument to shut down the existing constellation of software and computing products.

    Thing is, we decided a long time ago to build our society on the premise that productive work was worth spending energy on. Today we spend vast amounts of energy on things like:

    • Mundane cloud computing infrastructure, as mentioned
    • Global telecommunications
    • Commuting to offices so people can sit on Zoom calls
    • HVAC for those same offices
    • Industrial fabrication
    • Air travel
    • Sea shipping
    • Sports
    • Making beer and keeping it cold

    These are a handful of examples off the top of my head. What about applied statistics demands unique scrutiny?

    I’ve had the shittiest year when it comes to climate change, and I’ve invested in significant green energy infrastructure, from solar to battery to heat pumps. I take the issues of renewable energy and climate incredibly seriously.

    And asking an emerging technology to hold the bag for a climate crisis that spans industries just seems incoherent to me, unless you also call for an end to mundane computing generally.

    We must address climate from multiple dimensions:

    • Regulatory pain for polluters and fossil fuel companies
    • Ending fossil fuel subsidies
    • More research and investment in energy storage
    • Replacing incumbent energy infrastructure
    • Driving down the costs of alternative energy infrastructure manufacturing
    • Cutting wasteful and inefficient uses of energy across sectors and activities

    Simply making AI a boogeyman for Shell and Exxon and BP’s fuckups doesn’t deliver the goods. It’s fundamentally unserious as a primary objection to AI, even if, like all energy consumers, AI companies should be subject to scrutiny, regulation and reform on their resource consumption.

    Students will use it to cheat!

    Fuck the rote memorization, performative bullshit of school. I’m not even giving this more than a paragraph. Let the schools figure out how to actually create learning outcomes instead of regurgitation sessions. This isn’t AI’s problem to solve. Time to catch up with the 21st century, you putrefying mechanism of oppressive conformity and class stratification.

    Examples of actual, important issues we must confront

    Pattern synthesis is going to melt the status quo the way the web did 30 years ago. No industry, no human activity will go untouched.

    Some people will do absolutely stupid stuff trying to save money with this power.

    But the worst is that people will use the power to do harm and this technology will be only too happy to oblige.

    This is not an exhaustive or definitive list. Any omission you may catch is a failing of my own scholarship and rigor, not an indictment the omitted critique. (Unless it’s genuinely dumb, but that’s up to you to judge.)

    Instead, here is a survey of the sort of things we need to be aware of so we can demand and even build better alternatives. Failing that, understanding these issues in a useful tool people actually use help us demand accountability for that tool’s effects.

    AI perpetuates, amplifies and launders bias, with consequent unequal impact

    Because the pattern synthesizers are built by ingesting, well, patterns, they’re trained on the things humans have written and said. Those patterns are full of bias.

    You will struggle, for example, to ask an image generator to give you a Black doctor surrounded by white children because the legacy of colonialism means most images we have of such a scene are inverted.

    This presents serious problems for using these tools to imagine different futures. The more of today’s inertia they carry, the more they replicate a negative past.

    Meanwhile, bias exists all over human belief. Biases inform tremendous violence and oppression. Computing systems that blithely amplify that as many times as someone can afford are fundamentally dangerous. Even worse if they can create new patterns altogether.

    Finally, if you can blame the AI for your biased decision, it makes it harder for those wronged to actually address unjust outcomes.

    AI is constructed non-consensually on the back of copyrighted material

    This is one of the greatest stains on this technology, period.

    People’s work was taken, without consent, and it is now being used to generate profit for parties visible and not.

    Thing is, this is unsustainable for all parties. The technology requires ongoing training to remain relevant. Everyone who is part of its value chain, in the long term, must be represented in both its profits and the general framework for participation.

    Incidentally, this is one of the places where critique becomes most incoherent: if the output of these systems is “nonsense” or otherwise has no value, where is the threat to creators?

    It is precisely because the outputs are increasing in value and coherence that it’s essential that the people who make that value possible get a fair deal.

    If the AI is in fact “hallucinating,” how will you know? It has a certain bluff and bluster that suggests no possibility of doubt. This makes the technology better to demo, but also wastes time and even misleads.

    This has had some comical effects.

    Funny or not, it’s clear this tool is intruding closer and closer to how people do real work that impacts real lives. Deception is an irresponsible product feature.

    Being unable to debug the thing is untenable the more we rely upon it.

    AI can be used to create misinformation and pollute the information sphere

    Fake images, fake voice, fake videos, fake text, fake posters.

    The cost of waging an information war has dropped by orders of magnitude. We’re not ready for what this means, and the year over year trajectory of output quality is dramatic.

    Meanwhile, mundane applications let anyone quickly gum up the works with low-quality content.

    Any and every beef on the part of entertainment labor

    No, you should not be coerced into giving up your likeness for a studio to use forever just because now the computer will allow it.

    Further degradation of labor broadly

    I do not believe that this technology, now or in the future, is effective at replacing human insight or ingenuity.

    The more complicated question is how pattern synthesis fits into and disrupts our existing experience of work.

    There’s precedent for this. Before electrification and the assembly line, building things was a matter of craft and expertise. As technology progressed, this work was broken down (”degraded,” in Braverman’s parlance) into smaller and smaller fragments by industrialists, like Henry Ford, until workers no longer needed to know a whole craft, just their tiny piece of the assembly line.

    Pattern synthesis tools could inject a similar degradation into traditional knowledge work, or erode the authority of decision makers by making them resort to AI at crucial moments.

    Already, they create problems for transcriptionists and translators, who find their work far less valued than they did a decade ago. It’s meager comfort to those immediately effected, but history suggests a wholeasale displacement of a category of labor doesn’t require every category be displaced—blacksmiths had a bad time after cars replaced horses, but mostly those cars now take us to different jobs.

    On the other hand, it’s important to note that transcription of far more things happens now that it’s automated. Three years ago, transcription was a tediously manual process for TikTok creators. Today the push of a button gets them to a 90% good enough set of subtitles, making this content enjoyable for everyone, even those who can’t hear (which may be the deaf, but may be anyone else in transient circumstances, like waiting in line without headphones—the curb cut effect is real).

    Exploiting labor in the Global South at tremendous psychological cost

    In order to manicure the final product presented to users, OpenAI turned to the cheapest workers they could find on earth.

    The data labelers employed by Sama on behalf of OpenAI were paid a take-home wage of between around $1.32 and $2 per hour depending on seniority and performance.

    One Sama worker tasked with reading and labeling text for OpenAI told TIME he suffered from recurring visions after reading a graphic description of a man having sex with a dog in the presence of a young child. “That was torture,” he said.

    Western technological development has a centuries-long tradition of foreign exploitation always just hidden from view, and it seems pattern synthesizers are not exempt.

    Terrifying surveillance potential

    We now have the technology to transcribe any conversation without a human in the mix. The transcriptions are full of errors, but from a surveillance context, that doesn’t matter so much.

    It has never been more possible to thoroughly surveil the activities and communications of anyone.

    Worse still, faces can be scanned and tracked, license plates read, even gaits tracked.

    This may be the end of privacy.

    It gets worse from there, as other critiques compound into this one. The AI can be wrong, and it can be biased, and it have a disparate impact on different populations and identities.

    This is a horrifying outcome that actively denies people their liberties.

    You have to trust the platform vendors too much

    How do you know your information is safe when it’s used to accomplish work in a centralized system? Privacy policies don’t mean anything when a technical failure can breach them. It happens all the time in mundane computing. Why should pattern synthesis be unique?

    “My favorite product added AI in a stupid way and I hate it”

    Yeah, that sucks and I’m sorry. There’s a lot of sloppiness and hype going on.

    Eyes on the prize

    We are not going to turn back time, unless you have a plan that can successfully plunge global commerce back hundreds of years.

    This shit is here.

    Yes, there’s hype. Yes, there’s scumbags. But there’s also some baby in this bath water for meaningful numbers of people.

    We have to act in accordance with that reality.

    The reality is that there’s a lot to work on in order to create just, decent, scalable, personal, private implementations of this technology. I would argue we should.

    Because these tools can make us more effective. They can amplify our reach and insight, they can help us accomplish things we couldn’t on our own.

    But there’s a lot wrong with them. If we plug our ears and say this technology should not exist, the growing ranks of people who come to depend on it will brush past us, hearing only the case presented by those best positioned to profit.

    If we simply dismiss this technology, people may believe us, and find that a whole new technological paradigm has passed them by, curtailing their power and agency.

    If we let this technology become the plaything of the affluent exclusively, we’ll deepen our digital divide in a way we may not be able to recover from.

    So we need to up our game. I hope this survey of the landscape helps.

  • ChatGPT has forever changed my career

    I had certain expectations of the possible, informed by decades of building things. Some stuff lay within my zone of talent, while others lay far out of reach, in a place of broken ROI.

    Today I’m not so sure. Today far more seems possible than I ever expected.

    I’m still not sure what to do about this.

    Prologue: how applications are structured

    The structure of software has pivotal consequences for the future success of the project.

    When structure works against a project, that project is more costly to build and maintain. These costs show up in a multitude of ways:

    • Complexity cost for changes and new functionality, making it harder to implement features, harming velocity
    • Opacity cost in debugging and reasoning about the workings of the application, making it harder to recover from failures, harming velocity
    • Onboarding cost for new team members joining the project, harming velocity

    Velocity is the fuel of a software project. Velocity makes challenges feel winnable. Velocity provides a sense of progression, and it’s addicting. It feels good to build things. It feels good to see the things we imagine take shape.

    The morale benefits of velocity are intuitively understood and deliberately captured by the best software leaders. Going from zero to one is hard, and it helps when you believe it’s possible.

    Velocity ignites the fire of belief, stoking it when it falters.

    While reliability, scalability, and correctness matter, without velocity you don’t ship. If you don’t ship, your code is stillborn, and eventually, your business dies. You need a vehicle that moves.

    Like any vehicle, then, velocity is affected by structure. Square wheels don’t roll.

    To succeed in building a complex tool requires thoughtfulness about the structure you’re laying out. You need good foundations to build on, especially modularity, with seams that make composition and rework of components low-cost.

    The shape of software

    The germ of software is a set of requirements. Requirements animate software, giving it a purpose for shipping.

    Someone, somewhere, needs help.

    The software is built to oblige.

    To address requirements, we build components. Components implement some functionality, and have specific contracts and boundaries, even if only implicitly.

    Components address roles: a well-scoped need fulfilled.

    This can spool into fractal complexity. Consider an application that sends an email.

    Requirement: connect to a server and send a message.

    Simple enough. We know we need a networked app. But not enough to build with yet. Let’s try something more specific:

    Requirement: connect to a server at this URL, using a specified protocol documented at a link I’ll give you, and send a plaintext message to a user-provided identifier.

    Now we can start to sketch a component that addresses the requirement. We’ll need a NetworkClient. To do its work, the client will need to fulfill some roles:

    • Server connection checking: does this thing exist? Can we reach it?
    • Apply the protocol: Once connected, we’ll need some way convert the message into a format and transport that can be implemented by the server.
    • State management and error handling: Can we communicate the state of things to the developer, and perhaps the user?
    • Content validation: Is this message correctly addressed? Is there anything about its content that would prevent successful transmission?

    With these roles explored, you can see that a whole new round of requirements has burst forth. To address them, we’ll need to add more components to the network client. The appropriate shape for this is going to differ according to the culture of a language. In simplest form, these components might be expressed as functions. In other languages, structs, objects, enums and closures come onto the stage.

    All of these boundaries and structures are for our organizational, logical benefit. They get boiled away by the magic of compilers and interpreters into the sheer, infinitely iterating might of a computing device.

    You can make frightfully twisted structures that nonetheless run. Every developer’s career is defined by the lessons their sharp edges teach us.

    The software doesn’t care. The computer doesn’t care. The iron law of building Idea Machines is that you can do it as poorly as you want. No one will stop you except the machine itself, and only then when your intentions have veered into the impossible.

    The software professional’s job is structure that maintains velocity

    To be successful, you have to observe these mechanics as best you can, building a plan that navigates through them enough to someday ship something. This is the work of software, more than just typing things or proving you understand a bubble sort by describing one with a whiteboard. Can you meet requirements without tripping over your own shoelaces?

    This is challenging work, made all the more so by how poorly it’s explained when you’re starting out. It occurs to me that in 13 years in formal technology roles, I’ve only once had an engineering manager to guide me.

    But eventually you skin your knee enough times and learn some lessons. You develop intuitions, then routines, for how you structure your projects, break down problems, and begin solutions.

    The snag is that, at the code level, your approach to these things may be dramatically impacted by the language and framework features you have access to. Jumping into a new platform carries friction. You have to learn to apply your structural priorities according to all new instruments.

    Some are straightforward transfers, like going from a piano to a church organ. Something new but not something alien. Others are going from piano to a violin. The same rules in the abstract, but a very different tactile experience. Bridging the gap can be a lot of work, and it can absolutely kill your velocity. Backing up to figure out the specific syntax for achieving a design pattern you favor can require forum searches, reading through books and docs, or even a wait for asynchronous support.

    ‘It’s really taking you 1k words to reach the AI shit?’

    You have to understand what I understand about the proper construction of software to grasp why ChatGPT and its ilk are so transformational.

    I know how to build an object-oriented application that runs on a resource-constrained, networked device. I’ve done it so many times I can do it in my sleep now. It’s just, all that experience happened in Objective-C and Swift.

    I avoided C++ like the plague because it’s fucking weird and clunky. The code would sometimes peak out of third party components, technically viable in iOS projects, but mostly avoided except by games masochists.

    But let me tell you: I have felt a deep and seething rage about the remote controls that came with my heat pumps. Absolute garbage, marring the otherwise pristine miracle of high-efficiency heating and air for all seasons. So I wanted to fix this.

    The problem was complexity. Here are all the requirements I had to address:

    • Network connectivity with Home Assistant using MQTT
    • Infrared pulses perfectly calibrated to the timings of my specific Mitsubishi IR control protocol
    • Visual readouts using LEDs and bitmapped screen
    • Local input handling for temperature, mode and fan speed settings

    This required writing a pile of top-level components serving specific roles, like:

    • IRInterface, to manage the infrared emitter
    • Input, to capture button presses and turns of a rotary dial
    • Display, to manage screen writes and setup
    • EnvSensor, to read and publish sensor values
    • HAInterface, to coordinate remote and local state using MQTT
    • BaseView, to establish a common structure for converting local content into screen writes

    The velocity benefit of these discrete components serving specific roles is real. Days before hitting release, I discovered a terrific library that made my aging, recycled implementation of the Mitsubishi IR protocol entirely obsolete.

    Replacing it took less than 20 minutes, as I deleted huge blocks of code and replaced them with calls into the new library. Because the underlying IR implementation was entirely encapsulated as a subclass of IRInterface, nothing else in the code needed to change.

    None of it was possible without ChatGPT

    I’d attempted building the exact same project a year ago.

    It sputtered out. I couldn’t maintain velocity. Endless tangents, stumped by a compiler or runtime error, researching some syntax or another, just endless tail chasing.

    Thing is, loads of people have done this tail chasing before me. C++ is one of the great languages of computing history. It’s been used in so many ways, from hobby microcontrollers to serious embedded systems to simulations and games. There are endless forum threads, books, Q&A pages and mailing list flame wars dedicated to C++.

    Which means ChatGPT knows C++ extremely well.

    Show it code that baffles you, it can explain. Show it errors you can’t make sense of, it’ll give you context. Explain the code you want to write, it will give you a starting point.

    From there, give it feedback from the compiler, it will course-correct. Give it shit code you want to refactor, it will have ideas.

    None of it is perfect. Occasionally I could sense that the suggestions it was offering me were far more complex than the situation required. I’m sure there’s stuff in ThermTerm that would make a practiced hand at C++ cringe.

    But this is the stuff of velocity. Instead of getting stumped, you’re trying new things. Instead of giving up in confusion, you’re building context and understanding. Instead of frustration, you’re feeling progress.

    What matters is, I shipped

    All around my house is a network of environmental sensors and infrared emitters. Their current uptime is measured in months, and they still faithfully relay commands and provide remote feedback.

    They are working great.

    My curiosity could be immediately and usefully satisfied. I asked things like:

    Would it be possible to replace these lookup arrays with dictionaries? [redacted pile of code]

    I was concerned that keeping indices straight would be more brittle than naming values by keys.

    Why is the compiler unhappy? [redacted pile of error spew]

    I was genuinely stumped.

    What does this error mean? “‘HVACCommand’ does not name a type”

    I’d stumbled into a circular dependency, and the tools expected me to manage it.

    In each case, missing pieces of context might have derailed my sense of progress and confidence, prematurely ending my coding session. Instead, ChatGPT gave me enough useful guidance that I could overcome my roadblocks and deliver on my next requirement.

    Stitch enough of these moments together, you’re going to ship.

    It doesn’t work this well with everything. Like I said, there’s loads of content about C++ for an LLM to absorb. Newer stuff, less popular stuff, you’re probably more prone to silliness and hallucination.

    Still, you can accomplish so much with languages that exert the sort of cultural gravity that make ChatGPT especially useful. JS/TypeScript, Ruby and Python will all let you build the web. Swift will let you build native apps for Apple platforms, while Java and Kotlin will get you there for Android.

    There are more languages still, serving more domains and platforms, all popular enough to get useful advice from ChatGPT.

    Developer switching costs are now much lower

    It’s never been this easy to be productive in an environment I know well, because it’s never been possible to get this kind of consistent stimulus to velocity.

    It’s never been this easy to become productive in an environment I don’t know at all, for the same reason.

    I feel like I can build anything now, and ThermTerm is just one of several projects this year that has cemented that conviction. This is a transformation. I’m different than I was. I have more power, my ambitions have greater reach.

    But what’s worrisome about this to me is that, at least so far, there’s really one game in town. I was excited to try the new GitHub Copilot beta, but I found it not nearly as consistently helpful as ChatGPT, even though switching to the web browser to use it involved more friction. Other solutions may exist, but no one is coming close right now to the quality and reliability of ChatGPT for this category of work.

    Forget AGI.

    There’s a serious social risk to a company that can monopolize this much influence over our productivity.

    I am more certain than ever that this technology will be as essential to our experience of building software as compilers or networks or key caps. $20 for a month of ChatGPT can produce many multiples of that value in the right hands.

    So to me the future of AI, whatever it holds, carries risk of entrenching OpenAI with the same level of power as Standard Oil or Old Testament Microsoft: able to shape the very playing fields of entire sectors. For the time being, OpenAI has the best stuff. They can influence the productivity of millions, their scale of impact limited only by GPU scarcity.

    There’s more than hype here. The technology is real. There are many who adopt an understandable posture of defensiveness to the technology industry’s fads and whims. In the wake of cryptocurrency bullshit, this has largely taken the form of reflexive skepticism.

    I don’t think that’s the move on LLM’s. I think the more productive stance is to be proactive at monitoring the growing power of AI’s purveyors. This stuff has serious cultural transformation built into it, and it’s going to happen whether you personally believe it or not.

    People want to do silly things with LLM’s, like replace writers and artists. I don’t think that’s going to work that well. Instead, I see these tools as amplifying the individual reach of any given person who has access to them.

    Instead of dismissing or decrying them, we need to get to work democratizing their access, or this will become a serious vector of inequality.

    As for myself… for a mere $20 a month, I am transformed. Two thousand words later, I still don’t know what to do about it. It takes time to make sense of options that are multiplying. Loads of people are going to land in that spot in the coming months.

    But eventually people are going to figure it out. Hold on to your ass for the social consequences of that.

  • If you can use open source, you can build hardware

    As a technologist, hardware has always been my final frontier.

    Things you can touch, things that create physical outcomes, these can have so much more power than software alone. But the cost of that power is complexity. Electrons don’t care about our ambitions. Circuits can be harder to debug than code. And even if everything works perfectly on the level of logic and voltage, you’re still managing the complexity of physical objects, their wiring, their position in space, and even their heat dissipation.

    Building any product is hard, but building a hardware product is a superset of the basics of any product challenge, adding in the iron constraints of the physical world. It’s not enough to imagine how something looks: you have to also find a way to build it in a way that matches your imagination, while simultaneously accommodating all those physical constraints.

    It’s work.

    But also? It’s never been easier than it is today. I just built complete replacements for my heat pump controllers. I hated those dinky remotes. You couldn’t read them in the dark at all, and programming them was about as bad as anything you remember from the bad old days of VCRs.

    I imagined something that would solve their UI problems, and integrate my heat pumps into my home automation system. I’m not an electronics engineer, but my dreams are now real. I’ve got five of these across the house.

    A thermostat-like thing, fully-custom made by me

    Using open source code is a skill: knowing how to navigate repos and someone else’s code, understanding how to troubleshoot and navigate communities to get help, discerning between quality projects and junk… this experience is a hard-won component of being a modern software explorer. It can take you further than you might realize, past mere bits and into the land of electrons and atoms.

    Of course: microcontrollers

    Arduino was a revolution in developer experience.

    Beginners could write simple C code and and have a physical computing experience within the space of five minutes.

    But since the advent of Arduino, the landscape of microcontroller boards—components that can be programmed to emit and receive complex electronic signals—has exploded.

    Boards of every scale and configuration are available today, from the size of a peanut butter and jelly sandwich all the way down to a postage stamp. Microcontrollers are the foundation of the hardware adventure, allowing infinite iteration of custom logic on inexpensive components. Different designs sport different connectors and accessories. There are also different chip architectures out there, and boards built around ESP32, or the new Pico W, even include WiFi and Bluetooth capabilities.

    Unifying all of this are software ecosystems. Open source Arduino code exists to solve so many kinds of problems, from networking to button handling. Regardless of your board’s architecture, there’s usually a port of the Arduino environment you can use, opening up all that code for your project. If you prefer Python, the MicroPython and CircuitPython projects even offer an alternative to C/C++.

    But the ecosystem doesn’t stop at software.

    StemmaQT and Qwiic: an old standard with new strategy

    I2C is a two wire serial data standard that dates to 1982. In practice, it looks and works a lot like USB: two more wires add power and ground, and you can chain dozens of devices together on a single bus.

    For the typical hobbyist hardware tinkerer, the hardest challenge comes down to circuit design. Electronics is arcane, governed by both the laws of physics and decades of component lore. Building circuits means understanding how to use all of these to channel electrons consistently, without letting the magic smoke out. It means understanding how to adjust voltages, manage resistance, and do it all in a way that’s physically sturdy and manageable.

    This is a tall order. I’ve never had the time or motivation to learn enough circuit design to build anything more complex than arrays of blinking lights.

    But now, I don’t need to.

    If you build modern software, you’re well-versed in composition: grab a handful of existing projects—a database here, a UI framework there, an HTTP library to round it all out—and arrange them together. You write your custom logic—the stuff unique to your project—and let other people’s code do work that’s common across all projects.

    Thanks to I2C and a convenient cable standard—branded StemmaQT by Adafruit, and Qwiic by Sparkfun, two leading hobbyist component vendors—the same approach to composition is possible in an electronics project. Decide your requirements, and you can probably find a few boards you can quickly wire together—without soldering!—that will address your problem.

    In the case of my heat pump controller:

    All of that just plugs in via I2C. Each board, like a well-made library, abstracts its gnarly implementation details under the hood. You don’t worry about power management, or the details of how to interpret signals as input from a rotary encoder.

    Prototype with various components affixed to cardboard

    Instead, after wiring things together, you look up the example code for each component, and adapt it to your project. In the past, actually using these components could be something of a mystery. But now vendors go to great lengths to maintain supporting libraries and docs—developer experience sells!

    Adafruit deserves special mention here: they have hundreds of useful, unique boards that support this compositional approach, and their supporting materials are just exhaustive.

    Again, if you know how to apply open source code, you can do this.

    From imagination to physical objects

    Once you create a working circuit, you can take it all a step further: design and manufacture your own custom enclosures.

    It’s really kind of nuts: for $500, you can buy an incredible, reliable 3D printer from Prusa. You can’t beat Prusa: the printers come out of the box working perfectly, they’re vertically integrated with Prusa’s excellent cross-platform slicer software, and the user community is among the most active and helpful of anything on the internet. At that price, its build volume isn’t mammoth, but it doesn’t have to be for electronics projects.

    Open hardware vendors often provide 3D models of their products you can bring into a CAD program. With these models, it’s possible to design plastic cases with perfect accuracy, allowing you to mount and arrange the various boards in your project.

    CAD model of the device's internals

    Best of all, iteration is fast and cheap. Trying a new version of a design takes only a few cents of material and time to print it. You can figure out quickly if your approach is working. Remember heat dissipation? Waste heat from the microcontroller was biasing my temperature sensor. It only took a couple evenings to find an iteration of the case that solved the problem (I moved both sensors to the top side of the enclosure).

    There is a learning curve to 3D printing. It might be the steepest factor here, in fact. Like electronics, 3D printing also has constraints to manage: you have to work with both heat and gravity, and design your models with that collaboration in mind. The physics of how layers are deposited impacts the strength and durability of your output, so the orientation at which you print can have consequences. Choice of materials also matters. I found PETG to be the ideal material for this kind of work: it’s easy to work with and super durable. By contrast, the more common PLA was too brittle.

    You’ll also want to pick up some CAD skills, but this is less painful and more fun than you might imagine. CAD seems to be the fine art of sketching simple flat shapes, pulling and pushing them into 3D objects, and carving away at small details. I couldn’t stand most of the affordable desktop CAD software—it feels icky, like using a poorly-aged Flash app in IE6. Then I found Shapr3D, for iPad.

    This is some futuristic shit. You tap away with your Apple Pencil, on a tablet computer, drawing things out of your imagination. You nudge your sketches into models, which turn into prints. There’s something far more intuitive about this process than using keyboard and mouse. The positive future shock makes me delirious if I dwell on it.

    Community is everything to learning emerging skills. Hobbyists are deeply engaged with 3D printing, and you’ll find help for everything from planning your models to debugging thermal drama with your prints.

    I think you should try it

    I’ve been dreaming of building my own electronics since I was a kid. I spent so many afternoons at Radio Shack, and even tried my hand at the occasional kit, with limited success. Every few years in adulthood, I’ve given it another try, observing a steady downward trend in difficulty.

    I’m telling you: we’re at a special moment here. The labor savings of open source, the composability, the fun: all of it has come to hardware. You can build things that solve real problems for yourself. I first imagined my heat pump devices over a year ago, and I have been frustrated they didn’t exist every day since.

    Now my dreams are real, and the largest energy consumer in the house can be automated and remotely controlled.

    That’s amazing.

  • The privilege of knowledge work in climate crisis

    I’d been hearing warnings for days.

    The storm would be serious. I should take precautions. My neighbors said it. People in town said it. The radio said it.

    But this wasn’t about the recent, torrential summer rains that scoured the northeast, flooding towns, destroying homes and carving away roads.

    This was six and a half months ago, as a strange winter storm bore down.

    That day started with intense rains and wind, and felt oddly warm. Things were closer to the t-shirt weather I’d expect in Vermont’s October, despite being a week from the New Year. Still, the strength of the storm knocked out power as early as 8 AM.

    By noon, grim state officials warned that devastation was substantial. More than 70,000 homes had lost power. Unlike other storms, we would have to be prepared for restoration to be a multi-day effort. Worse yet, the day’s events weren’t over. Things would get even worse as evening came and temperatures dropped. We should plan to be somewhere safe no later than 4 PM.

    I took the opportunity to stock up on sandwich fixings and other foods that wouldn’t need a working kitchen.

    Then the turn came. I’ve never seen anything like it.

    At 4 PM, you could be out comfortably in shorts. By 6 PM, the temperature had dropped to below freezing, snow piling up fast.

    At home, we scrambled to insulate the windows with towels, trapping what meager heat we could. Without power, the boiler couldn’t run. If the house’s internal temperature dropped to 20 degrees Fahrenheit, we’d run the risk of pipes bursting, damaging everything.

    A large pile of wood was fed continuously into the wood stove. In the mornings, I’d fight a 120v generator, yanking its pull cord desperately. After 20 minutes of these ministrations, it would keep the refrigerator running and charge our devices.

    In total, my house spent six days without power.

    At Foo Camp, Mika McKinnon had once advised that you survive disaster scenarios with the help of your neighbors. And it’s true: the kindness of neighbors whose generator could power their boiler and well pump provided a few much-needed showers, as essential to sanity as hygiene.

    That week felt like one of the longest in my life. The house needed care and protection, lest it succumb to the cold. The cats needed the same. I was stuck with the situation.

    And yet, I was lucky

    As a knowledge worker, whether I’m drawing a salary or working freelance, I have abundant flexibility. I can move my schedule around, take time off, and work where I want to.

    A week without power was a week where I could focus on the problems right in front of me with no economic penalty, and no work-related distractions. As a salaried employee of a public technology firm, in fact, I’d already been given that Christmas-to-New Year’s time off.

    I needed every minute of the day, either to work or to rest. Keeping a house working amidst infrastructure failure is a serious job. It required hauling wood from outside to inside, and managing buckets and improvised plumbing for the toilet. The generator needed to be tended on a regular schedule, to keep the food safe in the refrigerator, along with errands to replace the propane that it consumed for fuel.

    But I had those minutes.

    The structural feedback loop of luck

    Last week was no picnic, either. After 16 hours of rain, the drainage system in my basement gave up. Water came pouring from two floor drains, swiftly filling the basement by two inches at its worst. Holding the line against the water was a whole-day project of pumps and wet/dry vacuum cleaners, and eventually the water started winning.

    But even in this, I was among the lucky. Just minutes down the road, homes and businesses too close to the river would be properly flooded, and no amount of pumping could protect them. The waters would destroy or contaminate everything they touched, from bedding to appliances to furniture, inventory and clothing. The basics of everyday life and commerce, lost overnight.

    Further on, some places got it even worse, with houses torn loose from their foundations. There are now streets lined with ruined household possessions, caked with mud, piled eight feet high.

    None of these people experiencing these losses did anything to deserve this. They were just living where their economic circumstances allowed, in a historically tight housing and rental market.

    As a knowledge worker, I had a little exposure to the extreme prosperity of the innovation economy. I still have to work for a living, but I got just enough to give me a downpayment on a house, and broad choices about where to settle down.

    Fearing exactly this category of weather, I chose a house with characteristics that seemed resilient. In this case, being on high ground, with slopes and other features that would draw water away from the most important structures.

    Water pooled in the basement because the ground was saturated by continuous rainfall, not because the immediate surroundings were flooding.

    Just as it seemed the battle against the basement drains couldn’t be won, experts arrived to install a sump pump. The proposition cost $4,000 and involved a jackhammer punching a hole in the floor. The tradesmen had to deploy a temporary solution at first, so they could get themselves back home—rains were intensifying more quickly than we’d all expected.

    But by 6 PM, drains were draining again, a sump pump was clearing the water, and there was no further danger to my house.

    The day was stressful and exhausting.

    But that night, I slept in my bed. I didn’t have to abandon my house to mud, stay in a shelter.

    Once again, I had the flexibility in the day to do battle with the elements. When it came to expert help with my crisis, ready access to credit made an easy decision: spend $4k now to protect the long-term integrity of the house, and keep it habitable in the immediate term.

    Not everyone has this flexibility.

    Renters don’t get to make this category of decision. They’re at the whims of their landlord, who may have a very different decision making calculus around whether to preserve immediate habitability, versus taking an insurance payout.

    Worse still, not everyone can absorb a sudden $4,000 expense. For me that still hurts, but the math works out: money put into the house increases its value. I can tell any future buyer that the property is now resilient even against hundred year rainstorms.

    The climate comes for us all, but first it comes for the vulnerable

    Things have been edgy since the flood. The threat of more rains kept anxieties simmering. At last we got some serious sunny days to raise our spirits.

    Only for the air quality index to soar, adding haze to the skies and to our lungs. Forest fires in Canada are ongoing.

    As a knowledge worker, I’m handling my client work from inside. My economic leverage allowed the addition of heat pumps to the house, so I can keep things cool without opening the windows. Air filtration in multiple rooms keeps fine particles out of my lungs.

    Once again, I am annoyed and inconvenienced, but overall I am safe.

    For those whose jobs keep them outside—work in the trades, agriculture, and countless others—the air poses more serious problems that can impair breathing and, eventually, long term health.

    Luxury in the climate crisis is maintaining routines and self-regulation

    Someday, I must assume the climate crisis will come for me. It probably won’t be flooding. I’m hopeful it won’t be fire. Extreme winds are probably my biggest threat in the future. Moreover, I’m not independently wealthy: I have to work for a living.

    Still, my economic position as a knowledge worker gives me substantial resilience against many other threats. Let’s recap:

    • Past access to prosperity granting me more options for where to live
    • Schedule flexibility
    • The ability to create serious economic impact regardless of where I’m located geographically
    • Economic leverage to make climate-related improvements to my house, even at a moment’s notice

    This stuff leaves me likelier to remain in the driver’s seat of my life, even with the variety of curveballs the climate throws at us every year.

    The more insulated from these consequences I am, the more likely I am to be well-rested, able to maintain my health and continue making good decisions. I’ve been absolutely wrecked by the events of the last week. Limiting the damage from water took days of effort. Mold is serious shit, and I’m deathly allergic to it.

    But I’ve been merely inconvenienced. In between ripping out basement carpet, I could maintain progress with my business, continue meeting with clients, continue doing work.

    I can’t imagine how much harder it would be to be displaced from my home—especially with the lingering effects of Covid adding risk to sharing shelter with others. I can’t imagine losing my everyday property. Seeing my clothes ruined, my kitchen unusable, my house unlivable. I can’t imagine trying to keep the economic wheels turning with those pressures on my back.

    Ten years ago, in reference to McIntosh, I took some time to unpack my own knapsack. While there is much there I would likely say differently today, I’m back to the same conclusion:

    I feel fortunate within my circumstances, and feel a responsibility to others who don’t share my advantages.

    These crises will continue. We’ve just had the hottest week on record. Whether it’s extremes of temperature or intense weather, whether it’s immediate natural disaster or distant fires polluting our air, whether it’s new invasive life or even disease—the effects of climate change are now constantly upon us.

    People are hurting. These events are callous and damaging. The immediate stress and exhaustion are serious problems, but there’s long term trauma to contend with as well.

    We must also understand elements of the growing labor movement in this context. A primary issue for UPS drivers is an aging fleet of trucks not equipped for modern heatwaves. Heat is harming farmworkers as well. Entire categories of work are becoming consistently unsafe as a consequence of climate change.

    You don’t have to take my word for it, because none of this is isolated. There’s been catastrophic flooding of New York City’s subways, plus heat waves and forest fires in the Bay Area. Tangible evidence is all over the place. And however it manifests itself, some workers are exposed, while knowledge workers have more options.

    Justice and decency demand we look this problem in the eye, in proactive solidarity. We owe each other better than letting the most vulnerable among us simply absorb the brunt of these consequences.

    This is just the beginning. I can and do take local steps to support my community, but I don’t know what to do about just how big the problem seems.

    If you have any ideas, I hope you’ll reach out and share them with me.

  • Cyberspace: The case for Augmented Reality

    In the 90’s, we over-used the term “cyberspace.”

    We needed something to explain the increasing incursion of the digital world into our everyday reality. Computers and the internet were becoming more central to our lives, and in the process, becoming a destination.

    We needed a phrase to describe the abstract plane of existence that could stitch together far-flung computer systems, and their associated humans. If we were “going online,” where exactly would we arrive?

    It was cyberspace.

    As time went on, the term grew passé. The internet went from curiosity to compulsion to mundane component of everyday life. “Cyberspace” was an artifact of a more naive time, and we rolled our eyes.

    But today I want to argue that we need this word. We need it to understand the perils and opportunities of the future. We need it to understand the motivations of enormous corporations who are investing in the next stage of our explorations into the digital realm.

    Cyberspace was here all along. We just stopped giving it a name.

    Cyberspace, defined

    Let’s start with the basics.

    You and I were born in real space. It has fixed and stubborn rules. Gravitation, thermodynamics, chemistry, and perhaps most importantly, locality.

    In real space, you are where you are, and cannot be anywhere else except by crossing all the places in between, which can take quite some time. Real space is governed by scarcity: you have one favorite shirt, unless through some miracle of prescience you grabbed a second one off the rack, and then you’d have to pay for both of them.

    Cyberspace has different rules. Here’s the most important:

    Information is physical.

    The underlying substrate of cyberspace lives here in real space. Cyberspace emerges from a global mesh of computing devices. If one of those devices is unplugged or crashes its hard drive, then whatever components of cyberspace that computer is responsible for will blip out of existence. If the computer is slow, its rendition of cyberspace will be, too. Meanwhile, the fabric joining cyberspace must also be physical: electrical signals, pulses of light, or radio waves. It takes time for these signals to propagate. Nothing is instant, merely fast: nearly the speed of light.

    Still, the speed of light is so much faster than our minds are equipped to perceive. This creates a functional illusion of non-locality in cyberspace.

    In other words, you can be anywhere instantly.

    In practice, there’s an asterisk. Even the speed of light adds up over time. If there are too many hops between you and your destination, you may start to perceive the physical distance between computers as a delay.

    But overall, the effect of cyberspace is to collapse global distances. Through cyberspace, you and a team spread across continents can comfortably share the same information and resources. You can communicate in real time. The magic of the internet was, and remains, our ability to reach people and information anywhere in the world.

    Meanwhile, everything copies for basically free. Once again, the real space underpinnings show up here: you need a physical location that stores data. But with that requirement satisfied, everything can be copied at virtually no cost. Entire business revolutions were built on this exact premise.

    That’s just the start, though.

    Reefs of the imagination

    Because you can create in cyberspace.

    Through these information systems, we can create bubbles within cyberspace that are subject to rules we choose. Quake II, Fortnite, Twitter, World of Warcraft… all of these are places where the infinite plasma of cyberspace is sculpted by the imagination into reliable structures. We can enter these bubbles and share experiences with one another, creating memories, building relationships and honing skills.

    In 2023, we are surrounded by vast reefs of the imagination built in cyberspace. They are games, social spaces, markets, and clubhouses.

    Tens of millions of knowledge workers wake up every day to architect, design, build and maintain these structures. It’s a complex job.

    Yet, every year it becomes a little easier. While literacy for the required topics expands, the complexity of the tools becomes more and more manageable.

    Portals into cyberspace

    Since the dawn of consumer computing, the screen has been a primary portal into cyberspace.

    What began as a few thousand pixels has exploded into the millions on high-end displays. Display technology is of particular interest to gaming, which has often occupied the bleeding edge of cyberspace possibility. Gamers spend thousands of dollars for large, pixel-packed displays and the high-end video cards that can drive them. Rich detail is emphasized, but so is frame rate: the number images per second a simulation can push onto the screen. 60 frames per second was once the ideal, but now high end rigs shoot for 120.

    Why go to this trouble? Because gamers are working to thin the barrier between real space and cyberspace.

    This is the point where some find it easy to moralize about the virtues of real space over cyberspace. To declare these interests antisocial, or even corrosive. While I am the first to find fault with all manner of radicalizing internet subcultures, my position on pursuing visual fidelity in simulation is that it’s value neutral, even if gratuitous in some cases. This is a form of craft, magic, and entertainment, and all of these things can exist on a spectrum across the toxic to the beneficial.

    A diagram showing a person gazing through the narrow window of a monitor into cyberspace

    Still, even the biggest monitor and most powerful video card have limitations. They are, at best, a small window onto a much larger universe.

    A person surrounded by a bubble of cyberspace

    Augmented Reality (AR) technology—or as Apple prefers it, “Spatial Computing”—would replace the window with an all-encompassing membrane. Cyberspace is all around you, a soap bubble over real space.

    Which means the cyberspace powers of instant information, non-local communication, creativity, and unlimited duplication can leak further than ever into real space. Meanwhile, the scale of our relationship to cyberspace changes. We can be enveloped by it, and we can make it fit into contexts previously reserved for things like furniture.

    Anything digital can be as big as your couch.

    Or as big as your room.

    The problem is that pulling this off in a way that’s persuasive is exceedingly difficult. We don’t have technology like holograms that can project cyberspace onto real space. The best we can do right now is to ingest a bubble of real space into cyberspace, and then draw pictures over top of it.

    Mostly, attempts to do this have been shoddy at best. It’s just a fundamentally hard problem. The eye is not easy to fool, and even now it’s barely possible to get the components small enough to fit comfortably on the face.

    An ostrich shoves its head into a purple hole, inside a bubble of cyberspace

    So instead, companies have been selling virtual reality, which like an ostrich, asks you to shove your head in a dark hole while your ass hangs out.

    It’s not great technology. It’s neat for an hour, but the novelty wears off quickly. For one thing, it’s wildly inconvenient. You can’t actually see any of the real space artifacts that will absolutely kick your ass if you trip over them.

    Worse still is that the images aren’t quite nice enough to be worth becoming your entire universe. The video is kind of grainy and, for many, causes motion sickness.

    What comes next

    Apple put us all on notice this week that we’re now on the threshold of proper AR. The era of ostrich malarkey is at an end. They have the technology all fitting together such that it can persuade our eyes and minds.

    It’s not perfect.

    For one thing, the first model costs $3500. But before you assume it’s doomed, remember the first Macintosh cost almost twice that after adjusting for inflation. So most people didn’t own the first Macintosh.

    But many more owned later models. And more still owned the Mac’s Microsoft-driven cousins. It took about 16 years to make the shift, but the GUI/screen/mouse portal to cyberspace became affordable and ubiquitous, helped along by advances in computing and improved efficiencies in mass production.

    AR is going to need its own advances, because consensus among reviewers is that while Vision Pro is doing something impressive, it’s also quite heavy.

    It is interesting that Apple chose the moment when the technology integration was good enough, but not perfectly comfortable, nor particularly affordable. It suggests they think there’s a solid early adopter crowd they can nonetheless make happy, that the state of the technology won’t poison the well.

    I suppose Tim Cook did learn that lesson the hard way.

    Skeptics with an eye toward history could use this opportunity to compare the Vision Pro with a number of failed CD-based consoles of the 90’s. Hell, Apple even had one: Pippin.

    But what’s different here is that Apple has spent so much effort building a unified ecosystem of content and services, merely implementing their own apps could make the Vision Pro compelling to the sort of person who can afford to buy it.

    Meanwhile, with so many frameworks shared with iOS, there’s an enormous community of developers who already know the basics of building for this platform. There’s already a library of apps ready to run. If this truly is the next paradigm of computing, plenty of devs will enjoy the shortest learning curve in history while transitioning to it. They already know the programming language, the APIs and design patterns, even the quirks of the platform vendor’s distribution agreements.

    In short, I think this chapter of computing really is Apple’s to lose, and that their track record is strong enough to assume they really have their arms around the technology challenges.

    At least, that’s what the reviews are suggesting. Gadget reviewer Marques Brownlee summarizes by saying it has the best “passthrough” (of visual surroundings) he’s seen in this category of device. And that it’s kind of heavy.

    So: Not perfectly comfortable, but it can produce the illusion of reality on a persuasive level. Which means soon enough, through ongoing miniaturization, it’ll be both comfortable and persuasive, and then it’s over the for the computer monitor.

    The next few years will be about figuring out a whole new chapter in user interface and interaction design. We’re going to see novel forms of creative expression that that both target this technology, and are enabled by it. I can imagine a whole new chapter of CAD software, for example, along with the next generation of 3D/spatial painting products in the vein of Google’s Tilt Brush.

    I also think this chapter of computing is really going to freak some people out. This will occupy a spectrum from the productive to the sanctimonious, but I think all transformational technology is worth a skeptical eye.

    There are some who will instinctively react with a deep, limbic revulsion against being enveloped in this way. Everyone is allowed a preference, though mine would not match yours.

    I’m not worried about privacy or platform integrity with Apple, but experience with cell phones shows us that the lower end of the market is a free-for-all in terms of privacy-eroding crapware. AR is loaded with cameras and sensors, and if Apple’s approach is to be believed, eye tracking is essential to making the illusions of AR persuasive. This is so much potential for abuse of everything from biometrics to images inside the home. Consumers should stay vigilant to these threats.

    More abstractly, it’s worth asking about the long term consequences of immersion in cyberspace. A sufficiently advanced version of this technology could create persuasive images that left reality feeling lacking, depending on your reality.

    More dramatic still: what does it mean to be influenced on this level? What can I make you believe with AR that would be impossible with film or prose? Forget advertising… imagine political manipulation and hate movements. And what about harassment? That’s all sobering shit.

    So I think blind optimism may be unwise. This really is powerful stuff, and any serious power comes with sharp edges.

    On the other hand, I’m excited. Cyberspace has been a part of my life since I was seven years old. I value my adventures and accomplishments there. I have spent decades honing skills for expression and creativity in that strange plane of possibility.

    I can’t wait to see what is creatively possible for us on this new frontier. I want to see what can be made here that’s good, positive and optimistic. I want to know how we can be closer, share more experiences, even if we’re far apart. There are so many ethical lessons this generation of computing professionals can draw from. We’ve learned so much the hard way. I want to see how can we use this power for good.

    And, more practically: I want to know if I can avoid ever going to a fucking office again.

    However you lean, I would buckle up. Something big is coming.

  • Leviathan Wakes: the case for Apple's Vision Pro

    VR is dogshit.

    The problem is the displays. The human eye processes vast amounts of data every second, and since I took the plunge into modern VR in 2016, my eyes have always been underwhelmed.

    They call it “screen door effect:” we readily perceive the gaps in between a headset’s pixels, and the cumulative effect as you swing your vision around is the impression you’re seeing the virtual space through a mesh. Obviously, this breaks the illusion of any “reality,” once the initial charm has worn off.

    Density has slightly improved over the years, but the quality of the image itself remains grainy and unpersuasive.

    This problem is one of bare-knuckle hardware. It’s expensive to use displays that are small and dense enough to overcome the headwinds of our skeptical eyes. But even if those displays were plentiful and cheap, the hardware needed to drive all those pixels efficiently is your next challenge. Today’s most powerful graphics processing cards are themselves as large as a VR headset, with massive cooling fans and heatsinks.

    Of course, mobile phone vendors can’t indulge that size. By contrast to the gluttonous power budgets of a desktop gaming PC, phones have to be lean and efficient. They have to fit comfortable in the pocket, and last all day and into the evening.

    Against these constraints, Apple has been engineering custom silicon since their 2008 acquisition of PA Semi, an independent chip design firm. As Apple’s lead in mobile phone performance—including graphics processing sufficient to high-end graphics on premium, high-density screens—one thing became clear to me:

    Eventually their chips would reach a point where they could comfortably drive an ultra-high density headset that defeated all the obstacles faced by cheaper entrants in the VR race.

    After years of quiet work beneath the surface, Apple’s AR leviathan is upon us, barely at the border of the technologically possible.

    And it’s a good thing it costs $3,500

    No, hear me out.

    VR/AR/XR is being held back by the rinky-dink implementations we’re seeing from Oculus, Vive and others. There’s not enough beef to make these first-class computing devices. It’s not just that they’re underpowered, it’s also that they’re under-supported by a large ecosystem.

    By contrast, Apple said “damn the cost, just build the thing, and we’ll pack every nicety that comes with your Apple ID into the bargain.”

    So it has it all:

    • LiDAR sensor
    • God knows how many cameras
    • Infrared sensors to detect eye movement
    • An iris scanner for security
    • A display on the front portraying your gaze so that you can interact with humanity
    • Ultra-dense 4K+ displays for each eye
    • Custom silicon dedicated to sensor processing, in addition to an M2 chip

    How much of these are necessary?

    Who knows. But developers will find out: What can you do with this thing? There’s a good chance that, whatever killer apps may emerge, they don’t need the entire complement of sensors and widgets to deliver a great experience.

    As that’s discovered, Apple will be able to open a second tier in this category and sell you a simplified model at a lower cost. Meanwhile, the more they manufacture the essentials—high density displays, for example—the higher their yields will become, the more their margins will increase.

    It takes time to perfect manufacturing processes and build up capacity. Vision Pro isn’t just about 2024’s model. It’s setting up the conditions for Apple to build the next five years of augmented reality wearable technology.

    Meanwhile, we’ll finally have proof: VR/AR doesn’t have to suck ass. It doesn’t have to give you motion sickness. It doesn’t have to use these awkward, stupid controllers you accidentally swap into the wrong hand. It doesn’t have to be fundamentally isolating.

    If this paradigm shift could have been kicked off by cheap shit, we’d be there already. May as well pursue the other end of the market.

    Whether we need this is another question

    The iPhone was an incredible effort, but its timing was charmed.

    It was a new paradigm of computing that was built on the foundations of a successful, maturing device: a pocket-sized communicator with always-on connectivity. Building up the cell phone as consumer presence was a lengthy project, spanning more than two decades before the iPhone came on the scene.

    Did we “need” the cell phone? Not at first. And certainly not at its early prices. It was a conspicuous consumption bauble that signaled its owner was an asshole.

    But over time, the costs of cellular connectivity dropped, becoming reasonable indulgences even for teenagers. Their benefits as they became ubiquitous were compelling: you could always reach someone, so changing plans or getting time-sensitive updates was easier than it had ever been in human history. In emergencies, cellular phones added a margin of safety, allowing easy rescue calls.

    By the time iPhone arrived, the cell phone was a necessity. As, for so many today, is the smartphone.

    The personal computer is another of today’s necessities that was not always so. Today, most people who own computers own laptops. The indulgence of portability, once upon a time, was also reserved exclusively for the wealthy and well-connected. Now it is mundane, and a staple of every lifestyle from the college student to the retiree.

    Will augmented reality follow this pattern?

    I’ll argue that the outcome is inevitable, even if the timing remains open to debate.

    Every major interactive device since the dawn of consumer computing—from the first PCs to the GameBoy to the iPhone—has emphasized a display of some sort. Heavy cathode-ray tubes, ugly grey LCD panels, full-color LEDs, today’s high-density OLED panels… we are consistently interfacing through the eyes. Eyes are high-throughput sense organs, and we can absorb so much through them so quickly.

    By interposing a device between the eyes and the world around us, we arrive at the ultimate display technology. Instead of pointing the eyes in the direction of the display, the display follows your gaze, able to supplement it as needed.

    An infinite monitor.

    The problem is that this is really fucking hard. Remember, we started with CRT displays that were at least 20 pounds. Miniaturization capable of putting a display over the eye comfortably is even now barely possible. Vision Pro requires a battery pack connected by a cable, which is the device’s sole concession to fiddly bullshit. Even then, it can only muster two hours at a single charge.

    Apple is barely scraping into the game here.

    Nevertheless, what starts as clunky needn’t remain so. As the technology for augmented reality becomes more affordable, more lightweight, more energy efficient, more stylish, it will be more feasible for more people to use.

    In the bargain, we’ll get a display technology entirely unshackled from the constraints of a monitor stand. We’ll have much broader canvases subject to the flexibility of digital creativity, collaboration and expression.

    What this unlocks, we can’t say.

    The future is in front of your eyes

    So here’s my thing:

    None of the existing VR hardware has been lavished with enough coherent investment to show us what is possible with this computing paradigm. We don’t know if AR itself sucks, or just the tech delivering it to us.

    Apple said “let’s imagine a serious computer whose primary interface is an optical overlay, and let’s spend as much as it costs to fulfill that mandate.”

    Unlike spendy headsets from, say, Microsoft, Apple has done all the ecosystem integration work to make this thing compelling out of the box. You can watch your movies, you can enjoy your photos, you can run a ton of existing apps.

    Now we’ll get to answer the AR question with far fewer caveats and asterisks. The display is as good as technologically possible. The interface uses your fingers, instead of a goofy joystick. The performance is tuned to prevent motion sickness. An enormous developer community is ready and equipped to build apps for it, and all of their tools are mature, well-documented, and fully supported by that community.

    With all those factors controlled for, do we have a new paradigm here?

    What can we do with a monitor whose size is functionally limitless?

    I’m eager to see how it plays out.

  • Fandom: The grand unified business case for developer experience

    Once upon a time, UX become a big buzzword in software.

    Reasonable enough: UX ensured the person who landed on your digital product could happily navigate the critical path that ended with your making money. It was discovered that frustrated or confused customers abandoned shopping carts. Good money was being spent on everything from ads to headcount to server infrastructure, all with the hope that customers would engage in a transaction. But pesky things like subjective human experience were getting in the way.

    Bad user experience increased customer acquisition costs, because some percentage of customers would bounce off of your product even if it absolutely could solve their problem, simply because they couldn’t be bothered to finish the transaction.

    Investments in UX sealed gaps in the funnel, but successful UX had more holistic consequences. My first paid development gig was running mobile for Hipmunk, a travel search startup that differentiated on user experience. Hipmunk’s investment in UX translated into powerful word of mouth marketing. Users gushed to friends about our Gantt chart UI and a helpful sorting algorithm that penalized high “agony” flights.

    Hipmunk was the best way to find a flight. It was fast and easy to pick something that would work great for your budget, comfort and plans. Skimming the Gantt chart made it much clearer how long any given trip was, and what kinds of layover penalties you endured in exchange for a cheaper ticket. It was easy to be confident because the best flights popped out of the results like beacons.

    Sadly, the margins on selling plane tickets were shit and Hipmunk took an exit. But the lessons here are germane to developer experience as well.

    Developer experience practice perceives a funnel, smooths its rough edges, and closes its gaps

    A developer tools business has a funnel like anyone else. At the top of the funnel are people with problems. At the bottom of the funnel are people who depend on your tool to solve those problems, thanks to a successful integration.

    There’s some Pareto stuff going on here: a smaller chunk of these developers will actually make you money. But with luck, the pleasure of using your tool will make most of this population happy to recommend you, regardless of individual spend. We’ll get back to this.

    First, let’s talk about the funnel.

    An abstract developer tools funnel

    A funnel illustration with steps progressing from awareness, experimentation, success and fandom

    In a developer product, your job is to shepherd developers through these steps:

    1. Awareness: “I understand how this tool can help me”
    2. Experimentation: “I am playing around with the tool to evaluate its power”
    3. Success: “The tool has helped me reach a goal”

    The more people who reach the end state of that funnel, the broader the network of people willing to recommend your product and help each other use it.

    So the first question becomes: How do we optimize that funnel?

    DevEx: What Actually Drives Productivity” argues that developer experience depends on flow state, feedback loops and managing cognitive load. Their perspective is much more about corporate productivity than is relevant for our purposes here, but those levers are absolutely the correct ones.

    Cognitive load is a primary concern: if it seems painful or complex to a solve a problem with your developer product, plenty will bounce off right at the top.

    We manage cognitive load a number of ways, for example:

    • Abstractions around complex tools with affordances that make it clear how to access their power (think: pre-built containers with a terminal interface, or a GUI for a debugger)
    • Docs that sequence learning to provide just enough context to make exciting progress, without overwhelming in the details
    • Example projects demonstrating a working implementation of your tools in a context that’s analogous to a developer’s end goal
    • Organized code snippets that demonstrate viable approaches to common tasks

    Every time you see a project on GitHub with a snippet of “setup” or “basic usage” code near the top of the readme, you see the management of cognitive load.

    By making cognitive load more manageable by more developers, you unlock the next phase of your funnel: a developer engaging in feedback loops with your product.

    Feedback is essential: it tells developers if their efforts are working. Modern UI development integrates this power deeply, as everything from web frameworks to native development for mobile now offers hot reloading and live previews.

    Feedback also shows up in the form of compiler warnings and errors, and this is central to modern workflows with typed languages. As you code, your editor can give you immediate feedback about the correctness of your implementation, warning you about a mismatch between what one function returns and what another accepts as input. This feedback is powerful, as it prevents entire categories of error that, in previous eras, would become crashes at runtime.

    Error logging is yet more feedback, and the more detailed it is, the more developers can get help from an even more powerful source: other human beings. A developer community is an essential source of feedback, as not everything can be handled by automation. A strong developer community acts as an exception handler for issues that fall through the existing documentation and feature set. More than that, a strong community can help developers become better at their work, by providing suggestions and perspective.

    Successfully facilitated, agreeable cognitive load and consistent feedback lead to flow state, which is the ultimate goal of your funnel. When developers are capable and confident enough to maintain consistent flow toward their goals, you’re almost guaranteed to arrive at a successful integration.

    But this is more than just a business outcome. This is a personal accomplishment on the part of the developer your tools have been enabling. The results of this can range from short term satisfaction all the way to career advancement and even wealth.

    As a field, computing has a lot of power, and having power shared with you can be an emotional experience.

    ‘Developer tools’ is culture, and culture breeds fandoms

    All of these represent culture:

    • A dog-eared script for King Lear
    • East Coast vs. West Coast rap beef
    • A Star Trek convention
    • Building Iron Man armor with a 3D printer
    • Your favorite programming language

    Fans are people who strongly identify with an element of culture, willing to invest time in the replication of that culture within the larger story of humanity. Fans make costumes, props, creative homages, and outright remixes of their favorite culture.

    To be a fan is to become part of something greater, because you think it’s worthy.

    So, of course, developer tools have fandoms. Make someone a success and you’ve probably earned a fan. This is a relationship that transcends mere business transactions. This is certainly belief in your mission: conviction that you’re creating something special. But it goes deeper, into the primordial relationship of trust and gratitude we feel toward the tools that help us grasp beyond our reach.

    A fan can become someone who will work actively themselves to improve the total of your developer experience. They might create tutorials, supplemental tools or code, even give their time to help other people become more fluent in your product. Fans will generate pull requests on your projects, and open issues that help you improve.

    En masse, fans can even re-shape larger technology culture to better adopt your stuff. This is the goal of the vaunted “bottom-up” or “developer-led” growth strategy: developer consensus that yours is the best way to solve some category of problem.

    It’s also why we can have such emotional responses to acquisitions of software products and firms. The guiding ethos that shapes a technology subculture can be vetoed by the new owner, changing basic assumptions that have guided our investments—that is, our hopes for the future.

    Having a fandom is a serious responsibility because it means managing the vibes and health of a community.

    A better world is possible

    Fandoms aren’t set-it-and-forget-it. They require stewardship. So let me tell you about one of the healthiest fandoms in speculative fiction.

    It’s The Expanse.

    Here’s how we know this:

    Some years back, actor Cas Anvar (Alex Kamal) was accused by multiple members of SFF fandom of abusive behavior. An investigation ensued and Anvar was written out of the show.

    On /r/TheExpanse, mods organized immediately to set norms to respond to this crisis. Comments on the controversy were actively cordoned to specified threads. Participation in these threads was governed by a set of agreements, including compulsory reading of specific accounts from the accusers. As a whole, the subreddit maintained order. In the higher-stakes discussions, clear terms of engagement allowed moderators to shape productive conversation, dismiss bad actors, and prevent toxic flame wars.

    It didn’t devolve into the kinds of vitriolic misogyny that is too common in these situations. Meanwhile, the community was able to reach consensus by talking through the substance of actually happened, instead of fracturing along chaotic lines of misunderstanding.

    Enabling this was culture established from the very top. The Expanse was written in a way that always respected its women characters. The creatives made deliberate decisions to eschew gratuitous sexual violence as a storytelling mechanism, by contrast to projects like Game of Thrones. And, when trouble emerged within their own ranks, the show’s leadership took it seriously, communicated the investigation to the larger fandom, and took decisive action.

    Fandoms can be scary stuff, but consistent leadership opens the door to norm-setting, orderly discussion of high-energy topics, and a place where people don’t feel excluded or pushed out because of their identities.

    And so, the theory:

    1. You can make more people more likely to be successful with your developer tools
    2. People who you’ve made successful will want to share that success, encouraging others join the party you started
    3. This creates a positive feedback loop that encourages fandom to form
    4. Productive fans energize your ecosystem and enroll yet more developers if you remain aligned with their success, and maintain community health

    It’s obviously much messier than that. Especially the bit where you need to come up with something that genuinely moves the needle on someone’s individual sense of power.

    But in the game of software automation, power is all around us. We’re saturated by unprecedented opportunity to create impact and leverage, with a ceiling in the billions of customers. It’s never been more possible to package up power and wisdom and share with those who are eager to apply it through code.

    Do with this knowledge what you will.

  • Building a business in 2023 (mine)

    It’s an exciting week for me. I’m launching my new business.

    Over a 20 year career, I’ve cycled continuously between self-employment and having a job. Thing is, I really prefer the self-employment. I like doing things my own way, and subordinating myself to the systems and policies of someone else’s company really stifles my everyday sense of creative joy.

    Still, my origins are economically humble. Building a business out into a sustainable, lucrative engine takes time and capital I haven’t always had. Out of necessity, I’ve had to leave the self-determination of my own work in order to keep the bills paid.

    I’m hoping to break that cycle today.

    I know so much about how software works. I understand not just how it’s built, but how it’s used. I want to apply decades of this understanding to an emerging field: developer experience.

    I’m calling it Antigravity. You can read the pitch if you want, but I’m not here to pitch you. I want to share the remarkable opportunities in 2023 for the solopreneur to punch above their weight.

    Over two decades, I’ve had some success building systems that made me money on the internet. Again, never quite enough, but also never nothing. I’ve never had a better time doing it than I have in the last few months.

    Vast creative markets

    Consider my logo.

    I’m not primarily a designer, but I’ve done plenty of design over my career. Part of how I get away with it is knowing my own limitations. For example, I cannot draw or illustrate for shit.

    In the past, this has limited my ability to get as deep as I want to go with logo and identity. Mostly I stuck with tasteful but bland logotypes. But not anymore.

    I didn’t have the budget for a design firm, but I do have a membership to The Noun Project, which hosts a vast array of vector art covering every conceivable subject, across a multitude of creative styles.

    I had a vague concept in mind for my logo, refined over many iterations. Then I found it: the flying saucer of my dreams. It was exactly what I was looking for. The right level of detail, the stylistic crispness that made it feel almost like a blueprint.

    I had my logo.

    Much love to Brad Avison for this lovely illustration. Check out more of his iconography here.

    Meanwhile, this model has permeated other creative work. For my launch video, I knew I’d need good music. But I was worried: historically, royalty-free music sounds like shit. It turns out, though, that we live in a new age. On Artlist, I found yet another vast library, offering music and sound effects that sounded great.

    My thanks to Ian Post, whose track New World proved just the vibe my intro video needed.

    Like Noun Project, Artlist is all you can eat. Subscribe for a year, get whatever you want, use it as needed. They even provide documentation of your perpetual sync license, for your legal records, right in your download page.

    I really hope creatives are getting a good overall deal from these platforms, because for me, they’ve proven transformative to how I represent myself online.

    Adobe on-tap

    I used to pirate the shit out of Adobe, as a kid. I learned Photoshop, After Effects, Premiere, and others, just for the fun of the creativity.

    You know what? Adobe got a great deal out of this loss-leader. Today I pay them monthly for access to Creative Cloud.

    I hate to say this—I really don’t love Adobe—but the CC subscription is a phenomenal deal. For a flat fee you get access to their entire catalog of creative tools, plus some bonuses (a lite version of Cinema4D lurks within After Effects, for example).

    But even better, you get access to Adobe’s font library, and it too is vast. You can use the typography locally, in all of your native apps, and you can set up web fonts to use on your site. This addition is savvy: it creates the case to maintain your subscription even if your usage is light. Now, past a certain point, it probably makes sense to just buy licenses for the type you want.

    Still, being able to audition so much typography out in a production environment is powerful. Moreover, Adobe handles all the tedium of making these things load fast around the world via their CDN infrastructure.

    The result is a distinctive web presence that can go toe-to-toe typographically with anyone else on the web. Having used Google’s free font service for years, I find there’s really no comparison. Adobe’s library is the premium stuff and it shows.

    Wild advances in creative hardware

    Ten years ago, I learned by accident just how powerful it is to have a video artifact representing me online. The opportunity showed up just at the right moment, as I was freelancing unexpectedly. It helped a lot.

    Fun fact: I have a film degree.

    It’s nothing fancy, sold out of a Florida diploma mill. But I spent more than a year getting my hands dirty across the full spectrum of film production tools. I learned the basics of film lighting, camera optics, audio strategies, editing and other post-production tasks.

    It left me a talented amateur, with a solid map of what I need to know about making things look right in front of a camera. I can create my own video artifacts.

    So when I tell you we live in an age of videography miracles, please believe me. A mirrorless camera and a decent lens can get you incredible, 4K footage, for about $1,000. Now, you don’t need all that data. But what you get with 4K is the ability to punch into a shot and still have it look crystal clear. It’s like having an extra camera position for every shot, for free.

    Capturing footage requires only a cheap SD card, with a nice specimen from SanDisk storing two hours for just $24.

    Even better, the lighting kits have gotten so small and affordable! For $250, you can get a couple of lights with a full spectrum of color temperatures, an even broader array of RGB colors, and incredible brightness without heat. No worrying about gels, no endless inventory of scrims to limit brightness. Just a couple of dials to get exactly the lighting you need.

    Here’s the thing: I remember lighting, I remember some terminology. I knew enough to know what to look for. The internet did the rest, with more video tutorials on how to solve these problems than I could possibly watch.

    And my M2 MacBook Air handled all of it beautifully. Editing was fast, rendering footage was fast. I can’t believe working with 4K footage can be so easy with everyday hardware.

    Videography is an amateur’s paradise. I can’t imagine how the rest of the industry has evolved since I first learned this stuff.

    And more magic besides

    I’ve already talked about how much I enjoy using Svelte, and of course Antigravity uses a similar strategy for its site. The incredible power of open source to amplify your ambitions is a big part of why I’m launching a DX consultancy! I want more of this.

    Using the GPT-4 LLM-based pattern synthesizer to explore marketing topics, debug problems with code, and otherwise work out a path forward, has been super helpful as well. A completely novel tool I didn’t expect.

    Speaking of AI, Adobe also has a weird “AI”-based audio processing tool. It sounds pretty cool, at first, but eventually becomes uncanny. I tried it out for my Antigravity intro video but didn’t end up using it.

    It’s an exciting time to try to build something new. While the internet and its various paradigms have largely matured, the resulting fertile platforms have left me more creatively effective than I’ve ever been.

    So, wish me luck. And if you know any seed-stage through Series A startups, send them my way!

  • Twitter, the real-time consensus engine

    As Twitter shambles steadily toward its grave, I’ve been thinking about its role on the internet and our culture broadly.

    Why did so many disparate groups—from politicians, journalists, activists and the posturing wealthy—all agree it was worth so much time and energy? Why did companies spend so much money not just on marketing for Twitter, but also for staffing to monitor and respond to it?

    It’s not because Twitter was the largest social media platform—it wasn’t. It’s not because Twitter drives large amounts of traffic—it doesn’t.

    Instead, for the last decade, Twitter has occupied a unique role: it is an engine for synthesizing and proliferating consensus, in real-time, across every conceivable topic of political and cultural concern. In this, it was a unique form of popular power, with each voice having potential standing in a given beef. Litigants were limited only by their ability to argue a case and attract champions to it.

    This had both its virtues and its downsides. Still, we’d never seen anything quite like it. In the aftermath of its capture by a wealthy, preening dipshit, we may never again.

    The Twitter cycle

    Like other media, Twitter was subject to cyclical behavior. Unlike other media, these cycles could unspool at breakneck speed, at any time of the week.

    Broadly, the cycle comprised these phases:

    • Real-time event: A thing has happened. An event transpired, a statement given, a position taken. The grain of sand that makes the pearl has landed within Twitter’s maw.
    • Analysis and interpretation: What does this event mean? What are the consequences? Who has been implicated? Why does it matter? What larger context is necessary to understand it? In Twitter’s deeply factionalized landscape, interpretations could be broad.
    • Consensus participation: Eventually a particular interpretation reaches consensus. Traveling along the viral paths of an influential few with broad audiences, a given point of view becomes definitive within certain groups. The factions thus persuaded join the fray, contributing their agreement, or refinement. Others, either contrarian by nature, or outside the factions with consensus, may start their own interpretation, and yet another sub-cycle toward consensus may kick off.
    • Exhaustion: The horse, long-dead, is now well and truly beaten. The cycle concludes, added to the annals of Twitter, waiting to be cited as precedent in the analysis of a future event. Though settled, lasting schisms may result from the fracas, the fabric of friendships and alliances torn or rended entirely.

    For example: Bean Dad

    In the earliest days of 2021, musician John Roderick shared a window on his parenting approach. In the process, he became caught up in the consensus engine, becoming Twitter’s main character for several days, until an attack on the US Capitol Building by far-right extremists reset the cycle.

    Event:‌ In a lengthy thread, Roderick explained how he tried to instill a sense of independence in his young daughter by offering the most minimal of assistance in the workflow of decanting some beans.

    Interpretation: Maybe this is not ideal parenting. Maybe his daughter should receive more support.

    Consensus: It is irrefutable: Bean Dad is a fuck. He has no place in polite society. It may be that his daughter is being starved instead of timely receiving the nourishment she needs to survive.

    Exhaustion: Roderick deleted his account. His music was removed from a podcast that used it for an intro. Days later, mainstream media reported what you could learn in real-time just by keeping an eye on Twitter.

    What the fuck?

    Yeah, it really did work like that.

    Politics is the negotiation and application of power. Twitter was a political venue in every sense of the word. Not just electoral politics, I stress here, but the everyday politics of industry, culture, even gender and sexuality. Twitter was a forum for the litigation of beefs.

    You’ll see a lot of people roll their eyes at this. Dismissiveness of Twitter, though, often correlates to a sense of overall larger political power.

    In our world, not everyone has a good deal. Not everyone has the basic dignity they deserve. In short, their beefs are legitimate. What was transformational about Twitter was the ability to bring your legitimate beef to larger attention, and in doing so, potentially change the behavior of those with more power.

    The powerful loved Twitter. They had a shocking pattern of admissions against interest, feeding the above cycle. Twitter was a direct pipe to the minds of the wealthy, stripping past the careful handling of publicists and handlers. Rich guys could say some truly stupid shit, and everyone could see it!

    I caution you against heeding the narrative of Twitter as an “outrage machine.” It’s not that this is strictly untrue, rather that it strips nuance.

    We live in a time of ongoing humiliation and pain for so many people. Power is a lopsided and often cruel equation. There is much to be legitimately outraged about. To respond with indifference would violate the basic empathy of many observers, and so outrage was a frequent consensus outcome.

    The cybernetic rush of consensus

    Nevertheless, I will not argue that Twitter was unalloyed good. Twitter could be a drug, and some of the most strident interactions may be tinged with individual traumas and biases. This invalidates neither the beefs nor their litigants, but it does create opportunities for behavior more destructive than constructive. I speak here from a place of both experience and some sheepishness.

    I was, at one point, a small-time Twitter outrage warlord.

    There is a rush of strange power open to any Twitter user of even modest following. In the algorithmic timeline era, much of this power has been tempered by invisible weighting and preference.

    But in the early days, it was simple: if there was some fuckshit, and you could name it, and describe its error persuasively, you could provoke a dialogue.

    In my case, as I’d arrived in Silicon Valley, and my tech career, I found myself promptly alienated from my peers. Their values were not my values, and in a case of legitimate beef, there was serious exclusion baked into the industry’s structures.

    After a lifetime in love with technology, this was where I had to make my career?

    It was a frustration that simmered quickly into rage, and in Twitter, I found a pool of similar-minded resentments. It was possible to raise a real stink against the powerful architects of these exclusionary systems.

    When these things took on a viral spread, it was a power that few humans had ever had before. I mean, you needed to own a newspaper to shape consensus on this level in any other age. Seeing the numbers tick up, seeing others agree and amplify… I enjoyed it at the time. I’m not proud to say it, but I’m telling you this because I think it’s instructive.

    Having a following doesn’t mean you’re financially solvent, but it does open certain doors. As only Nixon could go to China, I went to GitHub as it undertook a multi-year project to rehabilitate its image in the wake of an all-too-characteristic workplace scandal.

    Such is the power of consensus.

    Six months after I joined, someone close to me asked if I wanted to spend the rest of my life angry. If I wanted to spend my energies in the project of stoking rage in the hearts of others, indefinitely. They asked if this was the best use of my gifts. In an instant I knew I needed a different path.

    The years since have been a long journey away from the power of anger. There’s no doubt it works. There’s no doubt you can attract quite an audience when you show rage toward toward the wicked and unjust. But I think the spiritual cost isn’t worth the reward.

    This is not to discount the role of anger. We should be outraged when we see people doing wrong, when we see people hurt, when we see corrupt power enact abuse.

    But I must also look to what comes after anger. I think we need hope, care, and laughter as much as we need the activating flame of anger to break free of our cages.

    But Twitter was more than outrage amplification

    I don’t want to fall into the trap of tarring Twitter with the all-too-common rage brush. It certainly brewed plenty of anger, but it was also a space of connection, community, and even laughter.

    By contrast to its early contemporaries, Twitter used a subscription model akin to RSS. Symmetrical links between users were optional. As a result, we could be observers to vast communities we would otherwise have no exposure to.

    It was an opportunity for education and enlightenment on a variety of subjects. Consensus wasn’t always an angry or contentious process. Indeed, during the Covid crisis, finding emerging medical consensus through legitimate practitioners was powerful, filling many gaps left by a mainstream media that was slow to keep up.

    As global events unfolded, participating in the Twitter consensus left you better-informed than those stuck hours or days behind consuming legacy media. If you could find honest brokers to follow, nothing else came close in terms of speed and quality of information (though this, at points, could become exhausting and demoralizing).

    Participation in consensus, too, could build relationships. People have found love on Twitter, and I’ve had multiple life-changing friendships emerge through this medium. Hell, GitHub wasn’t even the first job I got thanks to Twitter.

    In short, Twitter was a unique way not just to understand the ground truth of any situation, but also to build connection with those who shared your needs, convictions and interests.

    I would make different choices than I had in the past, perhaps, but I still look upon Twitter as an incredible education. I’m a better, more knowledgeable, less shitty person thanks to all I learned in 14 years of participation.

    What’s with all the past-tense? still loads, my guy

    I mean, so do Tumblr, LiveJournal, Digg. Social products are simultaneously fragile and resilient. It doesn’t take much to knock them out of health, but they can keep scraping along, zombie-like, long after the magic pours out of them.

    This, I think, is Twitter’s fate. Interfering with legitimate journalism, cutting off public service API access, offering global censorship on behalf of local political beef—none of this is good news for Twitter, and this is just from the last couple weeks.

    Twitter is entering its terminal phase now. I’m sure it will live on for years more, but its power is waning as it is mismanaged.

    Will anything ever take its place?

    Mastodon is perhaps Twitter’s most obvious heir. It has picked up millions of accounts since Twitter’s disastrous acquisition. But certain design decisions limit Mastodon’s ability to meet Twitter’s category of power. For one thing, there is no global search of Mastodon content, and no global pool of trending topics. Moreover, while Twitter was an irresistible lure to the powerful, they have yet to join Mastodon.

    I’m personally hopeful about the Fediverse, and the open, decentralized potential it suggests. A real-time social medium that’s easy to integrate into anything on the web, and which no one person owns, is exciting. But it’s early days yet. Anyone could take this.

    There are other entrants. BlueSky, which promises an open platform and spun off from Twitter. Post News, which makes me skeptical.

    It’s entirely possible that, as Twitter dies, so will its unique power. Entirely, and forever. The dynamics that gave people popular power may be deliberately designed against in future platforms.

    But as Twitter wanes, know what we’re losing. It’s incredible that this existed, incredible that it was possible. Is it possible to design a replacement that emphasizes its virtues without its downsides? I’m not sure.

    I am a little sad, though, for this loss, warts and all.

  • The science fiction of Apple Computer

    For the so-called “Apple Faithful,” 1996 was a gloomy year. Semiconductor executive Gil Amelio was driving the company to the grave. The next-generation operating system project that would rescue the Mac from its decrepit software infrastructure had stalled and cancelled, with the company hoping to buy its way out of the problem.

    In the press, this “beleaguered” Apple was always described as on the brink of death, despite a passionate customer base and a unique cultural position. People loved the Mac, and identified with Apple even as its marketshare shrank.

    Of course, we know what came next. Apple acquired NeXT, and a “consultant” Steve Jobs orchestrated a board coup that ousted Amelio and most of Apple’s directors. There followed a turnaround unlike anything else in technology history, building the kernel of a business now worth $2.6 trillion.

    Much has been said about the basic business hygiene that made this turnaround possible. Led by Jobs, Apple leadership slashed the complex product line to four quadrants across two axes: desktop-portable and consumer-professional. They got piled-up inventory down from months to hours. They cleaned up the retail channel and went online with a web-based build-to-order strategy.

    Of course, they integrated NeXTSTEP, NeXT’s BSD-based, next-generation operating system, whose descendent underpinnings and developer tools live on to this day in every Mac, iPhone, and Apple Watch.

    But none of these tasks alone were sufficient to turn Apple’s fortunes around. The halo of innovation that Apple earned put winds in its cultural sails, creating a sense of potential that drove both adoption and its stock price.

    But what does “innovation” mean in practice?

    Apple rides the leading edge of miniaturization, abstraction and convenience

    If you look at the sweep from the first iMac to the latest M2 chips, Apple has been an aggressive early-adopter of technologies that address familiar problems with smaller and more convenient solutions.

    Apple’s turnaround was situated during a dramatic moment in hardware technology evolution, where things were simultaneously shrinking and increasing in power. What was casually termed innovation was Apple’s relentless application of emerging technologies to genuine consumer needs and frustrations.

    The USB revolution

    Before USB, I/O in personal computing was miserable.

    A babel of ports and specifications addressed different categories of product. Input devices needed one form of connector, printers another, external disks yet another.

    These connectors were mostly low-bandwidth and finicky, often requiring the computer be powered down entirely merely to connect or disconnect them. Perhaps the worst offender was SCSI, a high-bandwidth interface for disks and scanners, packed with rules the user had to learn and debug like individual device addresses and “termination” for daisy-chaining what was usually a single port per-computer. You could have only a handful of SCSI devices, and some of that number was gobbled up by internals.

    Originally conceived by a consortium of Wintel stakeholders, the USB standard emerged quietly to fix all of this just as Apple entered the worst of its death throes, with limited initial adoption.

    With the release of the first iMac, in 1998, Apple broke with precedent, making USB the computer’s exclusive peripheral interface. By contrast to previous I/O on the Mac, USB was a revelation in convenience: devices were hot-pluggable, no shutdown required. The ports and connectors were compact, yet offered 12 mbit connections, supporting everything from keyboards to scanners to external drives. Devices beyond keyboards could even draw enough energy from USB to skip an extra power cable. Best of all, USB hubs allowed endless expansion, up to a staggering 127 devices.

    Though the iMac was friendly and fresh in its design, its everyday experience was a stark departure in ease-of-use, thanks in part to the simplicity of its peripheral story. Mac OS was retooled to make drivers easy to load as needed, eventually attempting to grab them from the web if they were missing on disk.

    Meanwhile, in an unprecedented example of cross-platform compatibility, Apple’s embrace of USB created a compelling opportunity for peripheral manufacturers to target both Mac and PC users with a single SKU, reducing manufacturing and inventory complexity. In Jobs’s 1999 Macworld New York introduction of the iBook, he claimed that USB peripheral offerings had grown 10x, from just 25 devices at the iMac’s launch, to over 250 under a year later. Seeing the rush of consumer excitement for the iMac, manufacturers were happy to join the fray, offering hip, translucent complements to this strange computer that anyone could use.

    Today, USB is ubiquitous. Every office has a drawer full of USB flash drives and cables. Desperate to make a mark, with nothing to lose, Apple went all-in on the next generation of peripheral technology, and won the day.

    AirPort and WiFi

    In that iBook intro, Steve’s showmanship finds a dramatic flourish.

    Rather than telling the audience about his “one more thing,” he showed it to them, forcing them to draw their own conclusions as they made sense of the impossible.

    Loading a variety of web pages, Jobs did what is now commonplace: he lifted the iBook from its demonstration table, carried it elsewhere, and continued clicking around in his browser, session uninterrupted, no cables in sight.

    The audience roared.

    This magic, he explained, was fruits of a partnership with Lucent, and the commercialization of an open networking standard, 802.11. Jobs assured us this was a technology fast heating up, but we didn’t have to wait. We could have it now, with iBook and AirPort.

    Accompanying the small network card that iBook used to join networks, Apple also provided the UFO-like AirPort base station, which interfaced with either an ethernet network or your dialup ISP.

    Inflation-adjusted, joining the WiFi revolution cost about $700, including the base station and a single interface card. Not to mention a new computer that could host this hardware.

    Nevertheless, this was a revolution. No longer tethered to a desk, you could explore the internet and communicate around the world anywhere in your house, without running cables you’d later trip over.

    More than anything else Apple would do until 2007, the early adoption of WiFi was science fiction shit.

    Miniaturized storage and the iPod

    By 1999, Apple was firmly out of the woods. Profitable quarters were regular, sales were healthy, and their industrial design and marketing prowess had firmly gripped culture at large.

    But it would be the iPod that cemented Apple’s transition out of its “beleaguered” era and into its seemingly endless rise.

    While iPod was a classic convergence of Apple taste and power, the technical underpinnings that made it possible were hidden entirely from the people who used it everyday.

    The earliest iPods used a shockingly small but complete hard drive, allowing them to pack vast amounts of music into a pocket-sized device. Before USB 2.0, Apple used FireWire, with its 400 mbit throughput, to transfer MP3s rapidly from computer to pocket.

    Whereas a portable music collection had once been a bulky accordion file packed with hour-long CDs, now even a vast collection was reduced to the size of a pack of playing cards. Navigation of that collection was breezy and fully automated, a convenient database allowing you to explore from several dimensions, from songs to artists, albums to genres. You were no longer a janitor of your discs.

    Instead of fumbling, you’d glide your thumb over a pleasing control surface, diving effortlessly through as much music as you ever cared to listen to.

    iPod was far from the first MP3 player. But most of them had far less capacity. iPod was not the first hard drive-based MP3 player, either. But its competitors were far bulkier, and constrained by the narrow pipes of USB 1.1, much slower besides.

    Once again, at the first opportunity to press novel technologies into service, Apple packaged them up, sold them at good margins, and made a ton of money.

    Multitouch and the iPhone

    For most of us, our first exposure to gestural operating systems came from Minority Report, as Tom Cruise’s cop-turned-fugitive, John Anderton, explored vast media libraries in his digital pre-crime fortress.

    The technology, though fanciful, was under development in reality as well. A startup called FingerWorks, launched by academics, were puttering around trying to make a gestural keyboard. It looked weird and they did not find commercial traction.

    Nevertheless, they were exploring the edge of something pivotal, casting about though they were in the darkness. In 2005, the company was acquired by Apple in a secretive transaction.

    Two years later, this gestural, multi-touch interface was reborn as the iPhone interface.

    By contrast to existing portable computers, the iPhone’s gesture recognition was fluid and effortless. Devices by Palm, along with their Windows-based competition, all relied on resistive touch screens that could detect only a single point of input: the firm stab of a pointy stylus. Even at this, they often struggled to pinpoint the precise location of the tap, and the devices were a study in frustration and cursing.

    The iPhone, meanwhile, used capacitance to detect touches, and could sense quite a few of them at once. As the skin changed the electrical properties of the screen surface, the iPhone could track multiple fingers and use their motion relative to one another to make certain conclusions about user intent.

    Thus, like any pre-crime operative, we could pinch, stretch and glide our way through a new frontier of computing.

    Minority Report depicted a futuristic society, with a computing interface that seemed impossibly distant. Apple delivered it to our pockets, for a mere $500, just five years later.

    The future of the futuristic

    Apple has continued this pattern, even as the potential for dramatic changes has stabilized. The shape of computers has remained largely constant since 2010, as as has appearance of our phones.

    Nevertheless, the Apple Watch is a wildly miniaturized suite of sensors, computing power, and even cellular transceivers. It is a Star Trek comm badge and biometric sensor we can buy today.

    AirPods do so much auditory processing, even noise canceling, in an impossibly small package.

    And Apple’s custom silicon, now driving even desktop and portable Macs, provides surprising performance despite low power consumption and minimal heat.

    We are no longer lurching from one style of interface abstraction to the next, as we did from 1998 through 2007, trading CRTs for LCDs, hardware keyboards for multitouch screens. Still, Apple seems to be maintaining its stance of early adoption, applying the cutting edge of technology to products you can buy from their website today.

    As rumors swirl about the coming augmented reality headset Apple has been cooking up, it will be interesting to see which science fiction activities they casually drop into our laps.

    The challenge is formidable. Doing this well requires significant energy, significant graphics processing, and two dense displays, one for each eye. Existing players have given us clunky things that feel less futuristic than they do uncomfortable and tedious: firm anchors to the present moment in their poorly managed constraints.

    But for Apple, tomorrow’s technology is today’s margins. I wonder what they’re going to sell us next.

Redeem Tomorrow: Home Redeem Tomorrow: Home