
hi folks
currently i'm searching a place to talk about #activitypub. i have a plan to create my own social media with #activitypub protocol in #golang.
i'm okay with IRC or XMPP, thanks!
hi folks
currently i'm searching a place to talk about #activitypub. i have a plan to create my own social media with #activitypub protocol in #golang.
i'm okay with IRC or XMPP, thanks!
Now I'm thinking how to reconcile the typical layered pixmap editor that Deluxe Draw aims to implement with the ZX Spectrum colour model.
That would require the editor to support layers of different resolutions:
It could conceivably be construed as a blend mode of sorts. That might possibly work.
The blend mode seems doable, the different resolutions per layer is more tricky or possibly hacky.
There are two reasons why I needed to get palette handling done early on during the development of Deluxe Draw:
You need palettes for themes, and you need themes for a decent GUI. If every new colour you use is an improvised hack you end up with terrible looking GUIs of the sort everyone has decided not to use.
You can't have standard system icons if you don't agree on a stable palette. I needed to stabilise at least one minimal palette so I could have a regular icon format, and icons for Deluxe Draw.
The Deluxe Pixmap Format (.dpf) is a text-based that is easy to read and write. The child of .xmp pixmaps and .bdf fonts. XMP pixmaps are cool but they only store one single image. BDF fonts are cool but they only store monochrome bitmaps. DPF is meant to store any number of named indexed-colour icons or glyphs.
You can only know how these icons are going to look in another system if you guarantee a stable palette is going to be available.
So there you go.
To be honest, it may never be integrated with the main application when it's a delivered product. But it's exercises like this where you learn the most, finding out what are the limits of extensibility and what the level of pain will be like for other developers using this stuff.
Because I'm ahead of schedule I feel I am morally allowed to go down rabbit holes like... working on a Windows 98 theme for the Deluxe Draw UI toolkit... hehehehe 🤣
I think I've got BDF font rendering right.
Dropdown menus render exactly right. Also some room for improvement there behaviourally speaking.
Not a minor aspect now, considering that the last re-write has seen a clean separation of the UI logic and the backend. I could try an alternative backend in GL or SDL as a canary to ensure the app-level code always remains backend-independent.
With some room for improvement ui-wise, but most ui elements are almost working 🤣
This was worse than dependency work for bioinformatics C/C++ stuff in the early to late 00's. It made me hate #golang because nothing made this situation visible.
Before this experience, I was struggling to decide if I should spend my personal time bettering my #golang or just learn #rust. Now that's settled.. #rust it is ;)
Looking for suggestions from #Golang folks in enterprises. How do you handle dependencies on other internal repos?
Here's what happened: I got asked to add a feature to company/logger
, so I start my work off the main
branch. I get my feature done, and go to test it by pointing company/foo
to my branch on a testing branch of its own. Simple enough, right? Wrong.
You see company/foo
uses company/logger
, but from a branch that was deleted 2 yrs ago. Additionally, that branch of company/logger
references a company/proto
dependency which is also from a branch deleted 2 yrs ago. Needless to say, a lot has changed in two years since these branches diverged. Nothing in the build or test phases highlighted this issue. For two years, we'd been running unsupported code in production.
Fast-forward to 3 days later, and I finally reconciled 2 yrs of drift between the three repositories (complicated by an organization rename/migration which involved duplication of the google protobuf global initializaiton non-sense).
We already have GOPRIVATE
to specify our internal repo prefixes. So, is it reasonable or traditional for enterprise CI/CD to check go.mod
for GOPRIVATE
repos and require that they be tagged or on the tree's mainline? If so, are there tools that do this? My searching for "go module audits" aren't really helping since that's all vulnerability stuff.
What do you do to prevent this in your organizations?
Just another opinionated PSA:
#Golang is fun to write and easier to learn than #Rust
I got sidetracked by the Rust hype for a while until #ThePrimeagen pointed out that Rust isn't a fun language for him.
I realized that it also applied to me.
If you enjoy Rust, go ahead, more power to you!
I just wasn't very productive with Rust and I never needed to do anything complicated to begin with.
So these days I just write some CLI utils and backend stuff in Go and am thoroughly enjoying it!
「 Go is the most hated programming language. Compared to other languages, it provides 80% of utility with 20% of complexity. The hate comes from people who want 81% of utility, or 85% or 97% 」
https://blog.kowalczyk.info/article/d-2025-06-26/go-is-8020-language.html
A space for Bonfire maintainers and contributors to communicate