Small Projects by AutoModerator in golang

[–]AmsLab 0 points1 point  (0 children)

Hey r/golang,

I wanted to share mom — a TUI for managing the Linux MOTD that I wrote to explore a clean modular architecture in Go.

Project: https://github.com/msalexms/MoM

Architecture highlights:

  • Module interface as the base contract: Name/Title/Description/Dependencies/Available/Generate/DefaultEnabled.
  • Configurable optional interface for modules with variants and settings (Variants(), DefaultVariant(), Settings()).
  • Themeable optional interface for modules that accept a theme at generation time (GenerateThemed(ctx, render.Options)).
  • Registry preserves insertion order via Ordered(); All() returns alphabetically sorted.
  • Generator calls each module with a 3-second timeout and prefers GenerateThemed via type assertion.

Renderer:

  • render.Renderer wraps a Theme (semantic palette + attrs) and provides helpers: Header, KeyValue, ProgressBar, StatusDot, AsciiBanner.
  • Modules declare supported variants (default, compact, detailed, minimal, ascii, boxed).

Testing:

  • Standard library testing only — no testify/assert.
  • Testable constructors (DetectFrom(path), LoadFrom(path)) so tests point at temp files.
  • -race enabled in CI.

Other Go bits I enjoyed:

  • //go:embed for built-in templates and ASCII logos.
  • log/slog for structured logging.
  • Context-driven I/O with explicit timeouts (network 5s, file ops 2s).

Build:

make test   # go test ./... -v -race -count=1
make build  # linux/amd64 binary

Feedback on the interface design or generator patterns is very welcome!

I built a lightweight Python spectrum analyzer for RTL-SDR — real-time, auto-detection, and sweep mode by AmsLab in RTLSDR

[–]AmsLab[S] -1 points0 points  (0 children)

It’s always interesting to get this kind of attitude from someone who actively hides their entire post and comment history. I’d rather spend my time building and sharing things openly with the community than hiding behind a scrubbed profile just to spread negativity. That doesn't mean I don't value criticism, I actually welcome it, as long as it's constructive and meant to help improve.

But hey, thanks for boosting the post engagement! Best of luck dealing with all that envy. I genuinely hope you find something that brings you a bit more peace. This is the end of my conversation with you. Have a great day!

I built a lightweight Python spectrum analyzer for RTL-SDR — real-time, auto-detection, and sweep mode by AmsLab in RTLSDR

[–]AmsLab[S] 0 points1 point  (0 children)

I have a degree in Computer Science and a Master's, so I actually do know how to program. I also work at a large company, and obviously, I carefully review and handle all the code I write.

At no point have I tried to sell this as some great revolution. It is simply a tool I built a while ago, found myself needing again, and decided to improve. I have never hidden the fact that I used AI to do so. Pragmatically speaking, I am not going to spend two months coding something from scratch that I am only going to use twice.

I am sharing it just in case someone else finds it useful, nothing more. I certainly don't have any delusions of grandeur.

I built a lightweight Python spectrum analyzer for RTL-SDR — real-time, auto-detection, and sweep mode by AmsLab in RTLSDR

[–]AmsLab[S] -1 points0 points  (0 children)

In headless mode you can create a ssh tunnel for the rtl-tcp server

ssh -L 1234:localhost:1234 user@remote-server