{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigs25d6o7nla77bsk7k5xjng3wkw2afzurc5py66z22noxxchr36q",
    "uri": "at://did:plc:7clauf3lpwoa25vtziarygp5/app.bsky.feed.post/3mnjzs5shoz22"
  },
  "path": "/blog/my-split-flap-display-now-shows-the-weather",
  "publishedAt": "2026-06-05T00:00:00.000Z",
  "site": "https://www.joshbeckman.org",
  "tags": [
    "made it a Life Clock last year",
    "Val Town",
    "Open-Meteo"
  ],
  "textContent": "The seven-digit split-flap display in my studio used to count the hours since I was born. Now it shows the forecast: `4077069`, a 40% chance of rain, a high of 77°F, and a low of 69°F.\n\nI made it a Life Clock last year, counting up the hours of my life. I still like that idea (I even reprogrammed it to show my daughter’s days of life this spring after she was born). But a number that only ever ticks up, slowly, slowly loses attention. I wanted the display to tell me something I’d actually act on when I glance up from my desk. The weather can be that thing for a while.\n\n## Packing a forecast into seven digits\n\nThe display shows exactly seven digits and nothing else, so I had to encode a whole forecast into a single number.\n\nI split the seven digits into three fields:\n\nDigits | Meaning\n---|---\n1 | Rain likelihood, 0–9\n2–4 | High temperature, °F\n5–7 | Low temperature, °F\n\nThe **rain digit** is just the chance of rain divided by ten and floored, so a 45% chance becomes `4` and a 90% chance becomes `9`. One digit is plenty for knowing “should I be worried.”\n\nThe **temperatures** each get three digits. That’s easy enough for `77` (`077`) or `105`, but Chicago winters mean I needed negatives, and the display has no minus sign. So I borrowed the leading digit. Since no real temperature here reaches 900°F, a `9` in the hundreds place means “this is negative”:\n\n  * `5°F` displays as `005`\n  * `-5°F` displays as `905`\n  * `-12°F` displays as `912`\n\n\n\nOne thing I like about this layout: every digit does work. The Life Clock left its leading digit parked on zero, since the hours of my life don’t fill seven places yet (likely never would). That digit wouldn’t flip to `1` until I crossed about 114 years old.\n\n## Switching to tomorrow at sunset\n\nI want to know tomorrow’s forecast when the day is effectively over. That really varies, but sunset is a good rule of thumb for when I start thinking more about the next day.\n\nSo the display rolls over at sunset to show tomorrow’s forecast.\n\n## The code\n\nThe display polls a small Val Town service that returns a single `number`. The data comes from Open-Meteo, which is free and needs no API key.",
  "title": "My Split-Flap Display Now Shows the Weather",
  "updatedAt": "2026-06-05T00:00:00.000Z"
}