"Give a man a match he will be warm for a minute, light a man on fire he will be warm for the rest of his life" -- The Osiris Child
Switching to using Go after using Python for a few years has been an interesting experience. Definitely appreciate the portable binaries, slimness of the language forcing you to write obvious code, and the compiler warnings making it easier to find bugs. Using golangci-lint has also been a big help, but that’s more because I am actually using a linter at all (where before I did not).
I have gone from writing impulsive untested spaghetti code to using DDD, CQRS, TDD, and linting to aim towards making maintainable code. I didn't really get it before, but after trying to maintain a huge messy project for a few years I have now come to really appreciate this new style of coding. I can now look at my code and feel confident about changing it and that if I come back to it later I'll have a real chance of maintaining it without want to scrape that's there and rewrite it.
What has really helped, though, is journalling down my thought process before, during, and after each coding session to make sure I have a better chance of fully understanding everything I am doing. I'm also trying to establish a regimen of every week day either adding / changing something in the codebase or outlining changes I need to make based on research that shows I screwed up something I have already done. That way even if I am moving at a slow pace, at least each day I will be making progress.
So far it is really weird writing tests before I write code via TDD, the slight differences between DDD and CA while still being vastly similar is a bit of a headache to make sense of, and trying to grok all of this without wasting a few weeks reading dense books has been a frustrating cycle of rewriting code over and over again after screwing up while also realizing why DDD / CA are structured the way they are.
This is also significantly worse for MPI libraries like WRF. If you have ever had the misfortune of needing to build it, you have my condolences.
@fribbledom I just wrap all the "maybe buggy" code in a try/catch and log the error message if it's not critical whether it succeeds or not
The Internet Archive Wayback Machine is not working right now and I'm freaking out
https://web.archive.org/web/*/qoto.org
@freemo Yeah, they both provide very similar features. PWAs are kind of the "successor" to Chrome Apps, but supported by the other browsers (e.g. I'm using Firefox for Android for mine).
@freemo The offline bit is one of the main features of PWAs, they cache the application so if you go offline it can still serve whatever cached data it had when it was last online. It has different caching strategies so developers can decide how they want the app to handle being offline and fetching content when online.
@freemo It's a way to make a web app behave like a "native" application. The qoto.org site is PWA-compliant, which is how I am using it to get things like push notifications.
HPC systems engineer