Skip to content

Latest commit

 

History

History
82 lines (61 loc) · 7.61 KB

december.md

File metadata and controls

82 lines (61 loc) · 7.61 KB

December 2021

Major Alloy 6 release!

  • alloytools.org (2021), Alloy 6 releasedhttps://alloytools.org/alloy6.html
    • Major new version with temporal logic support, including:
      • Mutable signatures and fields
      • Value of an expression in the next state
      • Instances are now infinite sequences of states (traces)
      • Time horizon
      • Complete model-checking

Find of the month

Three posts merit mention this month.

  1. Pavel Panchekha and Chris Harrelson (2021), [Online Book] Web Browser Engineeringhttps://browser.engineering/
    • Web browser complete, in a thousand lines of Python.
  2. Bruno Sutic (2021), Async Rubyhttps://brunosutic.com/blog/async-ruby
    • Doesn't work with Rails yet (November 2021), but I haven't been so jealous of Ruby in a long time (maybe since before using it at Cal Berkeley).
  3. Svyatoslav Kryukov, Travis Turner (2021), A no-go fantasy: writing Go in Ruby with Ruby Nexthttps://evilmartians.com/chronicles/a-no-go-fantasy-writing-go-in-ruby-with-ruby-next
    • Show off piece demonstrates how to use Ruby Next to add interesting capabilities to Ruby.

Types

  • François Lamontagne (2007), Ruby is dynamically and strongly typedhttp://www.rubyfleebie.com/2007/07/09/ruby-is-dynamically-and-strongly-typed/
    • Good rundown on dynamic vs. static, and strong vs. weak types.
    • A dynamically typed language is a language where the type of a variable can be altered at any time. (It is a string, now it is a Fixnum, now it is a Time object, etc.)

    • A statically typed language is the opposite. (Decide what x is once for all and don’t change your mind!)

    • A strongly typed language is a language that is being strict about what you can do with your typed variables. (Don’t mix them… or I will throw you an error in the face!)

    • A weakly typed language is the opposite. (Do what you want with your different types. Mix them all! We’ll see what happens!)

Algorithms

SAM and Other Design Patterns

HTML

JavaScript and TypeScript

  • Kailash Nadh (2021), The Javascript "ecosystem" is a hot mess and so is software development in generalhttps://nadh.in/blog/javascript-ecosystem-software-development-are-a-hot-mess/

    I cannot recollect any language’s ecosystem getting "modernized" like this, becoming this comically complicated that one might think it’s parody. Of course, the symptoms were evident with left-pad.

  • Wiktor Toporek (2021), It's not JavaScript's ugly cousin. See how Typescript improves Developer Experiencehttps://tsh.io/blog/typescript-improves-developer-experience/
    • Questionable ReactJS-centric state-combinations-are-harder-to-test-exhaustively claims that equate "improving the developer experience" with "instant (visible) feedback" - consider the ableism in that phrase.

Data Structures

Models and model checking