[HN Gopher] Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ... ___________________________________________________________________ Zenreader: A 4.7 Inches E-Ink RSS Reader Powered by ESP32 Author : ca98am79 Score : 229 points Date : 2021-04-19 17:48 UTC (5 hours ago) (HTM) web link (www.tnhh.net) (TXT) w3m dump (www.tnhh.net) | pinusc wrote: | A while ago I made Morning Digest [1] with a similar use case: to | read the news on my eReader, and do so prettily. The end result | is a daily epub "newspaper", auto-delivered to my device. | | It's essentially a complicated script that I run on a server | every 24 hours to fetch news from rss lists, and compile them on | a (very long!) epub or pdf, complete with index and good | typography. It even gets around a few paywalls thanks to a couple | tricks, and the output is complete articles with reasonable/good | output quality. | | I then have a script on my kobo to fetch the daily digest every | morning when I open it. On a kindle you could just have a script | email the result to it. | | Overall I'm really happy with it, it's the perfect solution to | read the news for me. | | [1]: https://github.com/pinusc/morning-digest | robterrell wrote: | Checking it out and I think you're missing a requirement: | readability-lxml maybe? | AdmiralAsshat wrote: | I gave up on the idea of RSS on an e-reader because RSS is | _garbage_ on the vast majority of websites these days. Most of | those that support it will only show you the headline and maybe | the first paragraph before including a link to the full article. | So you 're then still opening the article in a web browser to | view it--which then sends you back to the well-known | "Experimental web browser on Kindle/Kobo/other e-Ink reader is | crap" problem). There were only a handful of sites where I could | do meaningful article reading within the RSS reader itself, and | one of them (ArsTechnica) required paying a yearly membership fee | for the personalized full-article RSS feed. | | It's far less convenient, but just running the articles through | Pocket makes for a superior reading experience (particularly on | the Kobo), since Pocket will extract and display only the | readable text, and avoid the nightmare that is trying to display | your average webpage on an e-Ink reader browser. | totetsu wrote: | Koreader which can be installed on many devices (with some | coercion) can download news feeds. | https://github.com/koreader/koreader/wiki/News-downloader | | Calibre can also download them and output them to e-pub and push | them to your device. | bobajeff wrote: | This reminds me of 68k.news. | | Which already has inspired me to think about doing something | similar only for the whole web. I think I could scale it down to | be usable on a smart watch too. | cptrp2101 wrote: | These are really cool. As someone who mostly writes code for web, | this seems like a fun way to learn a new stack. | ficklepickle wrote: | Absolutely! I'm also a web person and I got into embedded as a | hobby using ESP8266 w/ the Arduino IDE (The ESP32 is a newer, | better ESP8266). | | I cannot recommend it enough. I've built some neat stuff, like | this device[0] for triggering my door buzzer over the web. | | [0] - https://jeremypoole.ca/posts/put-your-door-on-the- | internet/ | vongomben wrote: | Cool! One thing I love from kobo is the pocket integration that | makes the asynchronous online reading much simpler | ladyanita22 wrote: | I've got to say I love the Constantia font, but is it open | source? Won't you have problems with it? | jimmies wrote: | I was testing different fonts on my personal device. The font | was not shared in the source code release. | dstaley wrote: | I have one of these M5Paper devices, and it's quite nice! I | quickly ran into issues drawing nice UIs, so my app actually runs | server-side and sends back a PNG that the M5 simply renders to | the screen. Is it the fastest thing in the world? Absolutely not, | but it makes a great ambient display that's only refreshed every | few minutes. | andrewstuart2 wrote: | > I'm not making the server code available now, because it is | messy and runs on duck-tape now. | | I feel like this is an unfortunately common take. "If it's not | widely used, or pretty, or innovative, it's not worth sharing." | Chances are I've seen more duct tape on production code than | whatever simple hacks you've done to make the server work. | | If it works and it's not going to leak your personal data or | credentials, just share it. Anybody who's judging you by the | state of your repos clearly doesn't understand that coding is | iterative and happens better in the open, and is probably safe to | ignore. Even if you never get a single star or MR, it's now out | there to at least be something people can learn from. And really, | all you've done is increase the chances that you might learn from | somebody else, or help somebody else out. | throwaway19419 wrote: | > Anybody who's judging you by the state of your repos clearly | doesn't understand that coding is iterative and happens better | in the open, and is probably safe to ignore | | Counterpoint: I applied for a job a few months ago which | required a coding sample. I listed a link to a project of mine | on GitHub. Rather than commenting on that project, they instead | found another repo under the same account -- an open source | project I started 6 years ago, but had not returned to since -- | and told me they weren't happy with the quality of the code | they saw represented there, which killed my application. | | I was annoyed. That wasn't a project I had looked at in some | time, and I don't feel it represents my best work. It was just | a proof of concept that I hoped to later refine. But it cost me | an employment opportunity. | | I deleted the public repo. | mlyle wrote: | At the same time, there's been plenty of things that I've held | off sharing for a week or two, for a chance to clean things up, | and this isn't a crazy thing to do. | comeonseriously wrote: | The only people who care what the code looks like are the | people who are jealous they can't do this and want to shit on | someone else's project. Honest, no serious coder gives a shit | what the code looks like. Only loudmouthed trolls do. | jbarberu wrote: | I was messing around with the BMW iBus a while back and found a | few repos with complete garbage code that was super useful for | getting an idea of what the protocol looked like. Of course I | didn't end up sharing mine, but ended up selling that car | before getting beyond "wow it works!" :( | ghostbrainalpha wrote: | What did you want to do with the iBus ? | boatsie wrote: | As someone who wants to try his code, this is easy to say. But | more often than not, hacks and imperfections in the code will | be pointed to and laughed at. Companies interviewing him might | think less of him, etc. They will get angry with him if he | doesn't fix bugs they find. And do we really expect the | community to be appreciative of what he's done? Open source | developers talk about how they maybe make $100 in donations for | libraries that millions of people use. | | It's easy to tell someone to share something without | understanding there's usually more harm than good. | andrewstuart2 wrote: | I think I write decent code. But I haven't always. And I've | at least always tried to put everything I can up on my public | GitHub, and even when my employer has been cool with it, just | tossing generic non-competitive code (not core to the | business) up on GitHub as well. My experience has been the | opposite of what you say. I've never had a single person mock | me, I've only ever really learned things from | comments/issues, gotten value add from PRs, or been | encouraged to see that people like/use my code. It's been one | of the single greatest sources of learning in my career. | | Quite honestly, the employers who are out there that would | look at code I've put out there, see a bug, and pass up my | resume, are the kind of employers I would almost certainly be | just wasting time with if I was to work there. So in that | sense it probably only does me good too; I get to spend my | time at companies that understand the journey, understand | differences of opinion and design, and don't expect perfect | code that 100% matches their style guide every time. | | The reason I write code is not at all exclusively to make | money. And the code I use daily is free and open source by | probably a factor of 10:1. So I like to give back where I | can. I'm not looking to make a buck, but I'm also obviously | gonna put my GitHub on my resume because I'd much rather be | matched to employers who can observe my approach and | appreciate it enough to bring me to the interview stage. | jimmies wrote: | Author here. I was actually somewhat worried that someone gonna | get to my Pi that has some other stuff running on it, because I | am absolutely not doing any security and sandboxing on this | nodejs server... | | But I guess you made a good point, here you go :) Welcome to | the wonderful world of random code copy-and-pasted from | Stackoverflow! | | https://gist.github.com/htruong/692b1bca7b94db20051b601c89a4... | mixcocam wrote: | What you built is super cool. If I would like to hack on an | m5paper myself what ressources would you recommend that I | start with to kick off a small project? | jimmies wrote: | I read the M5paper Factory Test app [1] and it has tons of | interesting details. | | m5stack has several other example applications in their | repo, but I learned a lot from reading their source code in | the test app. Their code is quite sane and organized. You | just need to be tolerant to their spelling from time to | time, I figure English is not their first language (just | like me). | | 1: https://github.com/m5stack/M5Paper_FactoryTest | opan wrote: | Could you add a LICENSE file? | jimmies wrote: | I have edited the code on the link above and added the | license text. | cpach wrote: | https://github.com/mozilla/readability | | I had no idea that Readability.js was available as a | standalone library. That's awesome! | bakatubas wrote: | I found a vulnerability! | | ... | | Just kidding. :) | ebfe1 wrote: | Thanks for sharing the code mate. May i also suggest adding a | token/password if you want to reduce attack surface. Also | from a quick glance, this looks like it is vulnerable to ssrf | style attack. This type of service is often vulnerable to it | given the nature of it is fetching url on user's behalf. I | would suggest either isolate it, have a whitelist of domains | that you trust or having iptables to deny internal access. | | Nice work regardless! | MR4D wrote: | Kudos to you! | | We need more people to take this approach for things they | want to share. It makes for a better community. | HowardStark wrote: | Super glad to see that OP posted the code! :) | | We as a community also need to do a better job of embracing | unpolished projects and emphasizing a "don't be bashful" | approach. I've seen far too many hobbiest projects posted | here where the comments have nitpicked them apart in a | derogatory, non-constructive way. | thisisastopsign wrote: | Does anybody have an idea how much this ESP32/M5Paper setup cost | the author? Buying individual components ; not bulk | m_eiman wrote: | There's also Inkplate: https://inkplate.io/ | wiremine wrote: | I found this link which says $85. | | https://shop.m5stack.com/products/m5paper-esp32-development-... | tyingq wrote: | Very similar, but without the case, $37.45: | https://www.tindie.com/products/ttgo/lilygo-t5-47-inch-e- | pap... | Rebelgecko wrote: | Was there a big run of 4.7 inch eink screens recently? Lilygo | has a similar set of products: 4.7" screen powered by ESP32 | with different battery connectors, touch screen overlay, and a | few case options (some of which are basically just repurposed | phone bodies). Theirs comes out to ~$50 if you get touch + a | case | dredmorbius wrote: | There are numerous e-ink devices that support browsers, typically | running Android, though Kobo is straight-up Linux. Mind that a | DIY option would likely be far superior from a privacy / | antisurveillance perspective. | | I picked up an Onyx BOOX a couple of months ago. The stock | browser is a slightly modified (and slightly crippled) Chromium | fork. Via F-Droid, I've installed Fennec Fox (mobile Firefox), | and other browsers are available. | | There are some benefits, and compromises, to e-ink displays. | Pixels are cheap, paints are expensive, persistence is free, | colour is unavailable (well, on grayscale devices, there are now | full-colour e-ink displays at not-unreasonable prices). | | My biggest persistent gripes are: | | - Scrolling on e-ink really is _not_ how you want to navigate, | pagination is much preferred. Neither browsers nor most other | apps support paginated navigation. | | - The assumption that I'm using a palm-sized full-colour emissive | display, rather than a monitor-sized, greyscale, reflective one, | means that most "mobile-optimised" apps and websites are highly | frustrating. | | I've inquired in a few places (including HN) about what app | design guidelines / practices exist for e-ink. Apparently there | are none. This is disheartening. | II2II wrote: | > I've inquired in a few places (including HN) about what app | design guidelines / practices exist for e-ink. Apparently there | are none. This is disheartening. | | That probably has a lot to do with the intended audience of | e-ink. The most consumer facing application are e-readers, a | market that is served by a handful of companies. Most of the | remaining applications are commercial. | | With respect to guidance, you may want to check out the | Mobileread forums. There are a few people who develop software | for e-readers there. Notably in the section for Kobo, and | likely for other e-readers as well. There are also some open | source projects that you can look into. KOReader and Plato come | to mind. I also recall a mention of _an_ e-ink guideline in a | video by Ralph S Bacon on YouTube, so there is something out | there. (Apparently colour e-ink displays should be refreshed at | a regular, albeit long, interval in order to maintain image | quality.) I realize that most of these source are for palm- | sized, or smaller, screens but at least they will understand | the physical properties of e-ink. | carlob wrote: | Everybody loves to complain about the kindle browser, but the one | on the kobo is actually decent... | clint wrote: | There are a lot of services (I think Amazon may even maintain a | Chrome extension for this) that can take a web page and run it | thru a "readability" service and then deliver it to your Amazon | Kindle's email address which will add it to your library. | | Its a pretty decent way to read a good chunk of the content you | find online. | k1m wrote: | Yes, I work on one such service here: | https://www.fivefilters.org/push-to-kindle/ | nubela wrote: | You know what will be nice? Having pocket app run on this. | input_sh wrote: | Kobo devices come with built-in Pocket support. | | Not a great Pocket support (for example: no highlights), but | reading experience is fine. | devindotcom wrote: | Kobo readers have Pocket built in. Would be nice to have straight | RSS too but I send long reads to my reader all the time. | | reMarkable has a Chrome extention to send stuff to its devices, | though it's a bit less seamless. | input_sh wrote: | KOReader is fairly straightforward to install on a Kobo and it | supports RSS: https://github.com/koreader/koreader/wiki/News- | downloader | | You don't even have to say goodbye to original firmware, you | can just restart into original. Its interface leaves a lot to | be desired though. | pinusc wrote: | I'd say KOreader interface is not pretty, but it gets the job | done quite well--and certainly with a lot more features & | customization than stock. | input_sh wrote: | > but it gets the job done quite well | | I don't know, I often find myself having to click random | things to find the feature I'm looking for, even having to | fall back to DDG a couple of times because I cannot find | what I'm looking for. | dredmorbius wrote: | Is that the Android Pocket app? | | I'm finding that ... exceedingly poorly suited to e-ink | devices, on top of existing Pocket annoyances. | | For latter, see: | https://old.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_... | | Of the listed issues, only find-in-page has been addressed. | | It's still not possible to cross-reference articles by tag | within the app (this does work on the Web client), nor are tags | readily searchable or editable (again, the Web app does | somewhat better). | | On e-ink, where pixels are cheap but paints are expensive, | Pocket suffers greatly from: | | - Not providing a persistent scrollbar to indicate position- | within-article. | | - Not offering pagination as a default, persistent, _fixed- | render-for-document_ option. That is, documents are paginated, | the pagination is set from the start of the document, _not_ | whatever arbitrary point pagination was "flipped" on. | | - Access to document annotation features from within the | paginated view. | | - Ability to add tags directly from selected document text | (with an option to edit). | | There are other gripes, but Pocket remains immensely | frustrating to use in practice, and the more you use it, the | worse it gets. | devindotcom wrote: | No, it's a custom thing. | dleslie wrote: | Most of my Kobo time is spent viewing Pocket articles. | | I save links to Pocket during the day, and in my down time I | read them on my Kobo. | GloriousKoji wrote: | > The idea is to transform XML RSS to JSON and transform any | article URL to plaintext by a nodejs script via an HTTP API SaaS | or whatever you call it. | | So not really an RSS reader. | croshan wrote: | So critical. So some parsing is done off the device due to | performance constraints. You'll need internet access anyway to | pull down the RSS feeds, and a middleman Lambda/CF worker won't | add much latency. I think it's a perfectly acceptable tradeoff. | input_sh wrote: | I actually prefer this approach. Basically go around websites | not serving full articles via RSS by parsing them via | Readability or mercury-parser or whatever. | | Can't back it up, but I'm pretty sure some online RSS services | use the same trick. Makes for a better UX than "click here to | read the full story". | sdlion wrote: | There are available eInk with a DSI interface and Linux drivers? | It shouldn't be that hard to build a DIY eInk slim tablet with a | PiZero or for some, with a CM4. | MrJagil wrote: | Plenty of E-ink news on HN lately. There's an active discord | hacking away if you're interested: https://discord.gg/DTXpkCRu | yosito wrote: | I've been using an Onyx Boox Note with inoreader for a few | months, and it's not super polished, but it's a great device if | you're interested in an e-ink RSS reader! | | It runs de-googled Android out of the box, so it can run most | apps. Some of my other favorite apps to use on it are it's | integrated ebook reader with pen support and integrated machine | translators, F-Droid, Firefox, Nextcloud to sync my ebook | collection with Calibre, and Materialistic for reading HN. | | I've also got Twidere for Twitter, Frost for Facebook, Instagram, | Telegram, Messenger and Goodreads on it, but I'm trying to wean | myself off of those platforms. | criddell wrote: | I've read that Onyx isn't living up to the terms of the GPL by | refusing to make their source code available: | | https://news.ycombinator.com/item?id=23735962 | yosito wrote: | Oh yeah, I definitely wouldn't say that Onyx is a super | trustworthy company. Nor is the OS super secure or | trustworthy. A fully open source OS would be better, and the | bootloader is unlocked, so if I had the time I could try to | install a better OS. But right now most of my hacking energy | is focused on my getting my Nextcloud system fully setup. I | see the actual devices themselves as interchangeable. | mattkevan wrote: | That looks cool! | | Just had the thought that it could be used as a handheld Gemini | Protocol reader. Gemini (or Gopher) being lightweight and text- | only could fit really well. ___________________________________________________________________ (page generated 2021-04-19 23:00 UTC)