HNHacker News
TopNewBestAskShowJobs

jamesponddotco

1,449 karma · joined May 12, 2019

Hi! I am James Pond, a Sysadmin and Software Engineer from Brazil working at Datadog while building privacy-focused open source projects in my spare time.

You can get in touch with me by sending an email to james AT cipher DOT host.

submissionscomments
jamesponddotco··on Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more
If the data is present in one of the extractors, yes, but I think only Amazon and similar stores keep this kind of data right now. We don't have a extractor for Amazon yet.

After v1.0.0 is out I plan to add the ability to add books manually to the database, at which point we'll be able to start improving the database without relying on third-party services.

jamesponddotco··on Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more
Created a ticket[1] to remind myself to work on this.

[1]: https://todo.sr.ht/~pagina394/librario/22

jamesponddotco··on Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more
First time I'm seeing it, to be honest, but it looks interesting. I do plan on having an UI for Librario (built a few mockups yesterday[1][2][3]), and I think the idea is similar, but BookBrainz looks bigger in scope.

I could add them as an extractor, I suppose :thinking:

[1]: https://i.cpimg.sh/pexvlwybvbkzuuk8.png

[2]: https://i.cpimg.sh/eypej9bshk2udtqd.png

[3]: https://i.cpimg.sh/6iw3z0jtrhfytn2u.png

jamesponddotco··on Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more
Feel free to do so, just keep in mind that the demo server might be unstable and can break at any moment, haha.

I wrote a Go SDK[1] for the service, maybe I'll try writing one in TypeScript tomorrow.

[1]: https://git.sr.ht/~pagina394/librario-go

jamesponddotco··on Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more
Hardcover and ISBNDB have a good amount of data, with Hardcover being excellent for getting good covers and genres.

I'm hoping Goodreads and Anna's Archive will help fill in the gaps, especially since Anna's Archive have gigantic database dumps available[1].

[1]: https://todo.sr.ht/~pagina394/librario/12

jamesponddotco··on Ask HN: What Are You Working On? (December 2025)
Still working on Librario, a simple book metadata aggregation API written in Go. It fetches information about books from multiple sources, merges everything intelligently, and then saves it all to a PostgreSQL database for future lookups.

You can think of it as a data source, or a knowledgeable companion that can provide comprehensive book information for online booksellers, libraries, book-related startups, bookworms, and more.

I got a pre-alpha build running for those that want to test it out and the code is out on SourceHut[1].

Been really tough to find time to work on it because I have a baby that only sleeps in my lap, but I’m making progress very slowly.

I recently hired someone to rewrite the entire database layer, as that was written with the help of an LLM for the prototype, which should improve things too.

Feedback is very welcome :)

[1]: https://sr.ht/~pagina394/librario/

jamesponddotco··on US could ask foreign tourists for five-year social media history before entry
But they might have to.

I’m on the same boat and told management at work that I won’t be traveling to the US while Trump is in power, which they seem to be fine with, but who knows if that’ll last.

jamesponddotco··on Ask HN: What Are You Working On? (Nov 2025)
Since I got a baby and we’re still adjusting to their schedule, I’m still working on the same project, Librario[1]. Librario is a simple book metadata aggregation API written in Go. It fetches information about books from multiple sources, merges everything intelligently, and then saves it all to a PostgreSQL database for future lookups.

You can think of it as a data source, or a knowledgeable companion that can provide comprehensive book information for online booksellers, libraries, book-related startups, bookworms, and more.

I got a pre-alpha build running for those that want to test it out[2], but the code is still not out there, as there are a few things I want to refactor. Wrote comprehensive documentation for it this weekend, now I need to refactor the merger package with some new rules, and write something to decrease the number of genres returned.

Been tough to find time to work on it because of the baby, but AI has been helping a lot to speed things up, and the work has been quite fun. Not sure if there will be interest in the idea, but it solves a problem I have, so I had to work on it anyway.

Hope to have the code on GitHub by the end of this week. AGPL licensed.

[1]: https://github.com/pagina394/librario

[2]: https://paste.sr.ht/~jamesponddotco/5612eaa80fc7eee8b6180a31...

jamesponddotco··on Show HN: I scraped 3B Goodreads reviews to train a better recommendation model
I'm not into the social aspect, so Goodreads was never an option, but Hardcover[1] seems like a pretty good alternative.

[1]: https://hardcover.app

