HN user

adtac

4,659 karma

building https://subtrace.dev

email: adtac [at] domain above

twitter: https://twitter.com/adtac_

Posts78
Comments872
View on HN
www.factorio.com 9mo ago

Deterministic multithreading is hard (2024)

adtac
115pts13
bugzilla.mozilla.org 11mo ago

Firefox bug that's 24 years old

adtac
2pts0
www.rfc-editor.org 1y ago

RFC 1392: Internet Users' Glossary

adtac
4pts1
judehunter.dev 1y ago

Assembly interpreter inside of TypeScript's type system

adtac
2pts0
subtrace.dev 1y ago

HTTP/2 connection preface and settings handshake

adtac
2pts0
stanfordreview.org 1y ago

Chinese Academic Espionage at Stanford

adtac
22pts5
www.npmjs.com 1y ago

Show HN: npx -y @considered/harmful

adtac
6pts1
www.npmjs.com 1y ago

npx -y @considered/harmful

adtac
1pts0
github.com 1y ago

Show HN: Subtrace – Wireshark for Docker Containers

adtac
369pts73
cs.westminstercollege.edu 1y ago

Heisenberg and the early days of quantum mechanics (1976) [pdf]

adtac
31pts4
gist.github.com 1y ago

Jailbroke my Kindle to use it as an e-ink monitor

adtac
421pts139
github.com 2y ago

Show HN: Greasemonkey script to get Perplexity answers in Google

adtac
2pts0
gist.github.com 2y ago

Show HN: #!/usr/bin/env docker run

adtac
496pts173
guesstimate.ai 3y ago

Show HN: Guesstimate – Generate a spreadsheet-like interface for any question

adtac
1pts0
engineering.fb.com 4y ago

Cluster management at scale at Facebook (2019)

adtac
2pts0
www.apimages.com 4y ago

AP Pulitzer Winning Photos

adtac
3pts1
news.ycombinator.com 4y ago

Ask HN: What happened to Apple's self service repair program?

adtac
92pts51
twitter.com 4y ago

Apple AirPods are so unreliable we don't allow them at YC demo day anymore

adtac
3pts1
github.com 5y ago

Bazel Removed from Kubernetes

adtac
4pts1
adtac.in 6y ago

Don't offer a free tier

adtac
4pts0
wpodns.adtac.in 6y ago

Show HN: Wikipedia over DNS

adtac
215pts47
twitter.com 6y ago

Trading halted for the second time this week as S&P 500 falls 7%

adtac
4pts0
www.nasdaq.com 6y ago

S&P 500 hits first circuit breaker at open

adtac
4pts0
commento.io 7y ago

Show HN: Commento: a fast, privacy-focused alternative to Disqus

adtac
271pts85
9to5mac.com 7y ago

WSJ: Apple wants 50% revenue from $10/month News subscription service

adtac
5pts2
adtac.in 7y ago

Makefiles and JavaScript

adtac
1pts0
news.ycombinator.com 7y ago

Ask HN: Did HN just go down momentarily?

adtac
2pts0
community.developer.atlassian.com 7y ago

Atlassian's new terms forbid benchmarking

adtac
332pts195
github.com 7y ago

Show HN: go-lcns: a license key generation and verification library for Go

adtac
1pts0
www.newswire.ca 7y ago

Microsoft Announces New Canadian HQ in Downtown Toronto and $570M in Investment

adtac
3pts0

camcorders have been around for ages but you don't have millions of directors around just because you make a tool more accessible

tiktok alone has 1.5 million directors! it's just that we call them creators now.

the meaning of the word director has changed, that's all. but professional roles shift in meaning all the time. a computer used to be a literal human doing arithmetic. an engineer was someone who designed war machinery. being a doctor used to mean teaching at an university.

human beings are natural tool makers. we always have been. the frontier material to manipulate where the most advanced engineering happens constantly changes: stone -> bronze -> iron -> ink (descartes) -> steel -> silicon -> javascript (YOU ARE HERE).

notice how each step is an improvement/abstraction on top of the steps that came before it. some say english is next in that chain. i honestly have no idea. all i know is there will always be The Next Thing and it'll be much nicer to work with.

if you haven't read the factorio devblog before, please do!

after HN, it's one of my favourite places on the internet because i constantly learn new, random, insane things almost every time. imho it teaches you how to think + shows you what great engineering taste looks like. sorry if i'm overly effusive but each post is so deeply technical and well-written that i can't believe it's free.

you don't need to know anything about factorio or gamedev btw (i don't), just pick a random number between 1 to 438 and start reading :)

or endeavor to

you picked the worst example company to complain about how they're are not trying lol. just in 2025 from anthropic:

Circuit Tracing: Revealing Computational Graphs in Language Models https://transformer-circuits.pub/2025/attribution-graphs/met...

On the Biology of a Large Language Model https://transformer-circuits.pub/2025/attribution-graphs/bio...

Progress on Attention https://transformer-circuits.pub/2025/attention-update/index...

A Toy Model of Interference Weights https://transformer-circuits.pub/2025/interference-weights/i...

