miniblog.

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 :)
I am delighted and honoured that some of the users of my Emacs packages are using them on Remacs and finding bugs! https://github.com/Wilfred/remacs/issues/731
A lovely analogy from Play Emacs like an Instrument: https://200ok.ch/posts/2018-04-27_Play_Emacs_like_an_Instrument.html 3d printers are awesome, but text editors have a powerful generic utility that make them a very valuable part of your toolbox.
Photo
I'm gradually coming round to the view of the Discourse developers that comment trees are harmful. If I have a long discussion with someone, our comments get very narrow. Nonetheless, understanding the structure of conversation is valuable. I wish I knew of better tools.
Teaching Programming Languages by Experimental and Adversarial Thinking: https://cs.brown.edu/~sk/Publications/Papers/Published/pkf-teach-pl-exp-adv-think/ A fascinating approach to teaching programming paradigms. Implement different language semantics in the same syntax, and ask students to write programs that distinguish between them!
Photo Photo Photo
It's relatively common to see a backlash against something online, leading to far more attention to the original act. At what point do we say "that's just an individual with an odd worldview" rather than "this is a viewpoint that I want to discuss/dissect"?
Anchor: https://anchor.fm/ is a podcast app with social features, analytics, *and* provides the ability to create your own podcasts. It's nice to see apps that promote content creation on mobile devices, not just consumption.
Villages: building social networks that are smaller, but have explicit shared values: https://randsinrepose.com/archives/welcome-back-to-the-village/
Donating money to charity every time a build fails: https://medium.com/football-whispers-engineering-and-data-sci/failed-builds-cost-more-than-just-time-4e7c196cc8bc (Also a nice example of the @monzo API)
https://www.virtuouscode.com/2015/07/08/ruby-is-defined-by-terrible-tools/ Despite the title, this is a good article on the relationship between programming languages, tooling, the resulting ecosystems and our mental models.
Wow, it's remarkable how many apps have their own option of a clipboard. It's a shame platforms don't offer a multiple entry clipboard by default. From
Photo
Showing 2,776-2,790 of 7,508 posts