The Legendary Next Update (365)

7 Name: !WAHa.06x36 2005-10-12 17:41 ID:gBva8ggI [Del]

(Lots of stuff in here, click "whole post"!)

> How about listing what dmpk2k or you have done already?

Truth be told, I haven't even looked over his contributions yet. I'm doing some work on Kareha first. He did bandwidth load balancing for Wakaba across several servers, and image file archiving, at least. Plus some proxy checking and other goodies.

> Split threads and posts into separate tables. You're repeating the lasthit and parent column over and over.

Bad idea. Adds a lot of code complexity without adding any new functionality. The current solution is simple and robust.

> Automatic closing and moving of threads that do not get any activity in a certain timeframe (based on average activity frequency of the board)

This is nearly impossible to get right, and I don't think I'm going to try unless someone can think up a reliable algorithm that uses the data that is availble (not much).

> Reintroduction of "Marked for deletion (old)" (it's just handy to have that)

I tried several times, and concluded it wasn't worth the code and database overhead it would take. This feature is relatively easy to implement for Futaba-style post number limited boards (and Futaba implements it really stupidly), but it gets tricky when you have different deletion modes and want to do it right.

> Prune-limit mode that is defined by number of files or size sum of files on a board

Size limit is already implemented. I might add file limit, but I'm not sure it's all that useful, when you already have the size limit.

The rest, I agree with, and I will try to get most of it done. I'm sure there's some more stuff hidden in old threads, though!

69 Name:   2005-10-17 07:26 ID:Heaven [Del]

>>66-67

Noted and fixed in development version.

149 Name: Anonymous 2005-10-19 08:31 ID:Heaven [Del]

> 3) A specific string for ID:Heaven instead of anything in the email field

Isn't that already an option in the config?

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

Strong oppose! I am of the (strong! lol) opinion that the current situation is the one working the best and also that it is widely accepted on almost all similiar board scripts (save for Shiichan and one obscure Japanese discussion board script that I once stumbled upon).

Previous discussion of this can be found here:
http://wakaba.c3.cx/sup/kareha.pl/1102984488/

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.

92 Name: anon!21anon4H3U 2005-10-17 14:00 ID:Heaven [Del]

This my just be me, but I'd like a link to the entire thread in karaha at the top of threads.

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

>>254

You'd be destroying the DUMB PUN!

128 Name:   2005-10-18 17:00 ID:gBva8ggI [Del]

All right, new version installed. This one has a bunch of layout changes, and some big changes in the CSS, so you'll need to make sure the CSS is loaded by shift-reloading. Also, fixing all the CSS files was a huge pain in the ass. Have a look around to see if there are any obvious mistakes, but be gentle, because this has given me a headache.

Also, I couldn't be arsed to fix Amber, since it was just a joke in the first place.

345 Name: Anonymous : 2005-10-27 10:50 ID:Heaven [Del]

>>344 orz

316 Name: !WAHa.06x36 : 2005-10-25 05:01 ID:Heaven [Del]

Nothing specific, just protecting against any possible future ones.

356 Name: !WAHa.06x36 : 2005-10-28 20:05 ID:Heaven [Del]

I'm not sure I want to make a ban system. I'd rather just make it easy to interface with a simple banning script that does whatever's needed for the server it's running on.

47 Name: Anonymous 2005-10-14 22:48 ID:1l2MEdqn [Del]

>>46
Well, I haven't checked to see exactly where the ban functionality exists in Kareha, but my idea is something along the lines of: (1) encrypting the offender's IP, (2) writing it to a bans.txt list, and (3) writing a parameter next to the IP specifying the time when the ban should be lifted. Of course, you also need underlying code to check bans.txt every time a user tries to post or reply, and also to remove a ban entry at its specified time.

272 Name: Anonymous : 2005-10-23 16:33 ID:Heaven [Del]

PS. What's "Raw HTML"?

277 Name: !WAHa.06x36 : 2005-10-23 17:59 ID:Heaven [Del]

