HNHacker News
TopNewBestAskShowJobs

ahmedtd

84 karma · joined October 19, 2016

https://www.row-major.net

ahmed.taahir@gmail

submissionscomments
ahmedtd··on A new Go API for JSON
The parameters named "out" here are not "output parameters" in the way you seem to be thinking. They are "input parameters" named "out", because they are the buffer or pipe you want the data written to.
ahmedtd··on AX – Google’s Open Agentic Orchestrator
> Is the throughput of these objects too high for etcd?

Yes (perhaps not etcd, but the combination of kube-apiserver and etcd)

Substrate does not use CRDs for anything on the hot path of actor scheduling or resumption.

ahmedtd··on AX – Google’s Open Agentic Orchestrator
> I don't get why they to restore the RAM of the agent env. Maybe to fully optimize resumption. Idk, I don't have that much RAM in my homelab, my agents use a ton, testing stuff in Chromium making screenshots for me. I can't keep RAM for 100 workspaces from the past 24 hours in RAM.

This is going to be decomposed. I believe the plan is to offer resumption with disk state only as well (and the RAM snapshots will need to be discarded from time to time, if you update the underlying code of the agent, or switch CPU types).

By the way, the RAM snapshots are not kept in RAM, they are serialized to disk, or uploaded to object storage.

ahmedtd··on AX – Google’s Open Agentic Orchestrator
Agent Substrate was built to provide a few (important) things over Agent Sandbox:

