Recent submissions

Comment · 10 months ago
sometimes the simplest solution is the best! i love the unix philosophy:

Write programs that do one thing and do it well.

Write programs to work together.

Write programs to handle text streams, because that is a universal interface.

Comment · 10 months ago
that's a valid concern.

first of all, i'm not trying to reinvent the wheel here. for xml parsing, i'm using libexpat, one of the most widely used c xml parsers.

for networking, i'm using libcurl, the industry standard.

i have some limits in place, too. the feed size is capped at 200 kb, and there are timeouts for hanging connections. there's also a sanitization step that strips control characters that could mess with the terminal emulator, mitigating escape sequences.

that said, i'm no security expert, and the source code is public. if anyone more knowledgeable spots a security hole, i'd be happy to merge a fix.

Comment · 10 months ago
i know the difference. i use gpl3 in my other project lue for example. i meant objectively better for the open source community. the spread of new ideas benefits from the mit license because the ideas in the code can travel farther.

the reason i picked mit is because rss is in a rough spot right now. the tech isn't mainstream, and big companies are trying to squash it since it doesn't drive engagement like the infinite scroll. anything that helps rss move forward is a win, and the mit license makes that easier.

Comment · 10 months ago
nice! yeah, i agree. calm tech is a nice way to put it. the current big platforms are highly tuned to keep people engaged and enraged to the max, rss is kind antithesis of that. that's probably why big companies try to bury and hide it. youtube and reddit still give pretty good rss support though, which is nice.
Comment · 10 months ago
why not? isn't mit just objectively a better license for open source? i just hope rss would make a comeback to make the internet a little saner again, and if someone wants to use hys source code as a base for their own rss reader, whether commercial or not, great!
Comment · 1 year ago
Great to hear that! Speech rate control is definitely on the roadmap.
Comment · 1 year ago
nice to hear! yes, there are some dependencies outside python which is not optimal, but at least the default install seem work, which is nice.

i hadn't heard of textual python terminal before but i'm looking at the documentation right now and it seems very useful package. thanks for the recommendation! i'll definitely research this more.

Comment · 1 year ago
hey! i haven't released them yet. i'm still wondering what would be a proper method of distributing them. i would rather not have the main repo be filled with a bunch models that are not as universally compatible or as good quality as something like kokoro and edge. should i make another repo for them? some different fork?

anyway, the instructions are here: https://github.com/superstarryeyes/lue/blob/main/DEVELOPER.m...

i'll give you a tip for making the modules, which worked for me incredibly well:

copy/paste the DEVELOPER.md to a high context window llm like gemini and then use something like this tool: https://repomix.com to generate a markdown of the whole github repo of a tts you want to port, and ask it to generate a module out of it for lue. it might work with one shot like it did for me for kitten tts, or you could have to do some follow ups, but this method has worked for me with many models already.

Comment · 1 year ago
hey, appreciate the comment! yes, this definitely slipped by me. python 3.8 is too low for this project. i'll be fixing it asap and changing to 3.10.
Comment · 1 year ago
fantastic! good to know.
Comment · 1 year ago
thank you! yes footnotes, page numbers, weird characters and other extra bits that interrupt the tts is one of my biggest gripes about ebook readers with audio. this was my biggest motivation to build this.

those elements are basically removed from the text, because i wanted to keep the reading experience very simple in a sense, but i should maybe add an option to only skip them with the tts.

though, i have to say lue is still not absolutely 100% perfect with this. epubs were easier because many of them are full of standardized xhtml/html tags. but there is still a lot of manual regexing in my code which i took a lot of time with, testing filters with 100 or so books to find the best and most general ones that are able to clean up most books.

pdfs are whole another beast because they are basically blocks of text without any tags so it's much harder to format and clean them up. the way i solved this was to use positional filters which are of course not bullet proof because people scan pdf's in different ways and pages are laid out differently. so i tried to find the best average placements of these elements (top 10% and bottom 10%) and there's always the option not enable this filtering or change the values. i'm still trying to look maybe a better way to solve this.

Comment · 1 year ago
Comment · 1 year ago
thanks for your insight! i started to build this project mainly for the tts features but you can certainly just read text on it.

it saves the state of having the narration on or off, so if you ever open the book again you don't hear any voice. also the reading progress and state is automatically saved to your system log files. I'm pretty sure with a few settings in the config.py file you could direct them to your server.

about the monospace fonts. yes, they're not the prettiest but they're very easy to read! easier than many much more beautiful fonts. and if you're tired of reading, just switch on the tts. ;)

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton