Don't do drugs and OpenSSL
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Don't do drugs and OpenSSL
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
RE: @iwritelike@mastodon.social
So gooooood!
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Wow:
~~~
Missing MAC validation in wg(4) packet decryption
After dispatching a decrypt operation to OCF and receiving the result, the
wg(4) driver failed to check whether the MAC verification step succeeded.
The driver thus silently accepted packets with an invalid Poly1305
authentication tag.
~~~
https://www.freebsd.org/security/advisories/FreeBSD-SA-26:52.if_wg.asc
Wasn't WireGuard rewritten after the first failed attempt in FreeBSD?
Looks like it was caused by result confusion: crypto_dispatch returns errors in two different ways.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Wrote XAES-256-GCM (+ KC-) implementation in C backed by a choice of CryptoKit+CommonCrypto/OpenSSL/LibreSSL/BoringSSL. I needed it for a project that could be put on the App Store without troubles and decided to extend to other backends.
https://github.com/dchest/libxaes256gcm
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
I hope they had an ad blocker in 1887
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
#define avoid [[deprecated]] void
avoid func() { ... }
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
This is so true: https://justsitandgrin.im/posts/native-all-the-way-until-you-need-text/ There's still no competitive "native" replacement for web-based tech. This is one of the reasons we have Electron everywhere.
Fun fact: the original iPhone text fields were backed by WebKit.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Good point, I don't know why web servers allow arbitrary query strings by default https://chrismorgan.info/no-query-strings
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Why do we call them Unix-like or *nix instead of “I can’t believe it’s not Unix!”?
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
I like ASCII-preserving encodings, e.g. Fossil delta format (deltas of plain text are plain text): https://fossil-scm.org/home/doc/tip/www/delta_format.wiki
Thinking of making an ASCII-preserving variant of LZ4 compression:
- token and offset: 4 chars, base64 encoded (originally 1 byte token, 2 bytes for offset)
- literal and match overflows: base95 ('cause it's just addition, no complex decode)
Seems to fit perfectly and can be transformed easily to the original spec. Framing format would probably use base64 for everything.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Pretty sure death is just a new challenge for Alex Zanardi. He'll be fine.
https://news.sky.com/story/ex-f1-driver-and-paralympic-champion-alex-zanardi-dies-suddenly-13539086
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
I like this carrot disclosure thing.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
I wanted JavaScript documentation without paragraphs of bla-bla, like in Turbo Pascal/Delphi. Made this manually before LLMs, now published online.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Hmm, I use Cloudflare Pages for the Calcish website, and it shows up with a strange port number (which works) in DuckDuckGo/Bing.
Added rel=canonical, maybe this will fix it.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Calcish 1.11 released: https://calcish.com/blog/2026/04/25/calcish-1-11-released/
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
In the 70s they could open Facebook by pressing the Meta key and there were Like and Dislike buttons right on the keyboard.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
TIL about SQLite .www mode:
$ sqlite3 my.db
sqlite> .www
sqlite> SELECT * from mytable;
Opens the result of select in a browser and shows the table!
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Most software development best practices and tools are designed for corporate programmers/teams to ensure predictable results. This makes programming boring.
Software doesn't have to be written the way they write it.
For inspiration, study Arthur Whitney, Chuck Moore, Niklaus Wirth, Stephen Bourne, Jeremy Howard, D. Richard Hipp, Dan Bernstein, Terry Davis.
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).
Founder of Coding Robots. Created Mémoires, I Write Like, BlogJet (acquired) and Calcish. Author of Password Authentication for Web & Mobile Apps (http://dchest.com/authbook/).