* More efficient usage of compute by timeslicing agents (Substrate Actors), which requires fast suspend and resume (using gVisor or cloud-hypervisor snapshots), as well as keeping the K8s control plane out of the critical path (so agents can't be stored as resources in the K8s database).

* Deep inspection of outgoing requests using an egress gateway

* Minimizing the exposure of credentials to unpredictable agent control (so they can't upload access tokens to pastebin).

Achieving those goals ultimately required a significantly different design from Agent Sandbox.

ahmedtd··on AX – Google’s Open Agentic Orchestrator
Substrate is in the process of being donated to the CNCF as a vendor-neutral common ground (similar to K8s). (The agent-substrate org is currently Google's, but that will change).
ahmedtd··on AX – Google’s Open Agentic Orchestrator
Agent Substrate is solving this - similar to K8s, Substrate is an OIDC (and also SPIFFE) IDP. Credentials containing the actor's identity can be injected into outbound requests using the Substrate egress gateway.

(This is work in flight, but it will land within a few weeks)

ahmedtd··on Fooling Go's X.509 Certificate Verification
From the article, it doesn't seem like Go is trying to re-encode strings? Go is saying (correctly, IMO) that a UTF8String field in the Issuer is not the same as a PrintableString field in the Subject.
ahmedtd··on Google just gave Sundar Pichai a $692M pay package
Stock grants (RSUs, like Google gives out) are taxed as ordinary income at the moment they vest.

If you sell them immediately, then you don't pay any additional capital gains tax, because there were no capital gains from the moment you got them to the moment you sold them.

If you hold on to them, you will eventually pay capital gains on any increase in value from the moment they vested until the moment you sell them.

Perhaps, once they are vested, you could take loans against them, to get some cash while avoiding selling them.

But no matter what, they are taxed at the moment you receive them, and again at the moment they leave your possession.

ahmedtd··on US orders diplomats to fight data sovereignty initiatives
American laws also have universal jurisdiction (for example, the Bill of Rights doesn't say, "unless you are located outside the US"). Most countries do not explicitly recognize that their laws do not have universal jurisdiction.

In practice, it is easy to pick out the situations in which there is "practical" universal jurisdiction, vs "theoretical" universal jurisdiction.

A Colorado company selling locally in Colorado falls in the "theoretical" bucket.

ahmedtd··on Upcoming changes to Let's Encrypt and how they affect XMPP server operators
I don't think this is true. It's something that could be useful, with some sort of ACME-like automated issuance, but should definitely be issued from a non-WebPKI certificate authority.
ahmedtd··on Upcoming changes to Let's Encrypt and how they affect XMPP server operators
If that's all you want to accomplish, you don't need WebPKI. Just generate a private key and a self-signed certificate.

(This is basically how Let's Encrypt / ACME accounts work)

ahmedtd··on Giving up upstream-ing my patches and feel free to pick them up
Can you link your PRs here?

Kubernetes is such a huge project that there are few reviewers who would feel comfortable signing off an an arbitrary PR in a part of the codebase they are not very familiar with.

It's more like Linux, where you need to find the working group (Kubernetes SIG) who would be a good sponsor for a patch, and they can then assign a good reviewer.

(This is true even if you work for Google or Red Hat)

ahmedtd··on Volvo Centum is Dalton Maag's new typeface for Volvo
I have exactly the same two problems, haha. I wonder why they seem unable to fix them.
ahmedtd··on Abundant Intelligence
Sam Altman skipped any attempt to prove his own statements right, so...
ahmedtd··on MCP: An (Accidentally) Universal Plugin System
It's not enabled by default, but you can --- gRPC Reflection:

* https://github.com/grpc/grpc-java/blob/master/documentation/...

* https://grpc.io/docs/guides/reflection/

You can then use generic tools like grpc_cli or grpcurl to list available services and methods, and call them.

ahmedtd··on What would a Kubernetes 2.0 look like
Various pieces support pieces for pod to pod mTLS are slowly being brought into the main Kubernetes project.

Take a look at https://github.com/kubernetes/enhancements/tree/master/keps/..., which is hopefully landing as alpha in Kubernetes 1.34. It lets you run a controller that issues certificates, and the certificates get automatically plumbed down into pod filesystems, and refresh is handled automatically.

Together with ClusterTrustBundles (KEP 3257), these are all the pieces that are needed for someone to put together a controller that distributes certificates and trust anchors to every pod in the cluster.

ahmedtd··on Go Optimization Guide
From the sync.Pool documentation:

> If the Pool holds the only reference when this happens, the item might be deallocated.

Conceptually, the pool is holding a weak pointer to the items inside it. The GC is free to clean them up if it wants to, when it gets triggered.

ahmedtd··on We improved the performance of a userspace TCP stack in Go
If they are using multitenant Docker / containerd containers with no additional sandboxing, then yes, then it's only a matter of time and attacker interest before a cross-tenant compromise occurs.
ahmedtd··on Ask HN: Are there any open source forks of nomad and consul?
GKE does ship with both Ingress and Gateway controllers integrated, they set up GCP load balancers with optional automatic TLS certificates.

I think you need to flip a flag on the cluster object to enable the Gateway controller.

ahmedtd··on XZ backdoor: "It's RCE, not auth bypass, and gated/unreplayable."
That page seems to be a community wiki, and I think the original authors are somewhat confused on that point.

If you salt and hash the password on the client side, how is the server going to verify the password. Everything I can think of either requires the server to store the plaintext password (bad) or basically makes the hashed bytes become the plaintext password (pointless).

There are password-based solutions that work like this --- PAKEs like Secure Remote Passwords: https://www.ietf.org/rfc/rfc2945.txt

They have low uptake because they don't really offer any security beyond just sending the plaintext password over a properly-functioning TLS channel.

ahmedtd··on Japan to introduce 'blue ticket' fine system for cyclists
In Washington, cyclists can treat stop signs as yield signs, as long as there is no other traffic approaching the intersection.

Obviously, though, if you almost hit a pedestrian then you aren't properly yielding.

ahmedtd··on Sator Square
Related (though not a sator square). A while back I made an implementation of 5x5 word squares, following an example from Knuth: https://row-major.net/articles/2020-05-12-interactive-word-s...
ahmedtd··on Google Cloud Sales/Startups completely unresponsive?
Disclosure: I work in GCP engineering, thoughts are my own and not Google's, etc.

My impression is that Anthos is probably not what you need if your use case is deployment of a managed product into customer GCP projects (or AWS accounts).

Instead, copy the P4SA architecture that GCP uses for managing its own services in your project. Create one service account per customer, and have the customer grant that service account whatever permissions your control plane needs to manage the resources deployed into the customer project.

You can package those permissions into a Role for easier use.

You can see how this works by looking at Google's existing P4SA permissions in one of your cloud projects. They show up in your cloud IAM console if you remove the filter for "Google-Managed Grants".

ahmedtd··on HTTP/3 prioritization demystified
Don't the bits come off the wire one at a time at the server as well? Any ability to read() from multiple sockets coming over the same interface is enabled by the kernel reading the data serially and placing it in buffers.
ahmedtd··on Reddit's photo albums broke due to Integer overflow of Signed Int32
Not when the counter overflows back to 0. If it's a 3 bit counter, 0 is A again, not C.
ahmedtd··on 81% of IT teams directed to reduce or halt cloud spending
Not really the point of your comment, but...

The GKE equivalent of EKS IRSA is GKE Workload Identity.

It's pretty much the same user experience:

* Enable Workload Identity on your cluster

* Create a GCP service account

* Grant your Kubernetes service account permission to act as the GCP service account.

It's a bit more seamless because you don't need to upgrade your client libraries. Instead there is an on-node metadata server that provides access tokens to workloads.

Disclosure: I work on this

ahmedtd··on Ask HN: Are V2 of GCP APIs generally worst than V1?
I'm pretty sure v2 and v1 functions are totally separate. If you run `gcloud functions list --log-http`, you can see that gcloud makes separate calls to the v2 and v1 apis in order to present a unified list of all functions.
ahmedtd··on Ask HN: Share your personal site
www.row-major.net
ahmedtd··on How do you guys come up with such an algorithm
You don't pop the min, you pop the top of the stack.
ahmedtd··on Compute Engine Predictive Autoscaling
If you search for "frontend" on the App Engine Standard Pricing Page [1], it seems like your usage might be exceeding the free tier for frontend instances. Did the load on your app suddenly increase?

[1] https://cloud.google.com/appengine/pricing

Page 1 of 2Next →