reddit / emacs

Reddit thread view (concept)

atamariya · 2022-09-09 13:53
​ https://preview.redd.it/7a2wu4m09um91.png?width=762&format=png&auto=webp&s=6ff7fff52b92632de29674b5fe4a6dffabf5d699
nonreligious · 2022-09-09 15:24
Looks nice! Is this a planned package or are you searching for some feedback?
Primary-Wave2 · 2022-09-09 16:19
I think people are already able to view reddit with gnus but I have heard that it is incredibly slow. The only way I would want to use reddit on emacs is if it isn't much slower than the already slow normal reddit. I do love how your idea looks tho!
[deleted] · 2022-09-09 17:10
[deleted]
noman_032018 · 2022-09-09 17:19
> if it isn't much slower than the already slow normal reddit. Take a look at old.reddit.com, it's slightly less awful.
nnreddit-user · 2022-09-09 18:13
Yes, anything more than 3 or 4 active subreddits, and nnreddit is unusable under GNU Emacs. It's more than tolerable under Commercial Emacs where gnus was rewritten to be non-blocking. As a hyper-follower of /r/emacs, I personally can't read this subreddit outside of emacs, but obviously millions of hyper-followers do, presumably with constant refreshing or RSS, which I find unwieldy. But hyper-followers gotta hyper-follow!
paretoOptimalDev · 2022-09-09 18:55
I was about to try and switch to gnus for reddit for a few hundred subreddits... guess I'll have to investigate the performance issue first.
diamondnbond · 2022-09-09 18:58
https://github.com/ahungry/md4rd
ares623 · 2022-09-09 19:36
Plugging in https://github.com/john2x/dank-mode as well
noman_032018 · 2022-09-09 20:32
> Yes, anything more than 3 or 4 active subreddits, and nnreddit is unusable under GNU Emacs. It's more than tolerable under Commercial Emacs where gnus was rewritten to be non-blocking. Wouldn't the actual solution to this simply be to rewrite nnreddit to be usable with something like gnus-agent/gnus-unplugged or using a local spool (imap/pop3 maildir) managed by an external program like is generally the recommended way to setup email? edit: It seems that nnreddit might use such an architecture (it does use a mediator anyway, I'm just not sure how/if articles are stored). Reading more in detail and some profiling would probably help me.
nnreddit-user · 2022-09-09 20:46
I trust this is an academic question since there's no way I'd rewrite anything of so little importance without financial incentive. Yes, you could write all manner of offline downloaders for reddit content, but then you'd have to cronjob it like you do for mbsync, and you'd be entering scraping territory. Having the downloading occur in a separate thread is less expansive, even if emacs cooperative threading sucks.
noman_032018 · 2022-09-09 21:03
> I trust this is an academic question since there's no way I'd rewrite anything of so little importance without financial incentive. It wasn't immediately clear to me that you were involved in the development of [Commercial-Emacs](https://github.com/commercial-emacs/commercial-emacs), yes it's more of a "if I felt annoyed enough to do it myself eventually" question. > Yes, you could write all manner of offline downloaders for reddit content, but then you'd have to cronjob it like you do for mbsync, and you'd be entering scraping territory. Seems like a reasonable assessment. > Having the downloading occur in a separate thread is less expansive, even if emacs cooperative threading sucks. [Certain issues with GNU Emacs' threads](https://nullprogram.com/blog/2018/05/31/) had me thinking that other processes entirely might be a safer idea.
nnreddit-user · 2022-09-09 21:23
Funny you should mention process versus thread since I'm just now deciding between the two for an lsp client. The orneriness with processes is you have to avoid orphaning them, and you need to de/serialize notifications between emacs and the process. What's great about threads is they've full, elispy access to emacs state.
noman_032018 · 2022-09-09 21:31
> What's great about threads is they've full, elispy access to emacs state. Yeah, were threads reliable and backward compatibility (at least to Debian-stable epoch) not a concern (I'm not sure the issues in the article I linked have been fixed yet even in the newest GNU Emacs), I'd be using them more. Given your custom Emacs fork/implementation, the prior concerns are probably nil for you. Currently I'm stuck either using various async hacks or processes which do have all the issues you mention and complicate development of what should be trivial.
nnreddit-user · 2022-09-09 22:32
Being as I'm in a verbose mood, I'll counter that thread-safety is never trivial, and emacs's 1990s development paradigms are like the jolly fat guy at the bar. He's neither slick nor bright, but you don't really need him to be.
noman_032018 · 2022-09-10 00:43
Right, that is true, although just being able to use something like messages on queues/mailboxes existing in the same Elisp interpreter the whole time would've made things a lot simpler at times for me.
atamariya · 2022-09-10 03:54
This is just some code on top of [tumblesocks](https://github.com/gcr/tumblesocks) \- a Tumblr client for Emacs. At present, I am only unhappy with consuming Reddit using established methods viz. nnreddit, md4rd and the browser. Though I have no definite idea of what might work the best. So I'm just exploring what I think works for me. Any feedback is welcome.