All right, made another small update. Needs a shift-reload again to work quite right (there's a short description of the various markup modes now). Also fixed >>143 and removed "Raw HTML".

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

> I don't see a big fat ugly WakabaMark FAQ next to the post form either.

You don't see the link to the WakabaMark page either?

> I am just guessing here, but I am pretty sure most people will only change their settings in very rare cases.

I just added the Text Art mode so that people could post AA on any board and have it work right, but the only way for that to work is if you can quickly change modes between posts.

Look, it's getting just a tiny bit annoying with the complaining. I've been putting a huge amount of effort into making this work well both for those who want markup and those who don't. If you don't like it, you turn it off and don't need to bother with it again. There's just a tiny little link there to let people do this. Is this really a such a huge bother to deal with? It's *two words*.

118 Name:   2005-10-18 04:21 ID:Heaven [Del]

>>116

Apparently it's not Japanese, because it's supposed to be pronounced as an English word. I have no clue, though.

23 Name: Anonymous 2005-10-13 22:46 ID:0dCD+kFU [Del]

The point is to make a portable file, so you do not /have/ to compile it on the host. Statically linked lets you use libraries that the host does not have.

Sure, doing it in perl is an option though.

44 Name: !WAHa.06x36 2005-10-14 16:33 ID:Heaven [Del]

Uh, kind of a bug. I really should fix it, but, lazy.

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?

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

<a href="#">Is that true?</a>

321 Name: !WAHa.06x36 : 2005-10-26 09:17 ID:SjmelPTB [Del]

About rel=nofollow: What links should have it? Obviously not the "entire thread" link, but the l50 links in the thread list sort of need it, otherwise the search engine will never find them in the first place. But that means the l50 links will end up in the index.

8 Name: test 2005-10-12 18:18 ID:Heaven [Del]

What wakaba needs is that SILLY_ANONYMOUS too! :D

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

287 Name: Anonymous : 2005-10-23 19:25 ID:Heaven [Del]

Oh, and the navigation bar on the error page should probably look like the one on the thread page.

166 Name: 148,161 2005-10-19 18:40 ID:0dCD+kFU [Del]

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

It does get in your way though, I enumerated cases where this is the case (albeit edge cases).

>>>Then just make one post with your name/trip and one with fusianasan and let your ID show up in both.

fusiansan is just intended for rare or special cases anyway, as is the whole subject of identification on anonymous message boards.

You still end up with no way to link the fusianasan post with the name/trip one without IDs enabled (unless the ID method is known and no secret data is used).

>>>It's rarely needed anyway. Also, these things are pretty easy to remember. "sage" and "fusianasan" is all there is, really.

You spelled it fusiansan once.

Also, how is Kahera unrivaled when there are still large sites that are not running it? Shiichan is still on world4ch, Thorn on parts of wakachan for example.

http://wakaba.c3.cx/sup/kareha.pl/1127713568/l50 is also semi-relevant

60 Name: Anonymous 2005-10-16 21:29 ID:Heaven [Del]

The test thread seems to be broken too.

31 Name: !nFxirOdZ2I 2005-10-14 00:57 ID:Heaven [Del]

testing #`abcdef¦

46 Name: !WAHa.06x36 2005-10-14 21:01 ID:Heaven [Del]

> You mean requiring SQL software, or just making backwards-incompatible changes that would screw up old threads?

I mean, needing to alter the table that is already in the database. I don't want to try to do that any more than I have to, as it's pretty hard to get right in a database-independent manner.

> Are you only referring to flooding and spamming, or also trolls and flamewars?

Yes, only flooding and spamming. Trolling and flamewars are not a problem one should use banning to try and solve.

> Finally, out of curiosity: how much of the functionality in the .js file do you think could be properly implemented into a new or existing perl script?

Well, if you serve up dynamic pages, you can do the form-filling on the server, but that's about it. The rest is dynamic stuff.

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.

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.

159 Name:   2005-10-19 14:46 ID:gBva8ggI [Del]

Copyright only applies to the literal code, not to features, ideas, or algorithm. Patents do, to some extent, but that's not the issue here. Since I'm not going to write the exact same code, there's little they can do.

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