This slide from Don Syme’s talk has been making the rounds, and… yeah, it paints my programming journey. I wish whoever created this graphic would of beat me over the head in my early 20’s; if so, curious where I’d be now.

This slide from Don Syme’s talk has been making the rounds, and… yeah, it paints my programming journey. I wish whoever created this graphic would of beat me over the head in my early 20’s; if so, curious where I’d be now.
The “programmers can’t name things” trope is real. TDD, or “TEST Driven Development”, which has “test” in the name, is about design. But we don’t call it “Design Driven Development” because those of us from front-end love our Designers, and just assume that is implied, and they direct us what to build. TDD’s value isn’t just design, it’s testing that our code works, now, after a change, any time we deploy stuff, etc.
… that said, I love when Allen Holub rages, so reposting. That, and us TDD fans are horrible at describing, marketing, and implementing TDD, but we try anyway.
Also, follow Allen, he’s a smart dude: https://twitter.com/allenholub/status/1607839169245761536
OCAML 5 was released, and one of the features many on Twitter were happy about was effect handlers. I don’t have much experience in Haskell, but one of the cool features it offers is you choose if something is an Error/Exception and the program should stop, or you should keep going.
Typically, if it’s your code, that’s no problem. However, if it’s in a 3rd party library, or a module you didn’t write, you have no choice to just “handle the error”. Unclear how this doesn’t leak implementation details, but I’m super n00b at Effect handlers (a la Unison). Really cool to see it be used as a primitive to create async/await, streams, and Go-lang-like imperative style shared concurrency with all the type guarantee’s OCAML gives you. I wonder when ReScript will enhance async/await to handle Effects (or maybe you already can).
Effects Tutorial: https://github.com/ocamllabs/ocaml-effects-tutorial
OCAML 5 Announcement: https://discuss.ocaml.org/t/ocaml-5-0-0-is-out/10974
In this article I wanted to compare and contrast Enum‘s and Discriminated Unions in TypeScript and compare them to each other. In my Object Oriented Programming days, we’d occasionally to never use Enums, whether they were native to the language or emulated. Nowadays, in my Functional Programming groove, I use Discriminated Unions all the time, whether native to the language or emulated. TypeScript is interesting in that it supports both natively.
Update: I have a video version of this article.