I have a strategy for doing OAuth 2 authorization for Mastadon hosts from my Elm Mastodon client code. I'll let you know how it turns out once I've written the code to make it so.


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:

• Functional
• Compile-to-JS
• 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 github.com/billstclair/elm-mas. Expect to finish that part of it by the weekend. Then I'll ensure that my existing OAuth2 Authorization Code Grant Flow (package.elm-lang.org/packages/) 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 Mammudeck.com webapp.

@roscoeellis Fedilab is not in the iOS App Store.

None of the cluents I’ve tried have the TweetDeck features of the Advanced Web Interface. Looks like I’ll have to do Mammudeck.com, wrap it with Cordova, and put it on the app stores.

Tried a bunch of Mastodon clients. Using now. Not free ($6), but functional and pretty. is also nice, and free.

Mast by Shihab Mehboob apps.apple.com/us/app/mast/id1

My Elm client for the Mastodon API is coming along. I have all the entities defined. Currently doing the grunt work of JSON encoders and decoders. Finished so far (with tests): Account, Source, Token, Application, Attachment.


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



I'm listening to "Unstoppable" by Lianne La Havas, from the album Blood.


For all you users out there (I LIVE in Emacs), I built a simple dark mode for Emacs.

(defun light-mode ()
"Light Mode"
(set-background-color "white")
(set-foreground-color "black"))

(defun dark-mode ()
"Dark Mode"
(set-background-color "")
(set-foreground-color ""))

ZapMeme.com is a simple meme maker I built in . Needs a dark mode. I plan to allow inclusion of a meme as a caption in another meme, placement anywhere, and rotation/flip. Should make it fully general.

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. (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 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 docs.joinmastodon.org/api/enti - github.com/billstclair/elm-mas

Then the type-safe encoders and decoders (work in progress) to convert from the Json.parse value to and from Elm objects - github.com/billstclair/elm-mas

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 github.com/billstclair/elm-mas


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!