The Legendary Next Update (365)

84 Name: Anonymous 2005-10-17 12:11 ID:Heaven [Del]

> some other trickery

I smell JavaScript coming in about >>90-120

48 Name: Anonymous 2005-10-15 17:08 ID:Heaven [Del]

I've also had an idea swimming around: an option to only count actual thread bumps in MAX_RES (not "sage" posts). I think it would lead to making each bump more valuable so that people don't do so wastefully and unnecessarily.

80 Name: 79 2005-10-17 09:17 ID:Heaven [Del]

Argh, beaten and >>n isn't even implemented. orz

26 Name: Anonymous 2005-10-14 00:38 ID:Heaven [Del]

| stays |

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.

160 Name: Anonymous 2005-10-19 14:51 ID:Heaven [Del]

>>157
So the functions need to be hardcoded to a post element one way or another? If I wanted to, let's say, create a template for gazo-box or Shiichan (both use checkboxes for sage), I'd need to slightly modify kareha.pl to check that new checkbox input instead of the Link string input?

An interesting limitation. Thanks for explaining.

About permasaging/deleting after a certain thread filesize is reached: would this be the same as a limit on the total number of characters in a thread? Or would we also include WakabaMark formatting, hyperlinks (including navigation), name/date/title headers, reply boxes, and non-Unicode characters in the formula?

>>158
Chances are that most if not all major/fundamental changes made to Kareha's core scripts will clash with the philosophy of most people here (including WAHa), and they won't care for them anyway. There really aren't all that many big-bang end-user features left to be implemented in Kareha before it loses its minimalist charm.

P.S. Reminder for >>85

67 Name: Anonymous 2005-10-17 06:47 ID:Heaven [Del]

The "Entire thread" link on the thread page is missing a "/" at the end.

342 Name: !WAHa.06x36 : 2005-10-27 09:31 ID:SjmelPTB [Del]

I don't see any inconsistencies in >>341 except for the rounded corners.

108 Name: 34.75.33.65.cfl.res.rr.com 2005-10-17 19:51 ID:Heaven [Del]

I thought fusianasan was supposed to be a mod-only function to weed out bad posters. And what would be the difference between revealing the persons's IP and his ISP's domain?

>>99
I didn't mean to include Forcenick in there, sorry.
Adding to that, however, how about forced sage for specificed IPs? It'd make for a great slogan: Remember kids, tripcodes and aging are privileges, not rights!

124 Name: Anonymous 2005-10-18 07:43 ID:9mxxoE2M [Del]

>>123
signed

122 Name: Anonymous 2005-10-18 06:32 ID:Heaven [Del]

About the etyomology of "fusianasan":
http://4-ch.net/nihongo/kareha.pl/1102656968/224-

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;
}

36 Name: Anonymous 2005-10-14 13:29 ID:8YdETsDh [Del]

I had a number of good old threads from this board bookmarked so I could read them later and wrap my head around their ideas, but then I lost them all in a hard drive crash (strike two, Western Digital!). I also had a number of Japanese BBS's linked from this board bookmarked so I could take a look at their software's functionality and get some other ideas.

Anyway, these are all non-template suggestions:

  • Topical category metadata in new thread creation so only one instance is necessary per site (further fine-grained behavior with PATH_INFO would let you nest one category inside another and view multiple categories of threads at once).
  • Thorough search functionality a-la notchan, using PATH_INFO. This might not be possible without implementing a per-post metadata system though.
  • Elaborating on the above, per-post metadata for "sage" status, for future-proofing in case someone wants to remove the functionality from the e-mail field (onto a checkbox, for example).
  • config.pl parameter for a generic image that takes the place of a deleted image (ie, Hello Kitty)
  • Fine-grained banning options that let you choose whether or not the user is blocked from reading a board, posting to a board, or both. Another parameter defines the duration of his ban ('0' for permaban), and another defines a reason/message displayed when the user tries to access a board.
  • Replace HTML error pages with dialog box equivalents using JavaScript.
  • Kill user deletion. I can't see any case for when it'd have constructive uses.
  • Conversion to mod_perl?

I also have an early idea swimming around in my head about only bumping threads a few positions up, instead of to the top. Another idea is actively bumping threads down, either by a few positions or to the bottom. I'm not exactly sure yet what good it'd be for.

