miniblog.

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?
TIL that TiVo did actually allow you to update the version of Linux on the device, and GPLv2 requires the ability to install new versions! https://sfconservancy.org/blog/2021/jul/23/tivoization-and-the-gpl-right-to-install/
Blackbird: a desktop PC with zero proprietary blobs! Running the Power ISA (like PowerPC), although it's not cheap. https://www.osnews.com/story/133093/review-blackbird-secure-desktop-a-fully-open-source-modern-power9-workstation-without-any-proprietary-code/
Side-by-side diff display is really hard in the presence of long lines. For difftastic, I'm experimenting with wrapping lines within each column. What do you think?
Photo
On the challenge of structuring discussion and the social consequences (contrasting Discord with IRC): https://becca.ooo/discord
One nuance that's often missed when looking at OSS: it's mostly funded by goodwill. It's very rare for maintainers to get enough sponsors to replace their day job. In many cases the person doing the work already has a job and is motivated by interest.
Photo
Recognising learned helplessness in engineering teams: https://www.okayhq.com/blog/status-quo-is-so-hard-to-change-in-engineering-teams
When a project is 90%+ open source, it's hard to sell a proprietary bundle on top. OpenOffice/Star Office had this problem: Star Office had a grammar checker as its main selling point IIRC. This is a problem when the bundle funds much of the development work.
Generalising quasi-quotes to quasi-patterns, and how you can view HyperCard as a data editor with holes: https://www.erights.org/elang/grammar/quasi-overview.html
A common UI antipattern is to make the structure directly reflect the implementation. If you have 4 database tables, you build 4 screens. This may not reflect how users want to get things done. Does this happen outside of software? I suspect it does, but I can't find examples.
The source code of the Bourne shell is full of things like this: #define IFif( #define THEN){ #define FI;} This lets you write C that looks like shell scripts. This is sometimes called "bournegol"! https://oldhome.schmorp.de/marc/bournegol.html
It's always depressing looking at the SSH logs for my tiny server. I have it appropriately locked down, but it's a sobering reminder of how hostile the internet can be.
Showing 901-920 of 7,508 posts