Skip to content
ianmjones

ianmjones

Always developing

  • Always Developing.show
  • Contact
  • Software
  • Work
  • Very Old Stuff
  • Gleaming Wails: Idiomatic Gleam & Lustre Msg naming with nice refactor | Always Developing #253

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I switch to using more conventional names for the app’s Lustre Msg types, which turns out awesome as it helps me see where I was going wrong, could remove some messages, and simplify the update function!

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    January 1, 2026
    Vlog
  • Gleaming Wails: Starting Daemon and handling JS error in Gleam – Part 2 | Always Developing #252

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I show how off-camera I’ve fixed up the JavaScript error handling in Gleam & Lustre to now use a Result coming back from JavaScript FFI, including demoing the error catching before and after the change.
    I then add the “starting daemon …” notice to the Gleam views, and fix it up to show for the appropriate time while waiting for the daemon running check to do its thing.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 29, 2025
    Vlog
  • Today I published the 256th video on my YouTube channel.

    It’s only my 251st full Always Developing video, there’s been a handful of quick catchup “.1” videos, and my very first video was nothing related to coding.

    However, I still think it’s pretty neat to have hit this milestone.

    Merry Christmas nerds! 🎄😀

    ianmjones
    December 25, 2025
    Microblog, Vlog
    alwaysdeveloping, coding, gleam, live, lustre, snippetexpander, wails, youtube
  • Gleaming Wails: Starting Daemon and handling JS error in Gleam – Part 1 | Always Developing #251

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I get the “Start it?” button hooked up to start the daemon, and in theory handle an error returned by the Go based Wails back end via a JavaScript error.
    I didn’t quite get to testing the error, or implementing a “starting …” notice, but the daemon start worked, yay!

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 25, 2025
    Vlog
  • Gleaming Wails: Finish up Daemon Installed functionality | Always Developing #250

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I refactor the daemon running and daemon installed API calls to chain after each other via dispatched Lustre effects, with the timer start also kicked off via a new message type.
    Then I add a (not working) “Start it?” button to the daemon installed notice, with some nested CSS to style it.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 22, 2025
    Vlog
  • Gleaming Wails: Starting on Daemon Installed functionality | Always Developing #249

    Live coding an app with Gleam, Lustre, Go and Wails.

    First I take a quick look at the now merged pull request I did off-video for the g18n_dev package for translations in Gleam, and then start to look at getting a second notice to show whether the daemon is installed if it’s not running.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 18, 2025
    Vlog
  • Gleaming Wails: Setting up g18n pkg for adding translations to a Gleam app | Always Developing #248

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I first make sure the project properly builds after clean checkout and make clean-all. Then set up using the g18n package to add translatable strings to the Gleam app via a nested translations JSON file, hitting a couple of easy to fix up issues along the way.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 15, 2025
    Vlog
  • Gleaming Wails: Committing skeleton app to git and building in CI/CD | Always Developing #247

    Live coding an app with Gleam, Lustre, Go and Wails.

    This is just a bit of a maintenance session whereby I get all the new Gleam bits committed into git with the Svelte bits being removed, and then fix up the builds.sr.ht config so that it can run the build and tests once pushed to git.sr.ht.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 11, 2025
    Vlog
  • Gleaming Wails: Adding CSS to Lustre app and creating an error notice view | Always Developing #246

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I start to apply some CSS styling to the Gleam & Lustre frontend for the Wails app, including setting up screen and notice utility views.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 8, 2025
    Vlog
  • Gleaming Wails: Check backend status and then set up periodic check | Always Developing #245

    Live coding an app with Gleam, Lustre, Go and Wails.

    In this session I get the UI to ask the backend whether the Snippet Expander Daemon is running before setting up its periodic check using a timer.

    Snippet Expander:- https://snippetexpander.org

    Source Code: https://git.sr.ht/~ianmjones/snippetexpander

    Always Developing Playlist:- https://www.youtube.com/playlist?list=PLDWtdmaxq1few8CjnK4MC3LLBMVpi_aCS

    Blog:- https://ianmjones.com
    Mastodon:- https://fosstodon.org/@ianmjones

    Tech Used:
    Gleam:- https://gleam.run
    Lustre:- https://hexdocs.pm/lustre
    Go:- https://golang.org
    Wails:- https://wails.io

    ianmjones
    December 4, 2025
    Vlog