Also...

>* I'll add thread closing to Kareha, but I was thinking of setting the default behaviour to never permasage or close threads.

I think this is ideal for the time, until we have enough statistical data to derive thorough auto-permasage and auto-delete/archive algorithms. Just add the functionality for mods to manually set these statuses, but remove the "permasage at 1000" behavior.

The standalone thumbnailer project is a great idea too. As a suggestion, how about adding functionality to also read and thumbnail document files like TXT, PDF, and DOC?

139 Name:   2005-10-18 20:03 ID:gBva8ggI [Del]

You can't document easter eggs! That's crazy talk!

Also, I find it insanely more annoying to write text in five-line tunnel vision than whatever annoyance might be caused by a comment box that expands.

247 Name: Anonymous 2005-10-22 12:15 ID:Heaven [Del]

Why would there be any use in writing actual HTML in posts? Seems to me like it's just inviting abuse.

80 Name: 79 2005-10-17 09:17 ID:Heaven [Del]

Argh, beaten and >>n isn't even implemented. orz

107 Name: dhcp125.engglab.ualberta.ca 2005-10-17 17:28 ID:Heaven [Del]

fusianasan + sage test

84 Name: Anonymous 2005-10-17 12:11 ID:Heaven [Del]

> some other trickery

I smell JavaScript coming in about >>90-120

246 Name:   2005-10-22 10:57 ID:Heaven [Del]

>>244

Er, that's a feature, not a bug. That's how most GUIs act.

25 Name: | 2005-10-14 00:37 ID:Heaven [Del]

Anyway, test with |

363 Post deleted by moderator.

95 Name:   2005-10-17 14:09 ID:gBva8ggI [Del]

Also, I forgot to mention: fusianasan works now! Put it in as your name to test it!

40 Name: 38 2005-10-14 14:15 ID:Heaven [Del]

Oh okay.

I agree, for Kareha at least.

233 Name: Anonymous 2005-10-21 22:16 ID:Heaven [Del]

>>232
Nothing! But since mode_image's footer.html includes a link to Futaba called "Futaba mode," I think mode_message should have the same.

227 Name: Anonymous 2005-10-21 17:21 ID:Heaven [Del]

>>226
(´・ω・`)

215 Name: 214 2005-10-21 15:03 ID:Heaven [Del]

Whoops, sorry. I read "close" instead of "permasage".
Permasage on filesize seems pretty silly, yes.

127 Name: Anonymous 2005-10-18 16:23 ID:Heaven [Del]

Getting back to inconsequential nitpicking: I find the "___ image replies omitted" phrase to be a bit redundant, and for one it confuses me as to whether or not those image replies are separate from text-only replies. How about simply calling it "images"?

157 Name:   2005-10-19 14:11 ID:gBva8ggI [Del]

>>153

http://en.wikipedia.org/wiki/Public_Domain

It means anyone can do whatever they want with it. They can't claim copyright, though, since they didn't create it in the first place. They can modify it an claim copyright on their modifications, at least as long as they're significant enough, but that doesn't affect existing works in the public domain.

> 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.

There's no obvious way to do this, since there has to be code that specifically checks a field and takes certain actions long before the template comes into play. It'd take some sort of plugin system to implement it, and I don't think that's quite called for.

Also >>154 is Kami.

162 Name:   2005-10-19 16:45 ID:gBva8ggI [Del]

Well, there are some issues to consider here:

  • Hardly anybody needs to ever use fusianasan. It's a gimmick. Design decisions should not be made around it.
  • The strings may be strange, and combining fields isn't the best design possible, but this is a 0ch clone, after all. If I were designing something from scratch, I'd do things differently, but as it is, people are expecting 0ch behaviour, and it would confuse them if the script worked like 0ch in some ways but not others.
  • I might consider adding additional strings that trigger sage and fusianasan, but I'm not sure what they should be.

In the end, people actually enjoy the 0ch quirkiness. I know I do. I know about designing good interfaces, but there's something fun about an interface that is a little bit quirky, as long as it doesn't get in your way, and these things don't.

28 Name: !f53YGgdzmM 2005-10-14 00:38 ID:Heaven [Del]

Weird, ¦ now stays ¦.
Testing #¦ now.

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