This is a test of the new SupraNews NNTP component. It is written
entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/14/2004 7:02:01 AM |
|
Tom Shelton wrote:
> This is a test of the new SupraNews NNTP component. It is written
> entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
No, *you* Rock !!
--
http://antimeme.texeme.com/
|
|
0
|
|
|
|
Reply
|
jabailo2 (6618)
|
10/14/2004 7:17:05 AM
|
|
On 2004-10-14, John Bailo <jabailo@earthlink.net> wrote:
> Tom Shelton wrote:
>
>> This is a test of the new SupraNews NNTP component. It is written
>> entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
>
> No, *you* Rock !!
>
Thanks... :) It's still in the early stages - but give me another week
or two, and I should have this this component pretty solid.
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/14/2004 7:58:38 AM
|
|
Tom Shelton wrote:
> This is a test of the new SupraNews NNTP component. It is written
> entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
Getting yourself locked into a Microsoft driven language is never a good
idea.
Try Python instead...
|
|
0
|
|
|
|
Reply
|
scared-of-linux (45)
|
10/14/2004 9:35:08 AM
|
|
John Bailo wrote:
> Tom Shelton wrote:
>
>>This is a test of the new SupraNews NNTP component. It is written
>>entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
>
> No, *you* Rock !!
Is he, what, your boyfriend or something, Bailo? Why does the OP's
message include "X-Newsreader: SupraNews
newsreader(http://www.texeme.com/)" - a reference to your ultra-lame
webpage? Oh, BTW, I took the time and looked at your new subdomain,
http://antimeme.texeme.com/, and it almost made me puke. Keep on trying.
Greetings,
Johannes
--
One can look at the designs of a bridge, realize it's built of tongue
depressers and bubble gum, and from this conclude that it is, indeed,
junk, without once having to take the actual suicidal risk of driving
across it. We do the same with your code. Your code is crap. [...]
- Kelsey Bjarnason in COLA about Jeff Relf's X.EXE
|
|
0
|
|
|
|
Reply
|
dfnsonfsduifb (1169)
|
10/14/2004 10:37:43 AM
|
|
In article <og1242xnl7.ln2@snifftop.sniffdomain>, Johannes Bauer wrote:
> John Bailo wrote:
>> Tom Shelton wrote:
>>
>>>This is a test of the new SupraNews NNTP component. It is written
>>>entirely with MonoDevelop running on Gentoo Linux. C# on Linux Rocks!
>>
>> No, *you* Rock !!
>
> Is he, what, your boyfriend or something, Bailo? Why does the OP's
> message include "X-Newsreader: SupraNews
> newsreader(http://www.texeme.com/)" - a reference to your ultra-lame
> webpage? Oh, BTW, I took the time and looked at your new subdomain,
> http://antimeme.texeme.com/, and it almost made me puke. Keep on trying.
>
> Greetings,
> Johannes
>
I'm contributing to Balio's SupraNews project. I've wanted to
work on a news reader for sometime, and this gave me an excuse.
Mostly I thought it was a really good project to test drive Mono on...
And as for the boyfriend comment - FOAD.
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/14/2004 3:15:25 PM
|
|
Hi Tom,
Looking at your Message-ID:
5b50235747714ec68f194b827552f0b7_SupraNews@news.uswest.net
I see that you're using Hex,
it would be a lot shorter if you used Base64.
These two tables can be used to convert to Base64 and back:
uchar Tab [ 'z' + 1 ], _Tab [ 64 ];
{ LnP CC = "Aa0+/"; int X = -1 ;
Loop( 5 ) { int L = J > 2 ? 1 : J == 2 ? 10 : 26 ;
char C = CC[ J ] - 1 ;
Loop( L ) Tab [ _Tab[ X ] = ++ C ] = ++ X ; } }
............
#define Loop( N ) int J = -1, LLL = N ; while ( ++ J < LLL )
typedef unsigned char uchar ;
typedef char * LnP ;
But because I don't like the " +/ " characters,
I use Base62 in my Message-IDs, e.g.:
_Jeff_Relf_2004_Oct_9_yA90@Cotse.NET
Notice also that it starts with _Jeff_Relf_
and a human readable date, that is Vital for scoring
( because the parent node might be expired ).
Here's how I generate Message-IDs:
LnP Message_ID ( ) {
Time_Prn ( ); static char MesID [ 70 ] ;
Str ( MesID,
"Message-ID: <_Jeff_Relf_%s_%s_%s_%s@Cotse.NET>\n",
Year, Month, Day + ( * Day == ' ' ),
B62 ( Tics ) ); return MesID ; }
LnP B62 ( __int64 N ) {
__int64 Base = 10 + 2 * 26 ; static char Uni [ 5 ];
Loop ( 4 ) {
int I = 3 - J ;
if ( ! N ) return Uni + I + 1 ;
int K = N % Base ; N /= Base;
// Here's where _Tab [] is used:
Uni [ I ] = _Tab [ K ]; } return Uni ; }
Time_Prn ( ) {
long Seconds = time ( 0 );
struct tm * TimeRec = localtime ( & Seconds );
LnP T = asctime( TimeRec ); Year = T + 20 ; T [ 24 ] = 0;
Month = T + 4 ; T [ 7 ] = 0 ; Day = T + 8 ; T [ 10 ] = 0 ;
if ( * Day == '0' ) * Day = ' ' ;
H_M = T + 11 ; T [ 13 ] = 0 ; T [ 16 ] = 0 ;
int H = atoi ( H_M );
Str ( H_M, "%2d", ! H ? 12 : H <= 12 ? H : H - 12 );
T [ 13 ] = '.' ; PM = H >= 12 ? 'P' : 'A' ; }
...............
LnP Month, Day, H_M, Year ; char PM ;
__int64 _Tics ;
typedef LARGE_INTEGER Quad ;
#define Tics ( QueryPerformanceCounter( ( Quad * ) & _Tics ), _Tics )
|
|
0
|
|
|
|
Reply
|
me4 (18699)
|
10/14/2004 6:02:37 PM
|
|
In article <_Jeff_Relf_2004_Oct_14_e6aF@Cotse.NET>, Jeff Relf wrote:
> Hi Tom,
>
> Looking at your Message-ID:
>
> 5b50235747714ec68f194b827552f0b7_SupraNews@news.uswest.net
>
> I see that you're using Hex,
Yep. It's a GUID. Guarenteed to be unique.
string messageId = string.Format ("<{0}_SupraNews@{1}>",
Guid.NewGuid().ToString ("N"), newsServerName);
Of course, that is not the exact code - but pretty similar.
> it would be a lot shorter if you used Base64.
I haven't anything that indicates it need be shorter... I'm still
reading through the relevant rfc's. I may adjust this if I need to.
And if I wanted to convert to base64 I would simply do this:
string base64Guid = Convert.ToBase64String (
Encoding.Ascii.GetBytes (Guid.NewGuid().ToString ("N")));
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/14/2004 8:46:58 PM
|
|
Hi Tom,
Re: Your Message-ID vs. Mine: <<
5b50235747714ec68f194b827552f0b7_SupraNews@news.uswest.net
_Jeff_Relf_2004_Oct_9_yA90@Cotse.NET >>
You wrote: " It's a GUID. Guaranteed to be unique. "
The " yA90 " in my Message-ID above represents
the 32 lowest bits of the high precision timer
in ~ microseconds ( actually nanoseconds ).
I can't perfectly guarantee it's uniqueness,
but I'm quite sure that it is, and it's only 4 digits long.
Just the other day I had someone reply to a post I made
two months ago... if it weren't for the _Jeff_Relf_
is the references line I wouldn't know to consider it
a direct reply to me, requiring more immediate attention.
Do you see what I mean ?
When I see a reference to a long expired article of mine
like that, I create a dummy article belonging to Jeff Relf
and I make that it's parent,
....alternatively, I could re-fetch the long-expired article.
|
|
0
|
|
|
|
Reply
|
me4 (18699)
|
10/14/2004 9:25:47 PM
|
|
By the way Tom,
WinXP is able to " guarantee "
the resolution of my PC's clock
to be reliable at about 230 nanoseconds per tic.
It varies from PC to PC,
QueryPerformanceFrequency( ( Quad * ) & Secnd );
Secnd = 3,579,545 tics per second.
__int64 Secnd ;
typedef LARGE_INTEGER Quad ;
|
|
0
|
|
|
|
Reply
|
me4 (18699)
|
10/15/2004 1:37:52 AM
|
|
Jeff Relf wrote:
> By the way Tom,
>
> WinXP is able to " guarantee "
> the resolution of my PC's clock
> to be reliable at about 230 nanoseconds per tic.
improbably.
how can software /verify/ your clock?
--
http://antimeme.texeme.com/
|
|
0
|
|
|
|
Reply
|
jabailo2 (6618)
|
10/15/2004 3:40:06 AM
|
|
On 2004-10-15, Jeff Relf <Me@Privacy.NET> wrote:
> By the way Tom,
>
> WinXP is able to " guarantee "
> the resolution of my PC's clock
> to be reliable at about 230 nanoseconds per tic.
>
> It varies from PC to PC,
>
> QueryPerformanceFrequency( ( Quad * ) & Secnd );
>
> Secnd = 3,579,545 tics per second.
>
> __int64 Secnd ;
>
> typedef LARGE_INTEGER Quad ;
>
>
I'm well aware of QueryPerformanceFrequency and friends. I've written a
high precission timer library for C#.
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/15/2004 4:34:59 AM
|
|
On 2004-10-14, Jeff Relf <Me@Privacy.NET> wrote:
> Hi Tom,
>
> Re: Your Message-ID vs. Mine: <<
>
> 5b50235747714ec68f194b827552f0b7_SupraNews@news.uswest.net
>
> _Jeff_Relf_2004_Oct_9_yA90@Cotse.NET >>
>
> You wrote: " It's a GUID. Guaranteed to be unique. "
>
> The " yA90 " in my Message-ID above represents
> the 32 lowest bits of the high precision timer
> in ~ microseconds ( actually nanoseconds ).
>
> I can't perfectly guarantee it's uniqueness,
> but I'm quite sure that it is, and it's only 4 digits long.
>
Jeff - unless for I find for some reason this message id violates some
rfc (I'm still researching), I'm going to keep it this way. The fact is
that with the GUID - I know that it will remain unique well past the 2
years specified by rfc 850 (I still need to go through rfc 1036 and see
what was updated/replaced - but will make my final decissions based on
the rfc's. Thanks for your input though.
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/15/2004 4:47:09 AM
|
|
Hi Tom,
Re: My suggestions for how you create your Message-ID,
You replied: <<
Jeff - unless for I find for some reason this message id
violates some rfc ( I'm still researching ),
I'm going to keep it this way. >>
Ok, I wasn't trying to piss you off or anything.
Assuming you understand the scoring issue
that I was trying to explain,
....it might just be that you have other concerns.
Perhaps you don't feel my MID system is unique enough,
or you just don't care about the length,
....I quote Message-IDs a lot, so I care about that.
Speaking of unique MIDs,
Kadaitcha Man once posted with my exact headers,
duplicating all non-path headers, including the MID,
....Surprisingly, Individual.NET allowed it through.
|
|
0
|
|
|
|
Reply
|
me4 (18699)
|
10/15/2004 5:17:12 AM
|
|
On 2004-10-15, Jeff Relf <Me@Privacy.NET> wrote:
> Hi Tom,
>
> Re: My suggestions for how you create your Message-ID,
>
> You replied: <<
>
> Jeff - unless for I find for some reason this message id
> violates some rfc ( I'm still researching ),
> I'm going to keep it this way. >>
>
> Ok, I wasn't trying to piss you off or anything.
>
I'm not pissed off... I'm just trying to make sure that the rfc's are
followed.
> Assuming you understand the scoring issue
> that I was trying to explain,
> ...it might just be that you have other concerns.
>
I'm not sure what you mean by scoring here... This sounds more like
message references for building threads. I might score you on your
message-id header, since it contains your name, if I was inclined to
bozo bin you - but this is just one header that could be used - and
probably isn't that often.
> Perhaps you don't feel my MID system is unique enough,
It maybe. I just happen to know that a GUID will be by definition, so I
chose to use it. Again, I may change if I find it to be problematic.
Besides, it was dead simple to code :)
> or you just don't care about the length,
> ...I quote Message-IDs a lot, so I care about that.
>
I don't care about the length - since it isn't that hard to copy and
past it.
> Speaking of unique MIDs,
> Kadaitcha Man once posted with my exact headers,
> duplicating all non-path headers, including the MID,
> ...Surprisingly, Individual.NET allowed it through.
Well, if the original was still on the server, I don't think it's
supposed to. But, I can't say for sure. I've only given NNTP a cusory
glance in the past - but I expect over the next couple of weeks to
emerse my self in the various related RFC's (So far, I've gotten through
850 and 977 - but both of those have updates/replacements that I'm
currently working through :)
--
Tom Shelton
|
|
0
|
|
|
|
Reply
|
tom271 (867)
|
10/15/2004 6:02:16 AM
|
|
Tom Shelton wrote:
> I'm contributing to Balio's SupraNews project. I've wanted to
> work on a news reader for sometime, and this gave me an excuse.
> Mostly I thought it was a really good project to test drive Mono on...
>
> And as for the boyfriend comment - FOAD.
Bailo: bad. Mono: bad. FOAD: I'll think about it.
Greetings,
Johannes
--
One can look at the designs of a bridge, realize it's built of tongue
depressers and bubble gum, and from this conclude that it is, indeed,
junk, without once having to take the actual suicidal risk of driving
across it. We do the same with your code. Your code is crap. [...]
- Kelsey Bjarnason in COLA about Jeff Relf's X.EXE
|
|
0
|
|
|
|
Reply
|
dfnsonfsduifb (1169)
|
10/15/2004 2:26:20 PM
|
|
|
15 Replies
32 Views
(page loaded in 0.184 seconds)
Similiar Articles:7/24/2012 10:02:22 AM
|