The LLM transformation of tech culture

llmonalisa_2

Something remarkable happened in February of 2026. With the release of Anthropic’s LLM model Opus 2.6 and OpenAI’s ChatGPT 5.3, LLMs became dramatically better at coding – to the point they could start pumping out decent code at a rapid pace with guidance and validation by human developers.

These releases were accompanied by much fanfare about “agentic” coding, which could either mean LLM’s with access to command line tools that gave them the ability to manipulate and interoperate with other applications, or LLMs that could be set up like a team of human developers to run competitively and autonomously.

At the same time, the massive layoffs that had been occurring over the previous 2 years at Microsoft, Meta, and Amazon accelerated. While in previous years this was explained as a correction after a period of over-hiring since 2020 due to low interest rates, in 2026 this was explained as an attempt to free up cash to spend on data centers for LLM model training and LLM inference.

I’m not deep into the principles of AI, myself. I just work as a software developer on AR and VR projects who occasionally plays with GenAI tools like ComfyUI and the various coding tools. But LLMs, since February, have rapidly taken over the world of software development.

And it occurred to me that I need to document this as the transformation is underway. Having spent the past decade in touch interfaces, AR and VR headsets, and depth cameras, I’ve noticed how quickly something new can become old and then commonplace, while we loose a sense of what our lived experience was like before, take your choice: smartphones, turn-by-turn car maps, podcasts, social media, 4Chan, Tumblr, the Musk buyout of Twitter. This can be bad, since if we don’t remember how things were before these technologies came along, we will have trouble seeing how they change the way that we think about the world.

It’s been four months since LLMs really broke out in the field of coding. This led to a massive influx of cash and hype into Anthropic and OpenAI as the prepare for IPOs this year. Generally, the public statements of companies preparing for IPOs about their capabilities and potential are inherently untrustworthy. This isn’t helped by the fact that the way both companies have tended to market their prowess is by emphasizing how potentially dangerous they are for the future of humanity – on the notion that something that can kill all of humanity can also save it?

In June of 2026 there does seem to be a bit of a blowback. This can be seen by the prevalence of articles actually talking about an AI “blowback”. Companies like Uber and Microsoft are cutting back on their API expenditure on tools like Anthropic Claude and OpenAI Codex, after initially encouraging their internal developers to spend what they needed to improve internal software and learn the tools.

I don’t think this is due to  any sort of recognition of an incapacity in the AI tools so much as a problem with scaling up its use. A lot of money, for instance, has probably been wasted trying to get non-tech office workers to use these LLMs to manage their emails and time. That sort of enforced AI use has created a lot of resentment and suspicion that by using AI in these ways, you are simply training your replacement. While in coding-focused roles, it has been a problem of acceptance and disseminating knowledge about how to use LLMs effectively to write or co-write code.

Over the past four months, there has also been a lot of hand-wringing about what LLMs can and cannot do. There has been a rise in software developers emphasizing that they are “senior” developers along with a discourse about the qualities of a “senior” developer – about to get along with others (senior developers have people skills, dammit), intuition about how to put code together, knowledge of how to properly “architect” code in a potentially pragmatic manner. These explanations are also usually accompanied by concern over the fate of “junior” developers, and hand-wringing that without junior developers we’ll never have future senior developers.

It feels like a bit of a slight of hand. By showing concern for “junior” developers, developers with jobs get to distance themselves from another group they are basically saying can be replaced by LLMs, which making a case for why their roles should be inviolate. Part of what is fascinating about this is that pre-2026 and going back 20 years, “senior” developers typically described themselves as being 10x solo devs who knew the intricacies of certain software languages or microservices or TDD so well that other devs would simply slow them down. But no longer.

It also feels like an attempt to head off another inevitable question. Why should companies pay senior developers so much when a decent LLM for $200/mo can give junior developers 10x coding kung-fu powers?

