this post was submitted on 19 Jul 2023
3 points (100.0% liked)

Go programming language discussion

1382 readers
1 users here now

founded 5 years ago
MODERATORS
 

I really like seeing people's interesting projects. Even if they are generic or were started just to learn something.

And on top of that, I consider Go to be one of those languages that you can find projects on a pretty diverse range of topics.

So, is there any interesting (or not too) personal Go projects that is in the making, or is already finished?

top 6 comments
sorted by: hot top controversial new old
[–] Arghblarg@lemmy.ca 0 points 1 year ago (1 children)

I have two, done to scratch personal itches:

xs, a remote shell, written from the ground up using Go with post-quantum key exchanges, simple tunnel support and anti-traffic analysis 'chaff' experiments - think 'an ssh replacement from a parallel universe'. Big thing is, it leverages Go's excellent crypto and network support to achieve most daily ssh use cases, in <5% of the SLOCC so its design and function can be more easily understood by mere mortals, IMHO :)

bacillμs, a near zero-dependency build/CI server - demo instance here

[–] whou@lemmy.ml 0 points 1 year ago (1 children)

wow, those are awesome projects! and really usable too!

I actually really liked bacillus. The minimalism is perfect, and seems like a great option to projects that would benefit with its own hosted CI server.

Oh, and while messing with it I accidentally triggered four jobs, oops sorry :P

If I had a server and domain just laying around I certainly would setup one for personal projects. I wonder as well if it would be possible to display the most recent job status in the project's repo interface (maybe with an external image card in the markdown).

[–] Arghblarg@lemmy.ca 0 points 1 year ago* (last edited 1 year ago) (1 children)

Thanks, glad you checked them out! Don't worry about triggering jobs, it's a demo instance, doesn't hurt if you do some builds. There's a rate limit of 8 jobs concurrently and the build artifacts are cleaned up pretty frequently.

If you wanted to use it as a local build manager thingie, it would be pretty easy to set up in a container (ugh) or locally and just point at localhost: ... with your web browser. But go stuff is usually so easy to build it might not be worth it :)

Unsure what you mean about the recent job status idea -- can you elucidate more? I'm open to cool ideas...

[–] whou@lemmy.ml 0 points 1 year ago (1 children)

I meant kinda like what GitHub and GitLab have in its UI, showing the job status from the most recent commit:

Though it doesn't even have to be a part of the git repo UI. You can link an image badge in the projects README markdown that fetches the status of the most recent job.

Almost every Big™ Modern™ project on GitHub/GitLab has something like this. For example, bubbletea has a "build passing" badge that is linked with its most recent job from GitHub CI. shields.io has them too.

[–] Arghblarg@lemmy.ca 2 points 1 year ago* (last edited 1 year ago) (1 children)

Update: done! I added two endpoints that a page (like a github repo's README.md) can fetch to get a simple text/plain "lastStatus:n" or image/jpeg pass/fail icon.

README.md update

I find my browser doesn't always show the newest CI status right away though, even though the server sends the JPG with an HTTP Cache-Control: no-cache. Hmmm.

It's primitive and doesn't give all the nice status in your screenshot above like build time, branch name... I should think about it more I suppose.

Thanks for the idea!

[–] whou@lemmy.ml 1 points 1 year ago

That's actually so awesome! I noticed you're already using it in your other projects that use bacillus.

I hope one day I may use bacillus myself. Keep on with its development!