jamesponddotco··on Show HN: I scraped 3B Goodreads reviews to train a better recommendation model
The recommendations are pretty good; even though I only input six books, it was enough for it to recommend books I have on my wish list. Definitely going to play around some more. Plus, the website is super fast, very impressive.

Any chance we could get an API going at some point? Are you planning to open source the work?

I'm interested in the scrapping of Goodreads too. I'm building a book metadata aggregation API and plan on building a scrapper for Goodreads, but I imagine using a data center IP address will be a problem very fast. Were you scrapping from your home network?

jamesponddotco··on Hypothesis: Property-Based Testing for Python
Never heard of “property-based testing” before. Coming from Go, I mostly use table and fuzzy tests.

Is this approach something that makes sense in Go as well? I see at least one package[1][2] for Go, but I wonder if the approach itself makes sense for the language.

[1]: https://github.com/flyingmutant/rapid

[2]: Oh, I just found out about testing/quick.

jamesponddotco··on Bluetui – A TUI for managing Bluetooth on Linux
I went from Bash to Go as a system admin, and eventually built something with Rust too, so I can definitely confirm that the Go learning curve is softer than Rust.
jamesponddotco··on Claude Code can debug low-level cryptography
This could probably be implemented as a simple Bash script, if the user wants to run everything manually. I might just do that to burn some time.
jamesponddotco··on Ask HN: How much do you spend on coding agents?
With my wife and I using our OpenRouter account, via the API, we spend about $20 per month. Plus a Claude Pro subscription for Claude Code which I’m meaning to cancel.

We mostly use Claude Sonnet and Gemini 2.5 Pro, with a bit of GPT-5 when I need design work, and Claude Haiku in Home Assistant.

I prefer to use chat instead of agents… I use AI generated code as a starting point, mostly, and chat works better for that.

You’re definitely an outlier. Aside from companies, I don’t know anyone spending that much, to be honest.

jamesponddotco··on Ask HN: What are you working on? (October 2025)
While working on Shelvica, a personal library management service and reading tracker, I realized I needed a source of data for book information, and none of the solutions available provided all the data I needed. One might provide the series, the other might provide genres, and yet another might provide a cover with good dimensions, but none provided everything.

So I started working on Librario, an ISBN database that fetches information from several other services, such as Hardcover.app, Google Books, and ISBNDB, merges that information, and return something more complete than using them alone. It also saves that information in the database for future lookups.

You can see an example response here[1]. Pricing information for books is missing right now because I need to finish the extractor for those, genres need some work[2], and having a 5 months old baby make development a tad slow, but the service is almost ready for a preview.

The algorithm to decide what to merge is the hardest part, in my opinion, and very basic right now. It's based on a priority and score system for now, where different extractors have different priorities, and different fields have different scores. Eventually, I wanna try doing something with machine learning instead.

I'd also like to add book summaries to the data somehow, but I haven't figured out a way to do this legally yet. For books in the public domain I could feed the entire book to an LLM and ask them to write a spoiler-free summary of the book, but for other books, that'd land me in legal trouble.

Oh, and related books, and things of the sort. But I'd like to do that based on the information stored in the database itself instead of external sources, so it's something for the future.

Last time I posted about Shelvica some people showed interest in Librario instead, so I decided to make it something I can sell instead of just a service I use in Shelvica[3], hence why I'm focusing more on it these past two weeks.

[1]: https://paste.sr.ht/~jamesponddotco/de80132b8f167f4503c31187...

[2]: In the example you'll see genres such as "English" and "Fiction In English", which is mostly noise. Also things like "Humor", "Humorous", and "Humorous Fiction" for the same book.

[3]: Which is nice, cause that way there are two possible sources of income for the project.

jamesponddotco··on Ask HN: What are you working on? (September 2025)
Service isn't online yet, but you can find me on Sourcehut[1] and on GitHub[2], where I'll probably be posting the service soon. You can also email me[3] if you have a request or a specific use case I might be able to support.

[1]: https://sr.ht/~jamesponddotco/

[2]: https://github.com/jamesponddotco

[3]: Email is on my Hacker News profile.

jamesponddotco··on Ask HN: What are you working on? (September 2025)
The algorithm to decide what to merge is the hardest part, in my opinion, and very basic right now. Eventually, I wanna try doing something with machine learning. Definitely a fun thing to work on, though.

Having a full time job and a baby to take care of make progress slow, but I should have the website ready soon. Shoot me an email and I can let you know when that happens.. email is on my profile.