Open-sourcing circuit tracing tools https://www.anthropic.com/research/open-source-circuit-traci...

Note that there isn’t the slightest attempt to explain the planet trajectories (specifically, why the planets keep ending up where they do regardless of how many epicycles you bolt on) from a theoretical perspective. My impression is that they have absolutely no idea why the heavens behave the way they do; all they can do is stare at the night sky, record, and see what happens. That is not reassuring to me at least.

- AstronomerNews user, circa 1650 (probably)

That's basically your documents lossily encoded.

Vector embeddings are lossy encodings of documents roughly in the same way a SHA256 hash is a lossy encoding. It's virtually impossible to reverse the embedding vector to recover the original document.

Note: when vectors are combined with other components for search and retrieval, it's trivial to end up with a horribly insecure system, but just vector embeddings are useful by themselves and you said "all useful AI retrieval systems are insecure by design", so I felt it necessary to disagree with that part.

if you feel cheated now, I promise you'll feel more cheated if they did this after you rely on it for several months. the least worst option is to change pricing as early as possible.

this is just XMPP and it has been around for years before Slack was even a thing

Slack won anyway for the same reasons most centralised, commercial, closed sourced products often win: less fragmentation, more marketing, stronger network effects, simpler onboarding for normies, richer integrations, and most importantly, an enterprise sales team that actually showers

clicked hoping for an out of distribution argument for why a specific type of Japanese martial arts is perfect for git users :(

good article nonetheless!

1. PG is implicitly talking about good essays. And it's very hard to write a good essay if you don't believe it's true.

2. Whether something is true has nothing to do with whether the reader knows it. I know many false things and ideas.

Not in the very short term, but we've talked about it internally and we might do it in the future!

If you'd like to use Subtrace on Windows, it would be super helpful to understand your use-case deeply so that we build the right things in the right order. Please reach out to me at adtac@subtrace.dev, I'd love to chat!

What would you like to see?

One of things we're thinking about is automatic method/function call tracing. Something like attaching the entire stack trace of calls done to handle the API request. Ideally using the same UI so that you can see the headers/payload that was sent and the function-level stack trace right next to each other. None of the OpenTelemetry verbosity, all of the observability!

One of my litmus tests for software is "can I use it on a flight?", so you'll be pleased to know Subtrace works great locally without ever talking to subtrace.dev!

    subtrace run -devtools=/subtrace -- python3 -m http.server
Run the above command in a Linux machine, go to http://localhost:8000/subtrace and send some requests to localhost:8000 to see a stripped down version of the Subtrace dashboard working fully locally.

re self-hosting: yep! Use the -devtools flag to get a stripped down version of Subtrace running entirely locally:

    subtrace run -devtools=/subtrace -- python3 -m http.server
This starts a Python server on localhost:8000 but with Subtrace. Everything except /subtrace is forwarded to the Python server like usual, but if you go to http://localhost:8000/subtrace you should see the Chrome DevTools network tab running in the browser like a regular app. Any request you send to localhost:8000 + all outgoing requests made from inside the Python app will automatically appear in that dashboard!

You can use Subtrace entirely locally without talking to subtrace.dev using the -devtools flag. For example:

    subtrace run -devtools=/subtrace -- python3 -m http.server
Then go to http://localhost:8000/subtrace and you'll see the Chrome DevTools interface running in your browser like a regular app. Any request sent to http://localhost:8000 should appear there in realtime. Note that the -devtools flag is kinda best effort because Subtrace is intended to be used in production.

We have fully on-prem installations for enterprises, of course (e.g. if you're in a highly regulated industry like healthcare).

Thanks!

re the Wireshark analogy: the reason I used that was because: (1) Subtrace operates at roughly the same level in the operating system stack, (2) has similar capabilities, (3) has an overlap in use-cases, and (4) has been the most effective at communicating what Subtrace is in my experience so far. I can see why the analogy is not a perfect 1:1 mapping (obligatory xkcd: https://xkcd.com/624), but naming things is hard and taglines are just names in idea space :)

You can tag each request with arbitrary key-value maps and search over these later. For example, if you add a `x-subtrace-tags: user=foo, project=bar` header on the response, you can apply a `tags.user == "foo"` filter in the dashboard to see all requests across your entire infra from that user and only that user. Each request is pre-populated by default with tags like hostname, pod name, AWS/GCP location, etc.

It's like Honeycomb's wide events but even better because: (1) you can see whole request including the payload alongside the event fields, and (2) it's fully automatic and requires no code changes out of the box (you can incrementally add these tags when you find a need for each one instead of the huge upfront cost from instrumenting the hell out of your codebase).

use subtrace in an ephemeral pod for debugging purposes

That's a great suggestion. It'd be like kubectl exec-ing into a shell inside the pod, but for network activity. I think I'm going to prototype this tonight :)

pod filtering such as namespace and label selectors

Yep, Subtrace already tags each request with a bunch of metadata about the place where it originated so that you can filter on those in the dashboard :) Things like the hostname, pod, cluster, AWS/GCP location are automatically populated, but you can also set custom tags in the config [1].

[1] https://docs.subtrace.dev/tags