www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [OT] NNTP client and threading

reply ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:

Something is going on with your newsreader client. It's replies break 
the thread.
i honestly don't know what is wrong there. i creating "In-Reply-To:" field, and DFeed is able to correctly link my posts (see web interface), and my own reader correctly links 'em too. i.e. i tested it with web and with my reader, and it was working ok... the only thing i can blame is absence of "References:" header. i was sure that it is completely unnecessary, but i added "References:" generation too, just in case.
Feb 16 2017
parent reply Jacob Carlborg <doob me.com> writes:
On 2017-02-17 08:56, ketmar wrote:
 Walter Bright wrote:

 Something is going on with your newsreader client. It's replies break
 the thread.
i honestly don't know what is wrong there. i creating "In-Reply-To:" field, and DFeed is able to correctly link my posts (see web interface), and my own reader correctly links 'em too. i.e. i tested it with web and with my reader, and it was working ok... the only thing i can blame is absence of "References:" header. i was sure that it is completely unnecessary, but i added "References:" generation too, just in case.
Thunderbird fails to thread your message properly. -- /Jacob Carlborg
Feb 17 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Jacob Carlborg wrote:
 On 2017-02-17 08:56, ketmar wrote:
 Walter Bright wrote:
 
 Something is going on with your newsreader client. It's replies break
 the thread.
i honestly don't know what is wrong there. i creating "In-Reply-To:" field, and DFeed is able to correctly link my posts (see web interface), and my own reader correctly links 'em too. i.e. i tested it with web and with my reader, and it was working ok... the only thing i can blame is absence of "References:" header. i was sure that it is completely unnecessary, but i added "References:" generation too, just in case.
Thunderbird fails to thread your message properly.
that one didn't had "References:" set -- i forgot to append 'em to headers. this one should have 'em.
Feb 17 2017
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 02/17/2017 09:52 AM, ketmar wrote:

 that one didn't had "References:" set -- i forgot to append 'em to
 headers. this one should have 'em.
This one worked. Ali
Feb 17 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Ali Çehreli wrote:
 On 02/17/2017 09:52 AM, ketmar wrote:
 
 that one didn't had "References:" set -- i forgot to append 'em to
 headers. this one should have 'em.
This one worked. Ali
thank you. so mail readers aren't that smart after all. ;-)
Feb 17 2017
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/17/2017 10:46 AM, ketmar wrote:
 Ali Çehreli wrote:
 On 02/17/2017 09:52 AM, ketmar wrote:

 that one didn't had "References:" set -- i forgot to append 'em to
 headers. this one should have 'em.
This one worked. Ali
thank you. so mail readers aren't that smart after all. ;-)
My news archiver program: https://github.com/DigitalMars/ngArchiver relies on "References:", and if that is absent, looks for a "Re:" as the start of the "Subject:" text.
Feb 17 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:
 My news archiver program:
 https://github.com/DigitalMars/ngArchiver
 relies on "References:", and if that is absent, looks for a "Re:" as 
 the start of the "Subject:" text.
i see. anyway, i added "References:" generation, so it should work now. feel free to write here or contact me via e-mail if it is still broken, so we can work it out then.
Feb 17 2017
parent Walter Bright <newshound2 digitalmars.com> writes:
On 2/17/2017 2:47 PM, ketmar wrote:
 i see. anyway, i added "References:" generation, so it should work now. feel
 free to write here or contact me via e-mail if it is still broken, so we can
 work it out then.
It seems to be working fine now. Thanks!
Feb 17 2017
prev sibling parent reply Vladimir Panteleev <thecybershadow.lists gmail.com> writes:
On Friday, 17 February 2017 at 18:46:21 UTC, ketmar wrote:
 Ali Çehreli wrote:
 On 02/17/2017 09:52 AM, ketmar wrote:
 
 that one didn't had "References:" set -- i forgot to append 
 'em to
 headers. this one should have 'em.
This one worked. Ali
thank you. so mail readers aren't that smart after all. ;-)
Even in the presence of "In-Reply-To", "References" is still useful when different parties see different Message-IDs (e.g. due to mailing-list gateways). That way, replies (except top-level replies) will still at least be nested in the right thread instead of appearing as a new thread.
Feb 18 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Vladimir Panteleev wrote:
 Even in the presence of "In-Reply-To", "References" is still useful 
 when different parties see different Message-IDs (e.g. due to 
 mailing-list gateways). That way, replies (except top-level replies) 
 will still at least be nested in the right thread instead of 
 appearing as a new thread.
ah, really, i forgot that msgid can be changed by some intermediary. tnx. i think that we should have an article on wiki for client writers. no, really, some knowledge is here but never written, so people like me have to figure it out each time. not that there are so many client writers, of course, but... oh, ok, i guess that i'll write a short summary on this later. ;-)
Feb 18 2017
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/18/2017 1:37 PM, ketmar wrote:
 i think that we should have an article on wiki for client writers. no, really,
 some knowledge is here but never written, so people like me have to figure it
 out each time. not that there are so many client writers, of course, but... oh,
 ok, i guess that i'll write a short summary on this later. ;-)
