13,077 karma · joined March 24, 2008
Some time in 2024 at a company get together, we had an afternoon hackathon. There was a feature in our iOS app that was missing (ability to mute autoplaying game trailers). This annoyed me a lot, because I frequently have music on when working and anytime I needed to open a test build it would kill my music. It had been an open ticket for a while but had low priority for the iOS team.
I had probably written a hundred lines of Swift in my career up to that point. Not expecting anything to come from it, I had Cursor examine the iOS codebase and told it I wanted to add a mute button under a certain area of the app settings.
Blew my mind when after only 10 minutes or so, the model had quickly found where to add the feature. Took a little back and forth, but then it added a fully functioning mute option in settings that mostly worked across the app. A little more back and forth, and those issues were settled. Maybe an hour overall of time spent that afternoon.
I pinged one of the iOS engineers about it later and he said to push it up for review. There were a few things that needed to be updated to get it inline with the rest of the codebase, but nothing substantial. Feature got merged a week or two later.
Now I'm way more productive than I have been in years. I've been getting a lot of enjoyment out of being able to prototype rapidly and experiment on features rather than getting bogged down in the process of scaffold work. Able to knock out issues much quicker.
That's all been positive, but it hasn't taken away my actual core responsibility. The LLMs can give you great advice and write code quickly. But they still don't always do well at broad thinking.
Current case in point: I've been working on an iOS app that uses vision models to do work on photos and videos that the user has taken. I've built text-based semantic search systems before, and there's a lot of cross over with vision models, but its been an interesting journey so far learning about the different types of vision models and what they're good at. Lots of testing so far and educating myself on the topic to get the user-level features I want. Claude code has been invaluable in this, as its great at writing the Swift code while I'm able to focus on the results of what is being done.
Where Claude is still not good is being able to reason at a higher level about different strategies on using vision model outputs to achieve the stated goals. Its not an issue of me not clearly defining the specifics of a feature and then letting Claude run off burning tokens to figure it out. For example, just late last night I was deep diving into some core segmentation code and having Claude explain what everything was doing line by line so that I could get a better understanding of the mechanics of the vision model.
A side effect was that I realized the vision model was outputting tons of nearly identical segments that were overlapping. This was something Claude had completely missed, and because I didn't know that's something this particular vision model did I had no prior way to know to catch it.
Bottom line is that understanding the mechanics of your application is still very much a requirement for the engineer. In this case, once I learned what was happening it completely changed my approach on how to achieve my feature goal. The code runs hundreds of times faster now and the segmentation is much, much better.
The new wave of coding models is disruptive, but its letting me be a much better engineer and get things done faster and with more assurance that the code being written is solid. I still have to spend the same amount of time thinking and learning about a problem, and probably more time verifying what's being output, but a lot of the drudgery is also being taken away.
Location: San Francisco
Remote: Yes
Willing to relocate: No
Technologies: TypeScript/JS, React, node.js, Redis, Postgres, pgvector, LLM agents, Cloud (AWS/GCP/Azure), ci/cd pipelines, other tech
Résumé/CV: on request
Email: charles@geuis.comI hate to say "check yourself", but this time maybe. Maybe with a lot of ...
1Blocker and AdGuard.
For 1Blocker I have everything enabled except adult content and scripts. AdGuard has everything turned off except for General.
These are just the free versions too.
I've been using this setup for a few years and it works close to 100% of the time.
Location: San Francisco
Remote: Yes
Willing to relocate: No
Technologies: TypeScript/JS, React, node.js, Redis, Postgres, pgvector, LLM agents, Cloud (AWS/GCP/Azure), ci/cd pipelines, other tech
Résumé/CV: on request
Email: charles@geuis.comThey have individual, enterprise, and API tiers. Some are subscriptions like Pro and Max, others require buying credits.
Say for my use-case I wanted to use Opus or Sonnet with vscode. What plan would I even look at using?
Location: San Francisco
Remote: Yes
Willing to relocate: No
Technologies: TypeScript/JS, React, node.js, Redis, Postgres, pgvector, LLM agents, Cloud (AWS/GCP/Azure), ci/cd pipelines, other tech
Résumé/CV: on request
Email: charles@geuis.comKinda done with this.
If you have something important to say, say it up front and back it up with literature later.
Location: San Francisco
Remote: Yes
Willing to relocate: No
Technologies: TypeScript/JS, React, node.js, Redis, Postgres, pgvector, LLM agents, Cloud (AWS/GCP/Azure), ci/cd pipelines, other tech
Résumé/CV: on request
Email: charles@geuis.comI completely support the sentiment of what you wrote. But it doesn't directly seem relevant to the parent question.
From my admittedly poor understand of legal stuff, these are largely proactive measures happening at company and state level. Congress nor Supreme Court have issued any rulings around this yet.
Again, just mobile experience, there's no way to download the models. That's fine if there are licensing issues. But the text needs to indicated this.
Too big to fail is a very recent modern myth. Go back 100+ years and lots of banks failed leading into the Great Depression.
Every system has a break point.
The rain would move branches out of the way.
This is why experience helps. Good life and professional experience helps to short circuit many problems.
Prefer mobile web over specific apps.
On your phone, turn on contacts-only for calls. Should also work for regular text messages.
If also using apps like WhatsApp there may be a similar app-level setting.
Get a couple of well reviewed ad blockers for your browser. I'm still astounded when I see people on their phones and dealing with ads. Especially YouTube. There are browser blockers that work for YouTube.
Adding to the previous point, never install/use a company's native app. You have NO control over that. Use their web version.
Addding to the previous point, iOS safari has an option to view any website in desktop mode. I imagine Android has something like that but I dunno. If a particular site has an annoying mobile web interface, try the desktop web version. If they don't allow that, use a different product. One case in point: I use Reddit heavily. I use old Reddit on web. Their app and mobile website are complete garbage.
Some ad blockers may help with the "accept cookies? Gdpr bullshit". I don't personally bother. They're fairly innocuous and the sites are collecting all cookies anyway so it doesn't matter.
The reason I'm not mentioning the specific web extensions I use is because despite being common and easy to find, I'm EXTREMELY hesitant to provide a curated list in a public forum that will get vacuumed up and probably lead to circumventions within a few weeks to months. This stuff is easy to find, is completely available in the platform-relevant app stores and only takes a little extra effort to customize after a couple of weeks of running into minor inconveniences. This isn't a "compile Linux from scratch" kind of problem.
Related video for those curious: https://www.youtube.com/watch?v=AKNB04slCUA&t=3s
To answer the question more directly, I've spent the last couple of years with a few different quant models mostly running on llama.cpp and ollama, depending. The results are way slower than the paid token api versions, but they are completely free of external influence and cost.
However the models I've tests generally turn out to be pretty dumb at the quant level I'm running to be relatively fast. And their code generation capabilities are just a mess not to be dealt with.