lnxist boosted

@General

"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).

Programming satire using anime image macros is the peak form of artwork from our species.

NAT and firewalls are the enemies for embracing a world of easy to setup decentralized servers.

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.

Show thread

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.

Show thread

Trying to stop writing spaghetti / big ball of mud code and learn how to test driven development (TDD), domain driven design (DDD), and clean architecture (CA) so I can actually write maintainable software.

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.

Show thread

The amount of time it takes to build an MPI compiler in 2020 is upsetting

Setting up an email server from scratch always sucks. The last step of "getting it to work for external emails" is a pain since there's almost no logging for why it didn't work.

@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

It's working again now, whatever was causing the 503 is now resolved! :blobcheer:

Show thread

The Internet Archive Wayback Machine is not working right now and I'm freaking out
web.archive.org/web/*/qoto.org

Firefox for Android being super dramatic and claiming I have infinity tabs open (it's only like 70 tabs, chill out Mozilla!)

The Nuxt.js documentation on their site could use a lot of work. Some implementation details when getting started was unclear from the information they provided. Looking at other's codebases certainly helped, though.

@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.

Show more
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.