Hacker Newsnew | past | comments | ask | show | jobs | submit | mac-monet's commentslogin

I really like this. Would love a desktop app.


This is the true solution that gets the best of all worlds. The tech is just too immature still but this will change soon I hope.

For those curious, check out zkPassport (https://zkpassport.id/)


Great talk. Wish the camera focused on the slides more.

The ed25519 issues are absolutely insane. Anywhere I can read more about that?


Was nodding along as I was reading this. I recently was given a paper and spoke with the engineer implementing it. The paper was incredibly dense and hard to parse. But through talking with the engineer and rewriting some terms to more common names, the math turned out to be quite simple. Echoing your sentiment, I wish more mathematicians would use simple terminology. My personal theory as to why this isn't done is the same reason why overengineering happens, that the writer is trying to cover every base but makes the hottest path a jumbled mess.


My personal theory is that (notation+terms of art) is incredibly information dense even if inscrutable to outsiders.

What you wish for is more akin to coding like this:

    declaring a function whose name is "max" and its arguments are "x" (of type number) and "y" (of type number) that returns a number:
        statement: if a is greater than b, the function returns a
        statement: the function returns b
But programmers don't bat an eye at {}[](),.!&^| (and I just realized I used the term "function" which outsiders might wish was replaced by simpler terminology!)

    // This is more readable if you're "in the know"
    // even if it looks like a jumbled mess to outsiders
    fn max(a: num, b: num): num => a > b ? a : b
Math uses terms of art like "group", "field", "modulo" and "multiplicative inverse"; and notation like "∑"; because they are short and communicate very specific (and common) things, many of which are implicit and we probably wouldn't even notice.

In other words: we're not the target audience.

Note that this is not only a matter of conciseness. See Ken Iverson's (of APL/J fame) "Notation as a Tool of Thought": https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.p...


> Math uses terms of art like "group", "field", "modulo" and "multiplicative inverse"; and notation like "∑"; because they are short and communicate very specific (and common) things, many of which are implicit and we probably wouldn't even notice.

I don't have anything against introducing new words. If your concept can be adequately described by existing language that seems like a good way to allow people to learn and talk about it. Technically as a person who has studied philosophy the greek alphabet is also no big hurdle to me. But it is to others. Try googling some weird sign you found in a formula. First you don't know how it is called or how to write it, second any signed might have been used in 100 different formulae so even if you, know how to search for it (there are applications people use to identify mathematical signs) good luck at finding any meaningful answer.

I know for mathematicians these signs are arbitrary and they would say you could just use emojis as well. But then it turns out mathematicians ascribe meaning to which alphabet they are using and whether it is upper- or lowercase. Except sometimes they will break that convention for what appears to be mostly historical reasons.

I know mathematicians will get used to this just fine, but the mathematical notation system has incredibly bad UX and the ideals embedded within it are more about density and intransparency (only the genius mathematician knows what is going on), than about rigorous precision and understanding.

When I studied philosophy there were philosophers like Hegel who had to expand the German language to express their new thoughts. And there were philosophers who shall remain unnamed that would use nearly unparseable dense and complex language to express trivial thoughts. The latter always felt like an attempt to paper over their own deficiencies with the convoluted language they had learned to express themselves in.

Mathematicans can also have a degree of the latter at times. If your notation is more complex than the problem it describes your notation sucks and you waste collective human potential by using it.


I've been looking at all of the agent talk this past year with an open mind.

But I still do not know what a real use case for these would be (and don't say a travel agent). What is the point of these swarms of agents?

Can someone enlighten me?


While I am not familiar with OPs project,

I can somewhat answer this to best of my knowledge.

Right now, businesses communicate with REST Apis.

That is why we have API gateways like AWS Gateway, Apigee, WSO2 (company i used to work in), Kong, etc so businesses can securly deploy and expose APIS.

As LLMS gets better, the idea is we will evenutally move to a world where ai agents do most of business tasks. And businesses will want to expose ai agents instead of APIS.

This is where protocols like a2a comes in. Google partnering with some other giants introduced a2a protocol a while ago, it is now under linux foundation.

It is a standard for one agent to talk to another agent regardless of the framework (langchain, crewai etc) that is used to build the agent.


I see. If iiuc, it's like an extension to an API endpoint. Instead of exposing only endpoints, you can let a user describe an intent and have the agent do the work. Is this not also the goal of an MCP as well?


No. What the AI giants want to accomplish is to have agents talk to agents ... so that the business-agent has the choice of what to present, what to do, instead of being forced as an API to list all the options.

Because if they have this, then there will be enormous value in selling smarter agents to businesses (think a server doubling the coffee price when detecting tourists), dollars they're hoping to capture.


Can't you just put the agent behind a REST API and give the other agents a curl tool + doc?


You can.

Everyone will have their own versions of the rest endpoints, their own version of input params, and lots and lots of docs scatterd.

A standard, will help the ecosystem grow. Tooling, libraries etc.


A major reason agentic LLMs are so promising right now is because they just Figure It Out (sometimes).

Either the AI can figure it out, and it doesn't matter if there is a standardized protocol. Or the AI can't figure it out, and then it's probably a bad AI in the first place (not very I).

The difference between those two possibilities is a chasm far too wide to be bridged by the simple addition of a new protocol.


I think that‘s a bit shortsighted.

Having A2A is much more efficient and less error prone. Why would I want to spend tons of token on an AI „figuring it out“, if I can have the same effect for less using A2A? we can even train the LLMs with A2A in mind, further increasing stability and decreasing cost.

A human can also figure everything out, but if I come across a well engineered REST API with standard oauth2 , I am productive within 5 minutes.


We are working on an RPG game tailored for agents :) releasing soon.


I mean, I wrote bots to play MMORPGs when I was a teen/kid, but really, what's the point? Aren't games there to be enjoyed by things that can have experiences?


Maybe I interpreted it differently, but playing an RPG where every NPC is essentially its own agent/AI with its own context would be very interesting. In most RPGs, NPCs are very static.


I don't think devs can answer that one, you'll have to ask VCs


Altman, Amodai and Musk seem to have no problem outright lying about the capabilities they have or the potential of what they're working on, in order to drum up hype. It sounds cool in the moment but it gets so old so fast. And with real costs in this case.


Gemini is the only plan I have not replaced. Claude and ChatGPT I will switch to depending on the ability of the coding agent, but Gemini is still my favorite for general information and especially for writing assistance.


I have recently been using Zed much more than cursor. However, the autocomplete is literally the only thing missing, and when dealing with refactors or code with tons of boilerplate, its just unbeatable. Eagerly awaiting a better autocomplete model and I can finally ditch Cursor.


Out of curiosity, why not just stick to Cursor instead?


For me, the editor is still the most important component of my tooling. The AI features are secondary to my needs/wants when it comes to an editor.

Zed is hitting all the checkboxes when it comes to performance and user experience (yeah, I care about that in my editor).

I'm not a hardcore user of AI, but I do make use of Zed's inline suggestions and occasional use of Opus 4.1 through my Zed subscription.


This is it, in terms of pure text editing zed is the best GUI land editor I've used.

Not quite there with emacs/vim but it's a much more accessible environment and more convenient for typical workloads.


I agree. I used to use vscode, then switched to Zed and used it for over a year (without AI). In February of this year, I started using Cursor to try out the AI features and I realised I really hated vscode now. Once Zed shipped agent mode, I switched back, and haven’t looked back. I very strongly never want to use vscode again.


I'm in the same boat but a neovim/cursor user. I desperately wish there was a package I could use in nvim that matched the multiline, file-aware autocomplete feature of Cursor. Of course I've tried supermaven, copilot etc, but I've only ever gotten those to work as in-line completions. They can do multiline but only from where my cursor is. What I love about Cursor is that I can spam tab and make a quick change across a whole file. Plus its suggestions are far faster and far better than the alternative.

That said, vscode's UX sucks ass to me. I believe it's the best UX for people that want a "good enough and just works" editor, but I'm an emacs/vim (yes both) guy and I don't like taking my hands off the keyboard ever. Vscode just doesn't have a good keyboard only workflow with vim bindings like emacs and nvim do.


Started using this recently, extremely impressed with this tool's capabilities. The only issue is the TUI is absolutely miserable to use.

One of the biggest pain points for debugging failures that Echidna finds is the path of getting the failure into a forge test that I can replay, and then slowly diagnosing where the bug is stemming from. An alternative path that could be useful is to stream the function call sequence (with the option to disable traces as well) to a file. This would allow easily creating a forge test from it. This file could even be used to generate a test and be diagnosed by a coding agent. Resolving the "last mile" of finding these failures would make the DX absolutely top tier.


What are you missing from the TUI? The latest version has improved it a bit, it's more responsive now and you can navigate around the UI with the keyboard more easily (tab, up/down arrows, and pgup/pgdown). If you don't like it though, you can also use `--format text` for a UI-less experience that just prints things to stdout.

As for converting failures into forge tests, there's multiple tools offering a solution to that problem; check out (in no particular order):

  * the Recon VSCode extension (https://github.com/Recon-Fuzz/recon-extension)
  * fuzz-utils (https://github.com/crytic/fuzz-utils)
  * runes (https://github.com/Enigma-Dark/runes)
  * fuzz_parser (https://github.com/Enigma-Dark/fuzz-trace-parser)
Some of them use the Echidna trace output, while others (like runes and fuzz-utils) take advantage of the fact that Echidna saves these sequences as part of the corpus during runtime (particularly, in the `reproducers` and `reproducers-unshrunk` corpus subdirectories)


Wow these would have saved my team and I a ton of time. Thanks for the links.

For what's missing from the TUI. The fact that the outputs in the main window are not selectable makes it difficult to keep the fuzzer running but copy the call sequence. I have to ctrl+c to get it into my terminal output and copy from there. I think these tools might help here though.


I would bet that anyone who's worked with these models extensively would agree.

I'll never forget the sama AGI posts before o3 launched and the subsequent doomer posting from techies. Feels so stupid in hindsight.


The AGI doomerism was a marketing strategy. Now everyone gets what AI is and we're just watching a new iteration on search, ai's read all the docs.


It was always stupid, but no one is immune to hype, just different types of hype.

Especially with the amount of money that was put into just astroturfing the technology as more than it is.


ChatGPT is better than any junior developer I’ve ever worked with. Junior devs have always been a net negative for the first year or so.

From a person who is responsible for delivering projects, I’ve never thought “it sure would be nice if I had a few junior devs”. Why when I can poach an underpaid mid level developer for 20% more?


I've never had a junior dev be a "net negative." Maybe you're just not supervising or mentoring them at all? The first thing I tell all new hires under me is that their job is to solve more problems than they create, and so far it's worked out.


I’ve had interns be a net negative, I’ve had Juniors be a net negative, I’ve had Seniors be a net negative and even managers!

Turns out some people suck, but most of them don’t suck.


But by definition, junior developers with no experience are going to need more handholding and tale time away from experience developers.


> junior developers with no experience are going to need more handholding

Unlike AI, which gives me fake methods, broken code, and wrong advice with full confidence.


I just “wrote” 2000 lines of code for a project between Node for the AWS CDK and Python using the AWS SDK (Boto3). Between both, ChatGPT needed to “know” the correct API for 12 services, SQL and HTML (for a static report). The only thing it got wrong with a one shot approach was a specific Bedrock message payload for a specific LLM model. That was even just a matter of saying “verify the payload on the web using the official docs”.

Yes it was just as well structured as I - someone who has been coding as a hobby or professionally for four decades - would have done.


That's great for you. I ask Sonnet 4 to make a migration and a form in Laravel Filament, and it regularly shits itself. I'm curious what those 12 services were, they must've had unchanging, well documented APIs.


That’s the advantage of working with AWS services, everything is well documented with plenty of official and unofficial code showing how to do most things.

Even for a service I know is new, I can just tell it to “look up the official documentation”

Using ChatGPT 5 Fast

AWS CDK apps (separate ones) using Node

- EC2 (create an instance)

- Aurora MySQL Serverless v2

- Create a VPC with no internet access - the EC2 instance was used as a jump box using Session Manager

- VPC Endpoints for Aurora control plane, SNS, S3, DDB, Bedrock, SQS, Session Manager

- Lambda including using the Docker lambda builder

- DDB

- it also created the proper narrowly scoped IAM permissions for tfe lambdas (I told it the services the Lambdas cared about)

The various Lambdas in Python using Boto3

- Bedrock including the Converse and Invoke APIs for the Nova and Anthropic families

- knowing how to process SQS Messages coming in as events

- MySQL flavored SQL for Upserts

- DDB reads

In another project the services were similar with the addition of Amazon Transcribe.


> I just “wrote” 2000 lines of code for a project between Node...

I think I wrote -200 lines of code on my last PR. I may be doing something bad for that number to be negative.


The difference is probably that I only do green field POC implementations as a solely developer/cloud architect on a project if I am doing hands on keyboard work.

The other part of my job is leading larger projects where I purposefully don’t commit to pulling stories off the board since I’m always in meetings with customers, project managers, sales or helping other engineers.

I might even then do a separate POC as a research project/enablement. But it won’t be modifying existing code that I didn’t design.


Truly depends on the organization and systems. I’m at a small firm with too few Senior staff, lots of fire-fighting going on among us, etc. We have loads of low-hanging fruit for our Juniors so we tend to have very quick results after an initial onboarding.


I've never worked with a junior developer that was incapable of learning or following instructions unless I formatted them in a specific way.


I definitely have


That's due to the person, not their development experience level


The most impressive folks Ive worked with are almost always straight out of school. It's before they've developed confidence about their skills and realized they can be more successful by starting their own business. People who get promoted three times in just 5 years sort of good.


Did their project manager and/or team lead think when they were hired “they are really going to be a great asset to my team and are going to help me complete my sprint/quarterly goals”?

When I ask for additional headcount, I’m looking at the next quarter since that’s what my manager is judging me based on.


I think you’re just telling on what kind of mentor you are with your comment.


I’m a great mentor when given the time. Two former interns for whom I was their official mentor during my time at AWS got return offers and are thriving two years after I left. I threw one in front of a customer to lead the project within three months after they came back after graduating. They were able to come through technically and had the soft skills. I told them my training approach is to “throw them at the bus. But never under the bus.”

I’m also a great teacher. That’s my $DayJob and has been for the past decade first bringing in new to the company processes and technologies, leading initiatives, teaching other developers, working with sales, CxOs (smaller companies), directors, explaining large “organizational transformation” proposals etc. working at startups and then doing the same in cloud consulting first working at AWS (ProServe full time role) and now working as a staff architect full time at a third party consulting company.

But when I have been responsible for delivery, I only hire people who have experience “dealing with ambiguity” and show that I can give them a decently complicated problem and they can take the ball and run with it and make decent decisions and do research. I don’t even do coding interviews - when I interview it’s strictly behavioral and talking through their past projects, decision making processes, how they overcame challenges etc.

In terms of AWS LPs, it’s “Taking Ownership” (yeah quoting Amazon LPs made me throw up a little).


Relax buddy, it’s not a job interview. You’re just in the comment section of a HN post.


Trust me I am not looking for a job, if I were, I just talk about “AI for per care” and get funded by YC…


Sure thing buddy.


What happens when you retire and there are no juniors to replace you?


That sounds like an incentive issue.

My evaluations are based on quarterly goals and quarterly deliverables. No one at a corporation cares about anything above how it affects them.

Bringing junior developers up to speed just for them to jump ship within three years or less doesn’t benefit anyone at the corporate level. Sure they jump ship because of salary compression and inversion, where internet raises don’t correspond to market rates. Even first level managers don’t have a say so or budget to affect that.

This is true for even BigTech companies. A former intern I mentored who got a return offer a year before I left AWS just got promoted to an L5 and their comp package was 20% less than new hires coming in at an l5.

Everyone will be long gone from the company if not completely retired by the time that happens.


> Bringing junior developers up to speed just for them to jump ship within three years or less doesn’t benefit anyone at the corporate level.

What? Of course it does. If that's happening everywhere, that means other companies' juniors are also jumping ship to come work for you while yours jump ship to work elsewhere. The only companies that don't see a benefit from mentoring new talent are those with substandard compensation.


That’s true, but why should I take on the work of being at the beginning of the pipeline instead of hiring a mid level developer. My incentives are to meet my quarterly goals and show “impact”.

To a first approximation, no company pays internal employees at market rates in an increasing comp environment after a couple of years especially during the first few years of an employee’s career where their marker rate rapidly increases once they get real world experience.

On the other hand, the startup I worked for pre-AWS with 60 people couldn’t, wouldn’t and shouldn’t have paid me the amount I made when I got hired at AWS.


> That’s true, but why should I take on the work of being at the beginning of the pipeline instead of hiring a mid level developer.

Nominally, for the same reason that you pay taxes for upkeep on the roads and power lines. Because everyone capable needs to contribute to the infrastructure or it will degrade and eventually fail.

> My incentives are to meet my quarterly goals and show “impact”.

To me, that speaks of mismanagement - a poorly run company that is a leech on the economy and workforce. In contrast, as a senior level engineer at a large technology company that has remarkably low turnover, one of my core duties is to help enhance the capabilities of other coworkers and that includes mentorship. This is because our leadership understands that it adds workforce retention value.

> To a first approximation, no company pays internal employees at market rates in an increasing comp environment after a couple of years especially during the first few years of an employee’s career where their marker rate rapidly increases once they get real world experience.

That's why I mentioned it being a cross-industry symbiotic relationship. Your company may not retain the juniors that you help train, but the mid level engineers you hire are the juniors that someone else helped train. If you risk not mentoring juniors, you encourage other companies to do the same and reduce the pool of qualified mid level engineers available to you in the future.

> On the other hand, the startup I worked for pre-AWS with 60 people couldn’t, wouldn’t and shouldn’t have paid me the amount I made when I got hired at AWS.

While unrelated to my point, I do have a different experience that you may find interesting in that the most exorbitant salary I have ever been paid was as a contractor for a 12-person startup, not at the organizations with development teams in the hundreds or thousands.


> Nominally, for the same reason that you pay taxes for upkeep on the roads and power lines. Because everyone capable needs to contribute to the infrastructure or it will degrade and eventually fail.

On the government level, I agree. I’m far from a “taxation is theft” Libertarian.

But I also have an addiction to food and shelter. The only entity capable of that kind of collective action that is good for society is the government. My (and I’m generalizing myself as any rationale actor) goal is to do what is necessary to exchange labor for money by aligning my actions with the corporations incentives to continue to put money in my bank account and (formerly) vested RSUs in my brokerage account.

> To me, that speaks of mismanagement - a poorly run company that is a leech on the economy and workforce. In contrast, as a senior level engineer at a large technology company that has remarkably low turnover, one of my core duties is to help enhance the capabilities of other coworkers and that includes mentorship

The only large tech company I’ve worked for has a leadership principal “Hire and Develop the Best”. But for an IC, it’s mostly bullshit. That doesn’t show up on your promo doc when it’s time to show “impact” or how it relates to the team’s “OKR’s”.

From talking to people at Google, it’s the same. But of course Amazon can afford to have dead weight. When I have one shot at a new hire that is going to help me finish my quarterly goals as a team lead, I’m not going to hire a junior and put more work on myself.

I’m an IC, but in the org chart, I’m at the same level as a front line manager.

> While unrelated to my point, I do have a different experience that you may find interesting in that the most exorbitant salary I have ever been paid was as a contractor for a 12-person startup, not at the organizations with development teams in the hundreds or thousands.

As a billable consultant at AWS (and now outside of AWS) because of scale, I brought a lot more money into AWS than anything I could have done at the startup.

That’s why I said the startup “shouldn’t” have paid me the same close to 1 million over four years that AWS offered me in cash and RSUs. It would have been irresponsible and detrimental to the company. I couldn’t bring that much value to the startup.


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

Search: