Advertisement · 728 × 90

Posts by Philipp Krüger

Lean proved this program was correct; then I found a bug.

Two exciting developments: A. intoverflow bug found and fixed in the Lean runtime 😍, B. an AI rewrote zlib into Lean and there is now a proven-correct implementation of zlib!? 😍😍😍 kirancodes.me/posts/log-wh...

8 hours ago 2 1 0 0

@expede.wtf 👀

2 days ago 1 0 0 0

I kinda want to share the story of how I accidentally paid double the tax for four months once and can't undo it anymore without involving lawyers but I probably won't do so in public 😬
Taxes... 😔

2 days ago 1 0 1 0

> One performance-related change we are pursuing is "split mode". This is where — after the TLS handshake — a connection can be split into sender and receiver objects. The sender can send TLS-protected data, while the receiver can receive it.

I've wanted this in the past :)

3 days ago 5 1 0 0

⚠️ An active phishing attack is targeting crate owners by asking them to "confirm that your email address is still active". These messages are not from crates.io, and should be ignored. (We will never ask you to confirm that your e-mail address is still active.) ⚠️

5 days ago 152 64 1 0
Preview
Surelock I hate deadlocks. Maybe you do too.

🦀🔐☠️ Tired of deadlocks? Me too! Here's a post about a library that I've been working on to help wrangle the problem in Rust

notes.brooklynzelenka.com/Blog/Surelock

6 days ago 35 12 2 1
Preview
Do Not Stick Out: The Dynamics of the ECH Rollout Lessons Learned-ech-traffic-stuck-out" href="#why-ech-traffic-stuck-out" class="toc-anchor">Why ECH Traffic Stuck Out">The Paradox of Privacy Adoption: Standing Out to Disappearss="toc-anchor">Case St...

ECH exposed a hard truth about privacy technology: you can win at the protocol layer and still lose at the deployment layer.

I wrote about it here:
cdt.org/insights/do-...

6 days ago 8 5 2 1
Advertisement

When I was at my first job, I found a glaring hole in the security of our product. I opened a Bugzilla bug titled "Our security is a joke". I didn't mean anything by it, I was just trying to be funny. But my colleague told me how much it hurt his feelings. I've never forgotten it. Wording matters.

3 weeks ago 85 3 1 2

Ooooooh

3 weeks ago 1 0 0 0

unstoppable force vs. immovable object

3 weeks ago 2 0 0 0

may i interest you in our lord and savior atproto-over-media-over-quic

3 weeks ago 18 4 2 0

"commoditization and decentralization shift the balance of power. Dependency creates leverage, whether it's a country's gas supply or a company's cloud provider, and the engineering choices we make determine who holds that leverage"

3 weeks ago 7 3 0 0

@piss.beauty I... do you have some kind of dedicated notification set up for anytime @iroh.computer posts? :D
Or maybe you're just on another level of online... 👀

3 weeks ago 2 0 2 0

Fantastic work by Daniel, as always.

3 weeks ago 4 0 0 0

"Embeddable relay" in the sense of, if you already have a webserver running somewhere, you can now add iroh-relay as a rust library and have it serve an iroh relay websocket route next to your other routes.

We still require relays to be run on servers with DNS and public IPs set up :)

3 weeks ago 4 0 0 0
Preview
iroh 0.97.0 - Custom Transports & noq Release of iroh v0.97.0

v0.97 is out & it's a biggie:

custom transports, preset API, embeddable relay server, address filtering, and a switch to our own QUIC implementation!

www.iroh.computer/blog/iroh-0-...

4 weeks ago 30 10 1 1
Preview
iroh-examples/iroh-automerge-repo at main · n0-computer/iroh-examples Iroh in action. Contribute to n0-computer/iroh-examples development by creating an account on GitHub.

There's also an example of combining samod (automerge) with iroh: github.com/n0-computer/...

Automerge can be used to sync text documents and merging them... automatically :D

1 month ago 1 0 1 0
Advertisement

Shards?

1 month ago 0 1 0 0