Previous Page
1 2 3 4 … 63
Next Page
  • Mail
  • Mastodon
  • YouTube
  • RSS Feed
  • Blog (251)
  • Microblog (104)
  • Podcast (6)
  • Vlog (272)
  • June 2026 (4)
  • February 2026 (2)
  • January 2026 (5)
  • December 2025 (10)
  • November 2025 (2)
  • September 2025 (2)
  • August 2025 (2)
  • July 2025 (1)
  • June 2025 (3)
  • May 2025 (3)
  • April 2025 (1)
  • March 2025 (2)
  • February 2025 (4)
  • November 2024 (1)
  • September 2024 (1)
  • August 2024 (2)
  • July 2024 (2)
  • May 2024 (4)
  • April 2024 (7)
  • March 2024 (1)
  • January 2024 (1)
  • December 2023 (7)
  • November 2023 (5)
  • September 2023 (1)
  • August 2023 (1)
  • April 2023 (1)
  • December 2022 (1)
  • November 2022 (2)
  • October 2022 (2)
  • September 2022 (4)
  • August 2022 (14)
  • July 2022 (12)
  • June 2022 (20)
  • May 2022 (15)
  • April 2022 (16)
  • March 2022 (16)
  • February 2022 (21)
  • January 2022 (14)
  • December 2021 (15)
  • November 2021 (15)
  • October 2021 (15)
  • September 2021 (6)
  • August 2021 (11)
  • July 2021 (5)
  • June 2021 (15)
  • May 2021 (22)
  • April 2021 (19)
  • March 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • September 2020 (1)
  • March 2020 (6)
  • December 2019 (2)
  • November 2019 (1)
  • October 2019 (1)
  • July 2019 (6)
  • June 2019 (3)
  • May 2019 (5)
  • April 2019 (5)
  • February 2019 (1)
  • January 2019 (4)
  • December 2018 (1)
  • November 2018 (1)
  • October 2018 (3)
  • September 2018 (2)
  • August 2018 (12)
  • April 2018 (1)
  • February 2018 (1)
  • November 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • April 2017 (4)
  • March 2017 (1)
  • December 2016 (2)
  • September 2016 (2)
  • June 2016 (1)
  • May 2016 (1)
  • April 2016 (1)
  • February 2016 (2)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • September 2015 (1)
  • June 2015 (1)
  • May 2015 (1)
  • March 2015 (1)
  • January 2015 (1)
  • October 2012 (1)
  • September 2009 (2)
  • July 2009 (1)
  • March 2009 (2)
  • December 2008 (1)
  • November 2008 (1)
  • October 2008 (1)
  • July 2008 (1)
  • May 2008 (1)
  • March 2008 (2)
  • February 2008 (1)
  • January 2008 (2)
  • December 2007 (4)
  • November 2007 (2)
  • October 2007 (2)
  • September 2007 (4)
  • August 2007 (1)
  • July 2007 (5)
  • June 2007 (1)
  • May 2007 (2)
  • April 2007 (1)
  • March 2007 (5)
  • February 2007 (3)
  • January 2007 (3)
  • December 2006 (1)
  • November 2006 (2)
  • October 2006 (2)
  • September 2006 (2)
  • August 2006 (1)
  • July 2006 (2)
  • June 2006 (5)
  • May 2006 (2)
  • April 2006 (4)
  • March 2006 (8)
  • February 2006 (14)
  • January 2006 (5)
  • December 2005 (3)
  • November 2005 (6)
  • October 2005 (11)
  • September 2005 (7)
  • August 2005 (6)
  • July 2005 (7)
  • June 2005 (8)
  • May 2005 (2)
  • April 2005 (5)
  • March 2005 (3)
  • February 2005 (4)
  • January 2005 (1)
  • December 2004 (2)
  • November 2004 (5)
  • October 2004 (8)
  • September 2004 (4)
  • August 2004 (1)
  • January 2004 (1)
  • October 2003 (1)
  • September 2003 (2)
  • August 2003 (2)
  • May 2003 (1)
  • February 2003 (1)
  • November 2002 (1)
  • July 2002 (1)
  • June 2002 (2)
  • March 2002 (1)
  • February 2002 (7)
  • air/flex/flash (10)
  • alwaysdeveloping (12)
  • business (93)
  • casedetective (35)
  • ci (4)
  • citydesk (9)
  • cluster (1)
  • coding (3)
  • comments (1)
  • concourse (4)
  • conference (11)
  • cosmic (1)
  • daft (1)
  • database (6)
  • deliciousbrains (14)
  • design (1)
  • desktop (2)
  • development (3)
  • docker (4)
  • download (1)
  • elm (1)
  • films (1)
  • fogbugz (42)
  • freebsd (1)
  • friends/family (6)
  • garageband (1)
  • git (1)
  • gleam (6)
  • health (3)
  • homelab (1)
  • hosting (2)
  • ideas (1)
  • incus (1)
  • informix (6)
  • javascript (1)
  • kamal (2)
  • life (17)
  • linux (8)
  • live (3)
  • lustre (3)
  • mac (1)
  • mailing list (1)
  • microisv (92)
  • microsoft (2)
  • music (3)
  • open source (9)
  • php (1)
  • plugin (15)
  • productivity (12)
  • realbasic (23)
  • refreshdb (6)
  • release (1)
  • review (2)
  • simplicity (1)
  • sneak-peek (1)
  • snippetexpander (5)
  • software (7)
  • sourcehut (2)
  • technology (20)
  • template (1)
  • testing (2)
  • uncloud (1)
  • wails (3)
  • website (36)
  • windows (2)
  • wordpress (24)
  • wp-cron-pixie (4)
  • xojo (23)
  • youtube (12)
  • Mail
  • Mastodon
  • YouTube
  • RSS Feed