HNHacker News
TopNewBestAskShowJobs

macNchz

8,073 karma · joined July 15, 2013

adrien@incinc.io

https://a.drien.com

https://github.com/drien

https://infosec.exchange/@adrien

submissionscomments
macNchz··on Avoiding outrage fatigue while staying informed
Many of the circumstances being called out as concerning in recent weeks map well to historical examples—the framing of the argument alone doesn’t inherently invalidate it when we have good examples of comparable events (e.g. purge and installation of unqualified loyalists) precipitating critical, difficult to recover from outcomes (democratic backsliding) in other societies. When the stakes are so high, vigilance is rational.
macNchz··on Avoiding outrage fatigue while staying informed
> slippery slope arguments

If we review democracies through history that have at some point become less democratic, I think describing the process of how that actually happens as being a slippery slope is quite apt. I’d say it’s more of a fallacy to assume that democracy is a secure default state of being rather than an ideal that we must collectively support or lose entirely—that we can safely “slip” a little without risking a slide further down the slope.

macNchz··on Payments crisis of 2025: Not “read only” access anymore
Is this not practically accessible? https://www.usaspending.gov/
macNchz··on Vibe Coding
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.

macNchz··on OpenAI O3-Mini
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.

macNchz··on OpenAI O3-Mini
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.

macNchz··on I still like Sublime Text
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.

macNchz··on Goodbye, Slopify
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.
macNchz··on Goodbye, Slopify
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.

macNchz··on Show HN: DeepSeek My User Agent
Browsers have been lying about their identities via their user agent strings since 1995.
macNchz··on When AI promises speed but delivers debugging hell
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.

macNchz··on How far can you get in 40 minutes from each subway station in NYC?
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.
macNchz··on Sony ends production of Blu-ray Disc, recordable MiniDisc, and MiniDV media
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.
macNchz··on How far can you get in 40 minutes from each subway station in NYC?
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.

macNchz··on The FizzBuzz that did not get me the job
There’s a spectrum of reasonableness with technical interview questions—the process described in this post is unreasonable, but I think plain old fizzbuzz is about as reasonable as it gets. It’s actually pretty “real world” if the candidate will be writing code in their job.

It’s not a trick question nor does it require memorization or study to prepare. You’re not being given 20 minutes to solve something that requires knowledge of an algorithm that researchers worked on for decades that you’ve either practiced or will stumble through deriving from first principles—you’re writing a very simplistic function.

macNchz··on New Book-Sorting Algorithm Almost Reaches Perfection
The "real life" solution of leaving gaps & reindexing is actually my earliest programming memory (as a teenager)/lesson in cleverness, of feeling like I should have been able to come up with a more clever/optimal/~~scalable~~ solution but settling for this awkward 100 200 300 thing. Nowadays I've used that approach like...dozens of times over the decades of real world projects since, and I'm still maintaining that web app I made in 2003, so I'm very glad I never came up with something unduly clever.
macNchz··on Build It Yourself
I’ve definitely become much more likely to start with small internal utility functions implemented by AI before adding a library than I would have been in the past—it’s quite effective for contained problems, I can have the AI write much more complete/robust implementations than I would myself, and if I do eventually decide to add a library I have a natural encapsulation: I can change the implementation of my own functions to use the library without necessarily having to touch everywhere it’s being used. Makes it easy to test a couple of different libraries as well, when the time comes.
macNchz··on Show HN: I made an open-source laptop from scratch
I went to a peer school that had at least a couple of math teachers with PhDs—my friends at the time who took their classes were, if I recall, nationally competitive in math olympiads.
macNchz··on How do interruptions impact different software engineering activities
Additionally, a break might be an opportunity for your mind to continue working on whatever it was you left off with, whereas an interruption explicitly redirects your attention to another topic.

When I’m deep in the weeds on a task, stepping away for a walk in the park, a workout, or to prepare a meal or some coffee, affords me the opportunity to clear the micro details of the task from my mind while retaining the macro at the tip of my attention. This state is very frequently where the best insights on the task emerge, whereas an interruption resets both micro and macro attention entirely to something else.

macNchz··on It's time to make computing personal again
Arguably this is still on Apple, because they don’t let you access the full filesystem as you can on other operating systems, and in particular because an app developer may rightfully want to create a class of internal-use files that are not explicitly exposed to the typical user, but would be available to users seeking them out.

I imagine, for example, that if the internal project files for a popular video editing app were accessible, we’d see competing and/or open source apps emerge that could parse them, were the original app to become suddenly unavailable. Instead they’re just lost because your phone won’t let you access them.