I'm curious about your client project. Can you post a link?
Feb 18 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:
 On 2/18/2017 1:37 PM, ketmar wrote:
 i think that we should have an article on wiki for client writers. 
 no, really,
 some knowledge is here but never written, so people like me have to 
 figure it
 out each time. not that there are so many client writers, of course, 
 but... oh,
 ok, i guess that i'll write a short summary on this later. ;-)
I'm curious about your client project. Can you post a link?
sure: http://repo.or.cz/knntp.git https://files.catbox.moe/wxga1k.png it is really titled "dingo", not "knntp", but it is not possible to rename repos on repo.or.cz. ;-) but please note that it is not "pure D", i'm using my slightly modified dmd/druntime/phobos fork. it is completely compatible with "vanilla", but i am usually never "vanilizing" code that i'm not intending to announce/present to other people. so you won't be able to build it out of the box (yet required changes to "vanilize" it are minimal). i added a screenshot, so you can make your eyes bleed without building my code. ;-) and i am now writing an email client, with the slightly modified dingo engine as backend (and the same eye-bleeding frontend ;-). it is also using Adam D. Ruppe's simpledisplay.d module to do all the low-level gfx, and his email.d module to decode mime messages. and alot of my own "iv" modules, of course.
Feb 18 2017
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/18/2017 2:11 PM, ketmar wrote:
 Walter Bright wrote:
 On 2/18/2017 1:37 PM, ketmar wrote:
 i think that we should have an article on wiki for client writers. no, really,
 some knowledge is here but never written, so people like me have to figure it
 out each time. not that there are so many client writers, of course, but... oh,
 ok, i guess that i'll write a short summary on this later. ;-)
I'm curious about your client project. Can you post a link?
sure: http://repo.or.cz/knntp.git https://files.catbox.moe/wxga1k.png it is really titled "dingo", not "knntp", but it is not possible to rename repos on repo.or.cz. ;-) but please note that it is not "pure D", i'm using my slightly modified dmd/druntime/phobos fork. it is completely compatible with "vanilla", but i am usually never "vanilizing" code that i'm not intending to announce/present to other people. so you won't be able to build it out of the box (yet required changes to "vanilize" it are minimal). i added a screenshot, so you can make your eyes bleed without building my code. ;-) and i am now writing an email client, with the slightly modified dingo engine as backend (and the same eye-bleeding frontend ;-). it is also using Adam D. Ruppe's simpledisplay.d module to do all the low-level gfx, and his email.d module to decode mime messages. and alot of my own "iv" modules, of course.
I'm curious what problem this solves that other nntp clients do not. I see that its display is in text mode. One nice thing about text mode is it works well on low-bandwidth connections. I've been heavily criticized for not using a graphical IDE, but I work a lot through remote connections, and I've never been able to get a remote desktop to work at a reasonable speed, even when it is in my house and the connection is not speed limited. Text mode tools present no problems there.
Feb 18 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:
 On 2/18/2017 2:11 PM, ketmar wrote:
 Walter Bright wrote:
 I'm curious about your client project. Can you post a link?
sure: http://repo.or.cz/knntp.git
 I'm curious what problem this solves that other nntp clients do not.
it perfectly fits my needs. i usually see little reason to "adapt" myself to something if i can write my own thingy. besides, writing code is fun. i tried pan, snews, some other readers i forgot, and they aren't fit. i wanted the UI i did, i wanted twitlists i wrote, and so on. and i wanted reader written in D, 'cause i hate to work with a code in another language. ;-)
 I see that its display is in text mode.
no. ;-) it looks like it, but it isn't. just take a closer look on screenshot: the font is proportional. but is was designed to look old-fashioned, yeah.
 One nice thing about text mode is it works well on low-bandwidth 
 connections. I've been heavily criticized for not using a graphical 
 IDE, but I work a lot through remote connections, and I've never been 
 able to get a remote desktop to work at a reasonable speed, even when 
 it is in my house and the connection is not speed limited.
 Text mode tools present no problems there.
tbh, most of my tools are console-based. but this time i wanted to do something with graphics. yet my terminal tastes still manifest 'emselves, i guess. for writing my code i am using my own terminal-based editor. it has support for simple syntax highlighting, but that's all: no fancy "integration" features, no "project management" (besides multiple edit buffers), no autocompletion. the only "advanced" thing it does is rdmd output parsing, so i can jump to error location with a single keypress. yet it is lightning fast. no, really, no slowdowns even with 25+ megabyte(!) files. i am also using my own terminal emulator too. this one is in C, 'cause i didn't finished D rewrite yet. ;-)
Feb 18 2017
next sibling parent reply "Nick Sabalausky (Abscissa)" <SeeWebsiteToContactMe semitwist.com> writes:
On 02/19/2017 02:50 AM, ketmar wrote:
 i usually see little reason to "adapt"
 myself to something if i can write my own thingy.
