miniblog.

The surprisingly high likelihood of a kernel bug being due to cosmic rays! https://lwn.net/Articles/219983/
I don't understand the preference in ML family to use currying so enthusiastically. Eg in the signature of a sort function, I prefer (a,a)->Ord as the comparator function signature, vs a->a->Ord. It's easier to distinguish inputs and outputs. Are there upsides I'm missing?
Jensen's Device is this fun (though slightly bananas) programming technique for call-by-name programming languages. Note how we're iterating over V[i] in this example!
Photo
I'm amused to learn that many MUSHes have a notion of in-game currency used to pay for compute: https://github.com/pennmush/pennmush/blob/master/game/txt/hlp/penntop.hlp#L794 This very much predates Ethereum or AWS Lambda pay-per-API call!
Emacs, or perhaps lisps in general, are a profoundly weird development experience. I've found a bug with byte compilation, so I'm stepping through the byte-compiler live in my current Emacs instance and amazingly everything works.
This is a great perspective: bug reports should be clear, with reproduction instructions, but they need to be persuasive too.
Photo
I'm fascinated to see Steve Losh demonstrating a 'gather' macro in Common Lisp, removing boilerplate for an accumulator: https://stevelosh.com/blog/2018/05/fun-with-macros-gathering/ Most use of yield in Python seems to be focused on gathering rather than lazy evaluation, but I never had a name for the concept!
We still generally expect web services to have both apps and websites that suit conventional PC form factors. Should we?
Lambda, the Ultimate Political Party: https://www.nhplace.com/kent/PS/Lambda.html On the differences between languages, and what makes a PL a lisp. Community values and priorities, not just language features!
It's also fascinating to see that Stroustrup's Rule (see https://www.thefeedbackloop.xyz/stroustrups-rule-and-layering-over-time/) applies to text adventure UIs too. Whilst they have a nice natural language syntax "go west", common commands quickly get abbreviated into something shorter.
Playing with LambdaMOO is an amazing time capsule into computing history. It really needs a good client (i.e. not just telnet in bash) but many clients have bitrotted severely. I ended up using a basic Emacs client: https://github.com/kensanata/mu/blob/master/mu.el
I am fascinated to learn about MUSHes, multiplayer games/discussion rooms which support the users collaboratively editing the code of the game! https://en.wikipedia.org/wiki/MUSH The programming language used is lisp influenced: https://duh.com/discordia/mushman/man2x1
There's something odd about screenshots of text adventure games. You capture the experience, but pictures of text is just so frowned upon in developer circles.
A vim-pacman mashup for learning key bindings! https://www.ostechnix.com/pacvim-a-cli-game-to-learn-vim-commands/
How to Write Seemingly Unhygienic and Referentially Opaque Macros with Syntax-rules: a fun paper on macros in Scheme, and how you can subvert hygiene using only syntax-rules!
Photo
Let Over Lambda, a remarkable book on Common Lisp macros, has a cute demonstration of how to get lisp-1 semantics using macros. It does make me think about defaults though. I can create a 1-indexed array in JS, Perl or Python, but I wouldn't in practice.
Common Lisp has a type of macro that I've never seen before, called a 'symbol macro'. This is like a normal macro, where you define an expansion for a symbol, but if the symbol is let-bound, it stays as a plain variable! https://clhs.lisp.se/Body/m_defi_1.htm
Consumption data has become increasingly important: newer podcast apps and ebook apps both provide creators with interesting feedback. 'Click to read full article' buttons on webpages are a slight pain, but they do help authors measure bounce rate.
Photo
Facebook have launched their own static type checker for Python, as an alternative to mypy! https://m.facebook.com/notes/protect-the-graph/pyre-fast-type-checking-for-python/2048520695388071/ It uses the same syntax, but seems more focused on Language Server Protocol integration.
Rust 1.26 is out! https://blog.rust-lang.org/2018/05/10/Rust-1.26.html In addition to some lovely language improvements, they've added a convenience function for slurping a text file given its path. It's the little things :)
Showing 2,761-2,780 of 7,508 posts