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

Pages: 1-4041-

Error: This thread is too old. You can't reply anymore.

Name: Anonymous 2014-09-19 17:50

Oh shit! What ever happened to NO EXCEPTIONS?

Name: Anonymous 2014-09-19 18:57

Did admin add this feature? I don't like it. Remove it immediately. Necrobumping is /prog/

Name: Anonymous 2014-09-19 19:37

hax my anus

Name: Anonymous 2014-09-19 19:39

            ∧_∧
            ( ´・ω・`)       I am a knight of the life goddess.
            / `ニニ´彳 `` ー 、     Please show me this necromancer
        _,ノ´、,  ,..>、リ,. -- 、. ヽ--、   so that I may slay him.
        /     ̄´   {-_,.  -、 、,'  ヽ
      /   〃,..     'r  _,.. 、}>、.. r-{.
     /、  _,..イ´      ト. ´   i  ´   }
     /  ゙ー'´ }ヘ     _,..ノヘ`ー- ...ィ! ',  ハ {
    ,' ,'     リヾニ=ニ´ ,. ‐'' h ー 、 ハ リ  ノ}
   ,'八  ,  / \ミヽ、ヽ.   |!  } 彡N  ', ハ
   }  (.,/    ∨ ヽ('' ´` /´'!,∨ ! ,.'  i
   ,ハ',  ii      {   入__ _ノ.__,ノ |  ∨  ,{
   i : v リ     /、  {   ゚ ´,| |   |,   }
   { Y, ,'    ィ‐‐-ミ、_`',      リ }   ,'   ヽ
    iヽ !   ,' :   ハ`ヽ、..__,/-',〉-‐‐y    ,}
    }. ∨   ./ ノ  /  ∨' ,.  _,./ !  `''"i ', {ノ'′
    ',  `ヽ_,..{,'  ノ   i   /´ 、  ヽ、.__ ,〉 ト,)

Name: Anonymous 2014-09-19 20:01

It's like another shoa.

Name: Barak Obama 2014-09-19 20:31

But seriously. Remove it or there will be consequences.

Name: Anonymous 2014-09-19 20:33

I had to re-enable it because this forum software is so shit I can't load old threads on the admin interface anymore and so someone could DoS the site by spamming old threads.

>>6
Help rewrite the software or get fucked.

Name: Barak Obama 2014-09-19 20:36

>>7
I hope you're prepared for some serious condemnation and economic sanctions. I hope you enjoy not having any more...hey...what do we make here again?

Name: Anonymous 2014-09-20 0:47

>>8

Shitposts and javascript apps.

Name: Anonymous 2014-09-20 2:45

No, it's fine the way it is for now. It was allowed for a long time and no one noticed or used it anyway.

Name: Anonymous 2014-09-20 5:59

you will be committing a criminal offence if you:

1. Deliberately capture, injure or kill a bat
2. Intentionally or recklessly disturb a bat in its roost or deliberately disturb a group of bats
3. Damage or destroy a bat roosting place (even if bats are not occupying the roost at the time)
4. Possess or advertise/sell/exchange a bat (dead or alive) or any part of a bat
5. Intentionally or recklessly obstruct access to a bat roost

Name: Anonymous 2014-09-20 6:02

If you are purchasing bats from non USDA licensed dealers, think twice. These are heavily regulated exotic animals. It is illegal to buy or sell these with out being USDA licensed, and any bat species that is wild caught will also be regulated by the CDC (not a can of worms you want to open). Please note, without the paper work provided by a licensed dealer, you will not have proof that your bats are captive born… do you really want your animals seized or risk buying unregulated animals?

Name: Anonymous 2014-09-20 6:05

The only bats that can be kept by private individuals in the United States are non-native species acquired through legitimate licensed animal traders. Each animal that is acquired must have a transfer of ownership that would show where they originated from.

Bats are more regulated than cannabis!

Name: Anonymous 2014-09-20 6:12

>>11-13
Hey! I have a baseball bat!

Name: Anonymous 2014-09-20 12:26

Hey! I have a bat roost in my anus!

Name: Anonymous 2014-09-20 13:21

>>7
admin-kike-sama, where is the code?
Is it unmodified Tablecat's?

Name: Anonymous 2014-09-20 15:21

>>16
The code for this board is in the FAQ, man. I've only made 2 or 3 shitty changes for things like showing sage and actually timestamping posts for IP rate limiting, and some style changes.

