321 karma · joined October 11, 2023
(note: the first part was originally published April 2025 according to the date tooltip)
> "I'm hoping to close them out soon, ideally before I run out of goodwill."
Your goodwill is already depleted, time to move on.
Earlier submission (4 points, 0 comments): https://news.ycombinator.com/item?id=49149056
We observed issues on a non-DNSSEC .de domain at 19:45Z and confirmed around 20:12Z it wasn't just us, but also more high profile domain names.
Would you rather see "number of requests started at this ms" (you seem to suggest this), or is something else more interesting?
I think a sort of Gantt chart that plots duration of requests as well as starting time within the time span (e.g. a second or more) might be very informative. Each individual request on a different position on the Y axis, time on the X axis. Perhaps you have some bound on requests in flight, that could be the height of the Y axis, so you can easily see calm or busy periods.
At least our observability stack doesn't show this level of detail, but it would be very interesting to have it. (We do have calculated heatmaps based on maximum request time in Grafana, which is at least better than plots of average request times)
[0] https://www.youtube.com/watch?v=lJ8ydIuPFeU
[1] https://bravenewgeek.com/everything-you-know-about-latency-i...
This was awarded "Best of Show - abuse of libc" at the time[0]. See also the judges' remarks[1]:
This program consists of a single printf(3) statement wrapped in a while loop. You would not think that this would amount to much, but you would be very, very wrong. A clue to what is happening and how this works is encoded in the ASCII art of the program source.
As for OP: read up on alert fatigue; if a notification isn't directly actionable, you shouldn't even see it!
The pull model for information is more durable for humans than the push model. Try RSS for news/blogs, take some time (preferably offline) each week to prepare for the important events in the upcoming week(s), write them down on something you pass by every day (such as a whiteboard near your front door).
It seems your project is at a really early stage. Almost none of the links on the page work, which is too bad, because it could have provided more background information on your goals and wishes. The only thing that seems to work is login through Google, which is a bit much for a demo site.
What's going to be the edge above the already excellent https://bgp.tools ?
Have you responded to this post on your own site? Send a webmention[0]! Note: Webmentions are moderated for anti-spam purposes, so they will not appear immediately.
I find this method to be a sweet spot between generating content on your own pace, while allowing other people to "post" to your website, but not relying on a third-party service like Disqus.I think the main advantage is that you can granularly keep track of the movement of money, stocks, commodities, etc., and their conversions. As a day-to-day example, it gives you the ability to follow, for example, invoices received (Liabilities or Accounts Payable), transactions on a bank account (Assets), and what you are going to spend (or at some point, have spent) (Expenses).
This separation allows you to, for example, enter an invoice you've received on January 1 in Accounts Payable, with a corresponding value in Expenses. At this moment, nothing happened yet, it's simply an administrative transfer of some amount from an asset account to an expenses account (the sum of these transfers must be zero, so one amount is negative whereas the other amount is positive. See [0] for more details).
As a result, this gives you insight in what still needs to be paid. Once a transaction for that invoice enters your bank account on, for example, January 10, it gets "paid" to Accounts Payable, thus giving you a link between an invoice, its payment, and finally the amount spent. (This concept also works the other way around, see this sibling comment[1], where it's also extended into working with multiple accounts.)
[0] https://beancount.github.io/docs/the_double_entry_counting_m...
The symbols on that page could be a bit bigger, though, as they are the main subject. (I changed 1.125rem to something like 1.6rem for text-lg; that works, but it could get a bit crowded with the clickable arrow on lower resolution screens).
I'm not a huge fan of things that move; the offset of a block of symbols, as well as scaling of an individual symbol block when hovering seems a bit too much. I would do either, but not both.
Disclosure Timeline:
- 21.10.2025: Submission of initial version of this report.
Upcoming Timeline:
- 24.10.2025: Submission of a talk for 39th Chaos Communication Congress (39C3). No technical details shared.
- 21.12.2025: Disclosure of this report on https://seclists.org/fulldisclosure/
- 26-31.12.2025: If accepted by content team, 39C3 Congress talk regarding this report
I'm surprised to see that this isn't published on fulldisclosure yet, though there is a talk on GPG vulnerabilities scheduled for 39C3: https://fahrplan.events.ccc.de/congress/2025/fahrplan/event/... . 60 days from report to full disclosure is... tough.I think power users are most annoyed by those modals. It prevents them from doing the exact thing they were planning to do. Instead, they'll have to reinterpret what the application is telling them, consider it to be irrelevant (most of the times), and then pick up whatever they were planning to do. This creates friction.
I don't need the application to tell me a sidebar was introduced. I see that immediately because it differs from the layout I'm already used to. And then I'm annoyed they added the sidebar, because it takes up space without offering relevant new functionality.
And if you stretch the definition of TUI a bit, the Bloomberg terminal is a fascinating example.
The only mutable thing here would be the end date of said subscription, at which point the company no longer requires amount M from the customer, and the customer no longer receives Y.
Then on the accounting side, every time subscription Y renews, said customer in account 750xx needs to have its balance lowered by amount M, only to get increased again when they pay.
The only way to bridge this gap is to have the engineers know what accounting needs, and let them build the right infrastructure. In this [2018] [video] https://www.youtube.com/watch?v=KH0l8QqhzYk I recently watched, the speaker Rahul Pilani explains how Netflix organised their billing systems, and how all parts fit together. I'm not saying you should copy their infrastructure, but it doesn't hurt to look at a higher level how the business operates and what their accounting requirements are.
Have a look at Info-Beamer as well: https://github.com/info-beamer
Of course, the goal is to transport traffic in many directions, but in essence only routing information is explicitly exchanged.
(Internet exchanges typically offer a route server, such that every participant of the IX can easily publish routes for other participants, and simultaneously receive published routes of all other participants.)
The _effect_ of exchanging routing information is that IX-local participants know where to send traffic destined for certain IP ranges from other participants.
An autonomous system internally "knows" where each of their routers are located, and all these routers are typically connected with each other. When several routers of an AS are connected on different IXes, this means they can take informed decisions on where to send traffic destined for other ASes. It could be that AS 64496 is only present in IX-A, while AS 64510 is only present at IX-B. Suppose AS 64499 is connected to both IX-A and IX-B, traffic sourced from AS 64499 (e.g. endusers or "eyeballs") and destined for either 64496 or 64510 knows, through internally exchanged routes, where to send that traffic.
Scale this to even more autonomous systems and IXes in different geographic reasons, and you'll find it becomes a network of networks, or: the internet.
First build the thing that works, and only if it's really necessary, split it up in separate (networked) parts. You won't have to deal with unreliable network communication, or coordinate on a breaking API change with several teams when a simple search/replace on several function definitions and calls suffices.