>>8
I said it _looks like_ slightly modified Thorn. You also make it sound like Thorn could not be modified to use either Postgres or Perl modules, but that's beside the point: the board has no original features as far as I can tell. If there's something there I'm missing, let me know. Otherwise, it might as well BE slightly modified Thorn. Or TrevorChan. Or Wakaba. Futallaby. etc.
Name:
Anonymous2007-05-08 14:19 ID:ryB1yg6g
>>9
As long as you don't see the backend, kindly SHUT THE FUCK UP.
Thorn is one big pile of LOL, Trevorchan is just one big pile of shit. Wakaba and Futallaby don't have navigation frame automatically built and so on.
As usual, /b/tards make half-arsed clueless assumptions.
Name:
Anonymous2007-05-08 14:28 ID:DGMMPh2w
>>9 You also make it sound like Thorn could not be modified to use either Postgres or Perl modules
lol @ "modifying" a php script to be a perl script
Name:
Anonymous2007-05-08 19:26 ID:KKAaJubj
My thoughts:
I'm a regular on krautchan. It needs moar users. Lots of them.
The only thing that really bothers me about is "Bernd" on /b/, but we discussed that and it looks like it won't be changed. For shame.
Since we do need a German imageboard, I will continue visiting it nevertheless.
I also like the possibility of posting moar than 1 image per post or of posting flash/mp3/zip files. Maybe increase the amount of posted images to 10 and add the possibility to post avi/mpg files and it'd be perfect.
Name:
Anonymous2007-05-08 19:47 ID:Li3OvMls
>>10
Like I or any of your end users give a fuck what the fuck is in your saucecode? You basically have no answer to how your board has no original features. As I thought.
>>11
You don't modify a php script to be a perl script, but it IS possible to use perl modules within a php script if desired. You probably wouldn't know this, which is why you misinterpreted my previous post.
Sup guys, OP here. Why all the flaming over the silly board software?
It was never intended to be groundbreaking or revolutionary. It's yet another imageboard, after all. We just stole ideas from everybody else and tried to create something that works for us. Wakaba is tried and tested, but seemed to be a bitch to setup and maintain, as each board is actually a separate instance of the whole thing. Trevorchan has a less than stellar reputation for security/performance and also includes pretty much all of its HTML in the source code, so have fun customizing your site apart from the CSS. Thorn never really got past the beta stage and was abandoned by its own author over a year ago AFAIK. Einskanal ran on Thorn and we hated it. Yotsuba's source code (4chan modded futallaby) isn't public and futallaby itself is FUCKING ANCIENT.
So whatsa nigga tado? Build his own software with blackjack and hookers, obviously.
It's not based on any existing code and is written in 100% Perl. Right now we have:
- Multiple file upload
- Support for non-image filetypes
- Extraction and display of file metadata (for images, MP3s, torrents and ZIPs currently)
- Downloading files with their original filename or their internal id as a name
- Ability to generate board pages on the fly as well as caching them in the usual manner
- Oekaki applet support (Shi-Painter/Pro)
- Stickies/locked threads
- Ban system with appeals
- Pages generated using template system
- Captchas (currently turned off on krautchan)
- Multi-language support, configurable separately for each board
- Navigation and news/announcements pages created automatically
Name:
Anonymous2007-05-09 11:37 ID:Bridm5Nc
It looks like you put some work into it, I am impressed.
Downloading a file by its original filename was a feature I was trying to implement on my boards but never got around to it.
>>17 Downloading a file by its original filename was a feature I was trying to implement on my boards but never got around to it.
That's actually a super simple hack that can be implemented on most existing boards in just a few minutes. It's a script called download.pl that's called as follows:
/download.pl/123456789.jpg/originalname.jpg
It will then take the first part of the pathname and do an internal redirect to /files/123456789.jpg (works on Apache by doing a redirect with status code 200). To the browser it will look like you're downloading originalname.jpg. I always wondered why nobody else has this.
How many lines of code do you got?
About 8700, not counting the templates. I do have a pretty wasteful code style though, with curly braces on separate lines etc.
Name:
Anonymous2007-05-09 13:06 ID:eJx7em0C
I always wondered why nobody else has this.
Probably because it looks kind of hackish. If you're using a Perl script to output the image, you could also just send the Content-Disposition header.
Name:
Anonymous2007-05-09 13:09 ID:bbT0WWR6
as each board is actually a separate instance of the whole thing
lndir
I always wondered why nobody else has this.
It doesn't scale that well.
>>19 >>20
The file is still served by Apache, the script just does an internal redirect. Not much of a performance hit. Same as a banner rotation script.
>>20 lndir
Sure, some things can be shared. But it still looked too messy for my tastes. Not bashing Wakaba here though. If you don't mind dealing its issues, it works pretty well.
Name:
Anonymous2007-05-09 17:04 ID:/y18eu2R
I personally can't stand to read Wakaba's source. Maybe it's that it's Perl, or maybe it's just how WaHa coded it, but it's too painful.
I do think that 8700 lines of code is a fucking lot, though. I don't think Wakaba comes that close, I think it's a couple thousand or so. ? I don't remember.
Name:
Anonymous2007-05-09 17:05 ID:/y18eu2R
(Of course Wakaba is less ambitious, but even accounting for the features you've implemented, I still am curious how you reach that linecount.)
Name:
Anonymous2007-05-09 19:36 ID:g7a0KJh4
>>23
Apparently you haven't looked at Trevorchan's source, then. :/ When I started messing around with Wakaba, I knew absolutely 0 Perl... I knew only basic Java from a high school programming class (lol!), but it was still easy to grasp.
Name:
Anonymous2007-05-09 22:56 ID:IrqWHRIx
You're right, I haven't. I haven't really had reason to. Never had the desire to figure out what made it tick :)
Reading Perl only vaguely makes sense to me. There are just too many seemingly random characters for me to read. Give me a language like Ruby, Python, or even a more obscurely worded language like C and I can make sense of it much easier.
Name:
Anonymous2007-05-10 0:11 ID:7VrGlBme
>>22 Not much of a performance hit.
Believe me, it will be if your board becomes of decent size. The overhead you're getting isn't from your code but forking a new copy of Perl (or Python, or Ruby, or...). Think along the lines of Amdahl's Law with a large sequential constant.
If you insist on going this route, do yourself a favour and use FastCGI. Perl makes it dirt easy. You'll be hurting in short order otherwise.
>>26
As an aside about Perl, it's a beautiful language as long as you stick to a small subset and avoid the OO. You might be surprised at how easy it is to match Python for readability (really!).
Well, other than the parameter passing and list flattening, which you can't avoid. Ugh. :(
>>24 I still am curious how you reach that linecount.
Shrug. I can only blame the formatting and maybe my desire to keep things somewhat modular and easy to maintain.
>>27
Obviously it's always a good idea to run your Perl code with mod_perl or at least something like FastCGI where possible. But the point is, if you can afford to run a Perl script to rotate your banners, you can afford the download redirection script.
It isn't even meant to replace all file links (although you could certainly use it that way if you wanted to), it's simply an alternative link to allow a user to download a file using its original name. It will hardly affect your server load.
Also, remember that most large forums out there have pretty much all their pages generated dynamically (e.g. SA, Slashdot and the like). Sites where everything is static like on 4chan are actually the exception.
As an aside about Perl, it's a beautiful language as long as you stick to a small subset and avoid the OO.
There's no problem with the OO or other features of Perl, you just shouldn't expect them to be exactly like in other languages. If you keep trying to write Python or Java code in Perl, you should consider just using Python or Java. :)
Name:
Anonymous2007-05-10 2:22 ID:7VrGlBme
There's no problem with the OO or other features of Perl
Compared to other languages, I'd say there is (re: OO). You need to read Conway's book to effectively use the OO in Perl. It's certainly all very powerful, but I'd rather there was a simple default. Apparently Wall agrees, if you read Apocalype 12.
And you can't tell me there's not something wrong with parameter passing. What should be one line is at least two. Yech.
Also, remember that most large forums out there have pretty much all their pages generated dynamically (e.g. SA, Slashdot and the like)
If you can afford the hardware, that's one way to do it. Personally, I'd rather take the $9.99 plan if I can get away with it. :)
If you keep trying to write Python or Java code in Perl, you should consider just using Python
Unfortunately, I do. I don't like Python that much; there's something about it that rubs me the wrong way. However, Perl6 is still incomplete, and Ruby has its own problems, so it's not like I have much choice for mid-sized web-related apps.
PS. Death to Java. o.o-b
Name:
Anonymous2007-05-10 4:24 ID:QZCjWFKR
>>29
Aside from molasses-esque slowness, what's so wrong about Ruby? It is my language of choice for the moment.
Name:
Anonymous2007-05-10 9:18 ID:7VrGlBme
>>30
Ruby's great, except for two big things (for me): unicode and speed. Fix those and I'd use it for any personal web project in a heartbeat. My work uses RoR, but they can afford racks of blade servers...
I'm also missing Perl's strict mode with lexical variables, no huge CPAN (not such a big deal anymore with Gems), and I prefer s/// over gsub!().
You can get around all of those, but they still detract from the language a bit.
Name:
Anonymous2007-05-10 16:21 ID:kIEJh4Ud
Ruby 2.0 will have bytecode which means fastness eventually. Despite it's slowness I used it for my own imageboard project. Using Ruby on Rails I got a great deal of functionality out of so far less than 1000 lines of code.
Rapid development or impressive benchmarks, it's up to you.
Yeah, who cares about performance. Let's just use JAVA instead!
Name:
Anonymous2007-05-10 20:55 ID:7VrGlBme
Ruby 2.0 will have bytecode which means fastness eventually
Eventually.
All that YARV has managed is help Ruby2 catch up where Python and Perl currently are. Now consider what's going on in the Python world with Psyco and PyPy. Perl has Parrot, but I'm not sure where that's leading.
Rapid development or impressive benchmarks, it's up to you.
First, I want both. Second, depending on the circumstances, you often don't have a choice in the matter. "Throw more hardware at it" only works in certain circumstances.
Name:
Anonymous2007-05-10 22:36 ID:28RJUI6X
>>33
The problem with Java is that it's both slow AND a chore to develop in. Ruby is slow, but it's powerful, and powerful in very few lines of code, so it balances out.
>First, I want both.
Who doesn't? In my experience you don't get everything in one language, it's all a matter of what you want to get out of it. Perl is a solid language but I would describe it as something to rapidly develop with. I could code an imageboard in C and it would be extremely fast but it would take me ages to complete and would be nuts to maintain.
If I had coded my imageboard in Perl (assuming I were fluent in it) I'd probably still be working on it.
Name:
Anonymous2007-05-10 23:28 ID:mqOUUV2r
Thanks to the popularity of RoR there's an army of frameworks for all the popular dynamic-typed languages right now. It's not like the other languages are still sitting on their laurels with CGI.
In any case, I've deviated quite a bit from my original issue, which is that Ruby's slowness bothers me. And the unicode. :/
Name:
Anonymous2007-05-11 0:53 ID:jy3eM6mH
There are an army of frameworks, but not all of them are good. I'd say Rails is one of the best right now. Django and Symfony are pretty awesome too.
Name:
Anonymous2007-05-11 17:07 ID:+bHdKXAX
ITT: people who discuss executing speed for developing hevaily database and I/O bound applications.
Gotta love noobs.
Name:
Anonymous2007-05-11 17:14 ID:X1+aotT4
>>38
Database bound? Mai imegiborodu? lolwut?
PROTIP: static pages.
Name:
Anonymous2007-05-11 17:43 ID:+bHdKXAX
>>39
PROQUESTION: do your users get FTP access to edit the pages or how do they post?
Name:
Anonymous2007-05-11 17:54 ID:X1+aotT4
>>40
SPOILER: There are very few imageboards out there, that need to worry about performance. Come on, even 4chan (the biggest English one constantly using all of uplink) runs PHP+MySQL on Apache...
Right now, I can't understand the performance pissing contest at all. Instead of actually going and writing something, people spend time arguing about the language they should write it in.
Who the fuck cares? I mean, besides /img/ and /prog/ trolls and EXPERT PROGRAMMERS.
Just do it in the one you know the best, for crying out loud.
>>49 What makes you think that I'm a 7chan user?
Only 7failers would defend 7uckchan.
What would I be doing here, if that were the case?
Lurking here obviously (and checking out what memes you can steal), because 7chan is boring and full of cocksmokers like youself. All 7failers lurk here, unless they've been banned for failing too hard already.
>>57
But only a 7uckchanner would flame somebody for impersonating Trevor. Because they worship Trevor as a god.
Name:
Anonymous2007-05-11 23:22 ID:jy3eM6mH
Sorry, most web applications made on niggas' freetime are prone to bugs and exploits. Even WaHa fucked up on Wakaba a few times. You can take all the security measures you want and still fail to predict people's attacks. The idea is to respond to them, learn from them, etc.
For example, my friend recently got banned from digg.com for posting War and Peace in the comment box. Yes, digg.com, which is a pretty hueg site, didn't (perhaps still doesn't) check comment length and let him post 5MB worth of text.
Shit just happens like that.
Name:
Anonymous2007-05-12 2:42 ID:IoJ8NoMP
Yeah... Remember, I was talking about performance, not security? And yep, people should learn from mistakes and let others guide them. Trevor was warned already in version 0.3 about the holes, but he didn't fix them until 0.7. Now that is just criminally stupid.
Name:
Anonymous2007-05-12 22:26 ID:WaaOB5Wu
Question, how much time between 0.3 and 0.7 and, how many releases between 0.3 and 0.7?