Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-8081-120121-

GJS protocol

Name: Anonymous 2010-06-21 1:29

Hello, dear citizens of /prog/. As you might have noticed, a terrible(!) plague has set itself upon our beautiful board, lowering the median intelligence of the posts to a level difficult to describe. During the past years, we have endured and endured, waiting for these painful months of the year to pass; some of us have given up, maybe even tried finding refuge in other programmer communities, only to realize the depth of the hole /prog/ had left behind in their hearts.

I don't know about you, but personally, I've had enough.

As it is a widely-known fact that we cannot rely on moderator power to push away the hordes of intruders, we must find another way to cleanse our magnificent community of the line noise that is ruining it.

What makes us special, /prog/? What is it that differentiates us from all the other boards? We can program. Let us use this to our advantage.

I thereby propose, as the final solution against the recent shitpostfest, the creation and implementation of the GJS protocol.

This protocol has but one goal: to give /prog/riders a way of recognizing each other's posts, and by extension, a way of ignoring all other posts.

/prog/riders are encouraged to devise message authentication/signing algorithms and post the corresponding textual description to /prog/, with absolutely no sample implementation whatsoever. Other /prog/riders who are willing to identify themselves as ``legitimate citizens'' will be able to do so by signing their own posts with one of the aforementioned algorithms; of course, they will be required to implement the algorithm of their choice themselves - perhaps easy and entertaining for them, but a veritable brick-wall for the intruders. As a result, /prog/riders will have no difficulty in recognizing posts written by a fellow compatriot (and automatically ignoring everyone else's).


Implementation:

The GJS protocol specifies two post formats: posts describing signing algorithms and signed posts.

The message-signing algorithms shall take a variable-length string as their input and return a variable-length string as their output. The message authentication code shall be defined as the lowercase hexadecimal-encoded MD5 hash of the output of the message-signing algorithm.

Note: BBCode and its associated HTML formatting must be ignored. Users of the GJS protocol are therefore encouraged to wrap the message header in text size-reducing tags, i.e. [sup] or [sub]. <br> tags (or whatever newlines are represented as) shall be interpreted as "\n".

Message signing algorithms will be uniquely identified by the FIPS-180-2 SHA-256 hash of their textual description.


Format of a post describing a signing algorithm:

:GJS1A <Message signing algorithm ID: hexadecimal sha256sum of the message describing the algorithm, i.e. of the base64-decoded Payload><newline>
:<Message authentication code (as defined above) using the algorithm itself of the message describing the algorithm, i.e. of the base64-decoded Payload><newline>
<Payload: base64-encoded message describing the algorithm, line-wrap is recommended>


Sample post describing a signing algorithm:

:GJS1A b824e263caedb4eb97689b25d14ab4217f229687b35ede63872c184b455b372e
:3fcee1ea342699e1bf18973b242f9b65
VGhpcyBpcyBhIHNhbXBsZSBtZXNzYWdlIHNpZ25pbmcgYWxnb3JpdGhtIGRlc2NyaXB0b3IgcG9z
dC4gTm9ybWFsbHksIGl0IHdvdWxkIGJlIGZpbGxlZCB3aXRoIHRoZSB0ZXh0dWFsIGRlc2NyaXB0
aW9uIG9mIGEgcmF0aGVyIGNvbXBsZXggc2lnbmluZyBhbGdvcml0aG0sIGJ1dCBmb3IgdGhlIHNh
a2Ugb2Ygc2ltcGxpY2l0eSwgbGV0J3Mgc2F5IHRoZSBhbGdvcml0aG0gaXMgcmVhbGx5IGp1c3Q6
CgpSZXR1cm4gdGhlIHN1bSBvZiBhbGwgdGhlIHZhbHVlcyBvZiB0aGUgYnl0ZXMgaW4gdGhlIGlu
cHV0IHN0cmluZyBtb2R1bG8gNjU1MzYsIGluIGRlY2ltYWwuCg==



Format of a signed post:

:GJS1M <Message signing algorithm ID: hexadecimal sha256sum of the message describing the algorithm><newline>
:<Length: length in bytes of Payload, in decimal> <Message authentication code of the Payload><newline>
<Payload: string of Length bytes>

Recommendation: As a preventive measure against false positives (posts not written by true /prog/riders recognized as authentic), the first line of the payload should have the following format (note: if the post is a thread starter, 0 must be used as Thread ID):

:<Thread ID in which post is located, in decimal> <Unix time at the time of signing, in decimal>



Sample signed post:

:GJS1M b824e263caedb4eb97689b25d14ab4217f229687b35ede63872c184b455b372e
:63 ac2e084d679d6de0a60f75fca6e63589
:0 1277094869
This message was written by an EXPERT PROGRAMMER.



Guidelines for writing a successful signing algorithm:

* Not too simple, but not too complex either. Ask yourself the question: would a person who has been using ``Teach yourself Sepples in 24h'' tutorials be able to write a program that implements your algorithm? If the answer is yes, then it's not complex enough.
* Do not rely upon external libraries; libcrypt is no exception.
* Do not rely upon language-specific features.
* Do not rely upon platform-specific features.
* Your algorithm should not require excessive time and space. Worst-case should be O(n) relative to the input size.
* Make sure the algorithm can be comfortably implemented in Javascript (to facilitate the writing of Greasemonkey extensions that would remove all non-signed posts from view).
* If you're out of inspiration, just use common problems in computer science, e.g. make the algorithm solve small custom knapsack problems generated from bytes of the input.
* Be creative!

Name: Anonymous 2010-06-21 1:32

>>1
I think you misunderstand the reason people post on /prog/.

Name: Anonymous 2010-06-21 1:45

Interesting thought, certainly. I imagine that as soon as a single decent algorithm is devised, everyone will be sticking to that for at least some time.
I'll give it some thought, though I warn you in advance that I will ignore your adjuration to eschew external libraries.

Name: Anonymous 2010-06-21 1:50

>>3
MD5 and SHA256 don't count as external libraries.

Name: Anonymous 2010-06-21 3:02

Good! I always wanted to be identified as "the guy writing shitty Haskell programs" in serious discussion threads!

Name: Anonymous 2010-06-21 3:06

Looks like >>5 didn't read original post.

Name: Anonymous 2010-06-21 3:07

So we make posts, and when someone questions the post, we feed it to a cipher that's been made publicly available (because WHBT). Genious.

Name: Anonymous 2010-06-21 3:08

>>3
Bad idea. See:
* Make sure the algorithm can be comfortably implemented in Javascript (to facilitate the writing of Greasemonkey extensions that would remove all non-signed posts from view).

Name: Anonymous 2010-06-21 3:10

OP's ploy is just another way to fill /prog/ with more Xarnss. Why can't we focus on projects that are actually useful, like implementing sexpcode in FF extensions? or discussing official sexpcode with MrVacBob-kun-sama?

Name: Anonymous 2010-06-21 3:26

>>9
A /prog/ full of Xarns would be pretty awesome, actually. At least it'd have more code in it.
But yeah, I'm still waiting for that SexpCode Greasemonkey script as well. Apparently Bun is working on it.

Name: Anonymous 2010-06-21 5:07

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

HAX MY GnuPG SIGNING KEY
-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAkwfKukACgkQ6e6UQDq9O1JW6wCgwjoAVLl6gKte/3Y2SHvblMxH
pP0AoN3DMRFkbAl4WREcoXjG3goe1UiA
=AfJV
-----END PGP SIGNATURE-----

Name: Anonymous 2010-06-21 5:16

Cute, but that would require most of us to actually spend a little bit of time to code a possibly trivial, possibly non-trivial program just so we could post on /prog/. One of the advantages of posting to BBSes is the low barrier of entry and being hassle-free. I don't see myself having problem following the protocol, but I don't think more than a few individuals would even bother, and I'm too busy right now to bother writing such a program.

would a person who has been using ``Teach yourself Sepples in 24h'' tutorials
It's possible, if he isn't stupid to begin with. Sadly a lot of your examples are also trivial for PHP programmers as the language comes with most functions you required built-in. I'll be sitting on the side-lines for this one and might decide to join in if it actually becomes popular, which I doubt.

Name: Anonymous 2010-06-21 6:52

Here's a better idea: http://pastebin.ca/1887614
I no longer use Firefox. You have 3 months before it expires.

Name: >>1 2010-06-21 8:54

Going to post a real signing algorithm soon.

Name: Anonymous 2010-06-21 9:11

>>12
Cute, but that would require most of us to actually spend a little bit of time to code
THIS IS MADNESS

Name: Anonymous 2010-06-21 12:18

signing their own posts with one of the aforementioned algorithms
So you mean everybody will have their own algorithm? Why can't we just pick one?

Name: 17 2010-06-21 12:50

I doubt this will catch on. Of course we could make a program to make the post given the text, but it wouldn't be to hard for someone given a bit of time to make their own, even if they aren't expert programmers.

Name: Anonymous 2010-06-21 13:21

>>15
THIS IS /PROG///////////////////////////////////////////////////////////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Name: Anonymous 2010-06-21 13:59

Why don't we all start tripfagging (like Xarn) and gain reputation the responsible way?

Name: Anonymous 2010-06-21 14:03

>>16
No, it's just that some imageboard kiddie will eventually manage to implement it and post it to their favourite imageboard (or maybe to /prog itself), thereby rendering it useless. The GJS protocol allows for multiple signing algorithms so that when one of them is broken, we can just switch to another one with no problem.

Also, I'm almost done writing my own.

Name: Anonymous 2010-06-21 14:07

>>19
I am ok with this. I say we start a thread in which we post tripcoded wildcard programs. If you see a program that looks worthy to you, consider that person a /prog/rider. If you see one that doesn't, don't bother reading their posts ever again, or simply script them out of existence.

Name: Anonymous 2010-06-21 14:24

This is a sample message signing algorithm descriptor post. Normally, it would be filled with the textual description of a rather complex signing algorithm, but for the sake of simplicity, let's say the algorithm is really just:

Return the sum of all the values of the bytes in the input string modulo 65536, in decimal.

Name: Anonymous 2010-06-21 14:35

Perhaps a signed post can point to the thread/post ID combination of the descriptor post defining the algorithm used in signing the post.

Name: Anonymous 2010-06-21 14:39

OP is clearly a newcomer, despite his fondness for bbcode.  A large influx of shit posts is nothing out the ordinary.

Name: Anonymous 2010-06-21 15:02

>>24
The fact that it's nothing out of the ordinary doesn't mean we have to put up with it without resistance. When FV was around, we also responded by hiding him with that Greasemonkey script; technological solutions are a /prog/ tradition.

Name: Anonymous 2010-06-21 15:08

>>1
Well that's an interesting idea, but part of the charm of /Prague/ is being able to converse with people of various skill levels, so that you can both admire some and feel superior to some.
Now if we only had actual mods, who would delete any "[b][i]HAX MY %s[/i][/b]" posts. This protocol wouldn't help because I'm fairly sure that the people who post those are actual /prog/riders.

Name: Anonymous 2010-06-21 15:16

>>25
I didn't hide him; I found his posts entertaining.

Name: Anonymous 2010-06-21 15:44

>>27
You're a liar or a moron.

Name: Anonymous 2010-06-21 16:00

>>28
And you're a prejudiced jerk.

Name: Anonymous 2010-06-21 16:16

>>23
If you can't use google or /prog/scrape you don't deserve to use the GJS protocol.

OP here, almost done with my own algorithm draft.

Name: Anonymous 2010-06-21 20:17

          test     

    test     


  test   




        test

Name: Anonymous 2010-06-21 21:18

THE JSB-1 ALGORITHM

:GJS1A 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:ee6226daf2d2958a2c212e94783edd61
ClRIRSBKU0ItMSBBTEdPUklUSE0KCgoqIE5vdGVzOgoKVGhpcyBkb2N1bWVudCBpcyBiZXN0IHZpZXdlZCBpbiBhIG1vbm9zcGFjZSBmb250LgoKQWxsIGZ1cnRoZXIgcm
VmZXJlbmNlcyB0byB0aGUgaGFzaGVkIHZhbHVlIG9mIGEgc3RyaW5nIHNoYWxsIGJlIGludGVycHJldGVkIGJ5IGRlZmF1bHQgYXMgcmVmZXJlbmNlcyB0byB0aGUgYmlu
YXJ5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBoYXNoZWQgdmFsdWUgb2YgdGhlIHN0cmluZyAoYW5kIE5PVCB0aGUgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24pLgoKVG
hyb3VnaG91dCB0aGUgd2hvbGUgZG9jdW1lbnQsIHRoZSBtZWFuaW5nIG9mIGBgbmV3bGluZScnIHNoYWxsIGJlIGludGVycHJldGVkIGFzICJcbiIgKGJ5dGUgMTApLgoK
CiogQWxnb3JpdGhtOgoKVGhlIFNIQS01MTIgaGFzaCBvZiB0aGUgaW5wdXQgc3RyaW5nIGlzIGludGVycHJldGVkIGFzIGEgOHg4IGRpc3RhbmNlIG1hdHJpeCB3aGVyZS
BldmVyeSBieXRlIHJlcHJlc2VudHMgYSB2YWx1ZSBmcm9tIDAgdG8gMjU1OyB0aGUgbGF5b3V0IG9mIHRoZSBtYXRyaXggaXMgdGhlIGZvbGxvd2luZzoKCnNbMF0gc1sx
XSAuIC4gLgpzWzhdIHNbOV0gLiAuIC4KIC4gICAgLiAgIC4KIC4gICAgLiAgICAgLgogLiAgICAuICAgICAgIC4KClRoZXJlZm9yZSwgTSh4LHkpIGNvcnJlc3BvbmRzIH
RvIHMoeCt5KjgpLgoKRmluZCB0aGUgc2hvcnRlc3QgcG9zc2libGUgcm91dGUgdGhhdCB2aXNpdHMgOCBwb2ludHMsIG51bWJlcmVkIGZyb20gMCB0byA3LCBleGFjdGx5
IG9uY2UgYW5kIGdvZXMgYmFjayB0byB0aGUgc3RhcnRpbmcgcG9pbnQ7IHRoZSBjb3N0IG9mIGdvaW5nIGZyb20gcG9pbnQgQSB0byBwb2ludCBCIGlzIGdpdmVuIGJ5IE
0oQSxCKS4gQ2FsY3VsYXRlIHRoZSB0b3RhbCBsZW5ndGggb2YgdGhlIHNob3J0ZXN0IHBvc3NpYmxlIHJvdXRlLiBSZXZlcnNlIHRoZSBiaXRzIGluIHRoZSAxNi1iaXQg
dW5zaWduZWQgaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHRvdGFsIGxlbmd0aCBvZiB0aGUgc2hvcnRlc3QgcG9zc2libGUgcm91dGUgKGUuZy4gbXNiIDwtPiBsc2IpLC
B0aGVuIGNvbnZlcnQgdGhlIGFmb3JlbWVudGlvbmVkIGxlbmd0aCB0byAxNi1iaXQgYmluYXJ5IEdyYXkgY29kZS4gUHJpbnQgdGhlIHJlc3VsdGluZyBudW1iZXIgYXMg
YSAxNi1jaGFyYWN0ZXIgbG9uZyBzdHJlYW0gb2YgMSdzIGFuZCAwJ3MsIG1zYiBmaXJzdC4gUHJpbnQgb25lIG5ld2xpbmUgY2hhcmFjdGVyLgoKCgpOb3cgdHJlYXQgdG
hlIFNIQS01MTIgaGFzaCBvZiB0aGUgaW5wdXQgc3RyaW5nIGFzIG9uZSA1MTItYml0IHVuc2lnbmVkIGludGVnZXIgYE4xJyBvZiB3aGljaCB0aGUgTVNCIGNvcnJlc3Bv
bmRzIHRvIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBTSEEtNTEyIGhhc2ggKGkuZS4gaGFzaFswXSA9PSBOMSA+PiA1MDQpLiBSZXZlcnNlIHRoZSBiaXRzIGluIE4xIHRvIG
9idGFpbiBgTjInIChlLmcuIG1zYiA8LT4gbHNiKSwgdGhlbiBjYWxjdWxhdGUgdGhlIEhhbW1pbmcgZGlzdGFuY2UgYmV0d2VlbiBOMSBhbmQgTjIuIFByaW50IG91dCB0
aGUgZGlzdGFuY2UgYXMgYSBkZWNpbWFsIG51bWJlciwgdGhlbiBhIG5ld2xpbmUuCgoKCk5vdyB0YWtlIHRoZSB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlIG9mIHRoZSBsYX
N0IGJ5dGUgb2YgdGhlIFNIQS01MTIgaGFzaCBvZiB0aGUgaW5wdXQgc3RyaW5nLCBhZGQgNDA0IHRvIGl0IGFuZCBjYWxsIGl0IGBrJy4gTGV0IEYoeCkgYmUgYSBmdW5j
dGlvbiBkZWZpbmVkIGFzOgoKRigwKSA9IE4xICAoYXMgZGVmaW5lZCBhYm92ZSkKCiAgICAgICB7IEYobi0xKSAvIDIsICAgICBpZiBGKG4tMSkgaXMgZXZlbgpGKG4pID
0geyAKICAgICAgIHsgRihuLTEpICogMyArIDEsIG90aGVyd2lzZQoKUHJpbnQgRihrKSwgaW4gZGVjaW1hbCwgdGhlbiBvbmUgbmV3bGluZSBjaGFyYWN0ZXIuCgoKCgpU
aGUgZmluYWwgb3V0cHV0IG9mIHRoaXMgYWxnb3JpdGhtIHNob3VsZCBoYXZlIHRoZSBmb3JtYXQ6Cgo8Z3JheS1lbmNvZGVkIGJpbmFyeS1yZXZlcnNlZCAxNi1iaXQgbG
VuZ3RoIG9mIHNob3J0ZXN0IHJvdXRlPjxuZXdsaW5lPgo8aGFtbWluZyBkaXN0YW5jZSBiZXR3ZWVuIE4xIGFuZCBOMj48bmV3bGluZT4KPEYoayk+PG5ld2xpbmU+Cgo=

Name: Anonymous 2010-06-21 21:21

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:87 e49af89cb2d30bb3f6871d301b5c0a79
:1277098146 1277169650

Now I wonder how long it will take /prog/riders to implement it.

Name: Anonymous 2010-06-21 21:40

>>32
as one 512-bit unsigned integer `N1' of which the MSB corresponds to the first byte
Couldn't you just have said to interpret it as a big-endian unsigned integer?

Name: Anonymous 2010-06-21 21:46

>>34
I could've referred to the other things by their real names too, but let's keep it obscure.

Name: Anonymous 2010-06-21 21:53

>>35
OK. Sorry. We good?

Name: Anonymous 2010-06-21 21:57

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:40 2dea4aeda93ce3a0d5217feb894ea328
:1277098146 1277171826

>>36
We sure are.

Name: Anonymous 2010-06-21 22:00

Fuck, implementing >>32's shit in Javascript is a pain in the ass.

Name: Anonymous 2010-06-21 22:08

I'm having trouble with the third line (recommendation) of the signed post header. It's supposed to be a reference to the original posting of the signing algorithm, right? Why not include the post id as well the thread id? And why include the UNIX time of the signing at all?

Name: Anonymous 2010-06-21 22:17

>>39
I'm not sure if I quite understand it either. It's supposed to be part of the payload, right? So the signing program should automatically add that line to the message, and then authenticate the result? And I suppose that the UNIX time (together with the thread id) function as a form of salt?

Name: Anonymous 2010-06-21 22:21

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:700 4cbd1d9c4bb409c428b0923719670c88
:1277098146 1277173200

>>39
It's supposed to be a reference to the original posting of the signing algorithm, right?
No, it is the thread in which the signed message will be posted.


Why not include the post id as well the thread id?
You cannot include the post ID because you cannot always predict it accurately.


The reason why UNIX time and thread ID are the recommended first line of the signed message is because the board intruders, frustrated of being ignored, will very likely start copy-pasting properly-signed messages randomly in order to annoy us. Having the UNIX time of the posting and the thread ID, it becomes possible to remove duplicate posts or posts without thread ID from view.

Name: Anonymous 2010-06-21 22:24

>>38
It's going fine in Haskell. But doing the first part is nontrivial (at least for me, since I haven't done much of this sort of stuff in a long time).

Name: Anonymous 2010-06-21 22:27

>>41
How about changing that to an expiration date instead? You can predict that you're going to post the message within the next n minutes; then we could filter the messages in which the posting time is greater than the UNIX time in the post.

Name: Anonymous 2010-06-21 22:36

>>43
Same shit. IHBT

Name: Anonymous 2010-06-21 22:37

>>44
What? No.

Name: Anonymous 2010-06-21 23:19

Note: BBCode and its associated HTML formatting must be ignored.
Do you mean just for the header, or should it strip the whole post of BBCode when computing the hash?

Name: Anonymous 2010-06-21 23:30

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:81 1df13244573cb18cc4b11803648c352b
:1277098146 1277177372

>>46
The whole post. C'mon people it's not that ambiguous.

Name: Anonymous 2010-06-21 23:41

I sort of implemented it, but it doesn't work. It would be quite helpful if >>32-san provided sample inputs and outputs for each of the three stages, so that I could find the bugs easier, but I guess that this not being trivial is the whole point. But it's 4:40AM here, and I can't think anymore.

Name: Anonymous 2010-06-21 23:46

Can we please just standardize and use this one, at least until somebody gives out a working implementation? I really don't feel like implementing 10+ different algorithms.

Name: Anonymous 2010-06-22 1:23

>>48,49
The more I ``help'' you the easier it will be for the intruders to make it. But okay:

Algorithm: 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
Input string: "HMA"
Output of algorithm:
1001001001000000
254
14103585840156487810164442552287621548770247202479943008393869772619937936227511524967643926223493391118163568798272445077624726010824896305330


Fix your shit.

Name: Anonymous 2010-06-22 3:08

FIX MY ANUS

Name: Anonymous 2010-06-22 10:04

>>50
Are you sure that your MD5 works correctly? Mine gives me bc38c0e9c83a6e7b97cce070668345b8 as the hash of the output of your algorithm.

Name: Anonymous 2010-06-22 11:00

HASH THE OUTPUT OF MY ANUS

Name: Anonymous 2010-06-22 11:08

>>53
OUTPUT THE HASH OF MY ANUS

Name: Anonymous 2010-06-22 11:31

>>51,53,54
This is the bane of /Prague/

Name: Anonymous 2010-06-22 11:38

>>55
The ones that sage don't bother me so much. The bandwagon morons who don't have undoubtedly come from the imageboards.

Name: Anonymous 2010-06-22 12:15

>>56
COME FROM MY ANUS

Name: Anonymous 2010-06-22 12:23

>>52
:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:98 299c1c5cb51639e469c0455dd2d11f2f
:1277098146 1277223724

>>52
$ echo -n "HMA" | ./JSB-1.py | md5sum
bc38c0e9c83a6e7b97cce070668345b8

Name: >>58 2010-06-22 12:23

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:98 299c1c5cb51639e469c0455dd2d11f2f
:1277098146 1277223724

>>52
$ echo -n "HMA" | ./JSB-1.py | md5sum
bc38c0e9c83a6e7b97cce070668345b8

Name: 58,59 2010-06-22 12:29

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:226 be69af1dbccec93355bb17655026b9ad
:1277098146 1277224110

>>52
Well then congratulations! The Algorithm: field in post >>50 refers to the Algorithm ID, which is defined as the hex SHA-256 sum of the textual description of the algorithm. Sorry for the ambiguity.

Name: >>60 2010-06-22 12:32

Also, in case you still don't get it right, don't forget that the :1277098146 1277224110 line is really part of the message and NOT the header.

Name: Anonymous 2010-06-22 12:58

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:213 2032647410993f8baa3e524d5a14202d
:1277098146 1277229332

>>60,61
No, I didn't get confused about that. As I said in http://dis.4chan.org/read/prog/1277199219, there was a bug in my code (which occasionally didn't appear) which I have now fixed.

Name: disregard >>62 please. 2010-06-22 13:00

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:213 2032647410993f8baa3e524d5a14202d
:1277098146 1277229332

>>60,61
No, I didn't get confused about that. As I said in http://dis.4chan.org/read/prog/1277199219/12, there was a bug in my code (which occasionally didn't appear) which I have now fixed.

Name: Anonymous 2010-06-22 13:21

Okay, now it's time to write a /prog/ HTTP proxy that filters out all posts that don't have a valid signature. Will post implementation soon (obviously it will call an external program that will *not* have its implementation posted).

Name: Anonymous 2010-06-22 13:23

>>64
Why use an HTTP proxy when a Greasemonkey script works just fine?

Name: Anonymous 2010-06-22 13:24

>>64
Good job on filtering out all of the posters that can ignore the shit just by, um, ignoring it.

Name: Anonymous 2010-06-22 13:24

What a complete waste of time, signing posts. Bah stupid kids, get off my lawn.

Name: Anonymous 2010-06-22 13:27

>>67
It's like I'm back to the golden days of mailing lists and usenet!

Name: Anonymous 2010-06-22 13:29

>>68
My good, Sir, that is precisely my point.
Been there, done that, fucking over it.

Name: >>64 2010-06-22 13:30

Oh, and it will also sign automatically all outgoing messages.

Name: Anonymous 2010-06-22 13:34

>>64
Hey, don't steal my idea!
I thought about doing this sort of thing, too, complete with a BBCode parser and a Sexpcode implementation and my world4chscrape integration.
But no way I'm going to get banned for sending forged POST requests again. No one ever reads the appeals!

Name: Anonymous 2010-06-22 13:36

>>69
Then we have a mutual understanding on this matter; it being an exercise in futility.

Name: Anonymous 2010-06-22 14:08

>>71
It helps if you talk to MrVacBob-chan directly on IRC or its variant, Twitter.

Name: Anonymous 2010-06-22 14:24

This is a ploy to make someone post the code to your »signing algorithm«, thereby doing your homework for you. I'm on to you.

Name: Anonymous 2010-06-22 14:29

I will not waste my time to check the authentication of each damn post I read. This is the worst idea of all time.

Name: Anonymous 2010-06-22 14:30

>>75
Then write a script to do it for you. What kind of a programmer are you?

Name: Anonymous 2010-06-22 14:32

>>32
THE JSB-1 ALGORITHM


* Notes:

This document is best viewed in a monospace font.

All further references to the hashed value of a string shall be interpreted by default as references to the binary representation of the hashed value of the string (and NOT the hexadecimal representation).

Throughout the whole document, the meaning of ``newline'' shall be interpreted as "\n" (byte 10).


* Algorithm:

The SHA-512 hash of the input string is interpreted as a 8x8 distance matrix where every byte represents a value from 0 to 255; the layout of the matrix is the following:

s[0] s[1] . . .
s[8] s[9] . . .
 .    .   .
 .    .     .
 .    .       .

Therefore, M(x,y) corresponds to s(x+y*8).

Find the shortest possible route that visits 8 points, numbered from 0 to 7, exactly once and goes back to the starting point; the cost of going from point A to point B is given by M(A,B). Calculate the total length of the shortest possible route. Reverse the bits in the 16-bit unsigned integer representing the total length of the shortest possible route (e.g. msb <-> lsb), then convert the aforementioned length to 16-bit binary Gray code. Print the resulting number as a 16-character long stream of 1's and 0's, msb first. Print one newline character.



Now treat the SHA-512 hash of the input string as one 512-bit unsigned integer `N1' of which the MSB corresponds to the first byte of the SHA-512 hash (i.e. hash[0] == N1 >> 504). Reverse the bits in N1 to obtain `N2' (e.g. msb <-> lsb), then calculate the Hamming distance between N1 and N2. Print out the distance as a decimal number, then a newline.



Now take the unsigned integer value of the last byte of the SHA-512 hash of the input string, add 404 to it and call it `k'. Let F(x) be a function defined as:

F(0) = N1  (as defined above)

       { F(n-1) / 2,     if F(n-1) is even
F(n) = {
       { F(n-1) * 3 + 1, otherwise

Print F(k), in decimal, then one newline character.




The final output of this algorithm should have the format:

<gray-encoded binary-reversed 16-bit length of shortest route><newline>
<hamming distance between N1 and N2><newline>
<F(k)><newline>

Name: Anonymous 2010-06-22 14:36

>>76
I will write a script that will hax your anus for me.

Name: Anonymous 2010-06-22 14:37

>>73
Which channel does MrVacBob-sama hang out on?

Name: Anonymous 2010-06-22 14:38

>>79
#4chan @ rizon

Name: Anonymous 2010-06-22 14:52

>>77
wtf really?

Name: Anonymous 2010-06-22 14:56

>>77
DON'T HELP THEM!!!

Name: Anonymous 2010-06-22 15:10

XXPADDINGXX

Name: Anonymous 2010-06-22 15:11

>>1
So I tried implementing the example algorithm. It seems that I screwed it up. I'm hopeless.

Name: Anonymous 2010-06-22 15:11

XXPADDINGXX

Name: Anonymous 2010-06-22 15:11

XXPADDINGXX

Name: Anonymous 2010-06-22 15:11

XXPADDINGXX

Name: Anonymous 2010-06-22 15:19

test

Name: Anonymous 2010-06-22 15:28

trolls

Name: Anonymous 2010-06-22 15:41

test

Name: sage 2010-06-22 15:49

Why don't you make your own board. Except it's not a board, it's an interface for storing arbitrary objects. Then sit there. Alone. How very emergent.

Name: Anonymous 2010-06-22 15:56

This will never catch on. People will soon realize that the EXPERT PROGRAMMERS are also the retarded incontinent shitposters. Why? because EXPERT PROGRAMMERS have no social skills nor an acceptable sense of humor.

Name: Anonymous 2010-06-22 16:05

>>93
that about sums up my feelings on the subject

Name: Anonymous 2010-06-22 16:17

>>93
I follow your reasoning, but you are wrong. #sicp, for example, contains (as far as I can tell) everyone on /prog/ who can program, and is responsible for most of the high-quality posts here; they also complain regularly about the low quality content. It's possible some of them are hypocrites, but when the alternative hypothesis is just that high school kids flooding in from the imageboards now that it's summer are responsible for the crap, I think I know which I consider more likely.

>>94
I'm not surprised you think of yourself as an EXPERT PROGRAMMER, but it doesn't count unless you can get other people to agree.

Name: Anonymous 2010-06-22 16:20

>>95
Actual expert programmer here - I wrote an ANSI Turd compiler when I was 12. I don't use IRC.

Name: Anonymous 2010-06-22 16:47

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:44 93b07e9a0361499fadf3d2f7bffe3084
:1277098146 1277239623

>>95
You're an idiot.

Name: Anonymous 2010-06-22 18:00

>>96
no you didn't. there is not yet a ansi standard for turd

Name: Anonymous 2010-06-22 18:12

Name: Anonymous 2010-06-22 18:47

>>99
100 GET MY ANUS

Name: Over 100 Thread 2010-06-22 18:48

This thread has over 100 replies.
You can't reply anymore.

Name: Anonymous 2010-06-22 20:08

>>101
it didn't have over 100 replies until post 102.  for about an hour and twenty minutes, you were wrong

Name: Anonymous 2010-06-22 21:37

>>95
I regret to inform you that I am responsible for a number of high quality posts on this bulletin board, and yet do not idle in #sicp as you suggest. Ergo, your wrong.

Name: Anonymous 2010-06-22 21:53

>>103
Your post is certainly not one of the high-quality posts you claim to have contributed to our wonderful community..

Name: Anonymous 2010-06-22 22:16

#sicp is great if you like to idle

Name: Anonymous 2010-06-23 4:21

>>105
I prefer toil.

Name: !!addfmoOTApMoFAg 2010-06-23 4:31

I idle in #sicp and I intentionally make low quality posts on this bulletin board.

Name: Anonymous 2010-06-23 5:18

>>107

That was VIP quality!

Name: Anonymous 2010-06-23 6:58

Fuck, I can't figure out what OP wants me to do.  I guess I'm a shitty programmer.

Name: Anonymous 2010-06-23 22:21

I'll make an attempt at this when the ball starts rolling, which I predict to be within the next few nevers.

Name: Anonymous 2010-11-27 0:48

Name: Anonymous 2010-12-22 0:01

Name: Anonymous 2011-01-09 21:35

Sagefault (thread bumped)

Name: Anonymous 2011-01-10 1:46

>>1
oooooooooooooo i rly liek ur idea cuz its so professional and enterprise (we alwys do entperise stuff on /g/ haha lol) i rly support it hahahaha i liek u :3

Name: Anonymous 2011-01-10 1:51

Put this in notepad and name it fuu.bat then open it

start http://boards.4chan.org/y/
fuu

Name: Anonymous 2011-01-10 2:52

why so serious, [prog]bro[/prog]?

Name: Anonymous 2011-01-10 3:02

I have an idea! How about "no?"

Name: Anonymous 2011-01-10 5:14

I have better idea. We can use base64/uue to store images here. So we'll be like imageboards!

Name: Anonymous 2011-01-10 6:06

>>118
Excellent!

Name: Anonymous 2011-01-10 6:40

>>114-119
This actually makes up for at least 99% of /prog/ traffic.

Name: Anonymous 2011-01-10 11:31

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:137 2cd09e4e758e91b4ac7aa6411338e605
:1277098146 1294677074

Thanks to the GJS Jay Sussman Protocol, I haven't seen a single post since June.
It’s bliss.

Name: Anonymous 2011-01-31 19:46

<-- check em dubz

Name: Anonymous 2011-03-01 15:42

<-- check em sinz

Name: Anonymous 2011-03-01 19:14

[m]<-- 202122 GET

Name: Anonymous 2011-03-01 19:39

In all seriousness, we should use JS1 as the standard algorithm.

1) There's no fucking way I'll be implementing another one of you little dipshit's retarded algorithms;
2) There have been no other valid suggestions so far;
3) It's pretty hard to implement;
4) >>32 must have spent days working on it, I feel sorry for the guy;
5) We'll never, ever see Leah's posts again.

Name: Anonymous 2011-03-01 19:47

>>125
It might help if you start calling it by its correct name.

Name: Anonymous 2011-03-01 19:49

>>125
Too bad JS1 was already compromised by a spammer. It only had a few users and yet a spammer managed to implement it. The idea seems worse than useless as most normal posters won't bother implementing it, and yet trolls don't mind overcoming "registration" barriers such as these.

Name: Anonymous 2011-03-01 20:46

>>127
compromised
I was the first one to implement JSB-1 besides the creator, and I used it to make an authenticated “Smoke weed everyday” thread and then to tell him he was an idiot for thinking this would enforce his vision of quality (and that anyone who could program cared about IRC).  It has never been anything but compromised.

Name: Anonymous 2011-03-01 22:19

>>128
It doesn't enforce quality, it just provides a way to filter out people who don't even belong here (non-programmers).

Name: Anonymous 2011-03-01 23:00

We can compare it to speaking French in order to keep away homosexuals. There are two fundamental flaws with the idea:
 - The language was invented by homosexuals
 - Using the language makes you a homosexual

Name: Anonymous 2011-03-01 23:51

>>130

va te faire foutre pédé

Name: Anonymous 2011-03-02 2:43

Gay

Name: Anonymous 2011-03-02 2:44

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:40 2dea4aeda93ce3a0d5217feb894ea328
:1277098146 1277171826
>>36
DUBZ

Name: Anonymous 2011-03-02 5:56

>>133
bad signature

Name: Anonymous 2011-03-29 13:47

>>96
bampv for this

Name: Anonymous 2011-03-31 18:55

In the end, I have to admit OP came up with a neat idea. Excluding de facto non-programmers... why not?

Name: Anonymous 2011-03-31 19:02

>>136
Maybe because spammers here are programmers? Did you forget the dubz spammer?
Sure, it will exclude the deluded pythonista and the set theory faggot.

Name: Anonymous 2011-03-31 19:28

>>137
Not to mention Randall...

Name: Anonymous 2011-03-31 20:39

:GJS1M 67dcbdbce4a0b67c4b48e86a6ae29205a95e4b83024a9d947213d1231800e8d9
:69 646d81d3ff54f57b3e3048b92edfa0d0
:1277098146 1301618379

>>137
fuck off and die you cock sucking faggot

Name: Anonymous 2011-03-31 20:40

>>139
fuck off and die you cock sucking faggot

Name: Anonymous 2011-03-31 21:19

>>140
fuck you nigger faggot

>>141
Tsk.

Name: Anonymous 2011-03-31 21:20

>>141
fuck you nigger faggot

>>142
Tcl/Tk.

Name: Anonymous 2011-03-31 21:27

>>142
fuck you nigger faggot

>>143
Gtk.

Name: Anonymous 2011-03-31 21:29

>>143
fuck you nigger faggot

>>144
Special k.

Name: Anonymous 2011-05-26 9:12

Why isn't this XML?

Name: 2012-01-25 23:02


Don't change these.
Name: Email:
Entire Thread Thread List