HN user

nijave

2,280 karma

[ my public key: https://keybase.io/nickv; my proof: https://keybase.io/nickv/sigs/qMdHcggaKRYKr002ExXFme5MjZeOQbHt-PyAl_07HDk ]

Posts0
Comments1,719
View on HN
No posts found.

Starlink is so cheap because economies of scale ie volume of launches. They only have a large volume of launches because Starlink (123 ish of 165 ish launches in 2025)

Without Starlink, they would need to charge government launches much higher.

Starlink has really fast asset depreciation at ~5 years as well as competition from ever expanding terrestrial wireless (5G NR)

My (unverified) AI research claimed generally Chinese models are cheaper to train because Chinese data scientists are cheaper to hire and they're also under more pressure to optimize training cost due to limited hardware availability

Seemed believable but not sure where that's true

Chinese AI companies are generally smaller tho and the models they're releasing are also smaller (I think estimates put OpenAI and Anthropic SOTA into trillions of parameters)

I think (and have heard) the Chinese govt is also interested in trying to embarrass the US as well by showing off their capabilities (so there's a political angle, too)

position: fixed has been around a long time

A lot of implementations also break the back button and "page" or scroll position links (you can link to a singular item but not a spot in the list)

They usually also break psuedo binary search and force linear/sequential search (you can't skip a head to page 10 when you're trying to zero in on a date unless they've added an explicit date filter and you remember the exact date versus the relative position)

Also breaks parallel loading--can't queue up the next few pages of gigantic media in new tabs while finishing the current page

They also tend to break ctrl-f and if they don't they tend to get progressively slower as more crap stays loaded in memory

I've done a couple side by sides on web chat with the same prompt on Opus 4.6, 4.7, and 4.8 and the output gets longer/more verbose on version increment. The enerr variants are definitely much wordier.

On the other hand, the newer variants also tend to benchmark higher so it's not quite a clean argument of "hey the new version eats more tokens"

Debugging. Memory leak hunting, figuring out latency issues

For things where I'm not familiar with the code base, it can take days or weeks to become familiar with structure and flows.

If I can get an agent to help visualize and analyze the architecture and zero in on a subset of code, that can be a huge win.

For instance, we had some archaic "cache" that just dumped things into a static/module-level map. I tried a few different things to try to find it over the course of a few days and eventually gave Claude a Python REPL into a running process with pyrasite after some memory leaked and it traced through heap allocations and references to find the referent. It would have taken me probably 2-4+ weeks of just learning about Python heap to figure that out of my own.

Seem to work fine for me but I usually add 1 sentence things to keep the agent from long winded rediscovery.

Remember credentials to query database are in secret store x

Remember company documentation is in platform y

Remember bug fixes always need tests added

already outsourced their thinking

With the reliability of current LLMs, if you're outsourcing that much of your thinking, you're producing mainly slop and were never a good engineer to begin with.

If you have a quality threshold beyond "it appears to work" then agents still require a lot of hand holding and guidance

Grok 4.5 13 days ago

It could be variations in system prompt but I'm not sure how "change the user prompt to encourage tool usage" proves that either way

Grok 4.5 13 days ago

It's both. Some models, given web search and web fetch may only run a search and assume the summary text is correct and blindly return it. Others will validate by running a web fetch and checking the whole page contents. Even better, the model will run multiple searches and fetches to cross check the information. The best models will attempt to verify whether a source is authoritative or not and try to only return authoritative results.

I have an example here: https://gist.github.com/nijave/2873b8b10d8c732e46264237b0755...

Tldr; all the Claude models had identical tools and some used them efficiently and verified data while others did a crap job and hallucinated responses. Additionally, Exa MCP tools generally worked better even on older/smaller model (Llama)

True but you can have cert-manager issue public certs then create service accounts for off cluster things to be able to pull the cert from the Secret so k8s+cert-manager acts as a local broker that handles renewal.

You can also invert and have k8s cronjobs provision the generated certs into other infra

With this setup, you don't have to worry about the RHEL certbot snap updating to a broken version which gets blocked by SELinux...

We have a few subdomains for white labeling 3rd party SaaS where we do what is basically the AWS ACM equivalent and add a persistent record from a vendor.

With this setup, I don't have to grant 3rd parties DNS access.

I actually made a webhook that allows per hostname API keys to wrap dnsimple because they only had per zone keys and I didn't want each VM to have access to the entire zone. These challenges would have solved that by allowing the DNS record automation to pull record values from the VM instead of having the VMs push values.

I think someone told me dnsimple might have more granular keys now but I haven't checked. Iirc we have the same concern with external-dns at work (some things need subdomains on the TLD but we don't want to give external-dns access to the whole zone so we usually cname the TLD subdomain to a per environment zone external-dns is allowed to update). With this, we could have the same pull based setup that applies arbitrary rules to decide if a requested record should be created.

I think the main takeaway is allowing pull instead of push model

Could be achieved with cnames but it's an extra layer of indirection to deal with and doesn't fully solve the "semi trusted 3rd party" case