miniblog.

Choice, parsers, and open world designs in text adventure games: https://threeedgedsword.wordpress.com/2013/12/05/parser-as-prototype-why-choice-based-games-are-more-interesting/
I've started reading Construction of Thinned Gated Single-Assignment Form by Paul Havlak, because I hear this SSA form is way underrated. It uses a crazy archaic 3-way IF from Fortran as a motivating example: IF (I) 10, 20, 30 This goes to 10/20/30 based on i being +ve/-ve/0!
One reason I love working in tech is that programming skills are valued in many different domains. I've worked in marketing, social media, finance and fashion. It requires grace (you don't want https://xkcd.com/793/) but you can explore fascinating fields.
Missing methods, resilient software and failing gracefully: https://ovid.github.io/articles/alan-kay-and-missing-messages-a-follow-up.html
Swift is exploring a cute idea for library transparency: you can distinguish between "this ABI is guaranteed to keep working" and "I want an extra layer of indirection so I can add to data structures without breaking downstream users". https://forums.swift.org/t/pitch-library-evolution-for-stable-abis/23026
I've started seeing programming communities on Discord (Clojure, Pharo, Lisp). It's not perfect, but it is really nice to have scrollback when you join a channel, and you don't need an IRC bouncer
Powerful reflective systems like Pharo or Emacs can be broken in all sorts of exotic ways. Today I defined: BaseFoo class>>#name self subclassReponsibility and the entire IDE locked up! With great programming power comes great responsibility I suppose.
On following up on emailing others, as they may often be drowning in email: https://guzey.com/follow-up/
It's fascinating how podcasts have become a thriving indie phenomenon. They're easy to create, require no special equipment, and easy to distribute. What other fields have an appetite for diverse content with little post-production polish?
Google is moving towards making Kotlin the recommended language for Android development! https://android-developers.googleblog.com/2019/05/google-io-2019-empowering-developers-to-build-experiences-on-Android-Play.html
The Pharo debugger has a super convenient Restart button. This lets you go back to the beginning of the current method and step through it again! This is really useful when you've executed too far.
Photo
Pharo is moving away from representing instance variables and methods as strings. Instead, they're more powerful objects! https://www.slideshare.net/mobile/MarcusDenker/lecture-27685035 This enables autogenerating accessors, ORM style relationships, and easier static analysis of methods.
Implementing faster data structures in Rust and exposing them to BEAM for Elixir: https://blog.discordapp.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3
Excellent discussion of verbosity (many keywords), orthogonality (scalar vs record expressions, calling conversations) and semantics (bizarre equality for NULL) in database query languages, focusing on SQL: https://edgedb.com/blog/we-can-do-better-than-sql/ (Uses 'design by implementation' as derogatory!)
Preserving scroll position on a page even if an ad loads asynchronously or if you rotate your phone! https://hacks.mozilla.org/2019/03/scroll-anchoring-in-firefox-66/
Signing up to the Raspberry Pi website, and it encourages users to use a password manager! Great to see them teaching good computing practices.
Photo
I've learnt a little hg recently, and I really like how it distinguishes local branches that haven't been released yet. With git, a local branch is not shown as diverging from the upstream trunk! Mercurial has strictly more information here with its notion of phases.
Photo
Code completion for Pharo is in GSoC again, looking at type inference and statistical ordering based on recent classes! https://medium.com/@myroslavarm/improving-code-completion-gsoc-2019-introduction-de36e106a12f
Zero cost abstractions, and what persuades other developers to use our abstractions: https://boats.gitlab.io/blog/post/zero-cost-abstractions/
Wonderful article on Racket, phase separation when expanding macros, and Racket's logging tooling: https://lexi-lambda.github.io/blog/2019/04/21/defeating-racket-s-separate-compilation-guarantee/
Showing 2,021-2,040 of 7,508 posts