Keeping types in sync between the server and the frontend has been something I've obsessed over for most of my dev career. Rediscovering the Reinforced.Typings package has helped me tremendously in apps that have a .NET backend and a TypeScript frontend
Having spent over a year with F# and Fable at this point, I've avoided Elmish for the entire time, until recently. I found model-view-update architecture a little strange, but what really tripped me up was not understanding the difference between ELmish's program.mkSimple and program.mkProgram.
Despite a rocky start with Dart, I'm still really enjoying the language. When I get started with any new programming language I like to compile a "Quick Tips" document to help me get around common pitfalls and old manners of thinking. Usually I just leave them to rot in my OneNote app, but for Dart I'm publishing them here.
Recently I tried out the Dart language by building a small OpenFaaS function. Sadly I've decided not to use Dart in production, and this quick post covers some of the reasons why.
Trying to open Material-UI's DatePicker component without using its default text field input is a surprisingly difficult, undocumented, and bug-filled endeavour. This post documents exactly how to open the undocumented DatePickerDialog with a button click or keyboard event.