-
Notifications
You must be signed in to change notification settings - Fork 60
/
FAQ-2shortplanks.html
253 lines (195 loc) · 9.03 KB
/
FAQ-2shortplanks.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<html>
<!-- page copyright Mark Fowler 2002-2004 -->
<!-- all rights reserved -->
<head>
<title>The Perl Advent Calendar / about</title>
<style>
.box {
background-color: white;
border-width: 2px; border-color: black; border-style: solid;
padding: 0.25em;
margin-top: 1em; margin-bottom: 1em;
margin-left: 2em; margin-right: 2em;
}
.camelimage {
border-width: 3px; border-color: black; border-style: solid;
width : 556;
}
body { font: Verdana, Geneva, Arial, Helvetica, sans-serif
color: black;
}
.doc { font: 90% Verdana, Geneva, Arial, Helvetica, sans-serif; }
.mylink { font: 90% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.copyright { font: 60% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.onthe { font: 60% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.externalnav { font: 60% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.internalnav { font: 60% Verdana, Geneva, Arial, Helvetica, sans-serif; }
.disablednav { font: 60% Verdana, Geneva, Arial, Helvetica, sans-serif; color: #aaaaaa }
.hugeheading { font: bold 250% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.bigheading { font: bold 180% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
.modtitle { font: bold 130% Verdana, Geneva, Arial, Helvetica, sans-serif; text-align: center; }
}
dt,dd { font: 90% Verdana, Geneva, Arial, Helvetica, sans-serif }
pre { font: 100% Monaco, ProFont, Courier, monospace; }
a { text-decoration: underline; }
a:link { color: #1e2d39; }
a:visited { color: #1e2d39; }
\
a:hover {
color: red;
text-decoration: underline;
}
a:active { color: red; }
img { display: block; }
</style>
<base target="_top" />
</head>
<body bgcolor="#ff7f00">
<div class="bigheading">The Perl Advent Calendar</div>
<div class="externalnav"><a href="FAQ-2shortplanks.html">[about]</a> | <a href="archives.html">[archives]</a> | <a href="contact.html">[contact]</a> | <a href="./">[home]</a></div>
<br />
<div class="box"><div class="modtitle">About the Advent Calendar</div></div>
<div class="box">
<div class="doc">
<p>
Hi, and welcome to the fifth edition of the Perl Advent Calendar.
</p>
<p>
The Perl Advent Calendar is an online advent calendar that features a
different Perl module each day for the twenty-four days of advent, and
an extra module on Christmas day. Or if you're not Christian, it's a
site that annually features descriptions of a new module for twenty
five days starting on the first of December.
</p>
<h2>The History of The Perl Advent Calendar</h2>
<p>
It all started three years ago on the 30th November, when the <a href="http://london.pm.org/">London
Perl Mongers</a> were having a quiet social drink in the pub. We were
talking about online advent calendars and the impracticality of
shipping chocolate through your web browser. I suggested that someone
should do a Perl Advent calendar, where instead of chocolate or a
pretty picture you get something Perl related each day.
</p>
<p>
Remembering this conversation the next day at lunchtime I quickly
hacked together a Calendar and picked a module. For the first year I
had nothing but links to each day and the module documentation -
created with pod2html. I was surprised how popular this was. It got
punted on from the London.pm mailing list to <a href="http://use.perl.org/">use.perl.org</a>, <a href="http://www.ntk.net">NTK</a> and
even as far as the <a href="http://www.ora.com/">O'Reilly</a> front page. Soon I was getting a lot of
traffic - to put it in perspective more hits to my tiny little server
than one of the UK's largest broadcasters was at the time.
</p>
<p>
So a year passed. And, Christmas, as it has a habit of doing, came
round again. While I had decided to do another advent calendar,
certain things it would seem were destined to thwart my efforts. The
first of these was my stupidly scheduling a holiday in late November,
just at the time when I needed to be working hard on improving the
codebase. Still, given the choice again I think I'd still consider
lying on the beach on a Caribbean island the sensible option. The
second of these was a less pleasant distraction - while I was abroad
the shared colo box was attacked by a cracker, meaning my friends had
to do a reinstall just before the site meant to go live.
</p>
<p>
The long and the short of it was that 2001's calendar was almost as
rushed as the previous year. I bodged the whole site together in a
couple of days. Perl, of course, is powerful, so I got away with it
and live to code another day. But this year, I was determined to do it
better. I gave a quick talk of how I bodged the calendar together at a
London.pm tech meet, if you're interested - the slides are online here
</p>
<h2>In 2002's Calendar</h2>
<p>
So, in 2002, I decided to try and make the calendar a bit better. One
of the favoured sections from the slightly improved 2001 version was
the little descriptions I added saying why I thought a module was good
and why I'd picked it. In 2002 I decided to improve things by ditching
the module documentation completely (since <a href="http://search.cpan.org/">search.cpan.or</a> has a shiny
new interface now it make more sense to link to that) and improve
these comments by providing a little more of my own documentation
and/or tutorial on the page where it used to be.
</p>
<p>
The whole site is essentially static html that's generated every time
someone makes a change. This is a much more limiting system than
using a proper mod_perl based solution, but due to the way certain
sections are done makes certain implementation details a lot
quicker. Given that I expect the site to be viewed considerably more
times than it's updated it makes sort of sense. The whole site is
served by the <a href="http://www.acme.com/software/thttpd/">thttpd</a> webserver which has a very small memory
footprint, and is quite efficient.
</p>
<p>
Paul 'blech' Mison wanted me to do an RSS feed so he could display it
on their wall mounted terminal in their house (oh, and probably so
infobot can access it.) I obliged him by using the XML::RSS module.
</p>
<h2>In 2003's Calendar</h2>
<p>
I decided that if people liked my comments, it'd be great if they
could leave comments themselves. I thought about many ways I could
create a user system and allow comments. When it all came down to it,
I realised that I'd have to get people to sign up via email, and this
would be tedious and no-one would really be bothered. Then I realised
that most people would already have a use.perl.org account. And
use.perl.org already had a set up comment system that I could create
my own journals in. And I then realised I wouldn't have to do any
coding, and being the lazy programmer I am, this seemed like a good
thing.
</p>
<h2>In 2004's Calendar</h2>
<p>
Not much has been added this year - the calendar's maturing, and
all the features that I have time to add have been added. This year
I've tidied up the HTML, and got rid of most of the tables (it now
uses divs for nearly all it's layout - suggestions on how to remove
the last few tables would be great.)
</p>
<p>
Mainly this year, I've worked out that trying to do the advent
calendar, while being really busy at work, while trying to help <a
href="http://london.pm.org/lpw">help organise a Perl conference</a>,
while trying to conduct the no small matter of planning a wedding is
very exhausting. More features next year maybe then ;-).
</p>
<h2>And My Oscar Speech</h2>
<p>
Big thanks need to go out to all the people that have helped me with
the calendar. First and foremost, thanks to M. for the wonderful camel
graphic that is the calendar itself. After spending five hours trying
to find copyright free images of the wise mens' camels, she came to
the rescue and simple drew some for me. Thanks also to L. for the last
minute work she put in doing quick alterations to the graphics. I owe
you guys.
</p>
<p>
Thanks to the people that have helped me with the code that actually
runs this site. I owe Andy Wardley big time for writing the Template
Toolkit which this uses to create the static pages. Thanks to the
various people that have helped me pick modules for these years.
</p>
<p>
Thanks, above all else to the people that wrote the modules
themselves and the people who put all the hard work into developing
perl itself. Without these people, there would be no advent calendar.
</p>
<p>
E, thanks for understanding when I spend all my spare time doing this.
</p>
<!-- modern insertion 2007 -->
<h2>See Also</h2>
The modern <a href="FAQ.html">FAQ</a> and first
<a href="2000/about.html" target="_self">about</a> document.
</div>
</div>
<!-- Created 2004-12-01T03:06:31 -->
<br/>
<div class="copyright">
Copyright 2000-2004 Mark Fowler, all rights reserved.<br/>
This documentation may be distributed under the <a href="http://www.opensource.org/licenses/academic.php">Academic Free License</a><br/>
Comments/Complaints/Suggestions re this site: <a href="/contact.html">webmaster</a>
</div>
</body>
</html>