Only once there was an incorrect answer, on Hard: H01: Balanced Parentheses. On the second attempt, it was solved. The Josephus Problem turned out to be really easy (meaning solved in short term). Possibly the model got trained on the earlier tasks since I did everything in one chat. As a prompt, I provided the problem statement, except for the first task where I added this description of the language:
Syntax:
Character Instruction Performed
> Increment the data pointer by one (to point to the next cell to the right).
< Decrement the data pointer by one (to point to the next cell to the left). Undefined if at 0.
+ Increment the byte at the data pointer by one modulo 256.
- Decrement the byte at the data pointer by one modulo 256.
. Output the byte at the data pointer.
, Accept one byte of input, storing its value in the byte at the data pointer.[b]
I chose the filesystem paths organically as I was iterating with it: starting from the ideas of having a root dir and a simple unique "home" dir.
I also wanted to allow the visitor to hack around stuff like the system config through the filesystem (as if updating the `~/.config/` or `/etc/` directories in the linux world), so I also planned to have the desktop's own config files reachable in there and make it user-editable (though for now that's only the case for the list of desktop icons).
I found out that having a few root directories that were fully virtual[1] (actually in-memory) and marked a "read-only", and the others that were actually real IndexedDB-backed storage[2] was very simple to manage.
In the end it seemed to me like a much more simplified unix-like way of doing things which is what I'm the most used to.
I'm not that familiar with windows so I'm not sure why it also looks windows-like though :D, is it about the naming of paths?
[1] `/apps` for apps and `/system32` for default configs - the name was `/system` at first, then I thought renaming it `system32` instead was ""funny"" (as the directory name became kind of a meme), so I did that! Both store "files" that are actually JS objects that can be stringified to JSON when reading them.
[2] For now `/userconfig` for the desktop's own update-able config and `/userdata` for the "home" directory. Something like `/appconfig` is also planned though I'm not sure yet. In contrast those contain data really stored locally, in ArrayBuffer form (a blob of bytes).
> AI is much better than strong engineers at writing very short programs: in particular, it can produce ten to thirty lines of straightforward mostly-working code faster than any engineer.
> How can you leverage this? There’s not much demand for this kind of program in the day-to-day of a normal software engineer. Usually code either has to be a modification to a large program, or occasionally a short production-data script (such as a data backfill) where accuracy matters a lot more than speed.
While this may be technically correct — there’s little demand for standalone small programs — it overlooks a crucial reality: the demand for small code segments within larger workflows is enormous.
Software development (in my experience) is built around composing small units — helpers, glue code, input validation, test cases, config wrappers, etc. These aren’t standalone programs, but they’re written constantly. And they’re exactly the kind of 10–30 line tasks where LLMs are most effective.
Engineers who break down large tasks into AI-assisted microtasks can move faster. It’s not about replacing developers — it’s about amplifying them.
Opus 4.6 Extended, solved all of them.
https://claude.ai/public/artifacts/aeb98066-f7a9-455b-9550-6...
https://claude.ai/public/artifacts/b0fcd13f-d222-4b65-bdcf-f...
https://claude.ai/public/artifacts/304650fb-afbf-4a08-9f6b-5...
https://claude.ai/public/artifacts/d00b898c-2265-4a34-a910-9...
Only once there was an incorrect answer, on Hard: H01: Balanced Parentheses. On the second attempt, it was solved. The Josephus Problem turned out to be really easy (meaning solved in short term). Possibly the model got trained on the earlier tasks since I did everything in one chat. As a prompt, I provided the problem statement, except for the first task where I added this description of the language:
Syntax:
Character Instruction Performed > Increment the data pointer by one (to point to the next cell to the right). < Decrement the data pointer by one (to point to the next cell to the left). Undefined if at 0. + Increment the byte at the data pointer by one modulo 256. - Decrement the byte at the data pointer by one modulo 256. . Output the byte at the data pointer. , Accept one byte of input, storing its value in the byte at the data pointer.[b]
reply