Name: Anonymous 2014-09-20 15:46

Posts with zero replies shouldn't be subject to this age limit.

Name: Anonymous 2014-09-20 15:57

>>18
age my anus

Name: Anonymous 2014-09-20 16:28

>>19
How's 50 years sound?

Name: Anonymous 2014-09-21 14:47

>>7
Benchmark kareha-psgi (a kareha fork with plack/psgi support, obviously) and see if it performs any better.

Name: Anonymous 2014-09-21 15:15

>>21
I'm sure psgi does wonders for page loads under high traffic, but the whole flat files thing is probably making a big mess of everything.

Name: Anonymous 2014-09-21 17:12

>>22
I wrote a tiny script to spam it with tons of 1000 post threads to see what it does to performance. Once I get it to the size of this board I'll post my findings.

Name: Anonymous 2014-09-21 17:15

>>23
So far the spamming script is the bottleneck, believe it or not.

Name: Anonymous 2014-09-21 19:21

Cross posting from http://wakaba.c3.cx/sup/:

Say I have a persistent version of Kareha. Would caching the log in an array and creating a hash of references to each row in the log with MD5 hashes or IP addresses as keys be an easy to squeeze more performance out of Kareha? If I understand correctly, the hash values shouldn't take up too much extra memory since they're refs, and the array itself shouldn't be any bigger than it would be in plain CGI Kareha. Is there anything I'm missing or misunderstanding?

Name: Anonymous 2014-09-22 17:55

tablecat-bbs-20111214$ wc -l *pm *pl|grep total
1493 total

This doesn't seem too bad, but tablecat (and virtually every Perl textboard) mixes HTML with the code, uses flat files and iterates through their contents in various places instead of using dedicated functions.

For fun I started writing bbs software to see how short it would be with better practices in use and SQLite3 backend. 100 lines into this nearly everything user-facing is done except bbcode rendering.

Does anyone have ideas for improving bbcode? I like nesting, what about:
{b {i {o {u foo}}}} —→ [b][i][o][u]foo[/u][/o][/i][/b]

with composition:
{b.i.o.u foo} —→ [b][i][o][u]foo[/u][/o][/i][/b]

I'm thinking quotes are the same, code is just markdown style with `backquote`,
indent blocks 4, and
```
docstring block style
```

Name: Anonymous 2014-09-22 18:22

>>26
Xarn-sama already solved this problem.
http://cairnarvon.rotahall.org/misc/sexpcode.html

Name: Anonymous 2014-09-22 20:11

>>26
This doesn't seem too bad, but tablecat (and virtually every Perl textboard) mixes HTML with the code, uses flat files and iterates through their contents in various places instead of using dedicated functions.
Kareha avoids doing those sorts of things for the most part. Its main problem is the log and the fact that its a CGI application. The latter has already been solved, and I'm currently looking into the former problem. I still haven't encountered the issues >>7 is having in Kareha though despite a ton of 1000 post threads. Seems like an issue with tablecat specifically.

Name: Anonymous 2014-09-22 21:49

>>27
No, read section 2 again. He made bbcode nice in section 1 by aping TeX like a sensible person might do. Then he made it worse in section 2. I think I better just do markdown in case anyone gets the notion I think sexpcode is good idea.