jamesponddotco··on Ask HN: What are you working on? (September 2025)
Sending you a message later today!
jamesponddotco··on Ask HN: What are you working on? (September 2025)
I’ll send you an email later today for sure!
jamesponddotco··on Ask HN: What are you working on? (September 2025)
Sure, I’d love to keep you in the loop. Send a message to the email on my profile and I’ll let you know once I have something ready for testing :)
jamesponddotco··on Ask HN: What are you working on? (September 2025)
Didn’t have the time yet, but it’s on my todo list. I have extractors for Google Books, Hardcover.app, and ISBNDB already working, and Amazon, Goodreads, and Anna’s Archive in the todo list.

I do plan on including a link to the book on Anna’s Archive in the “ISBN Search” website. At least to the search page with the filters already filled.

jamesponddotco··on Ask HN: What are you working on? (September 2025)
I’m working on an ISBN database that fetches information from several other services, such as Hardcover.app, Google Books, and ISBNDB, merges that information, and return something more complete than using them alone. It also saves that information in the database for future lookups.

Mostly because I’m working on a personal library management service called Shelvica to solve my own problems[1], and none of those services provided all the information on a book. One might provide the series, the other might provide genres, and yet another might provide a cover with good dimensions, but none provided everything, so I decided to work on something of my own (called Librario).

While Shelvica is the focus, Librario could become its own thing in time, so I don’t mind the sidetracking.

I also plan on having a “ISBN Search” kind of website that feeds from that database as a way to let users search for information about books, which then feeds the service’s database, making it stronger for Shelvica.

I open source everything I make, but I’m still wondering if these will be open sourced or not. I’ll probably go with the EUPL 1.2 license if I do decide on open sourcing them.

[1]: My wife and I have a personal library with around 1800 books, but most applications for management are either focused on ebooks or choke with this many books. Libib is the exception, but I wanted a little more.

jamesponddotco··on Pop OS 24.04 LTS Beta
No secure boot support? Still?
jamesponddotco··on Writing in Your Books Is Good for Your Brain
Might be good for my brain, but won’t be for my body, as my wife would kill me.
jamesponddotco··on Pixel 10 Phones
Ah, yeah, that makes sense. I simply ignore the main view and go straight to the albums. In iOS 26 it defaults to your last view, so that works for me.
jamesponddotco··on Pixel 10 Phones
I can sort my photos in folders (or albums) in iOS, not sure what you mean? I can have personal and shared albums, unless you mean the fact you don’t have that in the filesystem, in which case I completely agree.

I’m a Firefox guy myself and web apps are not something I care about for privacy reasons, but I agree that not having the option is a bummer.

The camera bump never really bothered me on the iPhone or the Pixel Fold I had before this iPhone. I just don’t notice it, but then again, I also didn’t notice the crease in the fold.

I miss Tachiyomi though. Panels is nice, but I had to built a whole OPDS-proxy to a manga website to have something close to Tachiyomi. Oh, and the ability to turn off network access on a per-application basis that came with GrapheneOS (plus the security of GrapheneOS itself).

While I prefer Android and Pixels (using GrapheneOS), I have switched my family to the Apple ecosystem to have a middle ground between privacy and features, so I’m not coming from an “I love Apple and everything else sucks” background, mind you.

jamesponddotco··on SystemD Service Hardening
Didn’t think of that ¯\_(ツ)_/¯
jamesponddotco··on SystemD Service Hardening
I was writing the same few lines for every project, so why not make it its own package?

For my projects I can just include the dependency, as I wrote it and don’t mind using it. Other people can copy it instead, since the proverb goes “a little copying is better than a little dependency”.

jamesponddotco··on SystemD Service Hardening
Another great security feature systemd provides is credential management[1], which allows you to expose credentials to an application in a more secure way than, say, an environment variable or a file in the filesystem.

When Vault is not available, if I’m working on a side project, for example, that’s what I always go for. Even wrote a small Go package[2] to get said credentials when your application is running inside a service with that feature.

[1]: https://systemd.io/CREDENTIALS/

[2]: https://sr.ht/~jamesponddotco/credential-go/

jamesponddotco··on Getting good results from Claude Code
Mostly because the system prompt states "The user will provide the idea you will be working with as the first message between <idea> tags." and Claude loves XML tags, but if you're not including anything else in the message, it probably doesn't matter.
← PreviousPage 3 of 13Next →