pr0n FAQ

Last updated September 11th, 2006

So, what is this pr0n thing anyway?

pr0n is my very own gallery system. It is used on a few different host names, most notably at pr0n.sesse.net to show images I and others have taken at events I care about (some more than others, of course).

Why the name? Is this some kind of fetish site?

The name "pr0n" (scriptkiddie-speak for "porn", of course) was just seen as a very good fit for an image gallery. :-) There is no (and will not be any) adult content on this site.

Can I upload my own images here?

Yes, you can, as long as they're related to one of the events already here. Contact me (see the bottom of the page) for more information.

Can I download all the pictures for viewing?

Sorry, no. First of all, please don't use any "web mirroring" program to download all the images -- of course, I can't stop you, but you're putting a lot of unneccessary load on the system. There are two main reasons for not downloading all the pictures: First, there is a question of copyright; not all images here are taken by me, and I've been given permission to display them here, not to pass them on. Second, keep in mind that some of the events contain several gigabytes of images -- do you really need all that? I'd advise you to crank up the thumbnail size to the maximum possible size instead; it's quite comfortable to browse images on without having to click back and forth all the time. (Either that, or use the fullscreen feature -- the most obvious keyboard shortcuts are in place, so it should be comfortable enough for most uses.)

I just changed thumbnail resolution, why is everything so slow?

Probably the requested size was never generated before, so the server has to scale all the images. As the scaling method used is geared towards getting good-quality, sharp thumbnails, not speed, this can take a while. It's all getting cached on disk for later re-use, though, so the next time somebody views the same images in that resolution, it will be snappy as usual.

Why didn't you just throw up Gallery?

Because it didn't fit my needs, and the same goes for all other systems I've seen. I wanted something no-nonsense that would work for my purposes -- I don't want to click around endlessly just to watch some pictures. Others are of course free to do as they wish, I can't impose my will on anybody :-)

What are the primary features of pr0n?

Mostly that it's no-nonsense and just works, without being in your way. Also, it has dynamical rescaling (of good quality -- proper, sharp thumbnails, no crappy nearest-neighbor scaling) of both thumbnails and images (most client-side scaling sucks quality-wise, unfortunately), an easy-to-use WebDAV-based upload interface and in general good performance (being a set of persistent, optimized Perl modules; I've seen it throw out over 300 hits a second, but I won't guarantee it would withstand a Slashdot attack ;-) ). Also, it has quite OK skinning capabilities, so it's able to adapt into different designs quite easily.

What hardware/software does it run on?

pr0n currently runs on an Athlon 64 X2 3800+ with 2GB RAM and ordinary SATA disks. (The server does a lot of other stuff besides running pr0n, of course.) pr0n itself is a custom-made system by myself, tightly coupled into Apache 2.0, mod_perl 2.0 and ImageMagick 6.x (as well as various other Perl modules), using PostgreSQL 8.1 as the back-end database for metadata et al. The base operating system is Debian etch (ie. “testing”).

The Perl modules aren't really that big -- we're talking about only approx. 2200 lines of code (of which ~25% is the WebDAV part; I should really make that a bit cleaner once). Most of the real work is done by the software on which pr0n builds on.

How much data is there in there, anyway?

At the time of writing, approximately 61GB of image data (that is, over 47000 different images), plus cache, plus metadata in the SQL database. (These numbers are growing rather rapidly, so they could be outdated at any given time.)

Can I get the source?

Probably, but are you sure you can get it to work? It's non-trivial to set up, as it depends on lots of odd modules and a lot of custom configuring; this is not a pre-made, user friendly package for your favourite Linux distribution. There is a bzr repository at http://bzr.sesse.net/pr0n/, but going to hold your hand configuring it. :-) (Hint: If you do not know what bzr is, and cannot find out on your own, pr0n is not for you.)

Will you implement feature X?

Probably not; I have a lot of things to do besides programming new features. Also, I'm not really sure if I want tons of stupid people writing stupid comments under my images, or icky HTML pages with "previous" and "next" buttons instead of just getting directly to the images :-) If you really have a novel or cool feature, feel free to contact me (see below).

Is the upload WebDAV server RFC-compliant?

Unfortunately, no. When and if somebody makes a sane framework for making WebDAV servers I can use, it probably will, but ATM it's just too much work for what I need it for. It would be a lot easier if I only had to support WebDAV level 1, but due to silly restrictions in Mac OS X' WebDAV client I have to support WebDAV level 2 as well, and, well, most of that is faked. ;-) In addition, there are multiple minor features in the system (like autorenaming files on name clashes) that just aren't easy to adapt to WebDAV. The WebDAV service is restricted, though, so I guess rather few people will get hurt just because I'm not fully compliant ;-)

How do I get in touch with you?

Try e-mail, or reach me on IRC as Sesse on EFnet, IRCnet, Freenode or OFTC.