Back to the blowback. Microsoft Co-pilot is not transforming the business world and is instead creating a lot of resentment and frustration. Graduating classes over the past month have been boo-ing commencement addresses that give basically good advice about how this generation of students needs to adapt to and master the new technology. The Trump DOD has taken an adversarial position against Anthropic, which insisted that they wouldn’t allow their tech to be used to blindly target civilians, while the Trump administration has reversed its laissez-faire stance on AI and recently forced Anthropic to take down its two newest frontier models, Fable 5 and Mythos.

It is worth pointing out that one of the most sweeping cultural effects of LLMs at the moment is the disruption of the mechanism for posting and applying for jobs. People are using LLMs to rewrite their resumes to fit job postings while HR departments and recruiters are using LLMs to draft their job postings and then evaluate submitted resumes for those jobs. The general effect is overload on all sides. Every job hunter is applying to hundreds of jobs, most of which they are not qualified for, while companies are turning away a lot of people that actually are good fits for open positions because there is no great way to differentiate the slop from the gold. LLMs appear to have made the job market not only inefficient but potentially dysfunctional.

All of which makes the most valuable person in the current job market a junior developer with good LLM coding knowledge with personal connections at a company looking for software developers. Everyone else has good reason to sweat because LLMs really are pretty decent coders, and its hard to know what we are going to do with this knowledge.

Internet Poisoning

1758481023374

I recently came across a term, “internet poisoning”, that I thought I knew the meaning of. But it turned out to be more complicated. There are actually two definitions for “internet poisoning” — but I’ll try to reduce them to one.

The colloquial description of internet poisoning is when a person has spent so much time in toxic internet discourse that they begin to believe that the real world is as bad as the world online that they’ve been steeping in. Sociologically, this leads to a growing trend toward real world nihilism among people who are too plugged in.

To get to the second meaning of internet poisoning, it’s helpful to grok a related term, “data poisoning”. Data poisoning is an AI exploit in which bad actors feed bad data to an AI model’s training dataset. By poisoning the training data, the model itself can be poisoned.
Under certain circumstances, however, bad actors are not even needed. AI companies scrape their training data from the internet. As AI reliance increases, new AI generated data (with possibly upwards of 20% hallucination rates) gets put out on the internet and becomes part of the dataset for the training of future models (currently being marketed as “superintelligence”).

This eating-where-you-poo effect becomes magnified when 1) the main strategy for creating next-gen AI is scaling: throwing all resources into collecting more data and gathering more compute 2) you get to the end of the internet and 3) zero-sum thinking in the tech industry becomes endemic that someone else will get to asymptotic AI results before you do and, Highlander-style, it turns out there can only be one. At this point, long-term employees are made redundant to free up money for more compute, internal ethics groups are shut down or ignored, and standards for data-scrubbing are lowered.

This provides background for the second meaning of “internet poisoning”. Internet poisoning occurs when AI models provide sometimes erroneous data to the internet which then gets reinvested/reingested into the next generation of superintelligences.
The colloquial and the technical definitions of “internet poisoning” can be reconciled if we then imagine a species jump between machine data and human knowledge. The poisoned superintelligences will continue to spew poisoned data; this in turn poisons humans who become nihilistic and write online manifestos to their internet communities, which spread on reddit, which in turn poisons the post-superintelligence generation of AI, and so on, and so on…

Rectangle-Pilling

