code logs -> 2007 -> Thu, 01 Feb 2007< code.20070131.log - code.20070202.log >
--- Log opened Thu Feb 01 00:00:18 2007
00:14 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #code
00:18 Raif [~corvusign@Nightstar-22484.hsd1.ca.comcast.net] has quit [Connection reset by peer]
00:38 Raif [~corvusign@Nightstar-22484.hsd1.ca.comcast.net] has joined #Code
00:38 mode/#code [+o Raif] by ChanServ
00:43 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:44 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:48 ChalcyGone is now known as Chalcedon
00:51 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Quit: ]
00:51 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:51 mode/#code [+o Chalcedon] by ChanServ
00:52 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Connection reset by peer]
00:53 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:53 mode/#code [+o Chalcedon] by ChanServ
01:49 Vornicus-Latens is now known as Vornicus
02:02 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
02:02 mode/#code [+o Chalcy] by ChanServ
02:04 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
02:06 Chalcy is now known as Chalcedon
02:25 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
02:25 mode/#code [+o Chalcy] by ChanServ
02:26 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
02:29 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
02:30 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
02:34 ChalcyGone [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
02:48 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
02:48 mode/#code [+o Chalcedon] by ChanServ
03:12 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Connection reset by peer]
03:20 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has joined #Code
03:27 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has quit [Quit: ]
04:06 MahalWork is now known as Mahal
04:58 ReivWork [~reaverta@IRCop.Nightstar.Net] has joined #Code
04:59 ReivWork is now known as Reiver
05:52 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has joined #Code
05:52 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has quit [Quit: ]
06:25 gnolam [Lenin@Nightstar-13557.8.5.253.se.wasadata.net] has joined #Code
06:44 Reiver is now known as ReivT-2
07:04 ReivT-2 [~reaverta@IRCop.Nightstar.Net] has quit [Quit: Rebooting. If I don't come back, I'm in #Nightstar as 'Reivus', my backup computer. Here goes nothing...]
07:11 ReivWork [~reaverta@IRCop.Nightstar.Net] has joined #Code
07:11 ReivWork is now known as Reiver
08:18 You're now known as TheWatcher
08:41 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Quit: ]
09:51 Mahal is now known as MahalBedd
10:15 Reiver is now known as ReivZzz
10:19 Ishtralimnar [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code
--- Log closed Thu Feb 01 10:19:51 2007
--- Log opened Thu Feb 01 15:54:24 2007
15:54 TheWatcher [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code
15:54 Irssi: #code: Total of 13 nicks [6 ops, 0 halfops, 0 voices, 7 normal]
15:54 mode/#code [+o TheWatcher] by ChanServ
15:54 Irssi: Join to #code was synced in 23 secs
16:11 ReivZzz [~reaverta@IRCop.Nightstar.Net] has quit [Ping Timeout]
17:13 You're now known as TheWatcher[afk]
17:31 AnnoDomini [~farkoff@Nightstar-29686.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
17:34 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has joined #Code
17:38 Reiver [~reaverta@IRCop.Nightstar.Net] has joined #Code
17:38 mode/#code [+o Reiver] by ChanServ
17:39 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
17:40 Serah [~-@Nightstar-28403.proxy2.balk.dk] has joined #Code
17:48 Reiver is now known as ReivWork
17:50 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
18:06 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
18:06 mode/#code [+o Chalcedon] by ChanServ
18:14 MahalBedd is now known as Mahal
18:24 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has quit [Quit: Juffo-Wup is a *candle*. It is filled with many *candy bars*.]
18:36 Mahal is now known as MahalWork
18:49 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has joined #Code
18:52 You're now known as TheWatcher
18:55 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has quit [Quit: Back to trying to fix the bloody thing.]
19:03 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has joined #Code
19:05 Syloq [Syloq@NetAdmin.Nightstar.Net] has joined #code
19:07 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has quit [Quit: Juffo-Wup is a *candle*. It is filled with many *candy bars*.]
19:09 AnnoDomini [~farkoff@Nightstar-29567.neoplus.adsl.tpnet.pl] has joined #Code
20:00 Syloq is now known as Syloqs-AFH
20:21 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has joined #Code
20:21 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has quit [Client exited]
20:47 Serah [~-@Nightstar-28403.proxy2.balk.dk] 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.]
20:56 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
20:56 mode/#code [+o Chalcy] by ChanServ
20:57 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
20:59 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code
20:59 Chalcy is now known as Chalcedon
21:24 Serah [~-@87.72.36.ns-26407] has joined #Code
21:32 Vornicus-Latens is now known as Vornicus
21:33 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has quit [Ping Timeout]
21:45 EvilDarkLord [althalas@Nightstar-15301.a88-115-211-62.elisa-laajakaista.fi] has joined #code
22:02 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:02 mode/#code [+o Chalcy] by ChanServ
22:03 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Killed (NickServ (GHOST command used by Chalcy))]
22:03 Chalcy is now known as Chalcedon
22:08 gnolam [Lenin@Nightstar-13557.8.5.253.se.wasadata.net] has quit [Quit: Sleep. Or something.]
22:10 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:10 mode/#code [+o Chalcy] by ChanServ
22:11 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Killed (NickServ (GHOST command used by Chalcy))]
22:11 Chalcy is now known as Chalcedon
22:13 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has joined #Code
22:20 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:20 mode/#code [+o Chalcy] by ChanServ
22:21 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
22:22 Chalcy is now known as Chalcedon
22:23 BlueTiger [BlueTiger@Nightstar-567.natsoe.res.rr.com] has quit [Quit: ]
22:35 You're now known as TheWatcher[T-2]
22:38 You're now known as TheWatcher[zZzZ]
22:47 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:47 mode/#code [+o Chalcy] by ChanServ
22:48 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
22:49 Chalcy is now known as ChalcyOut
22:55 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
22:55 mode/#code [+o Chalcy] by ChanServ
22:56 ChalcyOut [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
23:03
<@McMartin>
"At my local Barnes and Noble, there is a huge wall of Java books just waiting to tip over and crush me one day. And one day it will. At the rate things are going, one day that bookcase will be tall enough to crush us all. It might even loop the world several times, crushing previous editions of the same Java books over and over again."
23:04 * AnnoDomini chuckles.
23:06
< Vornicus>
heh
23:06
< Vornicus>
There are quite a lot of Java books.
23:07
<@McMartin>
I want to take all the people that made it necessary to make "POJOs" a buzzword, and beat them all to death with pottery while they drown in boiling oil.
23:08
< Vornicus>
pojos?
23:08
<@McMartin>
OK, so
23:08
< Vornicus>
plain old java objects?
23:08
<@McMartin>
There are all this ridiculous, massively heavyweight, cumbersome middleware frameworks out there, right?
23:08
< Vornicus>
I know them, yes.
23:08
<@McMartin>
And lots of them are being deployed because they'd like to associate a bunch of, say, strings with one another as a single record.
23:09
<@McMartin>
So, the standard thing to do when programming is to define a class with a bunch of String members.
23:09
<@McMartin>
But large corporations would not do this!
23:09
<@McMartin>
Until they started being called "POJOs".
23:09
<@McMartin>
Then it became very popular to do this!
23:09
<@McMartin>
Thus, beatings and drownings.
23:09 * Vornicus would just rather say "look up the db schema and build me some classes. Oh, and then add these methods to them"
23:10
<@McMartin>
Yeah, but Java's statically typed.
23:10
< Vornicus>
yeah
23:10
<@McMartin>
Most of the ridiculously cumbersome systems were ways to do that anyway.
23:10 * jerith would rather say "Minions! Write me some code!" :-P
23:10
<@McMartin>
If you're going to do what you describe in Java conveniently, one uses hashmaps.
23:11
< Vornicus>
Except for the whole plurals thing, this is what activerecord does.
23:11
<@McMartin>
Or runs an external script to make classes that mimic the DB schema, once.
23:11
< Vornicus>
but
23:11 * McMartin has no real issues with Hibernate, except for Gratuitous XML Usage.
23:12 * jerith used introspection in PHP the other day. Now *there* is a language that needs to be drawn and quartered.
23:12
<@McMartin>
Java's introspection techniques are just hard enough to use that people will only use them when they really, really mean it.
23:12
< Vornicus>
oh, god, php
23:12
<@jerith>
JAXB and friends must die horrible fiery deaths, though.
23:12
< Vornicus>
jaxb?
23:13
<@jerith>
Generates classes from an XSD.
23:13
< Vornicus>
aha
23:14 * McMartin has reached the conclusion that XML is OK as long as nobody ever has to look at it and it only hits the disk compressed.
23:14
<@jerith>
Except if you want to handle multiple versions of a schema, say for API beckwards compatability...
23:14
<@McMartin>
... and as long as it's not being used for internal communciation.
23:15
<@jerith>
You now have a bunch of different versions of the same classes. And you need to duplicate code for all of them.
23:15
<@ToxicFrog>
Using XML for internal communication is something that has resulted in (metaphorical) beatings at work.
23:16
<@McMartin>
The cost of XML parsing is trivial compared to, say, loading a file
23:16
<@McMartin>
But that's all it's trivial in comparison to.
23:16
<@jerith>
We use XML-RPC in a few places. That's between different subsystems on different boxen, though.
23:16
<@McMartin>
If there's Real I/O Happening, it's probably not an issue.
23:17
<@ToxicFrog>
jerith: in that case, the network overhead probably swamps the XML overhead unless you're doing lots of it on a fast pipe.
23:17
<@jerith>
And we mostly use it because (a) it's a minimal subset of XML and (b) we already had the libraries.
23:17 * McMartin certainly doesn't mind config files being written in it, because then he can just throw it at his zomgHAX library and win.
23:17
<@ToxicFrog>
(See, this is why I like using Lua tables instead, but you can't safely use them over the network ;.;)
23:17
<@McMartin>
(HAX: Half-Assed XML)
23:17
<@ToxicFrog>
Hee
23:18
<@McMartin>
(Simple Python library I wrote that turns an XML DOM into a bunch of nested hashes)
23:18 * ToxicFrog nods
23:18
<@McMartin>
(lossy, though. Hence the Half-Assed.)
23:18
<@ToxicFrog>
The thing about lua tables is that you already have the parser, for free, and it's already both size- and speed-optimized as well.
23:18
<@jerith>
XPath makes XML usable, though.
23:19
<@ToxicFrog>
The drawback is that you can't use it in any place where untrustworthy data could be inserted.
23:19
<@McMartin>
Command injection everywhere!
23:19
<@ToxicFrog>
McMartin: well, protecting against command injection is trivial.
23:19
<@McMartin>
jerith: minidom is nice too.
23:19
<@McMartin>
I haven't used XPath.
23:19
<@ToxicFrog>
It's protecting against [[ while true do end ]] that raises problems.
23:19
<@McMartin>
By "command" here I meant "Lua commands"
23:20
<@ToxicFrog>
If by commands you include function calls, my point stands.
23:20
<@ToxicFrog>
If you just mean keywords, yes.
23:20
<@McMartin>
Oh, right, you have to forcibly import "builtins"~
23:20
<@ToxicFrog>
You can protect against any exploitation, invocation or alteration of the host state, but not against infinite loops.
23:20
<@ToxicFrog>
No you don't.
23:20
<@ToxicFrog>
Builtins are, well, built in.
23:20
<@McMartin>
Er
23:20
<@McMartin>
Let's try that again
23:21
<@McMartin>
You have to forcibly import any interesting functions.
23:21
<@jerith>
McMartin: You do things like "foo/bar/text()" to get the text contents of <foo><bar>...</bar></foo>.
23:21
<@ToxicFrog>
I would contest that, as I find the standard string library quite interesting, but let's just let it slide.
23:21
<@McMartin>
Jerith: Aha. That is rather nice.
23:21
<@ToxicFrog>
However, that's not what I was talking about either.
23:21
<@jerith>
Pretty powerful, too.
23:21
<@ToxicFrog>
Even if you already have everything imported, you can protect against this stuff:
23:21
<@ToxicFrog>
loader = loadstring(buffer)
23:22
<@ToxicFrog>
-- error handling here if buffer didn't parse
23:22
<@ToxicFrog>
setfenv(loader, {})
23:22
<@ToxicFrog>
table = loader()
23:22 * Vornicus just wants ActiveRecord. Maybe without the pluralizing, but he wants ActiveRecord.
23:22
<@ToxicFrog>
The setfenv gives loader an empty table as its global state, preventing it from calling, reading or writing anything but itself.
23:23
<@ToxicFrog>
However, if it contains an infinite loop, it will still livelock your program.
23:23
<@jerith>
$coworker was playing with lisp and XML -- he coverted the XML to s-expressions and wrote a "sexpath" library to query them. :-P
23:23
<@jerith>
(He mostly wrote the library to use the name...)
23:23
< Vornicus>
sad
23:24
<@ToxicFrog>
Note that since "require" is in fact a function and not a keyword, this prevents it from loading any additional libraries, too,.
23:24
<@jerith>
G'night all.
23:56 Janus is now known as Jan[dinned]
--- Log closed Fri Feb 02 00:00:07 2007
code logs -> 2007 -> Thu, 01 Feb 2007< code.20070131.log - code.20070202.log >