- Leslie Lamport and Markus Kuppe (2021), TLA+: Viewed from 40,000 Feet and Ground Level → https://www.youtube.com/watch?v=Ocxczi-CvRQ
- Video talk is happily easy to follow, and should be required viewing for anyone sincerely interested in making quality software we can be proud of.
- Related video: Jay Parlar (2019), Alloy for TLA+ users → https://www.youtube.com/watch?v=tZywZc04lJg
-
This talk provides a high level overview of Alloy, a modelling language for software systems, for a typical TLA+ user, and shows instances where one might choose Alloy over TLA+, and vice-versa, and more importantly, why it’s hugely valuable to know both systems.
-
- David Nolen (2021), ClojureScript in the Age of TypeScript → https://www.youtube.com/watch?v=3HxVMGaiZbc
- Video talk by @swannodette on how successful development of any program really depends on working interactively with it at runtime so you can test and make changes to it while also preserving state.
- @devbyrayray (2021), Getting Started with Storybook without a JavaScript framework → https://betterprogramming.pub/getting-started-with-storybook-without-a-javascript-framework-c2968d3f3d9f
- "Use it with plain HTML and CSS" - that is, how to configure it to run vanilla JavaScript functions that spit out HTML and see them styled with your CSS.
- Erez Rabih (2021), 6 Years of Professional Clojure → https://engineering.nanit.com/6-years-of-professional-clojure-2b61cb6c1983
- Joy of pure functions: Easy to read, understand, design, re-use, and refactor.
- Values and collections and (almost) no objects.
- JVM is a memory hog.
- Experience (and wisdom) harder to find and hire.
- Joseph Gentle (2021), 5000x faster CRDTs: An Adventure in Optimization → https://josephg.com/blog/crdts-go-brrr/
-
You can't make the computer faster. You can only make it do less work.
-
Instead of implementing the CRDT as a tree like automerge does...Yjs just puts all the items in a single flat list.
- The insert function on github at https://github.com/josephg/reference-crdts/blob/fed747255df9d457e11f36575de555b39f07e909/crdts.ts#L401-L459.
-
- Mathias Verraes (2015), Messaging Flavors → https://verraes.net/2015/01/messaging-flavours/
- Informational (events)
- Imperative (commands)
- Interrogatory (queries).
- Dan North (2016), Scratching a JUnit Itch → https://dannorth.net/2016/09/03/scratching-a-junit-itch/
- Looking at
Go'stestingpackage, "My epiphany was simply this: A failure doesn’t have to stop the test!" - The
JGoTestingphilosophy:- All checks run, then report. (like
tape). - chainable:
test.log(); test.check().check(); - terminate:
test.terminateIf(); test.terminate();(liketape.end())
- All checks run, then report. (like
- Looking at
- Shachee Swadia (2021), How to Build a JavaScript Line Chart → https://javascript.plainenglish.io/how-to-build-a-javascript-line-chart-1258b98c632e
- Uses AnyChart to build an interactive line chart.
- Minified CDN release of version 8.10 of AnyChart is nearly 1MB.
- See for yourself → https://cdn.anychart.com/releases/8.10.0/js/anychart-base.min.js
- Arek Nawo (2021), Everything You Ever Wanted to Know About WebRTC → https://blog.openreplay.com/everything-you-ever-wanted-to-know-about-webrtc
-
With the ability to both stream video and audio and exchange any arbitrary data directly between peers, WebRTC is a powerful tool for building performant, cost-efficient real-time applications.
-
- Adrian Roselli (2021), Embracing Design Constraints → https://adrianroselli.com/2021/05/embracing-design-constraints.html
- Form Follows Function
- Design is Not Art
- Constraints Are Part of Design
- Shachee Swadia (2021), Build an Interactive Flow Map in JavaScript → https://dev.to/andreykh1985/how-to-build-an-interactive-flow-map-in-javascript-mja
- Another tutorial using AnyChart.
- It's pretty nice, actually.
- Jordi Cabot (2021), OCL in JavaScript → https://modeling-languages.com/object-constraint-language-ocl-in-javascript/
- OCL (Object Constraint Language) is a typed, declarative and side-effect free specification language, for model-driven engineering,
- this post introduces OCL.js.
- There's even a web site with API documentation.
- Russ Weakley (2021), Accessible Forms: HTML Test Cases → https://russmaxdesign.github.io/accessible-forms/
-
A series of HTML test cases to determine how they are announced in different screen reader / browser combinations.
-
- Steve Branam (2021), Acceptance Tests vs. TDD → https://www.embeddedrelated.com/showarticle/1409.php
- Long article prompted by group reading of Michael Feathers' "Working with Legacy Code".
-
untested code is by definition broken code. You can't trust it until you've proven that it works with actual evidence of working.
- Cathy Dutton (2021), Designing for the Unexpected → https://alistapart.com/article/designing-for-the-unexpected/
- Design for content first.
- Zeldman quote: > Your company’s survival is tied to the ability of the products it makes to work in situations you haven’t imagined, and on devices that don’t yet exist.
-
You Can’t Framework Your Way Out Of A Content Problem
- Yehonathan Sharvit (2016), A new way of blogging about javascript → https://blog.klipse.tech/javascript/2016/06/20/blog-javascript.html
- Impressive intro to the
klipseplugin for adding interactivity to your blog's code snippets. - Instructions for integrating klipse in your blog
- Impressive intro to the
- Vasyl Boroviak (2021),
lil-csv, a 1k JS module to parse and generate CSV files → https://dev.to/koresar/lil-csv-a-1k-js-module-to-parse-and-generate-csv-files-471h- Works in browsers;
- Samll (just over 1kB)
- Parses deep objects.
- Generates CSV from deep objects.