In addition to 'sufficiently smart compiler', I've seen tech concepts that require a 'sufficiently smart UI' or even a 'sufficiently smart user'. These should be stigmatised too.
Teaching a new UI or abstraction sometimes shows that it's not ergonomic.
miniblog.
Fascinating introduction to early hyperlinks: there were 'linkbases' (storing links separately from the content), they weren't 1:1 (one link could point to multiple destinations) and had gossip protocols to update on other servers!
https://moocs.southampton.ac.uk/websci/2014/02/21/open-hypermedia-web/ https://edshare.soton.ac.uk/6158/1/Open_Hypermedia.pptx
Some great perspectives from JupyterCon: reproducible/explicit state is important, notebooks are replacing bash scripts in some workflows, and they're even used to introduce programming to total beginners!
https://willcrichton.net/notes/lessons-from-jupytercon/
Interestingly, I've reached a point where I get as many thoughtful responses to my content on Mastodon as I do on Twitter.
I agree it's very hard to make decentralised systems work, but my experience has been pretty positive.
A cute JS project that automatically instantiates controllers based on the HTML you've loaded, allowing you to easily add logic to pages using Turbolinks: https://stimulusjs.org/handbook/origin
@kaushalmodi@mastodon.technology I'm a big fan of M-x github-clone (available on MELPA) for cloning, forking, and adding a remote, all in one convenient Emacs command. 😀
@kaushalmodi@mastodon.technology I am really glad to hear you like it! 😄
Thanks for sharing your config too, really interesting to see how you're using it.
Regarding editing, I do want to add this. You cam subscribe to https://github.com/Wilfred/deadgrep/issues/12 to track progress.
I am fascinated to learn that Multics (the Unix predecessor) was a big influence on the lisp condition system (i.e. resumable exceptions)!
From
Common Lisp is the only language where I've seen other languages implemented on top. Today I saw an awk implementation! https://lemonodor.com/archives/000040.html
Racket comes close (and has great tooling) but I've not seen anything like the Python implementation on CL.
Computers are stronger than humans at chess and go. They're even winning at arimaa, which was specifically intended to be hard for machines.
Watching AI play Quake-style CTF recently, I've realised I no longer have intuitions on which games are hard for computers.
The vast majority of PLs are either self-hosted or implemented in a systems language (one without GC).
The only exceptions I can think of are PureScript, Elm (both written in Haskell), Hack (partly uses OCaml) and Clojure (Java). Are there others? Is it a good tradeoff?
'Mouse copy' is neat way of editing sexps, based on a design from Lisp Machines: https://www.mail-archive.com/gnu-emacs-sources@gnu.org/msg00393.html
This lets you copy the sexp under your mouse cursor and paste it at point. Saves a few precious keystrokes!
Full implementation here: https://github.com/vsedach/mouse-copy
Integers in Emacs Lisp are now arbitrary size, not just 32/64-bit! https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00360.html
Elegant demo of SAT solvers: take a list of locks and which keys should unlock the (e.g. master keys unlock multiple), plus a set of manufacturing constraints.
Feed it to a solver and calculate how to cut all the keys! https://codingnest.com/modern-sat-solvers-fast-neat-and-underused-part-2-of-n/
A real industry usecase of SAT.
I've started naming my git remotes 'mine' and 'upstream'. It's a really useful way of tracking where you've pushed code: the name 'origin' doesn't really communicate anything.
Fun blog series exploring porting SBCL to RISC-V: https://christophe.rhodes.io/notes/blog/posts/2018/a_trace_of_riscv_success/
I've started using Goodreads to log the books I read and follow some family members who are also keen readers.
It's been an interesting experience: completing a book is usually a much more private affair.
A metacircular interpreter in Prolog: https://www.metalevel.at/acomip/
The fact that this exists at all is mindbending to me. It's easy to just see Prolog as a logical reasoning engine.
Archiving Flash content before the plugin dies and the websites disappear forever:
https://blog.usejournal.com/adobe-flashs-gaming-legacy-thousands-upon-thousands-of-titles-and-my-efforts-to-save-it-58c14811558a
(Though there's still a need to preserve content using platforms that aren't about to die, the demise of Flash has spurred this project.)
Scaling OSS projects is hard. Most of my projects get a bug report every few weeks, which is very doable.
I don't envy the projects that explode in popularity though. You end up with a ton of issues and PRs and risk burnout.
Showing 221-240 of 657 posts