macNchz··on Has LLM killed traditional NLP?
I've used embeddings to define clusters, then passed sampled documents from each cluster to an LLM to create labels for each grouping. I had pretty impressive results from this approach when creating a category/subcategory labels for a collection of texts I worked on recently.
macNchz··on Thoughts on a month with Devin
To this point, I use AI programming assistants pretty heavily and find very frequently that they will write extremely inefficient or oddly baroque implementations of what I’m asking for in their first pass, that appear as if they don’t have the “knowledge” or ability to do it better, but then they can be prodded to re-do it very easily. Frequently I look at some generated code and write back the most cursory feedback like “looks o(n^2) can you make more efficient” or “use pointers instead of nested loops” or “how about using X approach” and it will often produce something dramatically better than the initial effort. For now at least I think these tools are still most powerful in the hands of experts. (I am a self-taught programmer but have a fair bit of experience)
macNchz··on Thoughts on a month with Devin
I tried to get used to the tab completion tools a few times but always found it distracting like you describe. often I’d have a complete thought, start writing the code, get a suggested completion, start reading it, realize it was wrong, but then I’d have lost my initial thought, or at least have to pause and bring myself back to it.

I have, however, fully adopted chat-to-patch style workflows like Aider, I find it much less intrusive and distracting than the tab completions, since I can give it my entire thought rather than some code to try to complete.

I do think there’s promise in more autonomous tools, but they still very much fall into the compounding-error traps that agents often do at the present.

macNchz··on Google is making AI in Gmail and Docs free, but raising the price of Workspace
It's nice if you're the one presenting or leading the meeting, and/or if the person you've asked to take notes is not especially diligent. I've also been sent a photograph of someone's handwritten notes after a meeting and found it...not terribly useful.
macNchz··on Google is making AI in Gmail and Docs free, but raising the price of Workspace
I find AI meeting transcripts and summaries to be one of the most genuinely useful things to come out of this era of LLM tools. Being able to see a quick summary of what was decided or who was supposed to do what next is just so helpful, either for refreshing your memory after the weekend or just because people aren’t all that great at taking and sharing notes.
macNchz··on Climbers using xenon gas to climb Everest
It has always been pay-to-win. Expensive “expedition style” ascents—where hired Sherpas shuttle oxygen bottles and other essential gear up to high elevation camps, setting fixed ropes and ladders along the way—vastly outnumber “alpine style” ascents where climbers attempt to summit with no support using only gear they can carry themselves.

The mountain has been flooded with rich people paying guides to get them to the top for decades. It’s obviously still a major challenge, but very much a well-monetized one.

macNchz··on American workers' enthusiasm for their jobs falls to a 10-year low
I think for discussion/negotiation with decisions being made, my hierarchy of preference would be (from most preferred to least):

- Message board style like Github issues - Slack thread - Email thread - Video call - In person meeting

I do really like in-person meetings for brainstorming or collaborative design type stuff. Having a real whiteboard is hard to beat, and I think the discussion can flow a little more naturally without any latency.

I have found that AI notetakers can bridge this gap fairly well—whether in a virtual meeting or in person. If the calendar event has a virtual meeting with a notetaker that joins by default, someone can join the meeting and throw a phone down on the conference table and everyone gets a full transcript, summary, and list of next steps afterwards. One of my favorite real world applications of LLMs so far.

macNchz··on American workers' enthusiasm for their jobs falls to a 10-year low
Hot-desking would drive me nuts. When I worked in an office I found it disruptive having to move or rearrange desks even once a year or less. One would think we would have learned from TBWA trying it 30 years ago https://www.wired.com/1999/02/chiat-3/
macNchz··on American workers' enthusiasm for their jobs falls to a 10-year low
I think those are all fair and reasonable—ultimately I've chosen not to work in an office since late 2019, so I'm not exactly an in-person absolutist.

Personally, though, I do think that the higher-bandwidth effect is valuable to me. I think part of what makes me feel like video calls are tiring is that my brain is working overtime trying to extract some of that extra signal from the participants, while in-person I'm able to better gauge others' reactions intuitively and adjust my tone or approach without much conscious effort. People have told me for years that I have a "calming presence" in the workplace/meetings, which is not a way I'd describe myself unprompted, so I think I've silently benefited from nonverbal cues in that way.

Being in a comfortable environment is a huge one though for sure. So many modern offices are comically badly arranged, with people trying to do thinking work space shared with people having meetings who are overflowing from the insufficient number of conference rooms. It's kind of a joke.

macNchz··on American workers' enthusiasm for their jobs falls to a 10-year low
A refrain I’ve heard from real life friends and people on the internet alike is that employees are being asked to come back to the office where they wind up just sitting on video calls much of the day. This seems like an absolute worst case for job satisfaction to me.

I’m lucky enough to work wherever I want and accept Zoom meetings as a prerequisite to that, but find them tiring and a poor simulacrum of real in-person conversation. If I were asked to come to an office every day and deal with the commute and the stupidity of most modern office designs and still had the majority of meetings happen over video, I’d be pretty dissatisfied with my job.

← PreviousPage 11 of 34Next →