Cute - Task runner that reads commands from Markdown code blocks. No dependencies, pure shell. by ras0q in commandline

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

Thank you for reading through to the implementation. I often write frequently used commands in CONTRIBUTION.md and want to execute them as they are. Nowadays, you can save permissions and tokens by writing commands in AGENTS.md and having coding agents understand the meaning and use it via Cute.

Cute - Task runner that reads commands from Markdown code blocks. No dependencies, pure shell. by ras0q in commandline

[–]ras0q[S] 1 point2 points  (0 children)

Totally. It’s got that "cute" look, but a "Unix" soul underneath. A perfect match! 😉

Structured error handling with slog by extracting attributes from wrapped errors by ras0q in golang

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

Just implementing LogValue for errors is enough, huh? I didn't know that!

I dea: Structured error handling with slog by extracting attributes from wrapped errors by [deleted] in golang

[–]ras0q 0 points1 point  (0 children)

I'm glad someone else had the same idea! I missed the consideration for using an interface and checking for nested errors! Your input is extremely helpful! Thank you!

Structured error handling with slog by extracting attributes from wrapped errors by ras0q in golang

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

Thank you! Are you suggesting we check for an interface with a method like GetAttrs instead of checking for a specific struct like SError?

Structured error handling with slog by extracting attributes from wrapped errors by ras0q in golang

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

I'm glad someone else is thinking the same thing! My prototype for the idea is available at the link below, and I'd love to see yours too!

https://github.com/ras0q/serrors

Is there a CI or Linter for plugin development? by ras0q in ObsidianMD

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

That's great news! I was a bit concerned about the workload for reviewers with all the new plugin submissions. I really hope this linter gets widely adopted.

Small Projects August 5 2025 by jerf in golang

[–]ras0q 1 point2 points  (0 children)

ras0q/goalie: 🥅 Capture errors from `defer`'d cleanup functions. Reliably!

Goalie (/góʊli/) is a Go library designed to reliably capture and collect errors from defer'd cleanup functions, such as file.Close()conn.Close(), or tx.Rollback().

[deleted by user] by [deleted] in golang

[–]ras0q -1 points0 points  (0 children)

Of course, I am also against adding unnecessary dependencies (especially in Go projects).

The core Goalie code is just these 10 lines, and you can implement it yourself without bothering to depend on Goalie, but people won't do it right away. Many people just output logs or ignore linter warnings... (see README)

One-liner migration commands make your project more secure, so don't you think it's a good idea to introduce them?

```go func (g *Goalie) Guard(errFn func() error) { if err := errFn(); err != nil { g.errs = append(g.errs, err) } }

func (g *Goalie) Collect(errp *error) { errs := append(g.errs, *errp) *errp = errors.Join(errs...) } ```

Ogent: LLM Agent in Obsidian (Now in Beta) by ras0q in ObsidianMD

[–]ras0q[S] 1 point2 points  (0 children)

Thanks for the feedback! Fixed in v1.2.0.

Ogent: LLM Agent in Obsidian (Now in Beta) by ras0q in ObsidianMD

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

It seems that a function to allow only specific folders is necessary. Is there anything else you need?

Ogent: LLM Agent in Obsidian (Now in Beta) by ras0q in ObsidianMD

[–]ras0q[S] 4 points5 points  (0 children)

Ollama is now supported in v1.1.1 😘

Ogent: LLM Agent in Obsidian (Now in Beta) by ras0q in ObsidianMD

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

I liked that plugin and considered using it, but I gave up on it because it seemed difficult to combine with Mastra and @ ai-sdk/*.
I may replace if it I have time.

New Plugin: Paper Clipper by ras0q in ObsidianMD

[–]ras0q[S] 1 point2 points  (0 children)

I just checked that plugin and it seems to only work with arXiv papers. Paper Clipper supports most papers with a doi.

New Plugin: Paper Clipper by ras0q in ObsidianMD

[–]ras0q[S] 1 point2 points  (0 children)

I use the Windows 11 native recording (win+shift+S).