Besides “slopsquatting”, another tech term I ran into recently, this time describing a phenomenon in the AR/VR world, is “rectangle-pilling”. My colleague Tony brought this gem back from Siggraph. It identifies a tendency among designers to repeatedly recreate 2D design metaphors in spatial computing scenarios. For instance, you’ll notice that while Apple is exporting its glass visual metaphor from the AVP to its other devices (yay!) it still emphasizes windows layouts on the AVP. Originally this seemed like a good way to help users of other Apple devices quickly learn how to use the AVP, but instead of being a bridge, it seems now to be sticking around as a core element of their spatial design language. As AndroidXR rolls out, it is rolling out with Google’s “Material Design 3” design language, which is also a flat-design metaphor.
The trend is commonly known as 2D-in-3D. The term “rectangle-pilling” describes the way in which designers who believe in promoting 2D-in-3D currently dominate AR/VR companies, shoving out those who point out that instead of using old media metaphors, it would be better to explore “true” 3D design.
How did the 2D-in-3D crowd come to dominate? To answer this, it is worth pointing out that “digital design” became a big thing in the 2000s as people with artistic leanings found they could earn exciting livings as web developers. Digital design got its curriculum from print design and created a culture in which all one’s knowledge and status came from understanding how fonts, borders, and images fit onto a rectangular space — and applying the golden ratio at every step. In 2007 there was a brief movement toward isomorphic design with the rise of smartphones but this was quickly reversed and “flat design” ascended again.
Architects, on the other hand, are natural spatial designers. They think in 3D and are constantly converting 3D spaces into 2D instructions and back again.
But when AR/VR companies start hiring designers — the sorts of people who other designers feel have design chops — they go to the pool of digital design people rather than the pool of architects. And the design culture in these companies will end up reinforcing this notion that 2D-in-3D is the right way to do things.
Which leaves people who natively think in 3D feeling like they’ve just been “rectangle-pilled”.
There are, of course, good reasons to have 2D elements in spatial computing, like legibility when surfacing information. But for people who feel they’ve gotten “rectangle-pilled”, there is the sense that 2D-in-3D has become a crutch rather than a bridge to something new.
Potentially, constantly seeing 2D design elements reinforced in VR and AR makes people wonder what the point of VR and AR really is. Do I really need to read a 2D webpage in my VR headset? Can’t I just do that on my tablet?

Slopsquatting

ComfyUI_00161_

Language moves fast in tech, and mastery of new terms is usually the gateway to mastery of a given technology (or at least of being able to convince others you are a master of the tech), since grokking and competence are equivalent these days. Here are two terms I came across in the past month; I’m fascinated by them because they are cultural markers of where our tech is at a given moment in time.
The new slang term I learned for the AR/VR headset space is “Rectangle-pilling”. Can you guess what it means to be rectangle pilled?

The new slang term in AI / Vibe coding is “slopsquatting”. “Slopsquatting”, besides just being fun to say out loud, describes an exploit for a phenomenon in vibe coding where the LLM writes a code library for you that depends on another library you can download from github — except, said github repo does not actually exist. It is a hallucinatory repo. “Slopsqatting” is the practice of identifying these dream-repos (apparently the same ones come up a lot?) and creating an actual library to squat at the dream repo’s address. Then additional code, possibly malicious code, can be placed in the library. Or maybe just an unusual license. Or an IP pinger. At some point, an unsuspecting dev who has been told by his company to learn to vibe code will download the slopsquat code and push it out in an internal product. And then the trap snaps shut, whatever it is.

visionOS and XR events

In the past year I’ve had the opportunity to participate in two visionOS hackathons and two XR conferences – indications that mixed reality is still going strong in 2024.

VisionDevCamp happened at the end of March in Santa Clara, CA  and was my favorite for a variety of reasons including that it was a chance to reconnect with my friend Raven Zachery who ran the event with Dom Sagolla. I also got to meet a ton of Unity and iOS developers from around the country who are now the foundation of the visionOS community.

Coming out of that, Raven was asked to organize a workshop around visionOS for AWE in mid-June in Long Beach, CA. I had lots of plans about various rabbit holes I could go down about visionOS development but Raven encouraged me to keep things high level and strategic and I’m glad he did.

In September I had my second hackathon of the year at Vision Hack, an online event around visionOS organized by Matt Hoerl, Cosmo Scharf and Brian Boyd, jr. I basically spent three days online mentoring and helping anyone I could. That was a blast and I really loved all the skills and enthusiasm everyone brought to the event.

Image preview

