Hacker News new | past | comments | ask | show | jobs | submit | macNchz's comments login

Is this not practically accessible? https://www.usaspending.gov/

I feel this—I've really enjoyed working on some throwaway projects where I can work like this and not sweat the small stuff at all. That said, the one area that's tricky to reconcile in this mode is security: in my (fairly extensive) experience with the current state of AI coding assistants, prompting for security is nowhere near sufficient for me to be comfortable putting a web app on the internet without reviewing the code carefully.

Just in the past few weeks I can think of several instances where an AI assistant added sensitive API endpoints with no authentication whatsoever, updated API endpoints with methods that didn't follow my guidance on authorization or existing authorization patterns in the codebase, or created templates with brutal potential for XSS.

I'm all in on coding with LLMs and use them every single day, but I'm quite confident there will be plenty of work for security engineers as we explore this future.


You can start it with something like:

    aider --architect --model o1 --editor-model sonnet
Then you'll be in "architect" mode, which first prompts o1 to design the solution, then you can accept it and allow sonnet to actually create the diffs.

Most of the time your way works well—I use sonnet alone 90% of the time, but the architect mode is really great at getting it unstuck when it can't seem to implement what I want correctly, or keeps fixing its mistakes by making things worse.


I really want to see how apps created this way scale to large codebases. I’m very skeptical they don’t turn into spaghetti messes.

Coding is basically just about the most precise way to encapsulate a problem as a solution possible. Taking a loose English description and expanding it into piles of code is always going to be pretty leaky no matter how much these models spit out working code.

In my experience you have to pay a lot of attention to every single line these things write because they’ll often change stuff or more often make wrong assumptions that you didn’t articulate. And in my experience they never ask you questions unless you specifically prompt them to (and keep reminding them to), which means they are doing a hell of a lot of design and implementation that unless carefully looked over will ultimately be wrong.

It really reminds me a bit of when Ruby on Rails came out and the blogosphere was full of gushing “I’ve never been more productive in my life” posts. And then you find out they were basically writing a TODO app and their previous development experience was doing enterprise Java for some massive non-tech company. Of course RoR will be a breath of fresh air for those people.

Don’t get me wrong I use cursor as my daily driver but I am starting to find the limits for what these things can do. And the idea of having two of these LLM’s taking some paragraph long feature description and somehow chatting with each other to create a scalable bit of code that fits into a large or growing codebase… well I find that kind of impossible. Sure the code compiles and conforms to whatever best practices are out there but there will be absolutely no constancy across the app—especially at the UX level. These things simply cannot hold that kind of complexity in their head and even if they could part of a developers job is to translate loose English into code. And there is much, much, much, much more to that than simply writing code.


I see what you’re saying and I think that terming this “architect” mode has an implication that it’s more capable than it really is, but ultimately this two model pairing is mostly about combining disparate abilities to separate the “thinking” from the diff generation. It’s very effective in producing better results for a single prompt, but it’s not especially helpful for “architecting” a large scale app.

That said, in the hands of someone who is competent at assembling a large app, I think these tools can be incredibly powerful. I have a business helping companies figure out how/if to leverage AI and have built a bunch of different production LLM-backed applications using LLMs to write the code over the past year, and my impression is that there is very much something there. Taking it step by step, file by file, like you might if you wrote the code yourself, describing your concept of the abstractions, having a few files describing the overall architecture that you can add to the chat as needed—little details make a big difference in the results.


I use Cursor and Composer in agent mode on a daily basis, and this is basically exactly what happened to me.

After about 3 weeks, things were looking great - but lots of spagetti code was put together, and it never told me what I didn't know. The data & state management architecture I had written was simply just not maintainable (tons of prop drilling, etc). Over time, I basically learned common practices/etc and I'm finding that I have to deal with these problems myself. (how it used to be!)

We're getting close - the best thing I've done is create documentation files with lots of descriptions about the architecture/file structure/state management/packages/etc, but it only goes so far.

We're getting closer, but for right now - we're not there and you have to be really careful with looking over all the changes.


The worst thing you can do with aider is let it autocommit to git. As long as you review each set of changes you can stop it going nuts.

I have a codebase maybe 3-500k lines which is in good shape because of this.

I also normally just add the specific files I need to the chat and give it 1-2 sentences for what to do. It normally does the right thing (sonnet obviously).


Yes! Turn off autocommit, everyone! Review and test, then git commit.

I’m a long-time Sublime user who also uses Emacs for single files/at the command line (I also have Emacs key bindings set up in ST), I have found over the years that I am prone to configuration rabbit holes with Emacs and that Sublime strikes a nice balance of good defaults, simplicity, and customizability.

I think that every time I’ve worked on a large project with Emacs I’ve started trying to optimize the partial/fuzzy filename search, trying all of the different ways people suggest online to see which one feels natural until I realize I’ve spent an entire day on it.

Over time I’ve come to really value software that is customizable, but that comes with defaults that I really like, rather than software that’s even more customizable but that must be customized for it to feel right. God forbid I run Emacs somewhere without my conf and forget to disable electric indent mode and want to flip my desk when it does its terrible default behavior.


I actually really like podcasts but never wanted my music app forcing theirs above links to actual music, or inserting extra ads into episodes that I could listen to from other sources. Their rollout of podcasts made me make a point to never, ever listen to a podcast on Spotify.

I really don’t like this feature—I enjoyed their genre/mood oriented running playlists explicitly as a way to listen to stuff well outside of my usual listening while out on runs, but since they made them “made for you” they’re strictly worse. Relentless algorithmic sameness is everywhere and I’m sick of it.

Spotify is also funny for maintaining the existence of their feature suggestion community boards while just utterly stonewalling for years while thousands of paying users beg for stuff like…being able to hide a section of the home screen, or not have long-standing playlists magically change.


