miniblog.

Exodus: a neat tool that can convert dynamically linked binaries to self-contained static binaries that work on pretty much any Linux machine! https://github.com/intoli/exodus
Using GitHub's Copilot to automatically generate descriptions of code in English! Some of the examples are really impressive, others less so. The regex example is particularly compelling. https://github.com/github/feedback/discussions/8308
I really like the idea of using deliberately ugly syntax when proposing a language feature. You avoid bikeshedding when you're figuring out the basic design. I don't know why this is so rare. Bikeshedding can be exhausting, especially when a design is young.
I've released difftastic 0.13! In this release: * Added support for Bash, Common Lisp and Ruby * Improved C, CSS, JS, JSON, TS and plain text in comments * A bunch of new explanatory screenshots in the README
Photo Photo
I've had bug reports from people compiling difftastic on both OpenIndiana and Windows! It's kinda neat, and so far the build fixes have been straightforward.
Optimising fizzbuzz with hand-written x86-64 assembly and AVX2: https://codegolf.stackexchange.com/a/236630 I guess it was only a matter of time, but it's an impressive achievement: 31GB/second!
Adding LLVM control flow integrity to make exploits harder is coming to Rust: https://rcvalle.com/docs/rust-cfi-design-doc.pdf The primary use case is mixing C/C++ with Rust: you have weaker memory safety guarantees and hardening is still necessary. You don't want a partial Rust port to reduce security!
Devious regexp trick I've not seen before: [^] Negating the empty set matches any character, which lets you emulate DOTALL (i.e. a . matches newlines too) on older regexp implementations. https://stackoverflow.com/a/47317639/509706
Explaining syntax-aware diffing is tricky, so I'm trying to add some compelling screenshots to the difftastic readme. They need to demonstrate weaknesses in text diffing, and be small enough to be mobile friendly. Here's the current examples.
Photo Photo Photo Photo
Excellent summary on the problems that tree-sitter solves, how it differs from LSP, and why it's such a great fit for editors: https://www.masteringemacs.org/article/tree-sitter-complications-of-parsing-languages I'm regularly impressed by how many parsers are available and how accurate they are.
The gopher logo for Go gets reused in so many project logos. It's a really fun community trend that I haven't seen for PLs with more abstract logos.
Syntactic diffing with interpolation is an interesting problem. Same: 1 + 2 vs 1+2 Different: "1 + 2" vs "1+2" Same: "#{1 + 2}" vs "#{1+2}" Difftastic is smart enough to get the first two cases correct, but still considers the third case to be different strings.
I'm delighted to announce difftastic 0.12! I've completely rewritten how diffs are displayed. Context is smarter, alignment is better, and handling of long lines is vastly improved. Lines are never truncated, and the display is much more space efficient.
Photo Photo Photo
Contrasting exploit mitigations and sandboxing techniques in Firefox and Chromium: https://madaidans-insecurities.github.io/firefox-chromium.html
I really like managed languages: GC makes some things much easier, and they often have great debugging tooling. Distributing compiled programs is delightful though. They're easy to package, easy to distribute, and start up is really fast. It's a huge upside.
Wowza, I reported a bug to the Haskell tree-sitter parser and a maintainer merged a fix in under an hour! https://github.com/tree-sitter/tree-sitter-haskell/issues/48
TIL that Rust supports inline struct definitions! https://github.com/rust-lang/rust/commit/6d43225bfb08ec91f7476b76c7fec632c4a096ef#diff-1dfa77331261e81c069657949febee032512a702bfe5865d7993cfc9f577f2f3 They still need names, but it allows you to define structs only used in a single function.
I haven't seen any docs that make it easy to transition from "here's a usage example" to "use this functionality in your project". I've seen "add foolib==1.2 to your clipboard" for easy installation, but could we do the same for code samples?
Unicode attacks creating invisible variables in JS: https://certitude.consulting/blog/en/invisible-backdoor/ Unicode in string literals or comments seems worthwhile, but non-ASCII in variable names seems fraught.
Generally I'd expect project adoption to be proportional to the number of maintainers. More maintainers means more fixes, more features, more supporting infra (docs, CI). What are the exceptions to this?
Showing 21-40 of 345 posts