miniblog.

Effects and code as a database in Unison: https://jaredforsyth.com/posts/whats-cool-about-unison/ Unison is looking at changing their program representation to plain sqlite!
I'm adding Erlang support for difftastic! The basic diffing works, but I'm still tweaking syntax highlighting. The grammar distinguishes between "strings" and 'atoms', but I'm not sure if I should highlight both the same way.
Photo
Lisp and Erlang are the only languages I've seen where a comment can start with a single character, but it's very common to use two (;; or %% respectively)
Thoughtful article on the long term consequences of AI generated art, copyright, the art industry and historical innovations (e.g. the invention of the camera):
Rust's editions make it much easier to change syntax over changing APIs. This is probably true in other languages too. It's a really compelling argument for keeping your stdlib small when your language reaches 1.0.
"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." — Alan Perlis I'm still not sure I agree with this: explicit data types are often nice. Following this maxim leads to pervasive lists or hash maps.
Apple is going to significantly open up iPhones, including allowing third party app stores!
The TypeScript docs have IDE-like hover types on all the examples, which is really impressive. I also like how the second example always shows the type of the relevant part, regardless of mouse position. It's clear and mobile friendly. Screenshot from https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#literal-types
PhotoPhoto
Do you prefer longer, readable keywords (e.g. function, export, foreach) or keyword that are shorter and faster to type (e.g. fun, pub, for)? Why?
Computing optimal 8501 instructions for rotations using an SMT solver and Racket with Rosette:
One remarkable aspect of the JS packaging ecosystem is that people package individual functions. For example, lodash.sortby: https://www.npmjs.com/package/lodash.sortby It shows how lightweight the packaging process is. I've not seen this happen in other ecosystems.
Arrays being truthy in JS still catches me out sometimes. In Python or Lisp, empty lists are falsey and truthiness is safe and idiomatic.
Building VaccinateCA, a website developed by volunteers to make vaccination information widely available. It's a long read, but it explores a bunch of larger policy / organisational challenges they encountered in the public sector. https://www.worksinprogress.co/issue/the-story-of-vaccinateca/
Bun 0.3 will automatically install packages for you, rather than requiring an explicit install step. It's an interesting approach, and they've disabled install scripts to help security.
Photo
Linux historically used magic numbers to recognise structs being used incorrectly with void pointers. These have been increasingly replaced with type-safe macros: https://lwn.net/SubscriberLink/915163/ba83480903b82cb8/ Some of the original files were unchanged from the 90s!
Showing 16-30 of 384 posts