My super basic feature request is to be able to report wrong metadata. It's just impossible right now unless you're the artist as far as I can tell. For example Dreaming Bull (https://open.spotify.com/artist/7s6vcAnBioL2PJisG8YMww) with a single actual album in 2014 is either taken over by or merged with some random crap. But Spotify doesn't care enough to even let me let them know. (Yes, I filled out the contact form multiple times - it's ignored)

I had this same problem in Tidal, where attribution errors are really common even for big artists. For example, look under singles here https://listen.tidal.com/artist/8112 and look here both in the albums and singles sections https://listen.tidal.com/artist/34575

At least on Tidal you can email customer support about it, but they are slow (probably under staffed) and it usually takes weeks for them to fix things and now with the constant flood of AI-made music, the crap accumulates faster than it can be cleaned up.

I ended up moving on to Apple Music where the situation in relation to attribution is not as bad. I chose Apple Music because it's among the services that has better rates for artists, although lower than Tidal https://virpp.com/hello/music-streaming-payouts-comparison-a...


> maintaining the existence of their feature suggestion community boards while just utterly stonewalling for years while thousands of paying users beg for stuff

my one I've been asking them for years for is the ability to quickly swap profiles on a family plan. (first world problem i know!)

My daughter, not being able to swap to her profile on our main media machine has utterly destroyed the utility of Discover Weekly for me, and for a time that was my favorite spotify feature.


The solution is simple: stop paying.

Browsers have been lying about their identities via their user agent strings since 1995.

As far as my Chromium is concerned, it identifies as a...: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

The only thing it doesn't identify as is Internet Explorer.

(Yes it's an old version, no I will update when I feel like it. Shush.)


I’ve built and iterated a bunch of web applications with Claude in the past year—I think the author’s experience here was similar to some of my first tries, where I nearly just decided not to bother any further, but I’ve since come to see it as a massive accelerant as I’ve gotten used to the strengths and weaknesses. Quick thoughts on that:

1. It’s fun to use it to try unfamiliar languages and frameworks, but that exponentially increases the chance you get firmly stuck in a corner like OP’s deployment issue, where the AI can no longer figure it out and you find yourself needing to learn everything on the fly. I use a Django/Vue/Docker template repo that I’ve deployed many production apps from and know like the back of my hand, and I’m deeply familiar with each of the components of the stack.

2. Work in smaller chunks and keep it on a short leash. Agentic editors like Windsurf have a lot of promise but have the potential to make big sweeping messes in one go. I find the manual file context management of Aider to work pretty well. I think through the project structure I want and I ask it to implement it chunk by chunk—one or two moving pieces at a time. I work through it like I would pair programming with someone else at the keyboard: we take it step by step rather than giving a big upfront ask. This is still extremely fast because it’s less prone to big screwups. “Slow is smooth and smooth is fast.”

3. Don’t be afraid to undo everything it just did and re-prompt.

4. Use guidelines—I have had great success getting the AI to follow my desired patterns, e.g. how and where to make XHRs, by stubbing them in somewhere as an example or explicitly detailing them in a file.

5. Suggest the data structures and algorithms you want it to use. Design the software intentionally yourself. Tell it to make a module that does X with three classes that do A, B and C.

6. Let the AI do some gold plating: sometimes you gotta get in there and write the code yourself, but having an LLM assistant can help make it much more robust than I’d bother to in a PoC type project—thorough and friendly error handling, nice UI around data validation, extensive tests I’m less worried about maintaining, etc. There are lots of areas where I find myself able to do more and make better quality-oriented things even when I’m coding the core functionality myself.

7. Use frameworks and libraries the AI “knows” about. If your goal is speed, using something sufficiently mainstream that it has been trained on lots of examples helps a lot. That said, if something you’re using has had a major API change, you might struggle with it writing 1.0-style code even though you’re using 2.0.

8. Mix in other models. I’ve often had Claude back itself into a corner, only to loop in o1 via Aider’s architect mode and have it figure out the issue and tell Claude how to fix it.

9. Get a feel for what it’s good at in your domain—since I’m always ready to quickly roll back changes, I always go for the ambitious ask and see whether it can pull it off—sometimes it’s truly amazing in one shot! Other times it’s a mess and I undo it. Either way over time you get an intuition for when it will screw up. Just last week I was playing around with a project where I had a need to draw polygons over a photograph for debugging purposes. A nice to have on top of that was being able to add, delete, and drag to reshape them, but I never would have bothered coding it myself or pulling in a library just for that. I asked Claude for it, and got it in one shot.


With video games at least there are still DRM-free digital purchases (as opposed to film and TV). I haven't bought a physical video game since like 2010 but still buy many games regularly that are DRM free—I don't necessarily buy the most mainstream games, though.

I imagine that at least one factor there is that building up is prohibited by zoning—a super brief glance at Concord's zoning map & code it looks like the only kind of residential buildings you can build anywhere without special permission are single-family.

Now there are surely people living there who would argue that this zoning has protected the shape and nature of the town they that they prefer, but the flip side of that coin is that, at $1.4m, a median home in Concord costs more than 3x that of the country overall.


There's probably some truth in that. On the other hand, Concord is a pretty far-flung suburb; you're probably over 30 minutes to get to Cambridge without heavy traffic. I believe the prison out there is closed now but don't know what the plans are for the land.

Sure, I wouldn't imagine it'd turn into a cluster of skyscrapers if the restrictions were not there, but I would imagine there might be some small apartment buildings near the train station. New Jersey has had some impressive housing changes happen by opening areas near transit to development in not-dissimilar environments.

Apparently, the governor is interested in using it for housing development but I'm sure that will be tied up in the courts for years--especially with it being Concord.

Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: