[-] o_p@lemmy.ml 4 points 1 year ago

First old meme I’ve never seen! Damnit Janet!

[-] o_p@lemmy.ml 11 points 1 year ago

1985

Check out the guy with the brand new house!

[-] o_p@lemmy.ml 1 points 1 year ago

I once left a plastic tub of bird seed next to the shed one winter. Something chewed it’s way through the plastic, got stuck and died. Since there was now a hole the rain turned it into a weird soup that I discovered during the hot summer. I can’t even imagine the smell if that was anchovies, it was bad enough as it was.

[-] o_p@lemmy.ml 6 points 1 year ago

Plant trees? You can check out https://teamtrees.org/

[-] o_p@lemmy.ml 2 points 1 year ago

Not OP, but I’ve been using Kitty for ages and love it. A GPU term is a must IMO.

[-] o_p@lemmy.ml 1 points 1 year ago

You check out the neovim plugin too if you haven’t already.

[-] o_p@lemmy.ml 5 points 1 year ago

But now what can I spend all this anger on?

[-] o_p@lemmy.ml 2 points 1 year ago

Sounds like the repository pattern would help here.

I’m doing something similar now where I need to store objects “somewhere”. I have a low level Repository interface to handle persistence that can do the basic CRUD (mainly get/set for my use case). It’s primarily backed by redis, but that same interface has been backed by Postgres, vault, and in-memory caches depending on the need/environment. Works amazingly well.

As a bonus we can create a new Repository to migrate data when needed - such as a redis or postgres upgrade, we build a MigratingRedisRepository that takes in 2 RedisRepository and does the necessary logic of reading from the old and writing to the new.

I think you’re on the right track with a mix of 1&2. Abstract out the data store, it will change some time - and you’ll want to control it for tests too. Let services/managers handle state and delegate down for persistence to wherever that may be.

[-] o_p@lemmy.ml 2 points 1 year ago

Used to have an MSI wind back in the day, this looks exactly like it!

o_p

joined 1 year ago