HNHacker News
TopNewBestAskShowJobs

ctz

2,856 karma · joined October 21, 2010

bluesky: https://bsky.app/jbp.io

mastodon: https://infosec.exchange/@ctz

github: https://github.com/ctz/

locale: Cambridge, England

alumnus: nCipher, Thales eSecurity, Good Technology, Blackberry, Electric Imp, Twilio

recent open source:

- rustls: a TLS stack in Rust

- fastpbkdf2: faster PBKDF2

submissionscomments
ctz··on The RISE RISC-V Runners: free, native RISC-V CI on GitHub
people better not be snooping on my public open source projects!
ctz··on Discord/Twitch/Snapchat age verification bypass
There were ~16mn users of the internet in 1995. As of 2025 there are 5.56bn. Are you saying paedophilia has dropped by 99.7% over 30 years? If so, please provide a source for that claim.
ctz··on I'm posting this from a memory safe web browser
Me too!
ctz··on Neato vacuum robots to stop working
I have a Neato D650 which I assume meets that classification and is covered by the service withdrawal, it is now pretty degraded -- no notifications, no mapping, no keep-out zones.

No notifications means if it gets stuck it stays there.

No mapping means if it doesn't fully clean the space (eg, a door is closed) then I have no way of knowing without baby-sitting it.

No keep-out zones means every clean involves carefully preparing the space to hang up trailing wires out of the way -- previously I just had some keep-outs near the wires and that worked perfectly.

Without all these features I have stopped using it; it is quicker to just use a stick vacuum.

ctz··on Alaska Airlines' statement on IT outage
Welcome to the web. Pages often have hyperlinks that can be followed to see related information.
ctz··on Multimodal WFH setup: flight SIM, EE lab, and music studio in 60sqft/5.5M²
I can already feel the unfinished edge of the desk chipboard on my wrists. Such a premium finish!
ctz··on GitHub is no longer independent at Microsoft after CEO resignation
I understand that part. Mostly interested where the runners are coming from? macOS especially is pretty costly to provide runners for, so who is doing that for free?
ctz··on GitHub is no longer independent at Microsoft after CEO resignation
> You can have a nice CI/CD pipeline that runs 100% in-house, for free.

Interested! Some detail on how you achieve this for free would be great.

ctz··on Spotting base64 encoded JSON, certificates, and private keys
asn1 enjoyers can also look forward to the sweet release of death. though if you end up in hell you might end up staring at XER for the rest of eternity
ctz··on Spotting base64 encoded JSON, certificates, and private keys
The other base64 prefix to look out for is `MI`. `MI` is common to every ASN.1 DER encoded object (all public and private keys in standard encodings, all certificates, all CRLs) because overwhelmingly every object is a `SEQUENCE` (0x30 tag byte) followed by a length introducer (top nibble 0x8). `MII` is very very common, because it introduces a `SEQUENCE` with a two byte length.
ctz··on Deno 2.4
Looks like it is in ports?
ctz··on Crypto 101 – Introductory course on cryptography (2017)
https://pqcrypto2025.iis.sinica.edu.tw/slides/Invited3.pdf

edit: video if you prefer - https://www.youtube.com/watch?v=nJxENYdsB6c

ctz··on Why SSL was renamed to TLS in late 90s (2014)
My apologies.
ctz··on Self-hosted x86 back end is now default in debug mode
> This is awesome for Zig, I think this direction is gonna be a primary differentiator when comparing to Rust.

FWIW there is a similar effort for Rust using cranelift: <https://github.com/rust-lang/rustc_codegen_cranelift>

ctz··on Reports of Deno's Demise Have Been Greatly Exaggerated
It is instructive to compare Bun and Deno's issue tracker. Like, the five most recent issues for Bun at the time of writing are all crashes. Some of these are controlled panics or assertion failures, but others are like "we are now executing from address -1" or "we are trying to read from address 0x00000069." Recently written software simply should not have these classes of problem.
ctz··on Opinion: Your shower head is lying to you about pressure
This is a great opinion piece about Personal Liberties and Free Markets. Thanks Jeff!
ctz··on UK's hardware talent is being wasted
My impression is that top aerospace people do not now work in aerospace, but in Motorsport.
ctz··on Bringing Faster Exceptions to Rust
The topic is how to make non-local returns faster. I would suggest that normal returns are massively faster, and not returning at all is faster still (zero instructions needed!) -- but neither of these are non-local returns.
ctz··on Rustls Outperforms OpenSSL and BoringSSL
Note that the AVX-512 code we're referring to is the code that Intel also contributed to OpenSSL.

As a side-note, I believe the CPU we tested this on does not suffer from the AVX-512 power limits reported with earlier AVX-512 parts. https://travisdowns.github.io/blog/2020/08/19/icl-avx512-fre... seems to confirm that.

ctz··on Software Engineering Body of Knowledge (SWEBOK) v4.0 is out [pdf]

  Runtime errors surface when a program
  runs into an unexpected condition or situation
  such as dividing by zero, memory overflow, or
  addressing a wrong or unauthorized memory
  location or device, or when a program tries to
  perform an illegitimate or unauthorized operation
  or tries to access a library, for example.
  The programs must be thoroughly tested for
  various types of inputs (valid data sets, invalid
  data sets and boundary value data sets) and
  conditions to identify these errors. Once identified,
  runtime errors are easy to fix.
Embarrassing horseshit.
ctz··on UndefinedBehaviorSanitizer's Unexpected Behavior
I believe AIX C++ name mangling includes function argument type information (with CV qualifiers!) so this is a real-world case where this does actually break. I suspect curl does not compile with the C++ compiler though.
ctz··on Lm.rs: Minimal CPU LLM inference in Rust with no dependency
The original may have made sense, eg "no hardware dependency", or "no GPU dependency". Unfortunately HN deletes words from titles with no rhyme or reason, and no transparency.
ctz··on Interning in Go
Lots of small strings sparsely spread over 282MB is pretty cache inefficient?

Whereas the separate small allocations will likely end up close together, which gives a better chance that a given cache line will contain several rather than just one.

ctz··on From object transition to RCE in the Chrome renderer
It makes sense once you realise that Chrome and Google benefit from increasing the complexity of web browsers. It means that new browsers cannot feasibly compete. It's basically an arms race of "how much mental shit can we throw in there"?
ctz··on RustPython: A Python Interpreter Written in Rust
https://github.com/RustPython/RustPython/blob/main/Lib/PSF-L...
ctz··on OpenSSL bug exposed up to 255 bytes of client heap and existed since 2011
> Why it’s not removed: backward compatibility I bet.

I mean, in the intervening period there was OpenSSL 3 which was a large backwards-incompatible (API and ABI) release, with a huge amount of effort on the part of OpenSSL developers and users to follow along. It was the ideal opportunity to drop this sort of old stuff.

ctz··on Ruby methods are colorless
The underlying concept is applicable to lots of things, really. For example, the functions that are unsafe and safe to call from a POSIX signal handler can be treated as a function colouring problem.
ctz··on AES-GCM and breaking it on nonce reuse
BLE uses AES-CCM.
ctz··on A secure embedded operating system for microcontrollers
It's technically optional on Cortex-M0+ and above, but in practice everyone includes one.
ctz··on Reverse engineering ESP32 Wi-Fi driver: the road ahead
Chinese wall
Page 1 of 16Next →