By returning detailed docs for exactly what the AI is coding at the time, it greatly reduces the the likelihood it will make a mistake. It moves from a recall from the training data problem, to a transcription problem.
Don't be intentionally obtuse - even for people living in a place with public transport as encompassing as say NYC, you _need_ some form of ride-sharing service eventually in day-to-day life. Being banned from the duopoly of ride-share services is a life-altering thing to happen.
though the commenter might have been obtuse to say that banned from the duopoly of ride-share services is a life-altering thing to happen is quite mad. I live in a city and have never used a ride-share service. out the pool of another dozen friends/co-workers 10 of them seldom-to-never use it (we are all in 40's / early 50's). so most definitely not "life-altering thing"
Have you ever considered that perhaps others conduct themselves differently?
I live in a small city. When I travel, I generally have to be at the airport or train station between 4 and 530 AM. Uber put the taxis out of business, so the choice is Uber, Lyft, wasting a half hour and alot of money parking, or trying to find a black car service.
I was in Rome for business. The choice is Uber or the local cab hailing app, which the cabs don’t always respond to, and the cabbie frequently tries to ripoff a dopey foreigner.
Heh, Rome!! The meter wrote €40, the taxi driver asked for €60. He tried verbal-aggression and threatened to call the police. I took a photo of the meter and asked him to please call the police, I will show them the photo and tell them that he threatened me. He took the €40 and went his merry way.
Once upon a time (around 2005-2006) I had a colleague whose father was a taxi driver. He (the colleague) was openly telling us that every cabbie cheats. Once in a blue moon you find an honest one, or one whose cheating-meter-subsystem is broken.
Cabbies and barmen. My family owned bars, my grand uncle always said he would fire honest bartenders, because there’s no such thing, and he’s too smart to work for him. :)
I don’t think I was being obtuse. We had ways of getting around before Uber existed. It’s literally just taxis in another format, which we still have.
Like you said I can’t think of a single place we’re not having access to Uber means that you are functionally stuck. I’m sure those locations exist, but they must be quite rare. There are a lot of places with the others that don’t have Uber, however.
> even for people living in a place with public transport as encompassing as say NYC, you _need_ some form of ride-sharing service eventually in day-to-day life
Not really. You can say this about smaller US cities, but NYC is absolutely a city where the >90% percentile of people can live without the daily use of a car.
(The simplest reason for this has nothing do to with car ownership or desirability per se: it's because of NYC's food delivery happens by bike or moped.)
Many times, if I want to go from arbitrary point A to point B in NYC within 30 minutes due to time constraints, the only choice is taxi/Lyft/Uber. Subway/bus combined with walking easily take 1 hour.
Or when it's very late in the evening.
Of course, we are talking about NYC, which means that you can arrive at your destination, eventually. That doesn't mean you want to do that in many situations.
This is a strawman if I've ever seen one. The person you're responding to said literally nothing about "daily use of a car". The point was that you need rideshare at some point in your life, which is a point you failed to respond to. There are trips, even in NYC, where you'd be severely inconveniencing yourself by not using rideshare, which makes it a tough calculus to choose between $20 and being banned from Uber for life.
I’m not being obtuse and that’s a very rude thing to say. No need to personally attack me. I get I was being somewhat flippant, but the point is that anywhere that has rideshare almost certainly has at least some other option(s). We would be very hard-pressed to find a place where literally the only option is Uber.
I wonder how it was possible to live before ride sharing services. Like common, they are convenient, but not a life necessity. In a city with a good public transport, taxi usage was rare.
I'd love to do this one day! Curious - after reading, the part about wildlife scares me. Did you ever run into genuinely worrying situations with wildlife? Hearing about Black widow spiders alone makes me want to only do this with a van following behind me to sleep in at night!
Most wildlife is somewhat afraid of humans so long as they are not taught otherwise. They know you are big and don't know if you are going to eat them so they stay away. Mountain lions are the only possible exception. So long as you don't get close and don't give them reason to get close they will generally leave you alone.
The above is why it is critical to keep food either hung in a tree or in bear proof containers. So long as bears don't see humans and think "I've found food near them" they will stay away - but once they realize humans mean food there is trouble. Wild areas rarely have problems - causal campers don't realize how important proper bear protection is and over time bears have figured it out.
The black widow and a few other spiders and insects are exceptions - they will target you. (though mostly spiders leave you alone)
That black widow spider could be inside your house right now. Houses afford us protection but not immunity from these things. Spiders are notoriously resistant to pesticides as they require direct contact since they don’t clean themselves like insects do (thus not ingesting the poison on the floor or wherever they’re creeping along).
I bike packed 2000 miles around Europe, and one time in the mountains outside San Sebastian I was chased by a black bear. Weird people were probably the most dangerous wildlife, but like OP, basically every interaction with strangers I had was positive. But, I did move my tent a few times after setting it up upon realizing that the weird person I interacted with earlier knew where I was sleeping.
Ha ha, I felt like you did when I moved to California and found them everywhere when I started looking for them. Never got bit in the 26 years I lived among them.
And people there were freaked out when they heard I was from Kansas and thought little of having grown up around the perhaps more frightening Brown Recluse.
Does anything like this exist for just flying around cities (not SF, anywhere) in general? Would love to experience what a drone sees even if it's in a limited area.
- Bing Maps (3D flyover mode, more stale data in my experience)
- Apple Maps satellite view (only on macOS/iOS)
- Google Earth VR[1] (requires a Windows PC and a VR headset that can connect to it)
- Microsoft Flight Sim 2020/2024 (requires a beefy Windows PC, uses Bing Maps plus a lot of other enhancements and rendering goodness. Most lifelike "feels like I'm there" but not true to earth)
I'm not aware of splat-based city photogrammetry aside from one-offs like this but I'd love to learn if there's any such projects!
Has anyone who evolved from a baseline of just using Cursor chat and freestyling to a proper workflow like this got any anecdata to share on noticeable improvements?
Does the time invested into the planning benefit you? Have you noticed less hallucinations? Have you saved time overall?
I’d be curious to hear because my current workflow is basically
Because ghuntly doesn't have to outrun the bear, just outrun the rest of us.
Meaning, if ghuntly can provide more value to an employer than a different employee, who doesn't know this trick, it's the other employee that's getting laid off, not ghuntly. In sharing this trick, it means that ghuntly now also has to outperform the other employee who also has this trick.
I’ve been following this, my workflow doesn’t us cursor (VS Code descendants just aren’t my preference) but I’ve built your advice into my home made system using emacs and gptel. I keep a style guide that is super detailed for each language and project, and now I’ve been building the stdlib you recommended. It’s great, thanks for writing this!
Hi, I appreciate you sharing. I've been starting to use this advice with a different tool. Just FYI, this sentence kind of came out of nowhere and it wasn't clear what you meant:
> The foundational LLM models right now are what I'd estimate to be at circa 45% accuracy and require frequent steering
Do your rules count as frequent steering and lead to increased 'accuracy', or is that the 'accuracy' you're seeing with your current workflow, rules and all?
Aider + AI generated maps and user guides for internal modules has worked well for me. Just today I did my own version of a script that uses Gemini 2 Flash (1M context window) to generate maps of each module in my codebase, i.e. a short one or two sentence description of what's in every file. Aider's repo maps don't work well for me, so I disable them, and I think this will work better.
I also have a scratchpad file that I tell the model it can update to reflect anything new it learns, so that gives it a crude form of memory as it works on the codebase. This does help it use internal utility APIs.
LLMs forcing us to improve our documentation habits. Seriously though, many languages allow API doc generation out of comments. Maybe these docs can just be flattened into a file.
Yes sort of. This particular codebase is a mix of Java and Kotlin, and all my internal code is documented with proper Javadocs/KDocs already since years, just for myself and other people I work with. That's partly why Gemini can make such accurate maps.
The problem isn't a lack of docs but rather birds-eye context: even with models that allow huge context windows and are fast, you can drown a model in irrelevant stuff and it's expensive. I'm still with Claude 3.5 for coding and its window is large but not unlimited. You really don't want to add a bunch of source files _and_ the complete API docs for tens of thousands of classes into every prompt, not unless you like waiting whilst money burns and getting problems due to the model getting distracted.
It's also just wasteful, docs contain a lot of redundancy and stuff the model can guess. If you ask models to make notes about only the surprising stuff, it's a form of compression that lets you make smaller prompts.
Aider provides a quick fix because it's easy to control what files are in the context. But to 'level up' I need to let the AI find and add files itself. Aider can do this: it gives the model tools for requesting files to be added to the chat. And in theory, Aider computes a PageRank over symbols and symbolic references to find the most important stuff in the repository and computes a map that's prepended to the prompt so the model knows what to ask for. In practice for reasons I don't understand, Aider's repo maps in this project are full of random useless stuff. Maybe it works better for Python.
Finding the right way to digest codebases is still an open problem. I haven't tried RAG, for instance. If things are well abstracted it in theory shouldn't be needed.
Indexing automatically generated API docs using Cursor seems to work very well. I also index any guides/mdbooks libraries have available, depending on whether I’m trying to implement something new or modifying existing code.
It then chunks them to fit within model context window limits, sends it to the LLM with a system prompt that asks it to summarize each file in a compact way, and writes the result back out to the tree.
The ugly XML tag is to avoid conflicts. Some other scripts try to make a Markdown document of the tree which is silly because your tree is quite likely to contain Markdown already, and so it's confusing for the model to see ``` that doesn't really terminate the block. Using a marker pattern that's unlikely to occur in your code fixes that.
- small .cursorrules file explaining what I am trying to build and why at a very high level and my tech stack
- a DEVELOPMENT.md file which is just a to-do/issue list for me that I tell cursor to update before every commit
- a temp/ directory where I dump contextual md and txt files (chat logs discussing feature, more detailed issue specs, etc.)
- a separate snippet management app that has my commonly used request snippets (write commit message, ask me clarify questions, update README, summarize chat for new session, etc.)
Most of these workflows are just context management workflows and in Cursor it's so simple to manage the context.
For large files I just highlight the code and cmd+L. For short files, I just add them all by using /+downarrow
I constantly feed context like this and then usually come to a good solution for both legacy and greenfield features/products.
If I don't come to a good solution it's almost always because I didn't think through my prompt well enough and/or I didn't provide the correct context.
It is impossible to deny that DJT appears to be far younger than he really is, and at the very least, his energy and character are much more striking as youthful than any of the Democrat leadership (Biden, Pelosi, the other geriatrics). There's a reason we have dozens of quotable moments from Trump and like three max from Biden.
Prohibit importing non-compliant goods. Do compliance checking in ports and punish local importers, both companies and their owners/executives, for noncompliance.
I don't think the political will to do this exists. From the perspective of the state we care way more about drugs than we do about plastics, but people have been ordering asthma drugs, psychedelics, stimulants, steroids, and retinoids from Indian pharmacies successfully for at least a decade now, which makes me think that it's a hard problem to solve at scale.
I don't think the political will exists do much of anything which is hard, definitely not to coördinate laws on plastics. But to compare import of stimulants to plastics... I don't think it's the same thing. Nobody is going to gray import a plastic toothbrush from China just to get that extra cadmium.