Then this past week I participated in the Augmented Enterprise Summit in Dallas, TX. I was on a panel there with Mitch Harvey, Andy Hung, Lorna Jean Marcuzzo and Mark Sage.

In that time, I also did a short course for XR Bootcamp to help Unity developers become familiar with Xcode and visionOS and participated in putting together a couple of proposals for the Meta Quest Lifestyle accelerator program.

It’s been a busier year than I really expected. I’m very happy to be closing in on almost a decade of AR headset development.

Seeing double (resolution) with the Apple Vision Pro

resolutions

This is just to provide a small correction to people who say that the Apple Vision Pro has an 8K display. It doesn’t really. It has an approximate 6K total display.

The error comes because Apple very carefully says it has a 4K resolution per eye: “And with more pixels than a 4K TV for each eye, you can enjoy stunning content wherever you are — on a long flight or the couch at home.

Apple also very carefully states it has a total display resolution of 23 million pixels. Everything else is inference.

This is because we are dealing with two different units of measure, with pixels being equivalent to something like an inch, while a “K” is something more like a square inch.

For example when we discuss a 2K TV, the “2K” represents the lengthwise dimension. What we actually mean by “2K” is a resolution with the dimensions 1920 pixels by 1080 pixels.

In turn a “4K” TV has dimensions of 3840p x 2160p. It is more than double the total pixel count since we double both the width and the height of the 2K resolution.

A 2K resolution has a 2 million pixel density. A 4K resolution has 4 times the pixel density of a 2K screen, not 2 times. Here’s a listing of the currently available screen resolutions and their entailed pixel density:

2K = 1920 x 1080 = 2,073,600 pixels
4K = 3840 x 2160 = 8,294,400 pixels
5K = 5120 x 2880 = 14,745,600 pixels
6K = 6144 x 3160 = 19,415,040 pixels
7K = 7168 x 4032 = 28,901,376 pixels
8K = 7680 x 4320 = 33,177,600 pixels

So if the Apple Vision Pro has a 3660p x 3200p per eye, or 11,712,000 pixels. That’s actually a little bit more than a 4K resolution.

People get to the 8K number by inferring that two 4K lenses add up to an 8K lens. But from the chart above you can see that an 8K resolution actually resolves to about 33 million pixels. The Apple Vision Pro only claims a 23.4 million pixel resolution (11,712,000 x 2 = 23,424,000).

Again referring to the chart above, 23 million pixels is closer to 6K than it is to 8K. So, while Apple marketing doesn’t talk about it in this way, if we wanted to, we would have to say that the Apple Vision Pro provides a 6K total display resolution, not an 8K total display resolution.

A similar confusion between linear measurement and area measurement led Alex Kipman to claim that the HoloLens 2 had twice the field of view of the HoloLens 1. The HoloLens two’s resolution encompassed twice the area of the Hololens 1, but unfortunately that’s not how FOV is typically measured. As with the jump from 4K to 8K, it would have had to contain four times the area in order for the claim to have been true. Karl Guttag thoroughly covered the controversy on his blog.

For lack of a Mac

