HN user

jmogly

109 karma
Posts0
Comments64
View on HN
No posts found.

I got the feeling watching that last season of Stranger Things that the storyline and some of the dialogue felt AI generated. It sucked by the way.

It is kind of a fundamental risk of IMDS, the guest vms often need some metadata about themselves, the host has it. A hardened, network gapped service running host side is acceptable, possibly the best solution. I think the issue is if your IMDS is fat and vulnerable, which this article kind of alludes to.

There’s also the fact that azure’s implementation doesn’t require auth so it’s very vulnerable to SSRF

Mainly for getting managed-identity access tokens for Azure APIs. In AWS you can call it to get temporary credentials for the EC2’s attached IAM role. In both cases - you use IMDS to get tokens/creds for identity/access management.

Client libraries usually abstract away the need to call IMDS directly by calling it for you.

OP never mentioned letting the agent run as him or use his secrets. All of the issues you mention can be solved by giving the agent it’s own set of secrets or using basic file permissions, which are table stakes.

Back to the MCP debate, in a world where most web apis have a schema endpoint, their own authentication and authorization mechanisms, and in many instances easy to install clients in the form of CLIs … why do we need a new protocol, a new server, a new whatever. KISS

Chat gpt is a great name though — you “chat” with the “GPT” so its self informing (even if you dont know what a GPT is), it’s 4 syllables that roll off the tongue well together.

RSS, has no vowels, no information, and looks like an alphabet term you might see at the doctor’s office or in an HR onboarding form at a corpo.

It would be like if I was expected to deliver A by the end of the quarter and instead I delivered A + B. The value gain from B was more than A. Your manager (and hopefully higher up the org) better know about B, or they will attack it as a threat.

Also, I’m not being paid for my time, I’m being paid to do a job. “Trading your time for money” is one of the most self defeating views on work you can have. It reduces you from a worker with agency to a detached prostitue, and is harmful to both the employer and employee.

Early in my career I would build something I thought was useful, deploy it, meet with people within the company to get people to start using it. A lot of effort for something that would have a positive impact. My manager would schedule a meeting with me, and with a look of panic open with, “why didn’t you tell me about this or why did you do this?”. I understand now that before you start something, you need to decide who you are going to give credit to, and that person needs to be made aware that they will get credit for the project. Ideally your boss’s boss’s boss. Corporate caché only exist insofar as leadership allows it to exist, you gotta play the game. Pawns don’t get to take the glory for themselves.

Code and Let Live 6 months ago

Like it, a lot. I think the future of software is going to be unimaginably dynamic. Maybe apps will not have statically defined feature sets, they will adjust themselves around what the user wants and the data it has access to. I’m not entirely sure what that looks like yet, but things like this are a step in that direction.

Of course, step one is always critically think and evaluate for bad information. I think for research, I mainly use it for things that are testable/verifiable, for example I used it for a tricky proxy chain set up. I did try to use it to learn a language a few months ago which I think was counter productive for the reasons you mentioned.

I would say it varies from 0x to a modest 2x. It can help you write good code quickly, but, I only spent about 20-30% of my time writing code anyway before AI. It definitely makes debugging and research tasks much easier as well. I would confidently say my job as a senior dev has gotten a lot easier and less stressful as a result of these tools.

One other thing I have seen however is the 0x case, where you have given too much control to the llm, it codes both you and itself into pan’s labyrinth, and you end up having to take a weed wacker to the whole project or start from scratch.

I’ve been using the following pattern since gpt3, the only other thing I have changed was added another parameter for schema for structured output. People really love to overcomplicate things.

class AI(Protocol):

def call_llm(prompt: str) -> str: …

On one hand, I would like to say this could happen to anyone, on the other hand, what the F?? why are people passing around a dataset that contains child sexual abuse material??, and on another hand, I think this whole thing just reeks of techy-bravado, and I don’t exactly blame him. If one of the inputs of your product (OpenAI, google, microsoft, meta, X) is a dataset that you can’t even say for sure does not contain child pornography, that’s pretty alarming.

Lol! This is probably my sneaky number one productivity benefit from LLMs, I would never want to go back to writing shell scripts pre-llm. So many hours wasted debugging and deciphering stack overflow over the years, dropping &,$, [[]], “”,|,<> in different places hoping to get my .shitty scripts working. Like conceptually I understand shell scripting very well, but anyone nobody can argue that bash isn’t footgun central.

Some real honest and actionable advice here. I think the natural course for intelligent people that enjoy crafting things is very much in conflict with the real world. We care about the things we are building because we see them as an extension of ourselves. Anxiously perfecting our creations in a safe place, obsessing over ever smaller details of finished portions; working on detailing while ignoring the missing half of the ship. Its an ego thing. We see these things as pieces of ourselves, we’re afraid that the world won’t accept them, and by extension us. It’s not real though; nothing and nobody is perfect, and its okay.

I have a deep feeling that i can “do it myself”, yet i work for companies because deep down I like the anonymity and the safety of it; at a big company we get to be part of something established, we don’t have to show our own faces to the world.

Im also wondering how he is able to see calls to AI providers directly in the browser, client side api calls? Thats strange to me. Also how is he able to peer into the rag architectures? I don’t get that, maybe GpT4.1 allows unauthenticated requests? Is there an OAuth setup that allows client side requests to OpenAI?

Respect, sometimes we forget that our software is actually supposed to do stuff. Will say though you can have both, especially now with llms where you don’t have to trim each piece of wood yourself. Also, it’s not always about cutting corners to make a buck, sometimes it really is about creating a great product that people love using. Engineering quality is part of that.

I think dismissing social realities as not being part of that hard, unyielding reality is a mistake. Part of intelligence (maybe a different part) is being able to bend the social fabric to achieve desirable outcomes. The other thing is you don’t always know why people do what they do, the world is a very subjective place. The people at work who don’t call things out, they might just be collecting a paycheck and are happy to not call things out. The poor conservative from Florida, they might actually hate immigrants more than they care about quality healthcare.

Absolutely agree, for the most part. Luckily I think the tide is going out and developers are going to be forced to start actually solving problems in their domain out of necessity.

No more easy money = no more engineering for engineering’s sake, and companies are increasingly becoming more privy to the fact that architecture astronauts are a liability, and cloud is a 95% distractions meant to absorb time energy and money from IT orgs within large companies.

I’ve personally switched out of devops and to a domain aligned software team within my company. I am absolutely fed up with how wasteful and distracting the state of devops is to the actual business.

This is a fascinating idea, imagine a company spins up a super complex stack using llms that works, becomes vital. It breaks occasionally, they use a combination of llms, hope and prayer to keep the now vital system up and running. The system hits a limit, say data, code optimization, or number of users, and the llm isn’t able to solve the issue this time. They try to bring in a competent engineer or team of engineers but no one who could fix it is willing to take it on.

They should have created a systems language to replace objective C and an easy language like Python or JavaScript for app dev, instead they created a language that tries to do everything and the result is a mess. For example SwiftUI, UIkit, you’re constantly running up against weird type system errors and compiler errors. Like dude I’m trying to make a list, swift will say “no you can’t make a list there and I’m not sure why”