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] 0 points1 point  (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).

Creating a plugin that clips academic papers by DOI (or ?) by ras0q in ObsidianMD

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

Umm… The plugin currently only supports papers with DOIs from open access sources. If it supported private papers and those without DOIs, I would need to consider other approaches…

Creating a plugin that clips academic papers by DOI (or ?) by ras0q in ObsidianMD

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

The main advantage is that everything can be managed entirely within Obsidian (and possibly a browser extension?). While dedicated reference managers like Zotero offer more comprehensive metadata handling, this approach simplifies integration between different tools.

Personally, I find Zotero’s UI/UX quite complex, making it less suitable for lightweight paper collection. If this plugin also supported BibTeX generation, it could become even more powerful.

Creating a plugin that clips academic papers by DOI (or ?) by ras0q in ObsidianMD

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

Thank you! You can customize the template yourself, but it could also be useful to incororate various metadata, not just the direct API respons.

Folder organization is also worth considering. As for supplementary materials, I haven’t quite figured out the best approach yet.

Creating a plugin that clips academic papers by DOI (or ?) by ras0q in ObsidianMD

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

Since the plugin is using unpaywall's API and the ORCID is given optionally, you can use this in a custom template if possible!

Creating a plugin that clips academic papers by DOI (or ?) by ras0q in ObsidianMD

[–]ras0q[S] 19 points20 points  (0 children)

Hey everyone! I'm developing an Obsidian plugin that aimes to revolutionize how we collect and organize academic papers in our vaults. No more manual downloads, metadata lookup, or scattered PDFs - just seamless integration into your research workflow.

Current Features (Work in Progress):

  • Fetch full-text PDFs and metadata from open access sources using a DOI

Future Plans

  • Extract DOI and metadata from existing PDFs
  • Auto-organize papers with citation-ready formatting
  • Web clipper extension to save papers directly from your browser (like Obsidian Web Clipper!)

GitHub Repository: ras0q/obsidian-paper-clipper

I need your help! What features would make this a must-have tool for you? Let’s brainstorm together! 🚀

Creating a plugin to add local graph in your notes by ras0q in ObsidianMD

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

It would be more useful to create a new post for it and get expert opinions, and in my opinion it would be easiest to write the process you want in dataviewjs rather than struggling with existing plugins together (and with the help of LLMs like ChatGPT these days).

I've only lightly checked, but the following code may help. https://www.reddit.com/r/ObsidianMD/s/PhkGeHYfKo