neoq
url2epub
neoq | url2epub | |
---|---|---|
5 | 8 | |
244 | 64 | |
- | - | |
8.3 | 7.8 | |
20 days ago | about 2 months ago | |
Go | Go | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
neoq
- Show HN: Hatchet – Open-source distributed task queue
-
Choose Postgres Queue Technology
I just want to commend OP - if they’re here - for choosing an int64 for job IDs, and MD5 for hashing the payload in Neoq, the job library linked [0] from the article.
Especially given the emphasis on YAGNI, you don’t need a UUID primary key, and all of its problems they bring for B+trees (that thing RDBMS is built on), nor do you need the collision resistance of SHA256 - the odds of you creating a dupe job hash with MD5 are vanishingly small.
As to the actual topic, it’s fine IFF you carefully monitor for accumulating dead tuples, and adjust auto-vacuum for that table as necessary. While not something you’d run into at the start, at a modest scale you may start to see issues. May. You may also opt to switch to Redis or something else before that point anyway.
[0]: https://github.com/acaloiaro/neoq
-
Ask HN: Tell us about your project that's not done yet but you want feedback on
Neoq (https://github.com/acaloiaro/neoq) is a background job processor for Go.
Yes, another one. It began from my desire to have a robust Postgres-backed job processor. What I quickly realized was that the interface in front of the queue was what was really important. This allowed me to add both in-memory and Redis (provided by asynq) backends behind the same interface. Which allows dependent projects to switch between different backends in different settings/durable requirements. E.g. in-memory for testing/development, postgres when you're not running Google-scale jobs, and Redis for all the obvious use cases for a Redis-backed queue.
This allows me to swap out job queue backends without changing a line of job processor code.
I'm familiar with the theory that one shouldn't implement queues on Postgres, and to a large extent, I disagree with those theories. I'm confident you can point out a scenario in which one shouldn't, and I contend that those scenarios are the exception rather than the rule.
-
Examples of using task scheduler with Go?
I created a background processor called Neoq (https://github.com/acaloiaro/neoq) that is likely to interest you.
-
SQL Maxis: Why We Ditched RabbitMQ and Replaced It with a Postgres Queue
This is exactly the thesis behind neoq: https://github.com/acaloiaro/neoq
url2epub
-
Show HN: CLI for generating beautiful PDF for offline reading
Somewhat similarly, I wrote a web app to generate epub (instead of pdf) out of urls and send to eink reader(s) directly (via a telegram bot) so I can read them. Currently it supports sending epub by email (for kindle) or uploading epub to dropbox (for kobo, etc.). It originally also supports reMarkable cloud but we can no longer make reMarkable cloud actually work. There's also a REST api to generate epub to be downloaded directly: https://github.com/fishy/url2epub/blob/main/REST.md
For e-ink readers epubs are generally better than PDFs for urls anyways, as epubs are basically packed htmls, and also the flow text works better on smaller screens.
- Omnivore – free, open source, read-it-later App
-
Ask HN: Tell us about your project that's not done yet but you want feedback on
I wrote a service (Google Cloud Run as the backend, with Telegram bot as the frontend) to generate readable ePub from URLs and send directly to e-ink readers. It was originally wrote for reMarkable 2 (using reMarkable cloud), I recently added support for Kindle (by using the send-to-kindle emails). The code is at https://github.com/fishy/url2epub and I blogged about the recently added kindle support at https://b.yuxuan.org/url2epub-kindle.
I'm open to suggestions on what other e-ink platforms to add, as long as they have a reasonable cloud API. I'm also looking for a good e-ink platform to move to personally, as it becomes apparent that reMarkable really doesn't want third parties to use their proprietary cloud "API".
-
ReMarkable 2
2. It's a relatively open system (compared to other e-ink readers), so it's pretty fun in terms of hackability.
I did get the forever free subscription which helps, but I also totally understand why they would want to charge for that, and I think the new $3/month is a pretty reasonable price for it.
Regarding instapaper use case and also hackability, shameless plug: I wrote https://github.com/fishy/url2epub for my own use case, so instead of relying on a third party service and manually sync stuff to reMarkable 2, I just send the link to the telegram bot (I picked telegram bot so that I can easily send links from my phone, not only desktops), and the epub will be auto synced to my reMarkable cloud account (they did made some changes to the cloud api causing I have to manually open their official mobile or desktop app to sync once before the reMarkable 2 itself would accept the new epub I uploaded through url2epub, haven't figured out how to avoid that yet, but it's still mostly automated).
- Instructions on how to send articles from your iPhone to reMarkable
-
Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ESP32
For reMarkable, I also wrote a Telegram bot to convert http url into ePub and send to reMarkable directly: https://github.com/fishy/url2epub
(if you don't like telegram or don't use reMarkable, it also comes with a public rest API to generate epub out of urls)
-
Show HN: Epub.to – ePub to pdf, ePub to mobi, ePub to kindle, and an ePub API
Shameless plug and this is only loosely related: Over the last holiday season I wrote a backend (written in Go and running on App Engine) to convert http url into epub. The frontend is a telegram bot that sends the epub to your reMarkable account directly, but it also has rest api to download the epub file: https://github.com/fishy/url2epub/blob/main/REST.md
-
Show HN: Create ePub Out of URL
With the purchase of reMarkable 2, I have this need to easily send web articles to my reMarkable 2 from my phone, while officially they only provided a Chrome extension, which can only be used on desktops.
As a result I wrote some go code (https://github.com/fishy/url2epub) for the past 2 days, to generate ePub from URL. I also implemented reMarkable API to send them to reMarkable tablets directly.
The current UI for it is implemented as a Telegram bot (https://t.me/url2rM_bot?start=1), running on AppEngine (code: https://github.com/fishy/url2epub/tree/main/appengine). I initially considered making an Android app for the UI, but decided that Telegram bot is less work for me, and works good enough for this use case (sorry for people who don't use Telegram, but this also means that people on iOS, desktop, etc. will be able to use it).
For the future, I might do:
- Expand the URLs supported (currently it only supports URLs with an AMP version provided, and the AMP version does have article tag inside)
What are some alternatives?
starqueue
M5Paper_FactoryTest
oban - 💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
lines-are-beautiful - C++ File API for the reMarkable tablet
tembo - Monorepo for Tembo Operator, Tembo Stacks, and Tembo CLI
KindleUnpack - python based software to unpack Amazon / Kindlegen generated ebooks
Asynq - Simple, reliable, and efficient distributed task queue in Go
seleneCMSBundle - Add CMS functionality to your Symfony Apps
pgtt - PostgreSQL extension to create, manage and use Oracle-style Global Temporary Tables and the others RDBMS
is - an inspector for your environment
pgjobq - Atomic low latency job queues running on Postgres
golang-samples - Sample apps and code written for Google Cloud in the Go programming language.