Author: ianmjones

  • Starting on testing AddMeasurement API endpoint turned into EditGoal test! | Always Developing #34

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • Setting up quick and dirty AddMeasurement SvelteJS route | Always Developing #33

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • Snippet Pixie snap fresh install fixed

    The other day I was using an Ubuntu VM and noticed that for some reason Snippet Pixie failed to run with some weird error related to its settings schema not being available. As I was mucking about with configuring an i3wm desktop I didn't really think much of it, thinking I'd likely broken something along the way.

    However, this evening I thought I'd just double check what was up with that VM and give the Snippet Pixie snap a proper test on a stock Ubuntu VM I have hanging around for just that use-case. At first all looked fine, but then I decided to fully purge the existing Snippet Pixie install and clean install it. And of course it then had the same problem.

    After much experimentation I found that some time between when Snippet Pixie 1.5.1 revision 138 was released on 2021-03-26 and the next rebuild as revision 141 was released on 2021-04-14, fresh installs no longer copied the settings schema file into place on first run.

    I suspect there was a release of snapcraft (the tool for building snap packages) that changed something, likely security related.

    I searched for anyone else having the same issue in the snapcraft forums but couldn't see anything that looked related, which made me think that it was likely then to be a problem with how I was building the Snippet Pixie snap package.

    I ran a few tests, building the snap locally and installing it in the VM, sure enough it failed to install the settings schema at runtime. The only way I could get the settings schema to install at runtime was by explicitly installing a revision before 141 from the snap store.

    I tried a few different things, looking to see if I could upgrade anything related to how snaps are built, but what with Snippet Pixie needing to be a "classic" confined (e.g. not confined) snap, I couldn't take advantage of some of the newer niceties such as the gnome-3-38 extension.

    One thing stood out when I checked the details of that gnome-3-38 extension:

    ian@ians-apollo:~ $ snapcraft extension gnome-3-38
    This extension eases creation of snaps that integrate with GNOME 3.38.
    
    At build time it ensures the right build dependencies are setup and for the
    runtime it ensures the application is run in an environment catered for GNOME
    applications.
    
    It configures each application with the following plugs:
    
    - GTK3 Themes.
    - Common Icon Themes.
    - Common Sound Themes.
    - The GNOME runtime libraries and utilities corresponding to 3.38.
    
    For easier desktop integration, it also configures each application entry with
    these additional plugs:
    
    - desktop (https://snapcraft.io/docs/desktop-interface)
    - desktop-legacy (https://snapcraft.io/docs/desktop-legacy-interface)
    - gsettings (https://snapcraft.io/docs/gsettings-interface)
    - opengl (https://snapcraft.io/docs/opengl-interface)
    - wayland (https://snapcraft.io/docs/wayland-interface)
    - x11 (https://snapcraft.io/docs/x11-interface)
    

    It mentions enabling the "gsettings" plug, which is exactly the same area that I was having problems with. This got me thinking about which libraries the snap used at build and runtime, which lead me to notice a peculiarity with the snapcraft.yaml. While the "libglib2.0-dev" library was being used during build, the equivalent "libglib2.0-0" runtime library was not being staged for install.

    So I added that library to the stage phase of the snapcraft.yaml and built and installed a local snap package from it, and it worked! đŸŽ‰ī¸

    So, long story short, there's a new build of Snippet Pixie in the snap store that should actually work!

    Snippet Pixie in the snap store

    It's a little disheartening though to think that for 6 or more weeks Snippet Pixie has not been working for new installs of the snap version, and no one either noticed it or bothered to tell me if they did. â˜šī¸

  • It's an incredibly exciting day at Delicious Brains, where I work, but I've got the day off today! 🎉đŸ¤Ļ

    A WordPress Announcement of Epic Proportions

  • Playing with CSS grid layout in a SvelteJS form component | Always Developing #32

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • Deciding what to do with various SvelteJS forms, grid, flex, and component? | Always Developing #31

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • First Always Developing video recording failure đŸ¤Ļī¸

    Ugh, it had to happen at some point, and today was the day.

    I couldn't record my daily Always Developing session this morning as I had a couple of things to do before work, and my computer was acting up and needed some TLC anyway. So instead I recorded session #30 this evening.

    However, after finishing up a fantastic recording of me adding terminal emulator support to Snippet Pixie, I gave the mp4 file a quick preview only to find that it had no sound! â˜šī¸

    You can see me in the bottom right hand of the screen moving my lips and gesturing away, but alas my wonderfully eloquent commentary is unheard.

    I tried checking the original mkv file, but it too has no sound.

    It's a bit of a head-scratcher as I explicitly check the levels in OBS before every recording and it uses the mic directly, not the "system default". Although I do have to set the system default audio input and output devices after any reboot as otherwise it tends to pick the wrong devices, but I forgot to do that this morning when I was fixing some stuff up. I guess there's a difference between what OBS shows in the audio mixer and what is actually used for recording. đŸ¤ˇī¸

    It's quite annoying as the session went really well, and I was quite proud to be able to get Snippet Pixie working with terminals simply by holding down the Shift key when selecting a snippet from the Search and Paste window. I even prepared the 1.5.2 release on camera, which was a nice way of showing what kind of thing you need to do to release an update to the elementary OS App Center. Although I did have a problem right at the end with getting to the developer dashboard, which of course worked straight away after I finished recording.

    Once I realised that the video was duff, I decided to check all my settings and make a follow-up recording to test that my audio was working again. So in session #30.1 I briefly explain what #30 was all about and gave a quick demo of the new version. As I'd already gone ahead and started the release process of Snippet Pixie 1.5.2 to the App Center, and pushed out the snap version already, I then went on to prepare and submit the nixpkgs/NixOS PR too. So if you're at all interested in how you release an update of a simple package to nixpkgs, Always Developing #30.1 might be worth a look.

    [NO AUDIO] Adding terminal emulator support to Snippet Pixie (kinda) | Always Developing #30

    Demo of new Snippet Pixie 1.5.2 and then submit to nixpkgs/NixOS | Always Developing #30.1

    Yup, I decided to release #30 even though it has no sound, just for giggles. đŸ˜‚ī¸ This will be especially amusing to Erik, my team mate at Delicious Brains, as we have a bit of a running joke about audio problems with our daily stand-up meetings.

    The good news is that Snippet Pixie's new ability to Shift-Ctrl-V paste a snippet into the command line or application like Vim running in a terminal, got lots of use while writing this little post! Simply using Shift-Return or Shift-Click in Snippet Pixie's Search and Paste window is incredibly convenient. đŸŽ‰ī¸

  • Demo of new Snippet Pixie 1.5.2 and then submit to nixpkgs/NixOS | Always Developing #30.1

    As the session recording for #30 has no sound, I explain what it was all about, and then submit Snippet Pixie 1.5.2 to nixpkgs/NixOS.

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • [NO AUDIO] Adding terminal emulator support to Snippet Pixie (kinda) | Always Developing #30

    There is **NO AUDIO** on this amazing recording of my adding the ability to use Snippet Pixie with terminal emulators.

    See session #30.1 for an explanation of what this was all about!!!

    #30.1: https://youtu.be/cqJvOPxubJY

    Live coding an app with SvelteJS, Go, CockroachDB, and Juju Charms in Python. Sometimes Linux desktop app or WordPress plugin development too.

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

    Before starting every work day, I do half an hour of noodling on side projects, making sure to keep them moving forward, albeit slowly.

    Working on these side projects is how I learn new programming languages, frameworks and technologies.

    Chances are I’ll fail miserably each and every day, so at the very least you can take comfort in seeing a so-called senior developer fumbling through some development with little success.

    Blog:- https://ianmjones.com
    Gemini:- gemini://ianmjones.com
    Twitter:- https://twitter.com/ianmjones

    Tech Used:
    Svelte:- https://svelte.dev
    Go:- https://golang.org
    CockroachDB:- https://www.cockroachlabs.com
    Juju:- https://juju.is

  • Yay, this entry's filename and front matter were auto populated by Snippet Pixie while working in the terminal! đŸŽ‰ī¸