With my last few commits this morning, I'm finally done with the grunt work of JSON encoders and decoders. JS programmers have it easy with this one. JSON.parse(), and you're done. But Elm decoders are more sensitive to malformed JSON, and once you've got the data in Elm, everything is type safe, and runtime errors are extremely rare. Worth it to me.
Quick plug for my favorite frontend language, #Elm! The language and architecture that inspired React! If you're a frontend dev and you've never tried it, take a look at www.elm-lang.org. Flagship features:
• Zero runtime exceptions in practice
• Blazingly fast virtual DOM
• Stupid-easy refactoring
• Create runtime guarantees
• JS interop
• Human-oriented compiler errors
• Built-in toolchain
• Its own package ecosystem
I seriously can't oversell it. Go take a look!
Still working on encoders/decoder/tests for https://github.com/billstclair/elm-mastodon. Expect to finish that part of it by the weekend. Then I'll ensure that my existing OAuth2 Authorization Code Grant Flow (https://package.elm-lang.org/packages/billstclair/elm-oauth-middleware/latest) works with Mastodon servers. Then the request/response HTTP code, and finally the WebSocket connection for subscriptions, and a test webapp.
After publishing this to the Elm repository, on to the https://Mammudeck.com webapp.
It is proven! I am billstclair on Keybase: https://keybase.io/billstclair/sigchain#a8666cde35f53eb8c5127d077d50860df87befb4ad5fcee5bbda9945f2c1ce390f
Raspberry Pi 4 is here!
- 1.5GHz quad-core 64-bit ARM Cortex-A72 CPU
- 1GB, 2GB, or 4GB of RAM
- Gigabit Ethernet
- USB 3.0
- Dual 4K monitor support
For all you #Emacs users out there (I LIVE in Emacs), I built a simple dark mode for Emacs.
(defun light-mode ()
I remember that dark mode was the default, but I like light mode in the daytime. It's early morning now, so dark mode it is. #screenshotsaturday (a little late).
I have written a number of games in Elm.
Kakuro Dojo is available both on the web and in Apple's iOS app store. Kakuro is similar to Sudoku, but it's a numeric crossword puzzle.
I also implemented three multi-player board games invented by my son. Zephyrnot is the newest, and simplest of the three.
LInked from https://gibgoygames.com ("Gib Goy" is "Big Boy" spelled sideways, sort of).
My Elm client for the Mastodon API is taking shape.
I started, of course, with the type definitions, from https://docs.joinmastodon.org/api/entities - https://github.com/billstclair/elm-mastodon/blob/master/src/Mastodon/Entities.elm
Then the type-safe encoders and decoders (work in progress) to convert from the Json.parse value to and from Elm objects - https://github.com/billstclair/elm-mastodon/blob/master/src/Mastodon/EncodeDecode.elm
Next will be round-trip tests to ensure that all the encoders and decoders work properly.
Just saw Toy Story 4 at the local theater, a 3-mile bicycle ride away. Cute. Touching.
Thanks to the RunPee app, I knew to stay through the credits for extra scenes and a story-specific rendering of the Pixar trailer.
Just joined. Working on an Elm client to the Mastodon API. My initial goal was a TweetDeck-like interface, but that may already be done by the Advanced Web Interface. It will still be nice to be able to interact with Mastodon instances from an Elm application.
First baby steps at https://github.com/billstclair/elm-mastodon
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!