The Legendary Next Update (365)

116 Name: dmpk2k!hinhT6kz2E 2005-10-18 03:53 ID:Heaven [Del]

What does "fusianasan" mean?

243 Name:   2005-10-22 10:54 ID:Heaven [Del]

If you want to have a look at what the code actually does to dig out flaws, here is the current version:

sub sanitize_html($%)
{
my ($html,%tags)=@_;
my (@stack,$clean);
my $entity_re=qr/&(?!\#[0-9]+;|\#x[0-9a-fA-F]+;|amp;)/;

while($html=~/(?:([^<]+)|<([^<>]*)>?)/g)
{
my ($text,$tag)=($1,$2);

if($text)
{
$text=~s/$entity_re/&amp;/g;
$text=~s/>/&gt;/g;
$clean.=$text;
}
else
{
if($tag=~m!^\s*(/?)\s*([a-z0-9_:\-\.]+)(?:\s+(.*?)|)\s*(/?)\s*$!si)
{
my ($closing,$name,$args,$implicit)=($1,lc($2),$3,$4);

if($tags{$name})
{
if($closing)
{
if(grep { $_ eq $name } @stack)
{
my $entry;

do {
$entry=pop @stack;
$clean.="</$entry>";
} until $entry eq $name;
}
}
else
{
my %args;

$args=~s/\s/ /sg;

while($args=~/([a-z0-9_:\-\.]+)(?:\s*=\s*(?:'([^']*?)'|"([^"]*?)"|['"]?([^'" ]*))|)/gi)
{
my ($arg,$value)=(lc($1),defined($2)?$2:defined($3)?$3:$4);
$value=$arg unless defined($value);

my $type=$tags{$name}{args}{$arg};

if($type)
{
my $passes=1;

if($type=~/url/i) { $passes=0 unless $value=~/(?:^$protocol_re:|^[^:]+$)/ }
if($type=~/number/i) { $passes=0 unless $value=~/^[0-9]+$/ }

if($passes)
{
$value=~s/$entity_re/&amp;/g;

if($value=~/"/) { $value="'$value'" }
else { $value="\"$value\"" }

$args{$arg}=$value;
}
}
}

my $cleanargs=join " ",map { "$_=$args{$_}" } keys %args;

$implicit="/" if($tags{$name}{empty});

push @stack,$name unless $implicit;

$clean.="<$name";
$clean.=" $cleanargs" if $cleanargs;
$clean.=" $implicit" if $implicit;
$clean.=">";
}
}
}
}
}

my $entry;
while($entry=pop @stack) { $clean.="</$entry>" }

return $clean;
}

332 Name: Anonymous : 2005-10-26 20:28 ID:y5Ya7L3/ [Del]

>>323-324
The 2channel moderation request forms that are mods of 0ch use 強制リモホ, which is Forced_Remote_Host, more or less. And it makes sense, there.

Forced_IP is only enabled on the "Siberia super-news flash" board: http://etc3.2ch.net/siberia/

And I have no idea what that board is about...

76 Name: Anonymous 2005-10-17 08:46 ID:Heaven [Del]

>>74
The comma range separator is useful for anchoring a certain post range to the first post (ie, "1,-100"), but that's all I can really think of. Still, I appreciate such a degree of flexibility.

182 Name: Anonymous 2005-10-20 09:19 ID:Heaven [Del]

>>174

>Let people figure out things themselves, if they are so keen on changing their keywords.

If you really want to use your own custom trigger strings, you can easily search kareha.pl for instances where "sage" and "fusianasan" are used in that context and either replace them with those custom strings or append them as secondary strings. It's not something that warrants additional config.pl parameters.

154 Name: Anonymous 2005-10-19 13:28 ID:1l2MEdqn [Del]

>>148

>5) Seperation of sage et al from the email field to something else...

This is kinda what I had pushed for earlier in >>52. I think that separating the sage (aka, "don't bump"), fusianasan (aka, "show IP"), and ID:Heaven (aka, "no ID") functions from any particular post elements in the main scripts would be ideal for implementing Kareha in systems where inputting a certain string to trigger these functions is not intuitive (ie, every board outside of the 2ch/Futaba family). These trigger strings (S_DONTBUMP, S_SHOWIP, S_NOID) and their assignment to a certain form field input could be instead implemented individually in each template.

>2) Have the string to sage and fusianasan defined as a constant in config
>3) A specific string for ID:Heaven instead of anything in the email field

As I mentioned above, this would better work if they could be modified within each template in the list of string variable definitions.

>4) Cookie preferences such as "Don't use expanding textarea" which leaves it small or big.. or another option for that choice as well; an option to not save Name/Email automatically; anything else that is useful?

