I saw a great re-use of IKEA parts to build something new and spectacular when I visited an office where they desks made from table legs from IKEA, plus old wooden doors with a lot of character they found at a a home building materials salvage store, they had put a thick coat of finish on the doors and then put a sheet of glass on top of that. And the office was filled with these door-desks, each a little different yet they looked so good together. They really left an impact on me, I've been thinking about them for the last 15 years whenever someone talks about tables or desks!
In my own life right now I'm in the market for a particular kind of wooden cabinet - I need a large space with doors up top, and I don't care whether the bottom has doors or shelves. I can only find the opposite, either bookshelves with no doors, or doors top and bottom, or bottom-only doors with shelves on top. So it seems I'll have to modify something to get doors on top and shelves on the bottom.
This doesn't resonate with me at all. I tell Claude in new projects: Create a todo.md file, check for open todo items there. If we work on them, check them off and leave a note with our decision and enough context for you and me to remember what we did later. After you've done this for dozens of projects, I decided to put it in my claude.md and now I say "Make a todo file and let's use it how I like".
Or I want local git for being able to roll back edits, so I say in each new folder: Create a git repository right away. Commit often. After every round. Do not ask first, just commit all the time. And if you see me manually add or edit files, add any new files and changes and commit those too. Commit liberally.
And so I can just say: "Start using Git how I want".
Or when building iOS apps I like to do things from the API where possible instead of pushing buttons in Xcode. And I want a single CLI command that will beam a new build of the iOS app to my phone. I have preferences about icons, about pricing, about international availability, etc. So now I can say "Build the iOS app in the way I like to work".
None of these are laws written in anger, or grievances, or souvenirs of the worst 30 seconds of our 'relationship', they're just the things I keep finding myself repeating.
Maybe the problem isn't Claude.md but the way you self-control your own emotions while using it.
As a web developer who has just begun building native apps: running outside of the various sandboxes browser based apps are quarantined in. Deeper file system access, better access to hardware and sensors, notifications where helpful, deeper integration into the operating system (open with, file previews, widgets to launch the app, etc) and performance. Some things the web does well, some things it does less well than native. With a native wrapper around a web app you can leverage the best of both!
Anecdotally, I've had an iPhone for 15 years, and that whole time I've dreamed of apps - some silly, some useful, that I would tell people "Imagine if there was an app that did x…". In those 15 years I learned to program and built websites and web apps, and built very basic web apps to use on my phone but shipped zero iOS apps.
Thanks to Claude, as a hobby, I've built and shipped 4 iOS apps in the last month. None of them are world-changing, but that's 4 in the last month thanks to Claude and zero in the 15 years before it. I'm clearly getting my subscription's worth out of Claude and squeezing more juice out of my own devices. It's a fun hobby! (And I'm sure if I used Android I could do more and customize my own device even more!)
This is what skeptics are missing. The strongest answer to what AI has delivered to society so far is the new, fulfilling hobby of vibecoding. Their disparagement is like being skeptical of the routine, regular investment into iterative improvements in smartphone cameras purely on the basis that you can't pinpoint a specific lump of business process value. The vibecoding is the point. That's what people want and what they are willing to pay for.
People like OP have frivolously wasted large chunks of their life writing and maintaining open source code that no valuable businesses really care about, just because they have this dumb hobby of typing out code and thinking about logic. (I'm saying this tongue in cheek.)
They, of all people, should be to understand the unlock that AI is for a large swath of humanity.
Why not pick a hobby like painting or music rather than something ridiculous like VibeCoding. Vicodin as a hobby is like claiming scrolling TikTok or playing the slot machine is a hobby.
Personally, I've cracked very few programming books and I've been building websites since ~2004 back when magazines and books were the best sources for information. Some people learn skills from books well, and some people end up bewildered and confused until they can actually try it out and see how it works. I need to explore to discover and learn.
I did find "Eloquent JavaScript" very helpful, it didn't just get me started on JavaScript but actually introduced that whole computer-sciencey side of programming that I hadn't encountered in my various markup and stylesheet language coding. I never finished Eloquent JavaScript though, it was like a springboard that got me into JavaScript (which is dynamic and has an interactive runtime) and as soon as I could be having a conversation with JavaScript at runtime, from there I continued learning by talking to the REPL and seeing what happened.
I've always been told by my parents that people can still hear and understand even if they appear unconscious or non-responsive, and so I have a personal policy of speaking respectfully toward them just the same as if they were alert and responding and part of the conversation, but it has shocked and amazed me (and saddened me) by what some people say in the presence of a living person who can very possibly hear and understand but may not be able to respond. Be careful not to be cruel to people in that situation!
When it says "arrays, which may be thought of as functions whose domains are isomorphic to contiguous subsets of the integers", is it saying that this:
const list = ['a', 'b', 'c']
is syntactic sugar for expressing something like this:
function list(index) {
switch (index) {
case 0: return 'a'
case 1: return 'b'
case 2: return 'c'
}
}
No. Quick version: They have the same type. Both take an integer and return a string, so their type would be Integer -> String in your example.
They are computationally equivalent in the sense that they produce the same result given the same input, but they do not perform the exact same computation under the hood (the array is not syntactic sugar for the function).
For the distinction there, consider the two conventional forms of Fibonacci. Naive recursive (computationally expensive) and linear (computationally cheap). They perform the same computation (given sufficient memory and time), but they do not perform it in the same way. The array doesn't "desugar" into the function you wrote, but they are equivalent in that (setting aside call syntax versus indexing syntax) you could substitute the array for the function, and vice versa, and get the same result in the end.
In my own life right now I'm in the market for a particular kind of wooden cabinet - I need a large space with doors up top, and I don't care whether the bottom has doors or shelves. I can only find the opposite, either bookshelves with no doors, or doors top and bottom, or bottom-only doors with shelves on top. So it seems I'll have to modify something to get doors on top and shelves on the bottom.
reply