code logs -> 2006 -> Wed, 04 Oct 2006< code.20061003.log - code.20061005.log >
--- Log opened Wed Oct 04 00:00:05 2006
00:01 EvilDarkLord is now known as EvilSLEPLord
00:12 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
00:12 mode/#code [+o Chalcy] by ChanServ
00:13 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
00:22
< Vornotron>
Okay. the three dump jobs are prepared...
00:22
< Vornotron>
finally...
00:23
< Vornotron>
now to burn the CD.
00:44 MahalOut [~Mahal@Nightstar-4718.worldnet.co.nz] has quit [Ping Timeout]
00:52 Mahal [~Mahal@Nightstar-20316.worldnet.co.nz] has joined #Code
00:52 mode/#code [+o Mahal] by ChanServ
01:00
< Vornotron>
Clearing my throat and gripping the lectern I smile and face my audience clearing his throat and smiling with his hands on the bathroom sink
01:26
< Vornotron>
Okay. Burning a CD uses, um, mkisofs, and then... cdrecord?
01:27
<@ToxicFrog>
I think so.
01:27
<@ToxicFrog>
I've never burned a CD from the shell.
01:28
< Vornotron>
I have to, I'm doing the burn as part of a cron job.
01:35 Chalcy is now known as Chalcedon
01:37
<@ToxicFrog>
I know.
01:37
<@ToxicFrog>
I'm just saying, my knowledge of such things approaches nil.
01:38
<@ToxicFrog>
I know you use mkisofs to make the image, but as for burning it, all I can say is that I think you only need cdrecord.
01:38
< Vornotron>
yeah - I'll have to hunt down some actual experts.
01:47 Chalcedon is now known as ChalcyCleaning
01:50 Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer]
01:54 Vornotron [~vorn@Nightstar-18307.slkc.qwest.net] has quit [Quit: ]
02:01 ReivZzz is now known as Reiver
02:14 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Jouets de Dieu, jouets de jouets, et les jouets de me, fait naĆ®tre Clair voire.]
03:22 Mahal is now known as MahalChores
04:36 MahalChores is now known as Mahal
04:48 ChalcyCleaning is now known as Chalcedon
04:51 Mahal [~Mahal@Nightstar-20316.worldnet.co.nz] has quit [Quit: It's hard to be mad at someone who misses you while you're asleep. ]
04:51 Mahal [~Mahal@Nightstar-20316.worldnet.co.nz] has joined #Code
04:51 mode/#code [+o Mahal] by ChanServ
04:55 Chalcedon is now known as ChalcyGuest
06:03 Thaqui is now known as ThaquiWork
06:47 Mahal is now known as MahalOut
06:48 EvilSLEPLord is now known as EvilDarkLord
07:49 ChalcyGuest is now known as ChalcyShopping
07:56 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
07:56 mode/#code [+o Chalcy] by ChanServ
07:57 ChalcyShopping [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
08:14 You're now known as TheWatcher
08:16 Vornicus is now known as Vornicus-Latens
08:52 himi [~fow035@152.83.10.ns-12024] has joined #code
08:52
< himi>
Anyone active in here?
09:00 Chalc [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
09:01 Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
09:14 MahalOut is now known as Mahal
09:16 Chalc is now known as Chalcedon
09:16 * Chalcedon is here!
09:18 * EvilDarkLord announces his presence, since the cool kid is doing it.
09:18 * Mahal waves to Himi
09:18
< himi>
Anyone got experience with admining Unix dhcp servers?
09:18
<@Mahal>
Some.
09:19
<@Mahal>
Why?
09:19
<@Mahal>
(Some = I have installed and successfully run one for ~6 mo)
09:19
< himi>
In a reasonable sized business environment?
09:19
<@Mahal>
~100 users
09:19
< himi>
Cool
09:20
<@Mahal>
Were no rules setup or anything though
09:20
<@Mahal>
Was jsut a free-for-all DHCP
09:20
< himi>
Ah
09:20
< himi>
Well, let me run a project I'm working on by you
09:20
< himi>
Just give me a few minutes
09:31
< himi>
. . . or a bit more than a few minutes . . .
09:31
<@Mahal>
:)
09:37
< himi>
Hah
09:37 * himi just sent a licensing flame to one of the top Linux kernel developers
09:37
<@TheWatcher>
wut?
09:39
< himi>
You wouldn't happen to be an LWN subscriber?
09:39
<@TheWatcher>
Nope, link?
09:40
< himi>
http://lwn.net
09:40
< himi>
The article is http://lwn.net/Articles/202106/
09:41
< himi>
LWN is a high quality Linux news site
09:42
< himi>
Subscription only for a week, after that freely available
09:42 * TheWatcher shrugs
09:42
<@TheWatcher>
summary?
09:43
< himi>
Al Viro was participating in a general GPLv3 hate-fest, and I responded to some of his points
09:44
< himi>
. . . . some rather dumb points, really, since they seem to have been predicated on forks doing wholesale relicensing of code under the GPLv3 /only/, rather than the normal GPLv2 or later wording
09:44
<@TheWatcher>
My experiences of th eOSS community would suggest such reactions are fairly standard among some groups.
09:45 * himi notes that it's rather hard to do wholesale relicensing of code, unless you happen to /own/ the code, and hey, if you own the code maybe, just /maybe/, you have every right to license it however you want
09:45
< himi>
Yeah
09:45
< himi>
It's irritating to see it from people who are probably among the best coders on the planet, though
09:46
< himi>
Anyway
09:46
< himi>
My dhcp stuff
09:47 * himi tempts Mahal back into the channel with a Tim Tam
09:47 * Mahal is here.
09:47 * himi gives Mahal the Tim Tam, then
09:47
< himi>
Okay
09:48
< himi>
The basic idea is to build dhcp configs based on the contents of an organisational inventory management database
09:48
<@Mahal>
*nod*
09:49
< himi>
This is a sizable organisation, with lots of sites and a complex network, so the approach needs to be reasonably flexibl
09:49
< himi>
e
09:49 * Mahal nod
09:50
< himi>
What I'm looking at doing is storing configuration information for each subnet, and each host entry, in the database
09:50
<@Mahal>
*nod*
09:51
< himi>
Then, I'll have a set of scripts that read template files, query the database, and build the final configuration files
09:51
<@Mahal>
*nod*
09:51 * Mahal approve of idea thus far
09:52
< himi>
I'm looking at making the template file format identical to the real dhcpd.conf format, with two additional things
09:52
<@Mahal>
*nod*
09:52
< himi>
An @subnet block, and an @hosts block
09:52
<@Mahal>
*nod*
09:53
< himi>
They're both in the format @subnet [query] { # block }
09:53
< himi>
Where query is something like networkid:entomology-bm
09:54
< himi>
That tells the script to replace the @subnet block with a normal subnet block, with the data from a database query for the networkid matching 'entomology-bm'
09:55
<@Mahal>
*nods8
09:55
< himi>
So you'd get something like
09:56
< himi>
subnet 152.83.144.0 netmask 255.255.248.0 {
09:56
< himi>
router 152.83.144.1;
09:56
< himi>
blah
09:56
< himi>
blah
09:56
< himi>
}
09:56 * Mahal nods
09:56
< himi>
The contents of # block would go after all the stuff that came out of the database
09:57
< himi>
An @hosts block would be similar, except it'd output one entry for each row returned
09:57
< himi>
The idea being that you could do a really basic template with something as simple as
09:58
< himi>
@subnet [networkid:entomology-bm] {
09:58
< himi>
09:58
< himi>
@hosts [networkid:entomology-bm] {
09:58
< himi>
}
09:58
< himi>
}
09:58
< himi>
Which would output a normal, single subnet config with a list of all the hosts in that subnet
09:59
< himi>
Or, for a more complicated server, you could do something bigger and nastier, with groups and sharednets and multiple subnets and things like that, with all the actual data coming out of the database
10:00
< himi>
Does this sound like overkill, or sensible?
10:00
< himi>
. . . . or just plain insane?
10:03
< himi>
. . . . . . I put her to sleep
10:04
<@Reiver>
She's not well, himi, and preparing for an unwanted work tomorrow.
10:04
<@Reiver>
Give her a few moments to get back and reply.
10:04
< himi>
Oh
10:06 Mahal is now known as MahalAFK
10:07 MahalAFK is now known as MahalZzz
10:07
< himi>
Sleep well, Mahal . . .
10:07 * MahalZzz argh, sorry.
10:07
<@MahalZzz>
And yes, it sounds sensible.
10:07
<@MahalZzz>
:)
10:08
< himi>
Okay
10:08
< himi>
. . . . how about allowing an sql: query? With an arbitrary sql query string in it . . .
10:09 * MahalZzz ponder.
10:09 * himi suspects /that's/ insane, though it makes things /really/ powerful and flexible
10:09
<@MahalZzz>
It might be useful.
10:09
<@MahalZzz>
Suggest that as second incarnation.
10:09 * himi nods
10:09
<@MahalZzz>
I now sleep.
10:09
<@MahalZzz>
Tired, sick,e tc.
10:09
< himi>
Sleep well
10:09
< himi>
Get better, too
10:10
< himi>
Okay, I go home now
10:10 himi is now known as himi-heading-home
10:16 Chalcedon is now known as ChalcyZzz
11:14 ThaquiWork is now known as Thaqui
11:15 * TheWatcher hereby declares that php is a pile of utter, steaming crap
11:17
<@TheWatcher>
I've just spent half an hour trying to work out why a database query was returnign no records. Turned out that the PConnect was returning a connection index even though the database was refusing permission to open the connection! >.<
12:03 Reiver is now known as ReivZzz
14:06 Thaqui is now known as ThaquiSleep
14:49 ChalcyZzz [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout]
14:55 EvilDarkLord is now known as EvilNotOnIRCLord
15:46 ToxicFrog|Lab [~ToxicFrog@Nightstar-2174.cpe.net.cable.rogers.com] has quit [Ping Timeout]
15:46 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Ping Timeout]
15:51 EvilNotOnIRCLord is now known as EvilDarkLord
16:00 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
16:00 mode/#code [+o ToxicFrog] by ChanServ
16:08 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
16:16 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
16:16 mode/#code [+o ToxicFrog] by ChanServ
16:33 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout]
16:46 EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code
16:52 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
16:58 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
16:58 mode/#code [+o ToxicFrog] by ChanServ
17:23 Vornicus [~vorn@Nightstar-18307.slkc.qwest.net] has joined #code
17:23 mode/#code [+o Vornicus] by ChanServ
17:24 You're now known as TheWatcher[afk]
18:41 You're now known as TheWatcher
18:43 ToxicFrog|Lab [~ToxicFrog@Nightstar-2174.cpe.net.cable.rogers.com] has joined #code
18:50
<@Vornicus>
from a cdrecord howto: When you are mentally prepared, dress up in a black robe, multiply the SCSI-id of the CD-writer with its SCSI-revision and light as many candles, speak two verses of the ASR-FAQ (newsgroup alt.sysadmin.recovery) and finally type:
18:50
<@Vornicus>
Well, at least I'm not the only one who thinks this stuff is deep voodoo
18:51
<@TheWatcher>
*snrk*
19:20
< Ev3>
Hehe.
19:21 Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code
19:21 mode/#code [+o Chalcedon] by ChanServ
19:40 * Vornicus fiddles with things.
19:41
<@Vornicus>
THis document is six years old.
19:42 * Chalcedon gives Vorn a meringue
19:42
<@Vornicus>
Which means that I have to figure out what is out of date, what my OS already does for me, etc etc etc.
19:44 MahalZzz is now known as Mahal
19:52 * Ev3 PatPats Vornicus.
19:59 * jerith sneaks in the back door.
20:44 * Vornicus applies deep voodoo to jerith.
20:45 * jerith shambles around the channel eating all the nice, juicy braaaaains.
20:50 ReivZzz is now known as ReivClass
--- Log closed Wed Oct 04 21:03:33 2006
--- Log opened Wed Oct 04 21:03:38 2006
21:03 TheWatcher [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code
21:03 Irssi: #code: Total of 16 nicks [9 ops, 0 halfops, 0 voices, 7 normal]
21:03 mode/#code [+o TheWatcher] by ChanServ
21:03 Irssi: Join to #code was synced in 24 secs
21:07 Syloq [Syloq@Admin.Nightstar.Net] has joined #code
21:47 ThaquiSleep is now known as Thaqui
21:49 aoanla [~sam@Nightstar-16113.range81-132.btcentralplus.com] has joined #code
23:01 ReivUni [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code
23:06 Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #code
23:14
< Janus>
May I ask a small question about C++, please..?
23:14
<@Vornicus>
NEVER
23:14
<@Vornicus>
:P
23:14
<@Vornicus>
what's up?
23:16 You're now known as TheWatcher[T-2]
23:17
<@ToxicFrog>
Proceed, mortal.
23:18
< Janus>
Alrighty~ Well, some of this is going to be really, uh, out-of-context specific, but I think you can get the gist if you squint a little.
23:18
< Janus>
http://rafb.net/paste/results/96f2Na53.html
23:18
<@Vornicus>
n < population
23:18
<@Vornicus>
not n > population
23:19
< Janus>
23:19
<@ToxicFrog>
Also, I don't think that code will compile.
23:19
<@Vornicus>
heh
23:19
<@ToxicFrog>
Unless you are ignoring convention and population is actually a constant.
23:19
<@Vornicus>
oh, yeah, that too - you cannot dynamically allocate arrays even that way.
23:20 * ReivUni hrm. Pokes at Java constructors.
23:20
< Janus>
population isn't a constant, but it compiled just fine.
23:20 * ReivUni decides he will ask for a bit of advice in a little bit though, leaves folks to stab C++ for the moment. :)
23:20
<@ToxicFrog>
Yeah. If statically allocating, the size must be determinable at compile time.
23:20
<@ToxicFrog>
...
23:20 ReivUni is now known as ReivUni[Appt]
23:20
<@ToxicFrog>
What compiler are you using, and how is population declared?
23:21
<@ToxicFrog>
Because if the value of population cannot be determined at compile time lines 3 and 4 should be errors.
23:21
< Janus>
Population is a member of the class, to which that code is also an excert of a function to the same class. It's declared as a plain ole' unsigned int.
23:21
<@ToxicFrog>
(I would not put it past msdev to compile it anyways, but g++ should be above such things)
23:22
< Janus>
Dev-Cpp (Sorry, but Eclipse scares me.)
23:22
<@ToxicFrog>
So, it's a uint member value of the class of which this is also a member function.
23:22
<@ToxicFrog>
DevCPP is the IDE.
23:22
<@ToxicFrog>
This means you're probably using g++.
23:23
< Janus>
If I am, I don't know it--
23:23 * Janus should probably fix that.
23:23
<@ToxicFrog>
DevCPP is only responsible for editing and managing the build system.
23:23
<@ToxicFrog>
For the actual compilation, it invokes a seperate program.
23:24
<@ToxicFrog>
By default, this is gcc/g++, but you can configure it to use other compilers.
23:24
<@ToxicFrog>
Assuming you aren't using some wacky custom package and haven't reconfigured it, it should be using gcc.
23:24
<@ToxicFrog>
Which should not compile the above the above code.
23:25 * aoanla eyes how bad his C++ has become in only a few months.
23:25
< aoanla>
Would it work with a new float[population]?
23:25
<@ToxicFrog>
Yes.
23:25
< aoanla>
Good.
23:25
< aoanla>
My C++ works in my head, then.
23:25
<@ToxicFrog>
That dynamically allocates an array of float of length population.
23:25 GeoTube [~Someone@Nightstar-2676.cable.ubr01.dund.blueyonder.co.uk] has joined #Code
23:26
<@ToxicFrog>
And, because...god knows why, you free it with delete[] rather than delete.
23:26
< aoanla>
Indeed.
23:26
< GeoTube>
Indeed.
23:26 You're now known as TheWatcher[zZzZ]
23:26
< aoanla>
Because of the metainformation C++ uses to deal with arrays.
23:26
< aoanla>
(well, and C)
23:26 * ToxicFrog crushes GeoTube's liver.
23:26
<@ToxicFrog>
aoanla: except in C, you don't need to do that!
23:27
< Janus>
I've already made a bit of a mess overusing (or miss-using rather) Malloc(), so I was trying to edge away from that. However, I guess I could give it another shot.
23:27
<@ToxicFrog>
free() works fine no matter what it points to!
23:27 * GeoTube sells Pi on ebay for another..
23:27
< aoanla>
...true.
23:27
<@ToxicFrog>
Janus: if you're using C++, you should be using new/delete, not malloc/free.
23:27
< aoanla>
Malloc() is more evil than new, Janus.
23:27
< aoanla>
new/delete are mostly lovely.
23:27
<@ToxicFrog>
For C++, anyways.
23:27
< aoanla>
Other than the delete/delete[] thing.
23:28
< Janus>
How is it different..?
23:28
<@ToxicFrog>
For one thing, new and delete will automatically invoke constructors and destructors.
23:28
<@ToxicFrog>
And will automatically calculate the size you need.
23:28
<@ToxicFrog>
For example (and the 'using malloc' part of this probably isn't even legal C++):
23:28
<@ToxicFrog>
Using malloc:
23:29
< Janus>
They will? ... I actually had to make a seperate initialization function for that...
23:29
< aoanla>
No, they will.
23:29
<@ToxicFrog>
foo * var = malloc(sizeof(foo)); // allocate space for a foo
23:29
<@ToxicFrog>
var->foo(ctor_args); // this is a segfault because the vtable isn't set up!
23:30
<@Vornicus>
THat's c.
23:30
<@Vornicus>
you want to use new
23:30
< Janus>
Other than the (foo*) type cast, that seems right...
23:30
<@ToxicFrog>
delete var; // this leaves random resources lying open because the destructor wasn't called!
23:30
<@ToxicFrog>
// for the love of god! Don't do that!
23:30
<@ToxicFrog>
Or, using new:
23:30
< GeoTube>
// hax!
23:30
<@ToxicFrog>
foo * var = new foo(ctor_args); // automatically allocate space, set up metadata and call constructor
23:31
<@ToxicFrog>
delete var; // automatically call destructor and free space
23:31
< aoanla>
And everyone is happy.
23:31
<@ToxicFrog>
So, yeah. There are really very few reasons to use malloc/free rather than new/delete in C++
23:32
< Janus>
I should probably be replacing Malloc() for new then, right? I always wondered why it was a reserved word...
23:32
<@Vornicus>
yes
23:32
< aoanla>
definitely
23:32
<@ToxicFrog>
...yes
23:32
< GeoTube>
Indeed.
23:33
<@ToxicFrog>
GeoTube, do you actually know any C++?
23:33
< GeoTube>
... maybe ...
23:33
< GeoTube>
<_<
23:34
< Janus>
Alrighty. I'll do that, then fix up the Brooklin Scholastic system of a function you seen, and I'll see what else goes wrong~
23:34
< GeoTube>
printf(":E\n")
23:35
< aoanla>
Ah, C.
23:35
< aoanla>
std::cout << ":E" << std::endl;
23:35
< GeoTube>
I get mixed up with languages >_>
23:35
< aoanla>
would be Modern C++.
23:35
< GeoTube>
I remember the cout after you mentioned it <_<
23:36
<@ToxicFrog>
aoanla: or just using namespace std;
23:36
< aoanla>
Well, /yes/.
23:36
< aoanla>
But, especially in large code, I like to keep the namespace explicit.
23:37
< aoanla>
Otherwise I'll do something stupid and end up redefining something important.
23:37
<@ToxicFrog>
Hmm. I can't remember the last large C++ I worked on that used std.
23:37 * Vornicus hateses C++ namespaces.
23:38 aoanla is now known as caps[t-2]
23:38
< caps[t-2]>
I'm ambivalent about them.
23:39
<@ToxicFrog>
They are useful.
23:39
< caps[t-2]>
They are.
23:39
<@McMartin>
You can use classes to get the same effect, though
23:39
<@McMartin>
Also, their introduction broke every single extant C++ program in the entire fucking world.
23:39
< caps[t-2]>
...yes, that was a flaw.
23:40
<@McMartin>
Not that I hold grudges for a long time or anything, no.
23:40
< caps[t-2]>
But, omlettes/eggs.
23:40
<@ToxicFrog>
See, I'm not nearly as bitter about that as you are, because when that happened I wasn't using C++.
23:40
<@Vornicus>
In addition to breaking all C++ ever, they seem tacked on.
23:40 * caps[t-2] notes that this is one of Those discussions.
23:40 caps[t-2] [~sam@Nightstar-16113.range81-132.btcentralplus.com] has quit [Quit: Leaving]
23:41
<@ToxicFrog>
Although, yes, it's true, "namespace foo" is basically shorthand for "class foo { private foo() {};"
23:41
<@ToxicFrog>
With everything static.
23:41
<@McMartin>
Indeed
23:41
<@McMartin>
Which is how sensible Java programmers use namespaces and also refrain from having 14,973 12-line source files.
23:42
<@ToxicFrog>
Personally, I feel that adding "namespace" as a syntatic sugar is a worthy trade for not having to prefix every single member function and variable with "static" and stick a private constructor on top.
23:42
<@Vornicus>
onl 14,973?
23:43
<@ToxicFrog>
This is because Java is of the opinion that it's ok to require the programmer to write six times as much stuff as long as it's no more readable than C++~
23:43
<@McMartin>
Actually, that's to buy you symbolic dynamic linking at run-time.
23:44
<@McMartin>
Though that should really only apply to .class files, not .java ones.
23:44
<@ToxicFrog>
Ok, granted.
23:44
<@McMartin>
On the other hand, they need to fix a few stupidities in the classfile format, too.
23:44
<@McMartin>
At minimum, the ones which have footnotes saying "In retrospect, this was stupid" in the spec itself.
23:44
<@ToxicFrog>
And I admit that working on POD has taken my opinion of Java, already quite low, and systematically hammered it into the ground so that it is now floating somewhere around the lower mantle.
23:45
<@McMartin>
And I admit that having C++ mutate twice under me -- and that my only paid development job required writing for it when it was in an unusable form -- has informed much of my opinion of it.
23:46
<@Vornicus>
actually I've broken Java.
23:47
<@McMartin>
Java only broke once, but maintained backwards compatibility.
23:48
<@Vornicus>
I had a thing that had a LinkedList<something> in it, and then changed another java file that referred to it from thinking about LinkedList to Collection
23:48
<@Vornicus>
and it didn't like that.
23:48 * ToxicFrog nods.
23:49
<@ToxicFrog>
C++-wise, I didn't start seriously using it until after the mutation.
23:49
<@ToxicFrog>
And CacheOS was basically almost completely unaffected by it.
23:49
<@Vornicus>
I started using it just as namespaces were starting to show up
23:49
<@Vornicus>
So I learned that they existed but didn't have to do anything about it-- so I didn't.
23:50
<@McMartin>
I had to use STL before STL was properly implemented.
23:50
<@McMartin>
Anywhere in the universe.
23:50
<@ToxicFrog>
...ow.
23:50
<@ToxicFrog>
I have never had to use the STL.
23:50
<@ToxicFrog>
Thank god.
23:51
<@McMartin>
vector<> and deque<> are now vaguely usable.
23:52
<@McMartin>
I hear string is too, but being more usable than C strings is Not Fucking Hard.
23:55
< ReivUni[Appt]>
...Not to derail a general grumblefest over arcane languages, but, err, I was wondering as to proper coder practice for constructors and such?
23:55 ReivUni[Appt] is now known as ReivUni
23:55
< ReivUni>
(Java.)
23:55
< ReivUni>
If folks have time/inclination at the moment, I mean.
23:57 * ReivUni is trying to create an Appointment class to store the appointments for his appointment scheduler program. In it, it has instance variables for start time, end time, alarm time, location, description and priority. Three Dates, two strings, and an integer.
23:58
<@McMartin>
The standard practice for Java is to have the Constructor do everything
23:58
<@McMartin>
So you'd have one with six arguments
23:58
<@McMartin>
And then other ones with fewer arguments to supply sensible defaults if possible.
23:59
< ReivUni>
...Is it /really/ a good idea to use Constructors to set those up for an Appointment, and if so, should the constructors insert default values, or should default values (For blank fields) be handled by their creator class?
23:59 * ReivUni ponders. Nods.
23:59
<@McMartin>
C++ standard practice, AIUI, is to have a class be unusable after construction until the creator calls setter methods.
23:59
<@McMartin>
Java practice has generally frowned on this.
23:59 * ReivUni nods.
--- Log closed Thu Oct 05 00:00:10 2006
code logs -> 2006 -> Wed, 04 Oct 2006< code.20061003.log - code.20061005.log >