I bought the refreshed M5 version with the new headstrap. I read so many complaints about weight and it was just never an issue for me personally. Maybe the new strap is that much better?
That said, the battery cable was super annoying, id accidentally catch it multiple times per day. The battery is good for less than 2 hours so i used it plugged into the wall.
For zoom calls, the persona thing is hilariously bad, unusable in a business context. Interesting for a few minutes as a tech demo though.
The virtual layout is good - a big citrix app screen (its the ipad app) for remote desktop, zoom, safari etc off to the sides and then things like calendar widget pinned to physical wall. But text clarity / quality is just slightly not good enough for software development. Almost, its close. If you dont mind large fonts its good enough.
Ultimately returned it but it was a close run thing, i almost kept it.
I do still hanker for something like this, tempted to try xreal or other glasses but seems like the PPD is even lower.
Careful using body-worn devices when plugged in. Medical power supplies have special requirements to avoid electrocution, because they are often powering equipment in contact with a person's body. Consumer power supplies probably don't, on the assumption that the device will not be charging whilst being worn.
People have died from using headphones plugged into USB chargers.
I clearly identify with the problem the author raises, which is: the bottleneck is understanding.
I don't go along with their mitigations though.
In programming we have one tool for this: abstraction. Decomposition, pattern recognition, even data structures and algorithms are all down stream of abstraction. Collectively, we've never truly mastered abstraction, but it's what we have and we collectively wield it well enough that it's usually somewhat effective.
The "right" abstraction seems like quite an art. Sometimes it's not obvious, or it takes multiple rounds of exploration and testing (I'm thinking here of the mental shift moving from HTML + JS, via jQuery, Backbone, Knockout and up to React/Vue or Angular). At all points, we thought we had reasonable abstractions for a while. Vue and Svelt, or NextJS, now are so far from the mental model of early 00s "DHTML".
And I'm not sure how this relates to TFA's point. Are you saying we collectively need to get better at abstraction so that LLMs get better at abstraction (either by training, or our prompting), so that their code is easier to read?
>> I’m losing control over the code I write when I work with agentic code generation
> Are you saying we collectively need to get better at abstraction so that LLMs get better at abstraction (either by training, or our prompting), so that their code is easier to read?
No - our current abstraction for coding agents is a loop where we express some freeform specification of a goal, then a sub loop kicks off where an llm takes a stab at what good looks like for the next step (make an edit, search for info, run a command to cause some side effect etc etc), it iterates in this loop and when it's finished its sub loop, it declares end of turn and the loop returns to the user for steering input.
That inner agent loop can make it quite hard to stay in control.
What if instead of only these low level free form prompts we additionally had some higher level primitives to work with?
English to program is the same kind of abstraction as going from assembly to program to C to program to high level scripting to "4G languages" and so on, and hiding all kinds of details behind a much terser layer. It's just that it's a qualitative jump at it.
Here's a ChatGPT provided answer asked to "define abstraction in programming, like when going from assembly to C to scripting, etc":
"Abstraction in programming is the process of building layers where each layer hides the details of the layer below".
In math/computers abstraction has a technical meaning that requires deterministic behavior for the abstraction to work. It isn't a proper abstraction if it doesn't always do the same thing underneath.
Abstraction as a layering idea without regard to how it works is like the pop-pych version in that it is "right" but misses nuance.
I’ve had both - the 380 is much lighter to carry around than the 480.
I wouldn't recommend either though, for both, the keys are not nice to type on if you don’t press perfectly downward, if you have any angle other than vertical, the keys occasionally bind a little. This is amplified on the 480 with longer key travel. They’re different types of key mechanisms on both but suffer the same problem.
If you have any kind of case, the 480 stand slot can be harder to use.
I prefer "the bottleneck is understanding" framing.
The author is nibbling at the same problem ultimately, but i don't think "hey one strategy is we could just let cognitive debt accumulate so we can go faster!" is a particularly insightful tool in the toolbox. Don't misread me, i'm not denying it can be a valid strategy.
Instead i want to read about insightful strategies for optimising that system-wide bottleneck we have: understanding.
Tell me about how you managed to shift to a higher level of abstraction, tell me about how and when that abstraction leaks. Tell me how you reduced the amount of information that has to flow through the system bottleneck.
It’s making guesses not decisions, framing as decisions will lead you astray to wasted time and tokens.
It’s vaguely productive to tell them a ton of relevant info upfront attempting to minimise their need for load bearing guesses. I say vaguely because obedience is generally only around the level where it's good enough to lull you into a false sense of security, not to actually be obedient.
It’s a bit more productive to use the various loop mechanisms (hooks, /goal etc) to evaluate each end of turn against guard rails and reject with clear instruction on whats unacceptable. Obviously if you only do this without the front load of info then you’re likely to spend more tokens to reach a satisfactory end of iteration.
A Grand Seiko could be an apt comparison, this is hand finished rather than mass produced on a production line. Also, by a Japanese craftsperson using a prized skill (lacquer vs zaratsu).
>> vanity item
Who covets a calculator? The attraction here is surely celebrating the craftsmanship and the story / history behind the product and firm that produced it.
10x what? 10x revenue? 10x features shipped? Whats the measure, is it 10x speed of dev like parent comment? Because an unqualified 10x could mean 10x SLOC which is trivial with an agent but has negative value.
Assuming 10x on the speed of dev, Is the vscode repo a decent example? Recently they've been all in on AI augmented development so i'm thinking they'd be a reasonable subject?
How do you isolate out what counts as the "development" part of their delivery cycle (is that the dev inner loop, does that show up in frequency of commits then?) to measure it and see if it's running 10x?
Guarantee it’s the same story I get from all my friends/co workers who are now 10x… they are 10 times faster at starting random projects that get to 80% done that they can’t finish, so they immediately move on to the next project because their velocity is so high
From a software quality or software engineering POV --> this is clearly not building durable value, not scalable, etc. So I'd agree with you there.
But from the POV of say, a young startup company looking for PMF and navigating the ambiguities involved with trying to figure out what is the "right thing" to build that will appeal/delight/convince-people-to-pay --> being 10X faster at shipping 80% done projects, is actually incredibly, unfathomably valuable of a superpower. And it is also rationally the "right thing" to do, to make lots of cheap bets and fail/learn fast.
I find that many folks on my team (I am a manager/leader of small-to-mid size eng org), struggle with accepting the nuances of knowing the difference between different projects (where same team may need to do both kinds of work, all the time and in parallel):
- "Hey, the company needs, and you and I both agree, that this situation calls for building/renovating a skyscraper --> please design a fucking strong/safe/reliable skyscraper and don't take any shortcuts, this requires 'real' engineering"
- Vs, "Hey, the company isn't sure what it needs, and neither you nor I know any better either, so let's try a bunch of different shacks/sheds/treehouses/whatever, until we find something that has traction / makes us money (and it's okay if the shed collapses -- so long as the business knows this too, that it wasn't meant to be a load-bearing, skyscraper-esque thing anyways)"
I won't get into the rabbit hole of talking about dealing with bad business leaders, who want a skyscraper but expect to pay the price of a shack/shed. Let's assume that we are talking about the type of companies (maybe the minority) that are reasonable enough to know and acknowledge the difference. Then what is the game-theoretic/rational thing for them to do, and how does this 10X idea express itself? That's where my argument is coming from.
Its 10x code generation with .5x quality at best and all other parts of the SDLC are at 1.x or worse.
AI is not delivering 10x shareholder value, anywhere. Software developers have quite the level of hubris about how important they are to companies. Yes our work is very complex and takes a certain mindset to do it well. It takes a lot of other roles to have a successful business, many of those roles will use AI to help draft slide decks, emails, etc. and that's the limit for them.
Look at recent companies doing layoffs claiming its because of AI, like CloudFlare and Coinbase, do their reported financials paint the picture that they are crushing it with AI? No, its net losses into the $100's of millions.
I guess it doesn't have to use JavaScript for the back behavior. It could use a server-side rendered referrer if that hasn't been stripped by the browser?
You say that JavaScript and fallbacks for menus is a solved issue but the number of menus that are just an absolute clusterfuck is ridiculous on the web today. They're really not a solved issue, Progressive enhancement is hard to do. Genuinely hard in some cases.
On balance, while this is not without flaws, it's interesting. Accessibility, deep linking, reduction in cognitive load for the developer. There's some merit here.
That said, the battery cable was super annoying, id accidentally catch it multiple times per day. The battery is good for less than 2 hours so i used it plugged into the wall.
For zoom calls, the persona thing is hilariously bad, unusable in a business context. Interesting for a few minutes as a tech demo though.
The virtual layout is good - a big citrix app screen (its the ipad app) for remote desktop, zoom, safari etc off to the sides and then things like calendar widget pinned to physical wall. But text clarity / quality is just slightly not good enough for software development. Almost, its close. If you dont mind large fonts its good enough.
Ultimately returned it but it was a close run thing, i almost kept it.
I do still hanker for something like this, tempted to try xreal or other glasses but seems like the PPD is even lower.
reply