Whether you decide to develop for the Apple Vision Pro using the native stack (XCode, SwiftUI, RealityKit) or with Unity 3D stack (Unity, C#, XR SDK, PolySpatial), you will need a mac. XCode doesn’t run on Windows and even the Unity tools for AVP development need to run with the Unity for Mac.

Even more, the specs are fairly specific. You’ll need a silicon chip, not Intel (M1, M2 or M3 chips). You’ll need at least 16 Gigs of RAM and at least a 256 GB hard drive.

IMG_0058

If you are working in the AR/VR/MR/XR/Spatial Computing/HMD space (what a mouthful that has grown into!) it makes sense to learn as much as you can about the tools used to create spatial experiences. And while the Apple native tools like XCode and the Vision Pro simulator are free (though you’ll need a $100/yr Apple dev account), the hardware requirements still remain as a bit of a barrier to learning AVP development – much less publishing to the AVP.

If you want to develop either VR or AR apps for the AVP using Unity, you’ll need to pay an additional $2K a year for a Unity Pro seat on top of everything you already need for native AVP development.

So I wanted to look into the minimum cost just to learn to develop for the Vision Pro.

This begins with a $100 Apple developer account. It also assumes that to learn the skills, you don’t necessarily need to spend $3500 for an AVP device. The simulator that comes with XCode is actually very good and supports the ability to simulate most of the AVPs capabilities except for SharePlay. This should be welcome news to the vast number of European, Asian and South American AR/VR devs who won’t have access to headsets for anywhere from six months to a year or more.

So let’s start at $100. The next step is looking into the least expensive hardware options.

Cloud-based

The least expensive, temporary solution to get hardware is to rent time in a cloud solution.

rdp_in

MacInCloud has a VDI solution for Mac minis running an M2 chip with 16 GB of RAM and MacOS Sonoma with XCode 15.2 already on it for $33.50 a month with a 3 hour a day limit. In theory this is a nice solution to start learning AVP development for a few months while you decide if you want to invest more in your hardware.

simulator

There are some problems with the solution as is, though. First, you are RDPing into a remote machine. If you’ve ever used remote desktop before, you’ll know that there are weird screen resolution issues and, even worse, screen refresh issues with this. It can feel like programming under water. This is why it can only be a temporary solution at best. Next, it includes an older version of XCode – we’re currently up to version 15.3. You can request to have additional or updated software installed, so this is really only a problem of convenience, though it is nice to be able to install and uninstall software when you need to. The good news was that I was able to write a simple AVP project using MacInCloud’s remote mac. The bad news is that the XCode preview window never started rendering and, even worse, the XCode Simulator running VisionOS 1.1 always rendered a black screen.

The rendering problem makes this solution unusable, unfortunately. Once they solve it, though, I think MacInCloud could be a viable solution for learning to develop for the Vision Pro.

New vs Used

If a remote solution isn’t currently viable, then the next step is to figure out what it costs to get a minimum spec piece of hardware on the secondary market.

Currently (March, 2024) a new Mac mini with 16 GB RAM, a 256 GB SSD, a standard M2 chip, a power cord and no monitor, keyboard or mouse, costs $800 or $66.58/mo.

A 13-inch MacBook Air with similar specs runs $400 more. An iMac with an M3 chip is $700 more. An M3 Macbook Pro is $1000 more. A bottom of the line M2 Max Mac Studio with 32 GB RAM and 512 GB SSD is $1100 more.

The cadillac model, for reference, would be a 16-inch MacBook Pro with an M3 Max chip, 96 GB of RAM and a 1 TB SSD for $4299.

________________________________________________________________________________

Apple sells refurbished computers, also. A refurbished 13-inch MacBook Air with M2/16/256 is currently selling for $1,019.

Back Market is a good site for used Macs. I found a 13-inch MacBook Pro there with M1/16/256 for $804 and a similarly spec’d MacBook Air for $725, as well as an M2 MacBook Air for $949. Your milleage may vary.

MacOfAllTrades has a used MacBook Pro M1/16/512 for $700.

MacSales has a used Mac Mini M1/16/256 for $499.

Summary

If you want to learn Apple Vision Pro right now and you are coming from Windows development, your startup cost is going to be around $600:

  • $100 Apple Developer Account
  • $499 min spec hardware to run XCode 15.3 and the VisionOS simulator

If you are just learning, then the Simulator has all the functionality you need to try out just about anything you can build (again, minus SharePlay and Personas). If you are very bold, you might even be able to publish something to the store to recoup some of your investment.

If you want to develop for the AVP with Unity 3D, your startup costs go up to $2600:

If you are coming from HoloLens/MagicLeap/Meta Quest development, the question here might just be how much you are willing to pay to not have to learn Swift and RealityKit.

Video capture tips for the Apple Vision Pro

You can take a snapshot of a spatial computing experience in the Apple Vision Pro simply by pressing both the crown button and the top button at the same time.

IMG_0039

This doesn’t work for video capture, unfortunately. Video capture on the Apple Vision Pro takes spatial video of the actual world, only, and won’t create a composite video of the physical and the digital worlds.

If you want to take a video of a spatial computing experience, you will need to stream what you see to a MacBook or an iPhone, iPad or AppleTV.

There are two ways to record from the Apple Vision Pro.

  1. Mirror to another device (stream and then record).
  2. Use the developer capture tool in Reality Composer Pro (record and then stream).

Mirroring is the more flexible way of doing a recording and allows you to record a video of indefinite length. This is great if you want to do a lot of takes or just want a lot of footage to use.

Using Reality Composer Pro is more complicated and only lets you capture 60 seconds of video at a time. The advantage capturing video this way is that the quality of the video is much higher, at 30 FPS using 10-bit HEVC.

All the advice I’m passing on to you, by the way, I learned from Huy Le, who is an amazing cinematographer of digital experiences.

Mirror to another device

You can mirror what you see inside the Apple Vision Pro to a MacBook, iPhone, iPad or an Apple TV. This is a really handy feature for doing demos or even if you just want to guide someone through using the device or using an app for the first time. It’s also great for user testing your apps.

In order to mirror, you will need to have both the Apple Vision Pro and the device you are streaming to on the same WiFi network.

IMG_0044

1. Inside the Apple Vision Pro, look up – way, way up. A down arrow in a circle will appear at the top of your view. Focus your eyes on it and tap.

IMG_0045

2. Next, select the third icon from the left showing two ellipses stacked on top of each other. This is the control center button.

IMG_0048

3. On the next screen, select the fourth icon from the left showing two rounded rectangles overlapping. This is the “mirror my view” icon.

IMG_0047

4. The final screen will provide you with a list of devices on your WiFi network that you can stream to. Tap on one of these to select it.

5. You will now have a steady 2D video with very little lag streaming to your device. I typically stream to my MacBook. From the MacBook there are two common ways to record your stream. One is to use the built in recording tool. Type Ctrl-Shift-5 to start recording (it is a good idea to start your recording before you begin streaming). The built-in tool is convenient but sometimes it is hard to know if it is recording or not. The second way to record your stream is to download OBS, which is a popular open source screen capture tool, and just use that. OBS gives you a lot of fine-grain control over your recording.

6. Because the Apple Vision Pro can shake while you are wearing it, it’s a good idea to run your footage through video editing software like Adobe Premier Pro and apply a stabilizer effect to it.

Reality Composer Pro

For the highest quality capture (for instance if you are doing promotional footage of your app) you should use the developer capture tool in Reality Composer Pro.

1. To use developer capture, your AVP and your MacBook should be on the same WiFi network. Additionally, the AVP needs to be paired with your MacBook. You may also need to have “developer mode” turned on on your Vision Pro.

Screenshot 2024-02-20 at 9.31.07 AM

2. To open Reality Composer Pro, you first need to open XCode on your MacBook. (If you don’t have XCode 15 installed, you can download it from the Apple site.) Select “Open Developer Tool” on the XCode menu. Then select “Reality Composer Pro”.

Screenshot 2024-02-20 at 9.31.23 AM

3. In Reality Composer Pro, select “Developer Capture…” from the File menu.

Screenshot 2024-02-20 at 9.31.37 AM

4. Select your Apple Vision Pro device  from the drop down menu and click on the record button. This will record on device and then push the completed video to your MacBook when it is done.

5. When the recording is finished it will be deposited on your MacBook desktop as a QuickTime movie.

A note about video capture of in-app video – you can’t

You cannot use either of these techniques to capture a spatial computing experience that incorporates video. If you try to do video capture of apps like the IMAX app or the Disney Plus app, the in-app video will cut out when you begin recording. This may be a DRM feature – but I suspect it might actually be some sort of performance lock on the video buffer.