>>28
CGI can't be causing the problem in >>7 since it's a static per-request overhead (unless there's process accounting in the web server), every request is slower but only by a fixed amount, traffic notwithstanding. It's not like we're under c10m loads here.

Name: Anonymous 2014-09-23 3:21

Markdown is poop.

Name: Anonymous 2014-09-23 18:19

>>29
CGI might not be causing the problem but it certainly prevents a lot of easy solutions. I'm in the middle of implementing >>25, and its not something that could be done without moving away from it. Speaking of >>25, just how stupid of an idea is it? Obviously it will get remedy the speed issue, but I can't help but worry about memory usage. Just how big can these log files get? I've managed to push mine to 16MB so far...

Name: Anonymous 2014-09-23 20:56

Don't worry Admin-chan, my node.js textboard is half way done!

Name: Anonymous 2014-09-23 22:11

>>30
le pedophile sage

Name: Anonymous 2014-09-24 0:00

Update to >>26
I wasted a bunch of code on writing a query builder. It's time to confess I'm not doing this in Perl. In fact there are few DBI type things available, so I got sidetracked fixing the ergonomics of writing/using queries. On the other hand, after wasting about 100 lines, queries look like this:

dbh SELECT(*) FROM(thread) WHERE(threadId == ${threadId}) execute
dbh BEGIN
dbh INSERT(threadId, comment) INTO(table) VALUES(threadId, comment) execute
dbh COMMIT


You rarely need to type quotes, all interpolations (i.e. VALUES and WHERE clauses) are escaped with the SQLite-specific function.

Still procrastinating on bbcode.

>>31
The solution in >>25 can be done with CGI. The best way to cache the log is to put it in a database and do all that work out-of-process, regardless of whether or not you're doing CGI. RDBMSs are good at: caching, searching, indexing and isolation. It's why we use them.

Caveat: there are cases for in-memory dbs. I wouldn't bother for something like this, because persistence. What are you doing about persistence anyway?

Speaking of >>25, just how stupid of an idea is it?
I wouldn't do it, but at least it's better than having some number of processes banging against a locked file. If you're worried about memory usage, put it in a RDBMS. Again, this will do caching intelligently.

Name: Anonymous 2014-09-24 8:17

>>33
I can't be a pedophile if I am 8.

Name: Anonymous 2014-09-24 14:20

>>34
Yeah using a database is normally the obvious choice, but I was under the impression that there was a good reason to avoid it, since shiichan, kareha, and now tablecat have all taken measures to use flatfiles as efficiently as they can.

Name: Anonymous 2014-09-24 14:22

>>34
What are you doing about persistence anyway?
Not using CGI.

Name: Anonymous 2014-09-24 14:55

>>36
It's probably to avoid dependencies or needing credentials. But you shouldn't take their lead, CGI.pm has been deprecated for ages now and I don't know if it's even still in CPAN. SQLite 3 is everywhere and doesn't need credentials. You can even use it in-memory if you really want to.

>>37
And when the power goes out?

Name: Anonymous 2014-09-24 16:29

>>38
And when the power goes out?
I'm still writing to the log, just not reading from it after every post/deletion/md5 lookup, etc.

Name: Anonymous 2014-09-24 16:40

>>38
SQLite is just as bad as flat files in terms of performance, at least in my experience. I built an application at work that has around 200,000 records (albiet each row probably has a lot more data than your typical Kareha log) and it can take up to a minute to grab the first 50 rows.

Name: Anonymous 2014-09-24 17:03

>>40
SQLite is a flat file.

Name: Anonymous 2014-09-24 19:35

>>40
Did you add an index?

Name: Anonymous 2014-09-24 20:35

>>36
Shitchan (the python clone) uses sqlite and stores threads as compressed flat files inside the db. The compression savings is huge but it's intensive to access and edit threads.

Name: Anonymous 2014-09-24 20:35

>>40
That sounds very wrong. SELECT * FROM whatever LIMIT 50 shouldn't take that long unless it physically takes a minute to get that amount of data from the disk. If that's the case, you have misunderstood the benefit, try getting the *last* 50 rows instead.

But your query was probably more complex than that, and maybe you had no indices or referenced a large field in a WHERE or ORDER BY clause.

SQLite isn't the fastest but it will handily show a great improvement over flat files for non-sequential access.

Name: Anonymous 2014-09-24 22:07

Well, here's a good reason to avoid CGI: http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html

He's scanning with http://seclists.org/oss-sec/2014/q3/649

tl;dr gnu bash environment export of functions allows command execution. Any service that lauches a gnu bash shell with tainted environment variables (including some CGI implementations) allows remote code execution.

>>43
That's surprising, unless the de/compression is done in pure Python, or it's something slow like bzip. (It took me a minute to realize you weren't talking about shiichan.)

Name: Anonymous 2014-09-24 23:56

>>45
It's something slow. DEFLATE with maximum compression, provided through python's standard library.

http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html

Name: Anonymous 2014-09-25 0:49

>>44
Its literally a "SELECT * FROM table LIMIT 50" and the disk has no problem keeping up when it comes to anything else.
>>42
No, but there aren't any WHEREs.

Name: Anonymous 2014-09-25 8:11

>>47
That's weird. It's never been like that for me.

Name: Anonymous 2014-09-25 8:39

>>47
Very strange, and this was SQLite 3?

Name: Anonymous 2014-09-25 14:01

>>49
>>48
Yes. I honestly have no explanation as to what was wrong other than the size of each row. Either way I didn't expect it to be THAT slow.

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