Skip to content
ianmjones

ianmjones

Always developing

  • Always Developing.show
  • Contact
  • Software
  • Work
  • Very Old Stuff
  • Snippet Pixie: Next – Refactoring database schema upgrade routines | Always Developing #68

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 11, 2021
    Vlog
  • Snippet Pixie: Next – Started on database schema checking and upgrading | Always Developing #67

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 8, 2021
    Vlog
  • Snippet Pixie: Next – Add UpdateSnippet, RemoveSnippetWithID, refactor tests | Always Developing #66

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 7, 2021
    Vlog
  • Snippet Pixie: Next – Add GetSnippets function for searching snippets | Always Developing #65

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 7, 2021
    Vlog
  • Snippet Pixie: Next – Test NewManager, add GetSnippetsEndingWithAbbreviation | Always Developing #64

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 5, 2021
    Vlog
  • Sippet Pixie: Next – Finishing off getter function for an abbreviation | Always Developing #63

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 4, 2021
    Vlog
  • Snippet Pixie: Next – Starting to add database functionality to snippet pkg | Always Developing #62

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    October 1, 2021
    Vlog
  • Snippet Pixie: Next – Roughing out a CreateSnippet library function | Always Developing #61

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    September 30, 2021
    Vlog
  • Snippet Pixie: Next – Rebuilding from scratch with Go | Always Developing #60

    Related blog post: https://ianmjones.com/posts/2021-09-29-snippet-pixie-next-always-developing-60/

    Live coding an app with Go and SvelteJS.

    Working on a rewrite of Snippet Pixie:- https://www.snippetpixie.com

    The repository for the released version is on GitHub:- https://github.com/bytepixie/snippetpixie

    This in-progress, unfinished, unusable version from these videos is on SourceHut: https://git.sr.ht/~ianmjones/snippetpixie

    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:
    Go:- https://golang.org
    Svelte:- https://svelte.dev

    ianmjones
    September 29, 2021
    Vlog
  • Snippet Pixie: Next – Always Developing #60

    Today I published Always Developing session #60, which is both the start of a new series of videos, and a new chapter for my Snippet Pixie application.

    Snippet Pixie: Next – Rebuilding from scratch with Go | Always Developing #60

    Snippet Pixie's website

    Snippet Pixie: Next

    As the video title suggests, I'm rebuilding Snippet Pixie from the ground up using a completely different programming language. Instead of Vala, I'm going to use Go for the rewrite.

    Reasons For Rewrite

    There's a number of reasons that I'm doing this, but first and foremost it's because I'm wanting to learn the Go programming language.

    A good chunk of my earlier Always Developing sessions were with me building a GoalMonitor web application to help me learn Go for the back end, and Svelte for the front end.

    Playlist: GoalMonitor – Svelte + Go + CockroachDB + Juju

    https://golang.org/

    https://svelte.dev/

    I've recorded 40 GoalMonitor related sessions, but found myself not wanting to continue with them, leading to skipping recording (making a lie of "Always Developing"), or making videos on different subjects instead. The application was starting to get to the point where I'd need to invest considerable time into completing it, but it's not a project I currently need. Without that need for the application, I just don't have enough motivation to push it forward in my spare time, even though I would likely learn a huge amount by doing so.

    Snippet Pixie is a project that I'm passionate about, that I use many many times every day, but yet is in need of some attention to address some issues it currently has, and push it forward. Some of the issues with Snippet Pixie that I need to address relate to it's current architecture, and there's quite of lot of work needed to fix that. I'd rather spend that time working with Go than Vala. Go is rather good for building daemon and CLI apps, which just so happens to be part of my plan for improving Snippet Pixie's architecture and unblock the path to fixing some of its issues.

    Don't get me wrong, Vala is a perfectly fine language, in fact I quite like it, but even with as little experience as I have in either Go or Vala, I'm drawn more to Go.

    While wanting to learn Go and needing to fix the code bases' architecture are the main reasons for re-coding Snippet Pixie from scratch, it also gives me the opportunity to use a different license.

    New License

    Snippet Pixie currently uses the GNU General Public License v2.0 (GPLv2) license.

    https://github.com/bytepixie/snippetpixie/blob/develop/LICENSE

    I don't like the GPLv2 license because it imposes too many conditions that restrict your freedom to use the code as you see fit. I would much prefer that if someone finds useful code in Snippet Pixie's code base they can use it without worrying about the implications of doing so.

    As such, I'm using the MIT license for the new from scratch Snippet Pixie code base.

    https://choosealicense.com/licenses/mit/

    This may turn out to be particularly helpful if I end up creating any Go packages that can be used by others. As the development of Snippet Pixie progresses there's a good chance I'll end up working with the AT-SPI2 DBUS interface if wanting to keep feature parity with the current release of Snippet Pixie.

    https://gitlab.gnome.org/GNOME/at-spi2-core/

    That interface is currently used by Snippet Pixie to implement auto-expansion of snippets. Unfortunately I've not been able to find any currently maintained Go libraries for dealing with the AT-SPI2 service, so I may end up having to work on that myself. That's a long way off though, and frankly may never happen as I find myself using Snippet Pixie's "Search & Paste" window way more than auto-expansion. Search & Paste has far better compatibility across applications as many don't implement the required accessibility features, and I often find it easier to type a few letters into the search dialogue than try and remember the abbreviation I set for a particular snippet.

    Contributions

    Apart from myself, there have been 4 other lovely people that have been generous enough to contribute to Snippet Pixie.

    https://github.com/bytepixie/snippetpixie/graphs/contributors

    Ordinarily I believe this might cause a problem with re-licensing as you should get everybody's approval for the parts they've contributed to as they hold the copyright, or something to that effect (I'm not a lawyer, have never played one on TV, and have zero interest in becoming a lawyer). However, 2 of those contributors only touched files related to building the .deb package or running tests on Travis CI, neither of which need to be carried forward to the new version of Snippet Pixie. Their contributions were super helpful, but going forward I don't need to worry about their copyright for the code they contributed.

    The other 2 contributors mostly touched the translation files, and little bit of the build config related to translation, and I think made a string or two translatable in the core codebase.

    I would rather not lose the work done on those translations, it's incredibly valuable work, but I'm unclear as to whether I would be able to update the license in the current repo without some sort of official gubbins. I'm sure NathanBnm and Vistaus would give their blessing, but I'm not sure whether there's anything (or anyone) else that I need to take into consideration before switching out the license.

    New Code Repository

    As I'm not the sole contributor to the current version of Snippet Pixie but want to use a different license, I've gone the safe route and started again from a new repository.

    What I might do in the future is take the translation data and massage it into a new format that I anticipate needing to generate for the new Go code base. Once generated (or most likely painstakingly copy/pasted one line at a time) I'll seek out NathanBnm and Vistaus to get their blessing before merging into the main branch.

    In the video I mention that another reason for the new repository is that as I'm trying to learn Go as part of this rewrite, I'd rather not have any outside contributions at the moment. I don't want some kind sole contributing a bunch of excellent code that means I don't get to learn how to implement that feature or whatnot myself, or that I may not fully understand yet anyway! I'm all for comments on my videos letting me know about a trick I've missed or some doc I should take a gander at though.

    So I've created a brand new GitHub organisation for Snippet Pixie, and as part of the video linked above you can see that I created a private repo. In due course it'll be made public.

    Finally, another reason for using a new repo is that the current Snippet Pixie repo has a few services hooked up for testing and package building that I'd rather not disrupt. If I were to start committing to the old repo those services would be triggered, I don't want that, and don't want to go through the hassle of trying to filter the service's triggers. The current version of Snippet Pixie may need a bug fix or two while I'm progressing with the rewrite, so I'd prefer to keep its repo in full working order.

    Going Forward

    So that's me now set up with plenty of work to do as part of my (almost) daily Always Developing sessions. I'm really looking forward to getting stuck into developing with Go again, and who knows what other technologies get thrown into the mix as I rebuild Snippet Pixie and its adjacent projects.

    If you want to follow along, don't forget to subscribe to my YouTube channel!

    Always Developing.show

    Thanks for reading, until next time, take care!

    ianmjones
    September 29, 2021
    Blog, Vlog
    alwaysdeveloping, youtube
Previous Page
1 … 24 25 26 27 28 … 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