I like this one, as far as saving name and e-mail inputs go. I occasionally browse 4-ch at school, and it'd be nice for just an option to clear cookies when you're done and don't want anyone else to use your name, e-mail, and deletion password.

What the hell is RENZOKU?

P.S. >>151 is RMS

258 Name:   2005-10-22 14:47 ID:Heaven [Del]

Maybe. I just picked something at random.

183 Name: Anonymous 2005-10-20 09:32 ID:Heaven [Del]

>>182
That's not what I meant. What I meant was: If people want to change keywords to something, let them figure out at appropriate places what this something should be. Whether it should be "down", "stay_down" or "stay_put" is not really a discussion belongs here, not at this point anyway.

186 Name:   2005-10-20 10:07 ID:Heaven [Del]

No, but that's not the point.

347 Name: !WAHa.06x36 : 2005-10-27 16:57 ID:Heaven [Del]

Thanks. I did it the hard way and put in the proper transformations everywhere so filenames can be kept intact, though.

65 Name: 61 2005-10-17 05:14 ID:Heaven [Del]

>>64
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeh? You are not the real >>64!!!

22 Name: | 2005-10-13 19:57 ID:Heaven [Del]

> statically linked executable

I have to disagree with this. It should run in perl too.

  • If you're running wakaba, obviously perl must be there
  • Most hosts that library-poor don't provide compilers (or shell) either

312 Name: Anonymous : 2005-10-24 18:15 ID:Heaven [Del]

Oops. I got confused by the "link to parent post" thing. Maybe you could make that an anchor as well.

Not getting quote highlighting is the point, isn't it? I guess if you really want WakabaMark to spread you can force it on everyone who doesn't know how to change, but it would be nicer to make people choose it so we don't have to constantly see the results of accidental markup. This is more about social engineering than your program, though.

238 Name: Anonymous 2005-10-21 23:15 ID:0dCD+kFU [Del]

>Most admins probably don't get point of the secret string anyway, and asking them to put in several is just too annoying. In retrospect, I'd like to add a second layer of hashing to these, but that'd mean breaking secure trips AGAIN.

You could take the route that MrVB (I think?) did and generate the strings on first run? openssl, /dev/random, perl's random as last resort. In almost every case you are going to get a better random string than most people will supply, and if they want to change it they can. Or only have them generated if they are not supplied.

Honestly, when people care so much about anonymity they can put up with the changes required to ensure it.

96 Name: Anonymous 2005-10-17 14:11 ID:Heaven [Del]

>>89

>But the body text is even more important, and that goes at the bottom. So I dunno.

Yeah, I considered this too. I'm mainly suggesting for the sake of convention.

We definitely don't need a separate page for creating new threads (I get bad memories of Shiichan), mainly because it's inconvenient and requires a whole other page for something that really shouldn't. The fact that it'd be at the bottom of the board page already detracts bad posters with itchy trigger fingers. I think most of us have an "End" key on our keyboards, so we don't really have to scroll all the way down anyway. :) Really, the only issue I have with moving the post box to the bottom is that it ruins my personal visualization of new threads falling on top of the "stack of threads" and replies emerging from below the "stack of replies".

In reference to >>90, there's something I see on every 2ch board that is a lot less prevalent in Western counterparts (barring certain 4-ch boards): a rules/disclaimer block at the top, above the thread-list, with links to a newbie guide, site FAQ, and the like. Yes, it may be an annoyance to veterans, but being at the very top means it's most visible to newbies. That way, we don't get a constant influx of people wondering whether or not they need to fill in the Name and Link fields and what the hell sage and tripcodes are.

216 Name: Anonymous 2005-10-21 15:04 ID:Heaven [Del]

>>208

> multi-page links (1-, 101-, 201-, etc) at the top of subpages

This is just implemented on some 0ch types. 2channel doesn't use it (at least on no board that I know of).

187 Name: Anonymous 2005-10-20 10:13 ID:Heaven [Del]

Another topic: since dynamic pages eat up CPU in order to rebuild pages according to URL parameters, what would be the likelihood of the current dynamic thread subpages having a significantly adverse effect in this aspect if a board were to grow to 2ch-sized proportions? Should there be a consideration to make these pages as static as the front page?

Also, let's put out a partition to kill secure tripcodes (unless they originated from 0ch/Futaba) and captcha (until we find a way to implement similar functionality without requiring it in the form of a GIF/PNG image), and add functionality for multiple uploads in one post.

And is there any practical way that Kareha can be modified to run multiple (even nested) boards in a single installation?

225 Name: 214 2005-10-21 17:05 ID:Heaven [Del]

Okay then, for starters, how about the closing message to exactly look like a post (although it's sad it won't be accesable with >>1001)?

