Varnish, not Squid.
[pr0n] / files / faq.html
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE
3   html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
4   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
6   <head>
7     <title>pr0n FAQ</title>
8     <link rel="stylesheet" href="/pr0n.css" type="text/css" />
9   </head>
10   <body>
11     <h1>pr0n FAQ</h1>
12     <p>Last updated November 20th, 2015</p>
13
14     <h2>So, what is this pr0n thing anyway?</h2>
15     
16     <p>pr0n is my very own gallery system. It is used on a few different
17       host names, most notably at <a href="http://pr0n.sesse.net/">pr0n.sesse.net</a>
18       to show images I and others have taken at events I care about (some
19       more than others, of course).</p>
20
21     <h2>Why the name? Is this some kind of fetish site?</h2>
22
23     <p>The name "pr0n" (scriptkiddie-speak for "porn", of course) was just seen
24       as a very good fit for an image gallery. :-) There is no (and will not
25       be any) adult content on this site.</p>
26
27     <h2>Can I upload my own images here?</h2>
28
29     <p>Yes, you can, as long as they're related to one of the events already
30       here. Contact me (see the bottom of the page) for more information.</p>
31
32     <h2>Can I download all the pictures for viewing?</h2>
33    
34     <p>Sorry, no. First of all, please don't use any "web mirroring" program to
35       download all the images — of course, I can't stop you, but you're
36       putting a lot of unneccessary load on the system. There are two main
37       reasons for not downloading all the pictures: First, there is a
38       question of copyright; not all images here are taken by me, and I've
39       been given permission to display them here, not to pass them on. Second,
40       keep in mind that some of the events contain several gigabytes of images —
41       do you really need all that? I'd advise you to crank up the thumbnail
42       size to the maximum possible size instead; it's quite comfortable to
43       browse images on without having to click back and forth all the time.
44       (Either that, or use the fullscreen feature — the most obvious
45       keyboard shortcuts are in place, so it should be comfortable enough for
46       most uses.)</p>
47
48     <h2>Can you remove a picture of me?</h2>
49
50     <p>Yes! By Norwegian law you have the right to deny publication of an image
51       where you are identifiable (with a few exceptions). Just send me an e-mail
52       (see below) with the URL of the images you want removed, and I'll remove them.
53       No questions asked.</p>
54
55     <h2>I just changed thumbnail resolution, why is everything so slow?</h2>
56
57     <p>Probably the requested size was never generated before, so the server
58        has to scale all the images. As the scaling method used is geared
59        towards getting good-quality, sharp thumbnails, not speed, this can
60        take a while. It's all getting cached on disk for later re-use, though,
61        so the next time somebody views the same images in that resolution,
62        it will be snappy as usual.</p>
63
64     <h2>Why didn't you just throw up Gallery? (Or use Flickr, Picasaweb, etc.)</h2>
65
66     <p>Because it didn't fit my needs, and the same goes for all other systems
67       I've seen. I wanted something no-nonsense that would work for <em>my</em>
68       purposes — I don't want to click around endlessly just to watch some
69       pictures. Others are of course free to do as they wish, I can't impose
70       my will on anybody :-)</p>
71
72     <h2>What are the primary features of pr0n?</h2>
73
74     <p>Mostly that it's no-nonsense and just works, without being in your way.
75       Also, it has dynamical rescaling (of good quality — proper,
76       sharp thumbnails, no crappy nearest-neighbor scaling) of both thumbnails
77       and images (most client-side scaling sucks quality-wise, unfortunately),
78       an easy-to-use HTML5 upload
79       interface, cache awareness and in general good performance (being a set
80       of persistent, optimized Perl modules; I've seen it throw out over 300
81       hits a second even without the Varnish in front, but I won't guarantee it
82       would withstand a Slashdot attack ;-) ). Also, it has quite OK skinning
83       capabilities, so it's able to adapt into different designs quite
84       easily.</p>
85
86     <h2>What hardware/software does it run on?</h2>
87       
88     <p>pr0n currently runs on two Intel E5-2650v3 (2x10 cores at 2.30GHz) with 64GB RAM and
89       SATA disks, with some SSDs in front for cache. (The server does a lot of other stuff besides running pr0n, of
90       course.) pr0n itself is a custom-made system by myself,
91       a <a href="http://search.cpan.org/~miyagawa/PSGI-1.102/PSGI.pod">PSGI</a>
92       app server running under <a href="http://search.cpan.org/dist/Starlet/">Starlet</a>
93       behind <a href="https://www.varnish-cache.org/">Varnish</a> 4.1,
94       using <a href="http://www.imagemagick.org/">ImageMagick</a> 6.x
95       (as well as various other Perl modules) and
96       <a href="http://git.sesse.net/?p=qscale">qscale</a>, using
97       <a href="http://www.postgresql.org/">PostgreSQL</a> 9.4 as the back-end
98       database for metadata et al. The base operating system is
99       <a href="http://www.debian.org/">Debian</a> jessie.</p>
100
101     <p>The Perl modules aren't really that big — we're talking about only
102       approx. 2600 lines of code. Most of the real work is done by
103       the software on which pr0n builds on.</p>
104
105     <h2>How much data is there in there, anyway?</h2>
106
107     <p>At the time of writing, approximately 720GB of image data (that is, over
108       195000 different images), plus cache, plus metadata in the SQL database.
109       (These numbers are growing rather rapidly, so they could be outdated at
110       any given time.)</p>
111
112     <h2>Can I get the source?</h2>
113
114     <p>Probably, but are you sure you can get it to work? It's
115       non-trivial to set up, as it depends on lots of odd modules and a lot of
116       custom configuring; this is not a pre-made, user friendly package for your
117       favourite Linux distribution. There is a git repository at
118       <a href="http://git.sesse.net/?p=pr0n">http://git.sesse.net/pr0n/</a>, but
119       I'm not going to hold your hand configuring it. :-) (Hint: If you do not
120       know what git is, and cannot find out on your own, pr0n is not for
121       you.)</p>
122
123     <h2>Will you implement feature X?</h2>
124
125     <p>Probably not; I have a lot of things to do besides programming new
126       features. Also, I'm not really sure if I want tons of stupid people
127       writing stupid comments under my images, or icky HTML pages with
128       "previous" and "next" buttons instead of just getting directly to
129       the images :-) If you really have a novel or cool feature, feel
130       free to contact me (see below).</p>
131
132     <h2>How do I get in touch with you?</h2>
133
134     <p>Try <a href="mailto:sgunderson@bigfoot.com">e-mail</a>, or reach me
135       on IRC as Sesse on EFnet, IRCnet, Freenode or OFTC.</p>
136
137     <hr />
138     <p class="footer">pr0n v3.02,
139       &copy; 2004&ndash;2015 <a href="https://www.sesse.net/">Steinar H. Gunderson</a>.</p>
140   </body>
141 </html>