Fuzzing a tokenizer? If so, maybe consider cargo-fuzz! It uses libfuzzer and does coverage-based fuzzing. You get a byte slice as input and run e.g. your tokenizer and it will look for panics.

Checking for actual properties doesn't work I think (unless you panic on them maybe?).

1 month ago 0 0 1 0

Ok [*rolls sleeves*] I want to properly understand money. What do I read?

1 month ago 14 3 16 0

I'd love to hear a "common misconception around bevy" take of yours :)

1 month ago 2 0 0 0
Preview
The Ultimate Conditional Syntax | Proceedings of the ACM on Programming Languages Functional programming languages typically support expressive pattern-matching syntax allowing programmers to write concise and type-safe code, especially appropriate for manipulating algebraic data t...

"The ultimate conditional syntax"

dl.acm.org/doi/10.1145/...

1 month ago 2 0 0 0
Screenshot of Aljoscha's message on discord:
I'm not on Bluesky, so I can't chime in directly. But in a nutshell:

- you can incrementally recompute the root hash when appending data, in amortised `O(l)` time when appending `l` bytes (worst case per append is  `O(l + log(n))`), where `n` is the total length so far
  - this means you can hash a string incrementally in linear time
  - this is identical in Blake3 and Bab
- the main differences between Blake3 and Bab:
  - Bab has constant-size length proofs
  - in Bab you can speed up computation when the input string repeats (for example, you could compute the hash of `n` successive zero bytes in O(log(n)) time, whereas Blake3 deliberately requires O(n) there to thwart timing attacks)
  - Bab admits multiple instantiations (different digest sizes, different merkle tree label computations), Blake3 is one-size-fits-all

Screenshot of Aljoscha's message on discord: I'm not on Bluesky, so I can't chime in directly. But in a nutshell: - you can incrementally recompute the root hash when appending data, in amortised `O(l)` time when appending `l` bytes (worst case per append is `O(l + log(n))`), where `n` is the total length so far - this means you can hash a string incrementally in linear time - this is identical in Blake3 and Bab - the main differences between Blake3 and Bab: - Bab has constant-size length proofs - in Bab you can speed up computation when the input string repeats (for example, you could compute the hash of `n` successive zero bytes in O(log(n)) time, whereas Blake3 deliberately requires O(n) there to thwart timing attacks) - Bab admits multiple instantiations (different digest sizes, different merkle tree label computations), Blake3 is one-size-fits-all

I asked Aljoscha to fact-check on discord:

1 month ago 2 0 0 0

Iroh blobs uses the exact same construction that BLAKE3/bao uses. Files hashed with iroh-blobs give you BLAKE3 hashes.
We store the inner tree hashes only up to 16KiB chunks and recalculate the rest on the fly, but other than that it's identical to bao.

1 month ago 7 2 1 1
Advertisement

And actually a minor correction: I think I was wrong claiming that length changes require rehashing. Seems like that's not the case.

1 month ago 2 0 2 0

All good :) Bab is cool IMO. Just wanted to correct the fact that bao also supports random access and took the chance to blurt out some additional facts

1 month ago 3 0 1 0

And IIRC this comes with the downside of needing to know the size of what you're hashing in advance/needing to rehash everything on append.

1 month ago 2 0 1 0

Bab is inspired by BLAKE3/bao (hence the similar name).
Both feature random access.
IIRC, something that Bab improves over bao is that each random access Merkle Proof also comes with a proof of total size.

1 month ago 3 0 1 0

Given this methodology, it might even be a low estimate. Servo likely tackled low hanging fruits with big impact first. So this report would assume this stays the same.

1 month ago 1 0 0 0
screenshot of the one-pager version of the servo readiness report

screenshot of the one-pager version of the servo readiness report

How do we get to more than just three web engines owned by three US companies?

It's a gargantuan question, with no easy or right answer.

I've put together a draft report, thinking about it through a very specific approach - please enjoy:

Servo Readiness Report

webtransitions.org/servo-readin...

1 month ago 72 30 5 1