Wordle-inspired progress updates for CmdStan v2.29.1

I updated CmdStan v2.29.1 to output progress in Wordle-eqse blocks.

CmdStan 5325 5/6

⬜⬜⬜🟩⬜
⬜🟩⬜🟩⬜
⬜🟩⬜🟨🟩
🟩🟩⬜🟩🟩
🟩🟩🟩🟩🟩

Installation instructions from fork of CmdStan at syclik/cmdstan:

git clone https://github.com/syclik/cmdstan.git cmdstan-colors
cd cmdstan-colors
git checkout v2.29.1-colors
git submodule update --init --recursive --depth=1
make build -j4  # or num of cores

Build a CmdStan executable and run as usual. Here’s how to do it with the included bernoulli example:

make examples/bernoulli/bernoulli
./examples/bernoulli/bernoulli sample data file=examples/bernoulli/bernoulli.data.json

Yes, this started as a joke on Twitter. @saudiwin @matti https://twitter.com/djsyclik/status/1503947614898827266?s=20&t=Hl8oTf2o2XVM6g9EmdHU_A

From start to finish, it took ~8 hours of elapsed time; under 2 hours of actual coding time. Most of that time was figuring out how to print utf-32 emojis in C++.

9 Likes

Animated output (I had to crank the number of iterations way up to get it to not just print everything instantly, it’s not normally this slow!)
animated example

4 Likes

More generally, what would a Stan-native version of this kind of feature look like?

An auto-generated, tweetable, colourful summary that captures information about some characteristics of your model, how long the model took to run, how well it sampled, if it was truly compiled with AVX optimisations enabled?

In time, Stan user support veterans could learn to diagnose common user or modelling problems from the summary.

another interpretation could be 1 block per parameter. that might get a bit wild and challenge tweetability for larger models.

1 Like

The funny thing is, I’ve never played Wordle! :)

This is really cool. And silly/fun things like this can help you when you’re cranking out Stan chains every day…

1 Like

Can we make an animation where a coffee mug slowly fills up?

2 Likes

@saudiwin, are you using it?

@spinkney, you sure you don’t want it to drain over time?

1 Like