Ditto to that. Thunderbird (or rather whatever version I've frozen it at) is the closest match to my needs I've seen so far, but it still irks the heck out on me on various things. And as for modifying it, meh, well Mozilla's earned a reputation for being difficult to talk any user-oriented sense into, and life's too short for a big C++ codebase (I dunno, maybe they've started switching to Rust? In any case, rather just use D.) There's a ton of other things I'd like to do my own version of for similar reasons: Editor, browser, music/media manager, etc. Too much to do, not enough motivation ;)
Feb 19 2017
parent ketmar <ketmar ketmar.no-ip.org> writes:
"Nick Sabalausky (Abscissa)" wrote:
 On 02/19/2017 02:50 AM, ketmar wrote:
 i usually see little reason to "adapt"
 myself to something if i can write my own thingy.
 
Ditto to that. Thunderbird (or rather whatever version I've frozen it at) is the closest match to my needs I've seen so far, but it still irks the heck out on me on various things. And as for modifying it, meh, well Mozilla's earned a reputation for being difficult to talk any user-oriented sense into, and life's too short for a big C++ codebase (I dunno, maybe they've started switching to Rust? In any case, rather just use D.) There's a ton of other things I'd like to do my own version of for similar reasons: Editor, browser, music/media manager, etc. Too much to do, not enough motivation ;)
btw, i almost finished my own little email client. i was using Claws Mail, but finally got tired of it's awful speed, strange filtering and so on. so i took the backend engine from my NNTP reader, improved it a little, and created Chiroptera. wrote support for subset of Claws Mail filters, converted mail archives (~1GB of data, wow!), and now i can retrieve and read mail from all my accounts. sending UI is almost done too (but hey, who needs that anyway?!). as Chi is based on the same code as NNTP reader, i think that i'll eventually merge NNTP parts into it -- 'cause i already tired of backporting enhancements and bugfixes. ;-) lucky me: as i don't have to support all possible servers and use cases, i can keep Chi small and fast: it is at least a magnitude faster than Claws Mail on my mail db. after working with some C++ codebase it is a joy to write in D again. that's prolly why i finally found enough motivation and willpower to do Dingo and Chiroptera.
Feb 19 2017
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/18/2017 11:50 PM, ketmar wrote:
 I'm curious what problem this solves that other nntp clients do not.
it perfectly fits my needs. i usually see little reason to "adapt" myself to something if i can write my own thingy. besides, writing code is fun.
Haha, I understand perfectly. My problem is there aren't enough hours in the day to write my own versions of everything I use, so I settled for designing a language and a compiler for it :-)
Feb 19 2017
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:
 On 2/18/2017 11:50 PM, ketmar wrote:
 I'm curious what problem this solves that other nntp clients do not.
it perfectly fits my needs. i usually see little reason to "adapt" myself to something if i can write my own thingy. besides, writing code is fun.
Haha, I understand perfectly. My problem is there aren't enough hours in the day to write my own versions of everything I use,
yeah, the time is the greatest problem! ;-)
 so I settled for designing a language and a compiler for it :-)
and freed me from doing the same. thanks for that, i have too many things to rewrite! ;-)
Feb 19 2017
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 2/19/2017 6:17 PM, ketmar wrote:
 Walter Bright wrote:
 Haha, I understand perfectly. My problem is there aren't enough hours in the
 day to write my own versions of everything I use,
yeah, the time is the greatest problem! ;-)
 so I settled for designing a language and a compiler for it :-)
and freed me from doing the same. thanks for that, i have too many things to rewrite! ;-)
I translated my editor to D. It'll give ya a head start! https://github.com/DigitalMars/med
Feb 19 2017
parent ketmar <ketmar ketmar.no-ip.org> writes:
Walter Bright wrote:
 On 2/19/2017 6:17 PM, ketmar wrote:
 Walter Bright wrote:
 Haha, I understand perfectly. My problem is there aren't enough 
 hours in the
 day to write my own versions of everything I use,
yeah, the time is the greatest problem! ;-)
 so I settled for designing a language and a compiler for it :-)
and freed me from doing the same. thanks for that, i have too many things to rewrite! ;-)
I translated my editor to D. It'll give ya a head start! https://github.com/DigitalMars/med
tnx. yet i already wrote the editor. actually, gapbuffer editor engine that can be reused whenever i need an editor, with undo/redo, syntax highlighting, and so on. i just have to write text rendering routines, and voila: the editor is here! ;-) i needed it for my various attemts of UI toolkits. but i've seen your editor too. it is better than mine 'cause it is smaller and easier. ;-)
Feb 19 2017