285 Name: !WAHa.06x36 : 2005-10-23 18:38 ID:Heaven [Del]

>>284

HTML mode handles >> references, but not URLs because I've been too lazy to figure out a regexp that would handle that correctly. Also, yes, newlines are converted to <br /> intentionally. This matches how most sites that accept HTML markup work.

220 Name:   2005-10-21 15:45 ID:Heaven [Del]

Kareha can't use different layouts for posts on different pages, except by CSS trickery. I could add the second colon, though.

Also, I've implemented optional thread closing now, but there's no extra post. That would just be a total mess to implement, and would make re-opening threads annoying, if such a feature was requested. It replaces the posting form with a notice that the thread has been closed, instead.

53 Name: Anonymous 2005-10-16 01:46 ID:Heaven [Del]

>>48-50
First of all, I don't believe it would make bumps more valuable in any way. People bump threads all the time with worthless replies since most don't even know what "sage" is or means or what it is good for. They will simply continue to do this, no matter whether the sage function is changed in this way.

Even at this stage, years after its introduction to a major western userbase, people are still clueless about the main basic functions of image- and discussionboards in the Futaba/0ch style. There are some signs of improvement, but they are rare.
I doubt people would be willing or eager to learn a new, different behaviour at this point in time.

The only real change is what >>50 points out (though I want to mention that even that point is mostly misunderstood: if people want to protest against a certain thread, they should post as many sage posts as it needs to get permasaged (although it's arguably counterproductive, considering the default prune behaviour of imgboards). If threads are still bumpable and trolls find that they have been flamed with a sage, they will just bump it once more). And I don't think that's enough to justify a pretty major function change.

35 Name: !WAHa.06x36 2005-10-14 13:11 ID:gBva8ggI [Del]

Well, a lot of machines run on x86 these days, so that covers a lot of it. And you could pre-compile for a couple of other architectures, and have it pretty much covered. Linux and unixes in general make it ridiculously hard to distribute binaries, as opposed to Windows or Mac OS, but it's still possible with a bit of trickery. Avoiding dynamic libraries helps a lot.

21 Name: !WAHa.06x36 2005-10-13 12:10 ID:gBva8ggI [Del]

Also, here's something that would be useful, but is a bit more work than I feel like doing right now:

A simple thumbnailing program, that has no external dependencies and can be compiled to a maximally compatible, statically linked executable, for those who have hosts that don't have any image processing software, and don't allow you to compile your own. Should be able to load GIF, JPEG and PNG images, and produce JPEG thumbnails. Should contain all the source code it needs without linking to external libraries (it's easy enough to just stuff libjpeg, libpng, and zlib into the distro).

If anyone is lacking a programming project, feel free to take up this one! If you do, I can provide some fairly fast and good-looking image scaling code (or just rip it out of mangariini yourself).

97 Name: Anonymous 2005-10-17 14:14 ID:Heaven [Del]

>>96
forgot to mention that maybe a parameter could be included in config.pl to define an XHTML file for the disclaimer/rules block. It could be used both in 2ch and Futaba (right under the posting area) modes.

94 Name:   2005-10-17 14:06 ID:gBva8ggI [Del]

> Put the Entire thread link on the top of the thread, not the bottom.

Well, since the current update has removed almost all links to entire threads, I won't do THAT, but I guess a Last 50 link could be snuck in somewhere... Maybe the thread title should be an l50 link?

308 Name: Anonymous : 2005-10-24 15:37 ID:hjzD4Li4 [Del]

Why not make None or Text Art the default? That way you don't surprise people.

Also, can you make >> links into anchors('#') when you're on the reply/entire thread page, especially in Wakaba? Currently when you click the link it just reloads the page with a different highlight, which is not all that helpful.

87 Name: Anonymous 2005-10-17 12:36 ID:Heaven [Del]

Also, I'd like to ask exactly how Kareha does automatically generates deletion passwords. I'm guessing it's similar if not identical to how it creates ID session codes with a user's IP.

263 Name:   2005-10-22 16:55 ID:Heaven [Del]

>>259

Fixed.

>>260-261

The test script doesn't try to handle charsets at all at the moment.

351 Name: dmpk2k!hinhT6kz2E : 2005-10-28 04:55 ID:Heaven [Del]

I think you're a bit nutty, >>350...

298 Name: !WAHa.06x36 : 2005-10-23 20:54 ID:Heaven [Del]

Currently, pruning by age is measured from the time of the newest post in the thread, so it wouldn't really work. I'm not sure if this is the best behaviour or not, but it seems it makes more sense to kill threads nobody cares about than to kill slow-moving threads just because they get old.

This thread has been closed. You cannot post in this thread any longer.