ASCII is, as people have pointed out, a 7-bit code, so it can hold only 128 characters. When they added _ and ^ to it in 01967, they had to remove the ← and ↑ characters from ASCII-1963⁂. So there was no space for any of the characters —–“”×÷£°†‡¢§•€, which are absolutely critical even for English. "National variants" of ASCII might allocate space to some of them, or to other characters like ñ which are even more critical to the languages that use them.
⁂ Smalltalk's continued use of ASCII-1963, among other things so that it could use ← as the assignment operator, is the reason that OO programmers got in the habit of using CamelCase, and are still doing so today, despite using a character set containing the underscore, and, typically, programming languages in which underscores are valid characters
> —–“”×÷£°†‡¢§•€, which are absolutely critical even for English
Assuming that second dash is an en-dash, I've not used the majority of those characters even when handwriting. I would say the quotes I handwrite are closer to symmetrical " quotes, I do still use the multiply but I use a slash for divide, I do use the pound symbol and degree symbol, and I've never used the rest. And I'm from england
ASCII is a 7-bit code, so there are only so many symbols one can add. Prior to ASCII, you had codes that used as few as 5 bits. Early C had the option to use digraphs to represent various forms of parenthesis, simply because symbols like {} and [] were not universal.
(Strictly speaking, people did continue adding symbols. We used to talk about code pages: when the MSB was 0, the other 7 bits were ASCII. When the MSB was 1, the other 7 bits were a user selected code pade.)
Many European layouts do have more symbols outside ASCII. For example German has ° (degree) and ß (ess-tset) and § (paragraph).
German PC keyboards also tend to have µ on the M key, but it is available with the right Alt key.
Macintosh keyboard layouts tend to have many symbols on Option-combinations but they are not always printed.
ASCII is 7-bit and fully filled out. Every other extended character system prior to Unicode was sporadically supported. C has digraphs and trigraphs because even the ASCII punctuation wasn't guaranteed to be available on all keyboards. IBM, notably had an APL typeball for their Selectric derived terminals but that was equivalent to switching character sets and not something that could be considered universal prior to Unicode.
This reminded me to ask: To what extent are people still coding by hand these days? In my profession (academia), literally no one codes anymore. On one hand, it sucks because the joy and fun of programming has been replaced by constant agent orchestration tasks, but on the other hand, it's hard to go back to the way things were before because the productivity gain is so good.
I remember learning a lot of these programming tricks over the years. They would give me happiness: learning something new about nvim, or some new shortcut in the Fish shell, or a new Vim macro, or the difference between 1 bracket or 2 brackets in Bash scripts, etc. But now it seems like all of them are irrelevant, and I wanted to see how others think about the situation.
> To what extent are people still coding by hand these days?
I write everything myself. After 41 years of coding, I think in code — code flows from my brain through my fingers effortlessly: translating my thoughts to English for an LLM to then translate back to code is much, much slower than me. And once my hyperfocus kicks in, the last thing I need is to be jolted out of it by an LLM prompting loop.
JetBrains Rider has an AI auto-complete which I do use for the 5-10% of the time that it can predict what I’m going to write next. But even the next-word/next-block-of-code prediction seems so hopelessly out of its depth (which is supposed to be LLM’s party piece), it’s genuinely shocking how wrong it is most of the time.
Disclaimer: I’m not writing vanilla line-of-business code or bog standard web apps, so I suspect I’m just not in the training data.
Well, there's my super-secret future-of-software-development-and-data-autonomy project, but we're not to talk about that, so shhh! (basically my next startup idea, once I've finished inventing it).
Then, there's language-ext [1], which is my large open-source functional-programming framework for C#. And although this isn't beyond the realms of an LLM: they know FP and they know C# and even my library has been around for more than a decade, so it'll be in the training data, when it comes to bending C# to my whims or to trying to eek out exceptional performance, they're all at sea.
A good example would be what I am working on at the moment, which I have in a standalone prototyping repo [2]. Basically I have introduced functional traits to C#, like `Functor<F>`, `Applicative<F>`, `Monad<M>`, etc. This brings more rigour to things like LINQ comprehensions and allows for the building of truly generic trait-based behaviours. Something that just doesn't really exist in C#.
In language-ext today I have `Foldable<F>`, which is a little bit like `IEnumerable`, but pure. I want to be able to provide a super efficient set of default implementations for any `Foldable` (or enumerable/iterable). For this I need an efficient lazy-stream or co-routine system. The one built-in to C# (`IEnumerable` and `IEnumerator`) is impure (it mutates as it enumerates), so I am trying to build an efficient iterator/enumerator that:
* Takes around 0.25 nanoseconds per-iteration-step for its housekeeping (this speed is then on a par with the mutable IEnumerators that are a core part of C#).
* Doesn't allocate any memory
* Is immutable
* Is lazy
* Can be stopped at any point and the iterator reference be passed around (because it's immutable)
* Can be composed with standard functional operators (functor map, applicative apply, monad bind, etc.) without performance degradation and without a large memory-allocation cost.
I've been building several prototypes to try different ways of bending C# to my whims. I've managed all but the last item on that list.
Not allocating memory means using value-types (stack allocated types), but that also means the entire state of the co-routine needs to be stored in the value-type as each value is yielded (because control needs to be given back to whatever code is processing the values). To solve it, I'm pretty much building my own runtime, stack-machine, and memory manager on top of the .NET CLR so that I don't have to submit to its rules. I'm trying to apply as many of my old-skool low-level engineering chops as I can (without making it brittle); but to do the last item on that list needs more space in a value-type than would be reasonable (to avoid copying costs), so I'm looking at other pooling strategies and into building lots of bespoke to-the-metal memory managers.
After all of that, it may be a fools errand, and not doable. The LLM wouldn't understand, and that's for just one feature! Also, it must be stated, I just love doing this shit, it's brain fuel. The idea of having this conversation endlessly with an LLM as it continuously gets it wrong is nightmare fuel.
I'm not anti-AI, I love the fact that people who can't, now can. But, at this point in my journey with code, I think quicker and can produce quicker than an LLM. I think it's akin to a virtuoso piano player. If the piano player had to describe what they wanted to an LLM, the magic would go, the enjoyment would go, and potentially the quality would go. It would it also take much longer than if they had just played.
That's how I feel with code. An LLM can maybe churn out more code than me, but I can build more value and I can invent. And when in my flow state, nothing can stop me.
I will certainly keep checking in though, I'm sure there'll be a point where I feel like it augments me rather than hinders. It's just not there for me yet.
I do hand-code for the most part. I will use LLMs as a "smart reference" when I can't recall how to do something or maybe to scaffold out a starting point if I'm working in a less familiar language or framework. I use them as a better search engine, where I would have probably have looked at Stack Overflow, mdn, or online docs in the past.
I'm fortunate I guess in that most of my work tasks have very loosely defined deadlines, if any at all.
I hand code entirely at work still, while almost all of my colleagues do not and I am still able to keep up. I do use coding agents on personal projects, but have not felt the impetus to switch to agent based coding at work.
I don’t mean this to brag, mostly to point out that in my line of work, actually writing the code is not the biggest bottleneck.
For context I work on greenfield network security appliances
I write code by hand because LLMs do not provide any significant productivity gains. They turn out code fast, but then I have to review it to make sure the code is correct. That takes me about as long as it would to write the code myself in the first place, so I continue to write the code myself.
Im not TYPING a lot of code by hand anymore (still some, inference is slower than typing in a few cases) but im still in the shell zipping around doing other stuff like i always have, the LLM is helpful in a lot of ways but it in no way shape or form is the ideal way to interact with a computer.
So i still get daily use out of these tricks.
Are there people that are literally ONLY interacting with a computer via an LLM? thats crazy if its true
I still hand code backends and frontends. I also review code by reading it manually, and ideally running it and then screenshot'ing receipts of it working and attaching those in my PR approval.
Also in academia but I'm old and my real work is done withy students. I'm coding by hand much less than I used to (boo) but solving more problems with code myself than I used to (yay). Having an llm do things turns out to be similar to having a student do them but with fast turnaround and it's fine to have them work on your home automation system. ;)
Another academic. LLMs are great for opening searches. I state what I would like to get into and let it get some initial paper recommendations. It seems to solves a hard problem: discoverability. Maybe I'm just getting subjected to more subtle bias but it is extremely easy and fast now to get a nice selection of relevant literature to review.
Analysis and any artifacts are all handcrafted by me. I mean, that is the work. I have never seen papers or code as an outcome. What I want is to learn and enable other to learn. That I can only get from doing the work myself.
My coding by hand is always exploratory. Either I’m getting familiar with a new library/platform or I’m sizing up the architecture of the software. Then it’s a heavy dose of copy/pasting, snippets, and emacs-fu. What I spend most time on is reading docs. Apart from that, it’s thinking (mostly away from the computer).
> To what extent are people still coding by hand these days?
That's basically I all do. I might ask a few questions to LLMs here and there like Google/StackOverflow in the days of yore.
Still, every line in all my codebases are still hand-typed. I get everything I need out of the chatbots, and I cannot use any kind of agentic coding tools at work, oddly enough. Trust me, I'd love to have access to something like Codex at work. That way I could save my mental bandwidth for personal projects that I find interesting and enjoying.
The code I check in at work is nearly all hand-written. I'll often send files and functions and snippets and questions and `git diff`'s to an LLM. In particular the code review is very helpful for catching silly mistakes. But if it generates code, even if it looks fine, I always end up manually moving it around and rewriting and renaming things. I need to understand the code I maintain, and those "prosaic" changes and refactorings that I do while incorporating the code help ground me deeply in how it works.
Also, I'm mostly not very happy with the architectural choices the LLM makes. It can be good at little details, and sometimes I learn about language features or idioms or libraries by reading its code, but I find it often uses wrong patterns. E.g. just this week I saw it creating two huge intermediate data structures for parsing something in a "cleaner" way, completely missing how the library it had suggested actually had something builtin (and prominently featured in the tutorial) that obviated the need for those intermediate structures and was both safer and more readable.
When I've tried full agent coding, I kept getting distracted while waiting. I also have the feeling that my questions to the LLM were getting "dumber" as I lost contact with the code. And I don't have the hardware for local LLM's, so giving full repo access is out of the question for work.
Altogether I feel like I've found a fairly good balance in how to use them in such a way that I can avoid a lot of the downsides and still have a tool that gives me much value that I didn't have before: I check in fewer bugs, I waste less time picking libraries/methods, I have a better rubber duck, I learn little tricks all the time, I never send LLM-generated text to humans.
While I mostly just do AI-assisted coding at work nowadays, after a long time yesterday I did some scripting in a python REPL on a remote server which didn't have any AI tooling. It felt rewarding. I was also surprised my programming muscle memory was still alive and kicking.
People in academia generally doesn't code much. So I am not surprised.
LLM's have not affected us in the slightest when it comes to coding. Maybe we write a snippet, post it for llm to scrutinize, and usually LLMs spout bullshit and wrong suggestions and after enough verbal abuse it points to some issues with the code.
But I don't get this delegation to LLM's for your entire coding. I hope everyone delegates to LLM :) (sarcasm)
You must be from 2029. How is the cost and technical debt looking over there?
Here in 2026, we are trying hard to reduce those. Here economics still punishes us for bad decisions. In 2026, some of us use LLMs as a tool and not as the brain.
The marketing pilled postures seem to have been toned down a bit.
I wish they would stop changing speakers every other sentence though. I swear drone cameras were the worst thing to happen to video, I'm gettin seasick over here!
> I wish they would stop changing speakers every other sentence though
Apple employees get to claim very little ownership over their work (even in the context of a large tech company), so having all those speaker slots is one way they can provide that ego boost that is so crucial for long term employee morale & retention
I wish they'd just give them more equity so we can go back to being able to actually name all of the people in one of these videos.
It's also probably better for Apple to lose the immature egoist weirdos as managers because there were thousands of employees involved in shipping all of the stuff unveiled today who didnt get their 5 seconds in the spotlight either, and I don't see any of them crying about it.
Emphatic gestures are one thing and descriptive gestures are another. But gesturing for the sake of gesturing is the irritating part.
You see it a lot on YouTube videos where people are talking to the camera and they're waving their hands around all over the place and pointing for no discernible reason. It doesn't change the information they're presenting, nor does it add to it. In fact, it just distracts you with someone waving their hands around.
So the same applies to presentations from a company. If you watched two people talking in a park, you wouldn't see this many gestures.
Would probably push the engineers to deliver three-way foldables like the Huawei Mate XT from two years ago. The two-way folding phones are wasting a screen and will go down in history as an abomination. The weird 1:1.4 width:height ratio wouldn't be necessary if you could 3x the screen size instead of only 2x. At 3x, the ratio could be 1:1.73 folded, giving you 3:1.73 unfolded (which equals 1.73:1). 1.73 is much closer to 16:9 (1.77) than 1.4 is.
They were _temporarily_ increased in May by 50% [1]. They continued to extend them through July and August (admittedly, their messaging around this has just been a complete mess and they frequently pushed the deadline back as it approached).
So, now they are giving you a 25% quota increase compared to where things originally stood in May.
So, let me ask you this: assuming you knew that the 50% quota increase was temporary all along, would you then have complained about Anthropic restoring things back to the original limit?
On the contrary, you and Anthropic are being disingenuous by pretending that a usage reduction is actually an increase. Especially when the 20x max plan isn't actually anywhere near 20x, as people have recently realized.
I share this sentiment, I really did like the models... then the finger printing, encryption of thought traces, staggered access, the constant NO's from Fable on cyber related issues for looking at bugs in my own code... I'm glad I swapped to Kimi/GLM... now with the deepseek harness, I don't even miss Claude Code. I really hope open models give them the market reckoning they wholeheartedly deserve.
I've not, but really should. I run it on exe.dev, it's an ephemeral VM company and they have an agent of their own called shelley (which I used locally as well), Having kicked the tires on DSH(deepseek harness), I ported Shelley's skills into DSH, they are pretty simple text files that were easy to bridge over, it is more verbose but the plugin nature of it was really easy to extend, for example, I built a plugin that checks my claude usage windows and when I get to 80% stop asking new agents for help.
reply