code logs -> 2007 -> Fri, 02 Feb 2007< code.20070201.log - code.20070203.log >
--- Log opened Fri Feb 02 00:00:07 2007
00:00
< Vornicus>
The worst thing about being a programmer is that there are so many things that just /scream/ for your attention but you never have time to do any of them.
00:08 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:08 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:10 ChalcyGone is now known as Chalcedon
00:35 * McMartin learns about asprintf.
00:36
<@ToxicFrog>
...asprintf?
00:37
<@ToxicFrog>
Oh, sweet.
00:37
< Vornicus>
asprintf?
00:37
<@ToxicFrog>
Damn, I wish I knew about this five years ago.
00:37
<@ToxicFrog>
Vornicus: like sprintf, but allocates the destination string for you.
00:37
<@ToxicFrog>
DESCRIPTION
00:37
<@ToxicFrog>
The functions asprintf() and vasprintf() are analogues of sprintf() and vsprintf(), except that they allocate a string
00:37
<@ToxicFrog>
large enough to hold the output including the terminating null byte, and return a pointer to it via the first parame-
00:37
<@ToxicFrog>
ter. This pointer should be passed to free(3) to release the allocated storage when it is no longer needed.
00:37
<@McMartin>
Since it's neither C nor POSIX, it very likely didn't exist five years ago.
00:37
< Vornicus>
.../shiny/
00:37
<@McMartin>
CONFORMING TO These functions are GNU extensions, not in C or POSIX. They are also available under *BSD. The FreeBSD implementation sets strp to NULL on error.
00:45 Jan[dinned] is now known as Janus
00:48 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has joined #code
00:48
< Takyoji>
How would I be able to send POST form data from a PHP page?
00:50
< Takyoji>
So basically I need to have a shopping cart, and in order to transfer it properly I need a username and password of the merchant account sent to the form where the user writes their personal information in
00:52
<@ToxicFrog>
I'm not sure what you're asking.
00:52
<@ToxicFrog>
If it's "how to generate a page such that when the form is submitted it uses POST rather than GET", this is an HTML question, not a PHP question.
00:52
<@ToxicFrog>
And the answer is to use method="POST" in either the <form> or <submit> elements, I can't remember which, check the spec.
00:53
<@ToxicFrog>
Probably <form>.
00:53
< Takyoji>
For example: A user buys products on our store, clicks "Checkout" which brings them to a secure website (our merchant account) to put in their credit card information. And what I need is, is to have it transfer a username and password via POST to the secure website
00:54
< Takyoji>
I guess I could just use <form> instead..
00:54
<@ToxicFrog>
<input type="hidden" name="username" value="foo">
00:54
<@ToxicFrog>
Unless you don't want that visible to the user?
00:54
< Takyoji>
yea..
00:54
<@ToxicFrog>
What are you using instead of FORM?
00:54
< Takyoji>
That's what I was intentionally planning
00:54
< Takyoji>
is there anyway to use PHP for it
00:55
< Takyoji>
so that it isn't visible in the HTML directly
00:55
<@ToxicFrog>
...
00:55
<@ToxicFrog>
Umm.
00:55
<@McMartin>
POSTs only happen as a result of the HTML generated, nicht wahr?
00:55
< Takyoji>
Or should I just go with a hidden field since it is kind of unnessesary
00:55
< Takyoji>
ohh.
00:55
<@ToxicFrog>
<input type="hidden" name="authkey" value="some arbitrary hash value"> and then use that as an index into some structure accessible to the PHP backend?
00:56
< Takyoji>
I guess I'm just being stupid
00:56
<@McMartin>
The only other solutions I can think of involve cookies.
00:56
<@McMartin>
In which case, ew.
00:56
< Takyoji>
The account is basically used for adding transactions
00:56
< Takyoji>
nothing else
00:56
< Takyoji>
as of how the user rights are set
00:56
< Takyoji>
So just use a hidden form field instead?
00:57
<@McMartin>
Well
00:57
<@McMartin>
Don't rely on anything in the HTML for "secret" data.
00:57
<@McMartin>
Because teh h4xx0rz can always forge requests.
00:57
<@McMartin>
Stuff that needs to stick around between pages should probably be handled via some kind of session object.
00:58
<@McMartin>
I'm not sure how PHP handles that, but I know it can.
00:58
< Takyoji>
Its for transactions that would come to us anyway
00:58
< Takyoji>
So just forget security and do it the HTML way?
01:00
<@McMartin>
Well, is it insecure if the user can read it or reset it?
01:01
< Takyoji>
Nah, all they could do with the username and password is give us money anyway...
01:02
< Takyoji>
not remove money or delete the account
01:02
<@McMartin>
... Could user B force user A to give you money?
01:03
< Takyoji>
They could basically go into the merchant account software login, use the username and password, which they would then be able to only put in their personal information and credit card information to make a money transaction to us
01:04
<@McMartin>
Hmm. That sounds like replay attacks probably wouldn't work, then.
01:04
<@McMartin>
But I'd check that myself if I were you
01:04
< Takyoji>
We basically have the store software, but when the person wants to buy it, it brings them to a different website for inserting their credit card information in a secure manner
01:05
< Takyoji>
So yea, just use <input type="hidden"> anyway, right?
01:05
<@McMartin>
Just don't let that data leave the secure area.
01:05
< Takyoji>
in a form. Since it is kinda unnecessary to hide it
01:05
< Takyoji>
oh, it doesn't
01:06
<@McMartin>
Yeah, so, if this is basically PHPSESSIONID you're tossing around, you're probably fine.
01:06
<@McMartin>
Though I thought PHP handled that on its own (and would use GET or cookies, depending)
01:06
<@McMartin>
My knowledge of this is sketchy at best, though
01:21 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
01:21 mode/#code [+o Chalcy] by ChanServ
01:22 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Killed (NickServ (GHOST command used by Chalcy))]
01:22 Chalcy is now known as Chalcedon
01:27
<@McMartin>
=/: http://www.cnn.com/2007/US/02/01/missing.sailor.ap/index.html
01:33
< Janus>
One of the seniors at Google proposed using their satallite imaging to help find him, though, the way he disappeared doesn't seem like an accident.
01:47
<@ToxicFrog>
Argh. I need to develop a greedy algorithm that finds an optimal result for the schedule/profit problem.
01:48
<@ToxicFrog>
I know that neither soonest-deadline nor highest-profit are optimal.
01:48
<@ToxicFrog>
Hmm. Latest-deadline highest-profit?
01:49
<@ToxicFrog>
Yes, I think that's optimal.
01:51
< Takyoji>
How do I extend the length of a session in PHP?
02:00 TakyojiClone [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has joined #code
02:02 Takyoji [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has quit [Ping Timeout]
02:58 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has joined #Code
03:02 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Eww-- that's where cooties come from.]
03:34 BlueTiger is now known as BT\Futurama
03:34 BT\Futurama is now known as BT
03:34 BT is now known as BT\Futurama
03:40 TakyojiClone [~Takyoji@Nightstar-25280.dhcp.roch.mn.charter.com] has quit [Connection reset by peer]
03:49 MahalWork is now known as Mahal
03:51 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
03:51 mode/#code [+o Chalcy] by ChanServ
03:52 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
03:57 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
03:58 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
03:58 ChalcyGone is now known as Chalcedon
04:14 BT\Futurama [BlueTiger@Nightstar-567.natsoe.res.rr.com] has quit [Quit: ]
04:17 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
04:17 mode/#code [+o Chalcy] by ChanServ
04:19 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
04:31 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
04:32 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
04:33 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Quit: ]
04:54 ReivWork is now known as Reiver
05:52 Reiver is now known as ReivOut
06:50 Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer]
07:36 Netsplit DeepThought.NY.US.Nightstar.Net <-> Troika.TX.US.Nightstar.Net quits: @Pi, @Raif, @ReivOut, AnnoDomini, @jerith, Mahal, @Chalain
07:39 Netsplit over, joins: Chalain, jerith
07:39 mode/#code [+o Chalain] by ChanServ
07:39 Netsplit over, joins: Mahal, AnnoDomini
07:39 ReivOut [~reaverta@58.28.144.ns-11151] has joined #Code
07:39 Raif [~corvusign@Nightstar-22484.hsd1.ca.comcast.net] has joined #Code
07:39 mode/#code [+o jerith] by ChanServ
07:39 mode/#code [+o Mahal] by ChanServ
09:35 Pi [~sysop@Nightstar-6915.hsd1.or.comcast.net] has joined #code
09:35 mode/#code [+o Pi] by ChanServ
09:57 You're now known as TheWatcher[wr0k]
10:13 timelady [~romana@Nightstar-14746.lns6.adl2.internode.on.net] has joined #Code
10:58 timelady [~romana@Nightstar-14746.lns6.adl2.internode.on.net] has quit [Quit: run away! run away!]
11:18 gnolam [Lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
11:40 Vornicus is now known as Vornicus-Latens
11:59 Serah [~-@87.72.36.ns-26407] has quit [Ping Timeout]
12:10 Serah [~-@87.72.36.ns-26407] has joined #Code
14:04 MyCatVerbs [~rb6822@Nightstar-18501.cs.bris.ac.uk] has joined #code
14:04
< MyCatVerbs>
Everybody in my classes seems to hate Haskell except for me. >_>
14:18
< EvilDarkLord>
Deviant!
14:41
< MyCatVerbs>
Them or me?
14:42
<@jerith>
I've never really looked at Haskell.
14:42
<@jerith>
First on my list is Erlang, then a lisp of some kind.
14:44
<@ToxicFrog>
Scheme.
14:44
<@ToxicFrog>
CLISP is depressingly per-like.
14:44
<@ToxicFrog>
*perl-like.
14:44 * MyCatVerbs is trying currently trying to pick up (cons (either CLISP Scheme) ML) in his spare time but being taught (cons Java Haskell) in classes.
14:45
<@ToxicFrog>
Reading SICP will get you Scheme as a side effect, which is nice.
14:46
<@jerith>
I was tending towards Scheme, since I own an as yet unread copy of SICP.
14:46
< MyCatVerbs>
What'll watching SICP do to you? =)
14:47
<@ToxicFrog>
And Haskell seems very similar to ML in some ways, so if you're picking up Haskell in classes ML should be easier later on.
14:47
<@ToxicFrog>
MCV: presumably the same thing, but I haven't watched it.
14:48
<@jerith>
I don't suppose someone wants to download the SICP videos, burn them to dvd and post them me?
14:48
<@jerith>
+to
14:48
< MyCatVerbs>
jerith: I've already downloaded and burned them to CDs, which I have lying around at home.
14:48
< MyCatVerbs>
jerith: oh and I have piles of writable DVDs just sitting around, not doing much... what'll the airfare be like?
14:49
<@jerith>
No idea. Does your postal service have a website that gives you rates to South Africa?
14:49
< MyCatVerbs>
I wonder if I can make the TAs here twitch like buggery by using K&R style to write Java programs...?
14:49
<@jerith>
MCV: That's likely to be counterproductive.
14:49
<@ToxicFrog>
Java won't accept K&R syntax, IIRC.
14:50
<@ToxicFrog>
And it's a pain in the ass anyways.
14:51
< MyCatVerbs>
ToxicFrog: well no, it won't do old fashioned K&R grammar, but it'll still accept the One True Brace Style... =)
14:51
<@ToxicFrog>
Aah. Well, that's something entirely different.
14:52
<@jerith>
Unreadable code got marked down.
14:52
< MyCatVerbs>
Ooooh, I could make myself learn Whitesmiths, or maybe GNU... =D
14:52
<@jerith>
(While I was doing the marking, at any rate.)
14:52
<@ToxicFrog>
And if the TAs think anything like I do, they have awk scripts to convert between brace styles for ease of marking~
14:52
<@ToxicFrog>
jerith: the thing is, the readability of onetrue vs whateverthehelltheotheroneiscalled is entirely subjective.
14:52
<@jerith>
Of course, my standards for brace style were very loose. As long as indentation and bracing was consistent and somewhat sane...
14:53
<@ToxicFrog>
"This code is unreadable" should get marked down, but "I don't like the brace style you used" is just stupid.
14:53 * jerith nods.
14:54
< MyCatVerbs>
ToxicFrog: "It works perfectly but you copied your brace style from an IOCCC entry...?"
14:54
<@jerith>
For a language that has a strong dominant style, it's generally best to use it for class.
14:54
<@jerith>
In general, it's best to use the same style as the prof.
14:55
<@ToxicFrog>
MCV: submission of anything that could be mistaken for an IOCCC entry == fail, IMO~
14:55
< MyCatVerbs>
jerith: sycophacy!
14:55
<@jerith>
MCV: A lot of marking is done at night, in bad light with a headache.
14:55
<@jerith>
Anything you can do to make it easier works to your advantage.
14:55
< MyCatVerbs>
Heheh, yeah.
14:56
<@jerith>
You just have to realise that the purpose of school is not to learn but to score high on the tests.
14:56
< MyCatVerbs>
jerith: anyway. Airmail will probably only cost me a quid or two and take about half a week. Want me to?
14:56
<@jerith>
Sure. I can paypal you some cash or buy you a couple of beers when you next visit Cape Town. :-)
14:57
<@jerith>
Just make sure the package doesn't look like DCs.
14:57
<@jerith>
*CDs.
14:57
<@jerith>
(Anything that looks like it could be valuable is opened.)
14:58
<@jerith>
MCV: mail me (my nightstar address will do) and we can arrange the details.
15:00
< MyCatVerbs>
jerith: uhhhm, I'ma have to take off by train very, very soon. I don't know your nightstar address and I need to leave this lab in another twenty minutes, if I'm to get this done and still hit a train in time.
15:01
<@jerith>
my nick at nightstar.net.
15:01
<@jerith>
No rush, though -- it'll be a while before I have time to do anything with them.
15:02
< MyCatVerbs>
Fair 'nuff.
15:03
<@jerith>
It'll be a nice change to get real mail there for a change.
15:05
< MyCatVerbs>
jerith: sent. How lagged out is your email server?
15:05
<@jerith>
Dunno. Varies with factors I don't have any way measure.
15:07
< MyCatVerbs>
kk. Gimme a yell when you get it, or whenever you feel like replying.
15:08
<@jerith>
Well, that was quick.
15:09
< MyCatVerbs>
jerith: jiffy bags okay? I have a bunch of plastic CD slips which I can easily drop into envelopes...
15:10
<@jerith>
Sure, that sounds good.
15:10
< MyCatVerbs>
Righto. Just have to finish this exercise and then I'll be off.
15:45
< MyCatVerbs>
jerith: "Fish Hoek"?
15:47 * jerith nods.
15:47
<@jerith>
'Tis bilingual.
15:47
<@jerith>
Hoek is Afrikaans for "corner".
15:47
< MyCatVerbs>
Ah, sweet.
15:48
< MyCatVerbs>
Homogenous languages within one name, I like it. ^_^
15:48
<@jerith>
s/Homo/Hetero/
15:48
< MyCatVerbs>
...
15:48 * MyCatVerbs slaps himself with a corner of a fish.
15:48
< MyCatVerbs>
Yeah, whoopsy.
15:49
< MyCatVerbs>
Okay, anyway. Have fun. I'm off.
15:49
<@jerith>
Cheers. Thanks!
15:50
< MyCatVerbs>
No problem, I'm annoying enough in the meantime.
15:50 MyCatVerbs [~rb6822@Nightstar-18501.cs.bris.ac.uk] has quit [Quit: Swim, swim, hungry!]
16:39 MyCatSleeps [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has joined #code
16:39
< MyCatSleeps>
jerith: just pulling the SICP files off the CDs I left them on now...
16:39 MyCatSleeps is now known as MyCatVerbs
16:40
<@jerith>
Thanks. :-)
16:41
< MyCatVerbs>
No problem at all.
17:12
< MyCatVerbs>
Argh, fuckdammit.
17:12
< MyCatVerbs>
Suddenly the world seems full of hate.
17:13
<@jerith>
Really?
17:13
< MyCatVerbs>
Buncha fuckin' GPL hippies forked cdrtools under a more restrictive license.
17:13
<@jerith>
?
17:13
< MyCatVerbs>
(i.e. going from something akin to n-clause BSD to straight GPLv2)
17:13
<@jerith>
Why?
17:14
< MyCatVerbs>
No clue. The annoying thing is that in this new, ideologically friendly version, TAO support is somehow missing.
17:14
< MyCatVerbs>
So they've managed to fucking break the canonical "mkisofs . | cdrecord dev=bla -tao -" form. CUNTS!
17:15
<@jerith>
:-(
17:15
<@jerith>
I usually burn dao which gets translated to sao.
17:21
< MyCatVerbs>
Fucking ideologically obsessed TWATBAGS, argh.
17:22
< MyCatVerbs>
Thanks for the fucking drinks coaster, BASTARDS!
17:31 You're now known as TheWatcher[afk]
17:31 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
17:36 AnnoDomini [~farkoff@Nightstar-29581.neoplus.adsl.tpnet.pl] has joined #Code
17:43
<@ToxicFrog>
MyCatVerbs: so use the non-forked, working version?
17:45
< MyCatVerbs>
ToxicFrog: I'd love to, but my distro's maintainers switched over at some point.
17:46
< MyCatVerbs>
ToxicFrog: thinking about it, though, I'd probably have spent less time to have just downloaded the working version. Fucking zealots...
17:47
<@ToxicFrog>
Which distro is it?
17:48
< MyCatVerbs>
Arch Linux. Damn wierd, that. Usually they're a lot more pragmatic.
17:49
< MyCatVerbs>
e.g. they package up all the closed-source kernel modules you might need, quite happily. But allowing a working CD burning package instead of a GPL'd one? Oh, God no!
17:49 Serah [~-@87.72.36.ns-26407] has quit [Quit: Don't try to read the quit message, that is impossible. Instead only realize the truth; "there is no quit message" and you will see it is not you who read the quit message but the quit message who reads you.]
17:49
< MyCatVerbs>
Dammit. >_<
17:50
< MyCatVerbs>
Argh, FUCKING BASTARDS!
17:50
< MyCatVerbs>
I'll have to do this some other time. GNU's wonderful new cdrkit just coastered three fucking DVD+Rs in a row.
17:51
< MyCatVerbs>
jerith: will have to send you this shit some other day. Apologies for the lossage.
17:51 MyCatVerbs [~mycatownz@Nightstar-379.dsl.in-addr.zen.co.uk] has quit [Quit: I'ma leavin' for the weekend. Have fun, all.]
17:52
<@jerith>
I was about to suggest growisofs.
17:53
<@jerith>
Ah well, that's why we have an asynchronous communications system called SMTP.
18:04 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
18:04 mode/#code [+o Chalcedon] by ChanServ
18:38 Serah [~-@Nightstar-28403.proxy2.balk.dk] has joined #Code
18:46 You're now known as TheWatcher
18:47 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
18:56 ReivOut [~reaverta@58.28.144.ns-11151] has quit [Ping Timeout]
19:05 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
19:14 AnnoDomini is now known as AnnoDomini`
19:32 Luis [~lgm@Nightstar-29529.valparaiso.ecweb.cl] has joined #code
19:34 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
19:46 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
20:01 AnnoDomini` is now known as AnnoDomini
20:04 ReivOut [~reaverta@IRCop.Nightstar.Net] has joined #Code
20:05 ReivOut is now known as Reiver
20:19 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
20:54 AnnoDomini [~farkoff@Nightstar-29581.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
20:56 AnnoDomini [~farkoff@Nightstar-29581.neoplus.adsl.tpnet.pl] has joined #Code
21:25 Vornicus-Latens is now known as Vornicus
21:38 Mahal is now known as MahalOUT
21:57
<@McMartin>
http://thedailywtf.com/Articles/So_Bad_It_Needs_An_Apology.aspx
21:57
<@McMartin>
This is why autograders were invented
22:05
< Luis>
I wonder how can anyone survive with computers without any form of loop!
22:08
< gnolam>
eXtreme Loop Unrolling. All the rage now.
22:08
<@McMartin>
This is only an unroll if you count the for-switch.
22:09
<@McMartin>
Er, excuse me
22:09
<@McMartin>
The for-case paradigm
22:09
<@McMartin>
Which looks like this!
22:09
<@McMartin>
for (i = 0; i < 4; i++) {
22:09
<@McMartin>
switch (i) {
22:09
< Luis>
heee
22:09
<@McMartin>
case 0: a[0] = 1;
22:09
<@McMartin>
break;
22:10
<@McMartin>
case 1: a[1] = 5; break;
22:10
<@McMartin>
/// etc.
22:10
< Luis>
Duff's Device.
22:10
<@McMartin>
No.
22:10
< Luis>
...
22:10
<@McMartin>
Look more closely at it.
22:10
< Luis>
*pout*
22:11
<@McMartin>
It is, in fact, semantically equivalent to completely removing the "for" and "switch" statements, as "i" is entirely unreferenced in all case bodies.
22:11 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Connection reset by peer]
22:11 * Luis needs sleep.
22:11
<@McMartin>
(In duff's device, you abuse fall-throughs to automatically handle unrolling, say, eight times even if the number of iterations is not divisible by 8.)
22:12 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:12 mode/#code [+o Chalcedon] by ChanServ
22:20 Reiver is now known as ReivOut
22:21 Vornicus [~vorn@ServicesOp.Nightstar.Net] has quit [Ping Timeout]
22:22 Vornicus [~vorn@67.50.40.ns-3674] has joined #code
22:22 mode/#code [+o Vornicus] by ChanServ
22:23 You're now known as TheWatcher[T-2]
22:29 You're now known as TheWatcher[zZzZ]
22:45 Luis [~lgm@Nightstar-29529.valparaiso.ecweb.cl] has quit [Quit: VACATIONS!!!!! :P]
22:50
<@McMartin>
Hmm. http://www.rawmaterialsoftware.com/juce/index.php looks highly comprehensive.
22:50
<@McMartin>
I wonder if it actually works.
22:51 * Janus inspects it curiously.
--- Log closed Sat Feb 03 00:00:07 2007
code logs -> 2007 -> Fri, 02 Feb 2007< code.20070201.log - code.20070203.log >