code logs -> 2011 -> Mon, 10 Jan 2011< code.20110109.log - code.20110111.log >
--- Log opened Mon Jan 10 00:00:45 2011
00:15 AnnoDomini [annodomini@Nightstar-1860c32b.adsl.tpnet.pl] has quit [[NS] Quit: leaving]
00:42 Attilla [Some.Dude@Nightstar-ca2fdd4e.threembb.co.uk] has quit [[NS] Quit: ]
01:13 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?]
01:20 Derakon [Derakon@Nightstar-cfae48c3.ca.comcast.net] has quit [Operation timed out]
01:41 Serah [Stalker@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
01:54 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
04:00 Finerty is now known as Vornicus
04:11 Moody|afk is now known as Kindamoody
04:16 Kindamoody is now known as Kindamoody[zZz]
04:44 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
05:25 cpux is now known as shade_of_cpux
05:28
< Vornicus>
EVERYBODY STAND BACK
05:28
< Vornicus>
I know regular expressions.
05:29
< celticminstrel>
...that's something new?
05:32
< Vornicus>
No.
05:33
< Vornicus>
But I feel vaguely godlike at the moment
05:34
< Namegduf>
It's just nice, when someone says "Hey, I linked to something on flickr in here before Christmas, any chance you can find it?" to be able to have it as quickly as you can navigate to the log directory.
06:13 You're now known as TheWatcher
06:27
< Alek>
quite.
06:41 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:49 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code
07:07 You're now known as TW[jurying]
07:33 AnnoDomini [annodomini@Nightstar-1860c32b.adsl.tpnet.pl] has joined #code
07:33 mode/#code [+o AnnoDomini] by Reiver
07:57 kwsn [kwsn@Nightstar-5a8951e9.res.rr.com] has quit [[NS] Quit: BEEP BEEP IMMA JEEP]
08:08 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has quit [Client exited]
08:55 Vornicus is now known as Vornicus-Latens
09:01 AnnoDomini [annodomini@Nightstar-1860c32b.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds]
09:03 AnnoDomini [annodomini@Nightstar-10f8b8dc.adsl.tpnet.pl] has joined #code
09:03 mode/#code [+o AnnoDomini] by Reiver
10:03 AnnoDomini [annodomini@Nightstar-10f8b8dc.adsl.tpnet.pl] has quit [[NS] Quit: leaving]
10:15
<@McMartin>
Things that are pain: having to deal with multiple possible pointer widths at run time.
10:16
<@McMartin>
IoIs32bitProcess(), you are my only friend.
10:31 Serah [Stalker@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
11:13 Kindamoody[zZz] is now known as Kindamoody
11:27 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
12:47 Kindamoody is now known as Kindamoody|work
13:15 AnnoDomini [annodomini@Nightstar-10f8b8dc.adsl.tpnet.pl] has joined #code
13:15 mode/#code [+o AnnoDomini] by Reiver
13:20 gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code
15:30 celticminstrel [celticminst@Nightstar-f8b608eb.cable.rogers.com] has joined #code
15:53 Serah [Stalker@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
16:39 Serah [Stalker@26ECB6.A4B64C.298B52.D80DA0] has joined #code
16:40 Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code
17:17 You're now known as TheWatcher
17:20 Attilla [Some.Dude@Nightstar-3a123093.threembb.co.uk] has joined #code
17:21 mode/#code [+o Attilla] by Reiver
17:27 Derakon [chriswei@Nightstar-cfae48c3.ca.comcast.net] has joined #code
17:27 mode/#code [+o Derakon] by Reiver
17:27
<@Derakon>
We have a bunch of computers that need a backup regimen.
17:28
<@Derakon>
Our goal is to be able to physically swap out the hard drive of the computer with a new one, boot up, and have everything working as it was.
17:28
<@Derakon>
These computers are all running Windows (mostly XP, but some 2000 and one 7).
17:28
<@TheWatcher>
Well, that buggers what I was about to suggest, then
17:29
<@Derakon>
I know that I can use a Linux boot CD and dd to make dumps of hard drives; I figured I could use that to make dumps to a storage drive (a big sucker that holds dumps of everything) and then dump from the storage drive to a backup HD...
17:29
< Vornicus-Latens>
YOu can make the entire D&S folder a network share but it'll be tricky when you have three different versions of WIndows running.
17:29
<@Derakon>
The boot CD is a bit of a pain but not excessively so.
17:30
<@TheWatcher>
Vorn: and that doesn't give you drive swappability
17:30
<@Derakon>
Vorn: that, and there's also drivers and things that need to be preserved.
17:30
<@TheWatcher>
for that you basically need complete drive images
17:31
<@Derakon>
What were you going to suggest, TW?
17:32
<@TheWatcher>
I have a system I wrote for me/work that does incremental network backups - but it's bugger all use for backing up full windows installs, because windows has this hilarious thing where it expects some files at specific physical locations on the drive.
17:32
<@Derakon>
Ah, well.
17:33
<@Derakon>
What do you think of what I outlined above?
17:33
<@TheWatcher>
If you dd the whole drive, it'll work, sure.
17:33
<@Derakon>
Computer HD => dd => 1TB drive stores dumps of all computers. HD failure => buy new HD, dump from 1TB => new HD, swap new HD in for old one.
17:34
<@Derakon>
I'd need the 1TB drive, a spare drive to use for swapping, and an external drive enclosure for the swap drive (the 1TB can just be an external drive, period).
17:35
<@Derakon>
And a Linux boot CD.
17:35
<@TheWatcher>
Yep, I've done something similar to that before.
17:36
<@TheWatcher>
Doesn't give you incrementals, but it does work.
17:37
<@Derakon>
Most of the drives we're backing up are tiny, so we don't need the space savings that incrementals give us.
17:37
<@Derakon>
(And we can just buy more external drives if we do need more space. They're downright cheap.)
17:37
<@TheWatcher>
(fairynuff)
17:38 * Derakon heads to NewEgg. "Yep, 1TB external drive for $100. Peanuts."
17:41 * Vornicus-Latens is again reminded of the drive comparison image.
18:02
<@ToxicFrog>
Derakon: look into Clonezilla also
18:02
<@ToxicFrog>
It is designed pretty much specifically for this, supports NTFS, has a liveCD and can do backups/restores over the network
18:02
< gnolam>
Vornicus-Latens: ?
18:03
< Vornicus-Latens>
http://www.techrivet.com/resources/images/GigabyteComparison_20yago.jpg
18:05
< gnolam>
:)
18:19
<@Derakon>
TF: will do, thanks.
18:47 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed]
18:55 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
18:56 Syloqs_AFH is now known as Syloqs-AFH
19:00 Attilla [Some.Dude@Nightstar-3a123093.threembb.co.uk] has quit [[NS] Quit: ]
19:16 Kindamoody|work is now known as Kindamoody
19:34 * Derakon eyes the Clonezilla documentation, which gets very technical very fast.
19:34
<@Derakon>
This is clearly written by and for sysadmins.
19:52
<@ToxicFrog>
IF ALL YOU"RE DOING IS BACKING UP THE LOCAL MEDIA< YOU CAN SAFELY USE CLONEZILLA LIVE AND IGNORE ALL OF THE DRBL STUFF< I BELIEVE>
19:52
<@ToxicFrog>
Goddamnit, campus wireless
19:52
<@ToxicFrog>
Pretend shift wasn't held down for most of that~
20:01
<@Derakon>
Hee.
20:01 * Vornicus-Latens thought you were raving loonie for a moment.
20:01 Vornicus-Latens is now known as Vornicus
20:03
<@ToxicFrog>
Vornicus: over slow links, it tends to get confused about modifier keys.
20:04
< Namegduf>
What's it?
20:04
<@Derakon>
Hrm...how does CZ Live differ from a standard LiveCD?
20:04
<@Derakon>
Oh, built-in software for backups that isn't calling dd directly?
20:06
<@Derakon>
Okay, yeah, so boot with the CZ Live CD, then set up an SSH server on our main computer, and use it to dump the image across the network.
20:08
<@Derakon>
Basically it calls dd for me automatically with known arguments.
20:08
<@ToxicFrog>
Sort of, only better.
20:09
<@ToxicFrog>
In particular it's filesystem-aware and will not copy or store empty blocks, so if you have, say, a 10GB partition with a 10GB filesystem on it only 2GB of which is used, the backup image is 2GB.
20:09
<@Derakon>
Fairynuff.
20:10
<@ToxicFrog>
(it also doesn't have to copy over the network - you can, for example, back up to a second local disk - but storing this stuff on a server saves a lot of hassle)
20:10
<@ToxicFrog>
Namegduf: NX.
20:10
< celticminstrel>
Fairies!
20:10
<@Derakon>
Yeah, I don't want to have to pop the case open every time I make a backup.
20:10
< Namegduf>
Ah.
20:10
<@Derakon>
...I suppose, though, that I could plug an external HD in.
20:10
< celticminstrel>
Clearly you need a team of fairies to do it for you. :P
20:10
< Namegduf>
I use a client over the network but it's over SSH, which doesn't have that problem.
20:11
<@ToxicFrog>
Namegduf: yeah, I used ssh+screen for a while, but I do actually need to use some X11 apps
20:12
< Namegduf>
I've not got any I need to run remotely, so it works out.
20:12
< Namegduf>
I use Google Docs for documents and such.
20:13
<@ToxicFrog>
kmail, deluge, jedit, opera, empathy, and xchat are my base set.
20:13
<@Derakon>
...I guess it wouldn't work to invoke X from a screen'd session, would it.
20:13
<@ToxicFrog>
Derakon: http://www.howtoforge.com/back-up-restore-hard-drives-and-partitions-with-clonez illa-live - this might be helpful if you don't feel like burrowing through the reference documentation
20:13
< Namegduf>
I use a local browser.
20:14
<@ToxicFrog>
Derakon: it will if you enabled X forwarding, actually.
20:14
<@Derakon>
Since X talks to the display and you need to change that to tunnel it.
20:14
< Namegduf>
And vim for editing.
20:14
<@ToxicFrog>
But it'll be ass slow and not detacheable.
20:14
<@Derakon>
TF: danke.
20:14
< Namegduf>
Email... IMAP + local mail app.
20:14
<@ToxicFrog>
NX is specifically designed not to have these problems; it's basically screen for X11.
20:14
<@ToxicFrog>
Namegduf: yeah, see, I can't run a local browser because this is an old laptop with very little memory.
20:14
< Namegduf>
Wow.
20:14
< Namegduf>
How little?
20:14
<@Derakon>
64KB~
20:14 * Namegduf uses a netbook, but even those have 1GB nowadays
20:15
<@ToxicFrog>
1GB less whatever the onboard graphics feels like taking today
20:15
< Namegduf>
Ah.
20:15
<@Derakon>
Man, my desktop only has 2GB~
20:15
<@ToxicFrog>
(so, yes, this is actually enough for a browser. But not enough for a browser, an email client, an IM client, an IRC client, and an IDE)
20:15
<@ToxicFrog>
(+ whatever else I'm working on.)
20:15
<@ToxicFrog>
(Furthermore, I like to not have to constantly disconnect and reconnect from IM and IRC networks.)
20:16
< Namegduf>
Not with the programs you use, no.
20:16
< Namegduf>
Vim barely counts for memory usage and is my IDE, I run IM via Bitlbee through my IRC client, which I use via SSH
20:16
< Namegduf>
And email never looked that heavy, although I need to replace that app anyway.
20:16
< Namegduf>
Browser is far and away the biggest memory user.
20:17
<@ToxicFrog>
bitlbee?
20:17
< Namegduf>
IRC<->IM gateway.
20:17
<@ToxicFrog>
Oo. I may need to look into that.
20:17
<@ToxicFrog>
And yeah, I don't like vim (or emacs) and nano isn't powerful enough.
20:17
< Namegduf>
You connect and send your account password, it displays to you a network whose users are your contacts and whose channels are group chats.
20:17
<@ToxicFrog>
Nor do I like any of the curses IRC clients I've used.
20:18
< Namegduf>
Interfaces with AIM, MSN, Jabber, etc.
20:18
<@ToxicFrog>
Facebook chat? Skype?
20:18
< Namegduf>
Facebook chat's public interface is Jabber, so yes.
20:18
< Namegduf>
Skype is closed.
20:18
< Namegduf>
Oh, and it also does Twitter.
20:19
<@ToxicFrog>
I don't use twitter, but if it were that convenient I might start~
20:19 * ToxicFrog makes a note to look into installing bitlbee on Orias
20:19
< Namegduf>
Yeah, I just have a permanent PM window which receives tweets and speaking in makes a tweet.
20:19
< Namegduf>
That plus Selective Tweets or whatever on Facebook forwards to that, too.
20:20
< Namegduf>
I rarely actually use it but the setup is there.
20:20
<@ToxicFrog>
Anyways. Basically, I spent a summer using irssi and elinks and some curses-based MSN client I forget the name of, discovered NX, haven't looked back.
20:20
< Namegduf>
Ah.
20:20
< Namegduf>
XMarks's chrome extension lets you open tabs from remote browsers.
20:21
< Namegduf>
I rarely ever use it but it removes the only reason I could possibly think of of using a remote browser.
20:21
<@ToxicFrog>
Er?
20:21
<@ToxicFrog>
I mean, even if I were willing to use chrome, which I'm not
20:21
< Namegduf>
I suspect their FF one can do the same, I just lack direct experience of it.
20:21
<@ToxicFrog>
How does that solve the "opening all of those tabs causes the computer to melt" problem?
20:21
< Namegduf>
It just opens the one you ask for.
20:22
< Namegduf>
You can see remote tabs in a dropdown menu.
20:22
< Namegduf>
It opens them as a new tab, copying only the URL.
20:22
<@ToxicFrog>
So...you run the browser on your home machine, it gives you a list of tabs, you open some of them, state updates are reflected in the home browser, and close them when done?
20:22
< Namegduf>
Crude but works well enough for most purposes.
20:22
< Namegduf>
There's no home browser.
20:23
< Namegduf>
Their server keeps a list of open browsers with the extension under your account and their tabs.
20:23
< Namegduf>
On any browser you click the little button and it pulls that list and shows the tab titles.
20:23
< Namegduf>
Subdivided by window and machien.
20:23
<@ToxicFrog>
...so you still need a browser somewhere with those tabs open, hence, the home browser
20:24
< Namegduf>
If you want to retain them permanently, yeah, but for that I use sychronised browser history.
20:24
< Namegduf>
I think that works, anyway.
20:24
< Namegduf>
I've never needed it.
20:25
<@ToxicFrog>
I think we have very different browsing habits.
20:25
< Namegduf>
Maybe.
20:25
< Namegduf>
I open things when I want to see them and if I want to see them on another machine I just open them again.
20:25
< Namegduf>
If I want to retain something permanently I bookmark it (which is synched)
20:25
<@ToxicFrog>
$ grep 'window count' ~/.opera/sessions/autosave.win
20:25
<@ToxicFrog>
window count=61
20:25
< Namegduf>
I regularly get over that.
20:25
<@ToxicFrog>
PID USER PR NI VIRT RES SHR S PU %MEM TIME+ COMMAND
20:25
<@ToxicFrog>
28306 ben 20 0 969m 491m 27m S 13 16.5 3:54.17 opera
20:26
< Namegduf>
I don't open that kind of number on my netbook, though.
20:26
< Namegduf>
I limit it there.
20:26
<@ToxicFrog>
Yeah, but I spend a lot of time away from home, with only my laptop.
20:26
< Namegduf>
I also have Flash off by default, which about triples the number of tabs you an have open at once.
20:26
< Namegduf>
(Adblock would probably do something similar)
20:28
< Namegduf>
That might be a problem.
20:28
< Namegduf>
I do too, when I go to university, but I don't try to get huge amounts of work done on my netbook there.
20:29
< Namegduf>
Teeny keyboard and limited screen space make limited browser tabs the least of its deficiencies as a dev environment.
20:29
<@ToxicFrog>
Basically, what it comes down to is: I generally prefer X11 apps to curses ones; I like having all of my stuff run on one machine so I don't need to worry about disconnects, synching config files, etc; ergo, I like using my laptop as an X terminal.
20:29
<@ToxicFrog>
NX lets me do that even over slow links.
20:29
< simon_>
NX is an X server?
20:30
< Namegduf>
I've not had a wonderfully nice experience using RDP over wireless
20:30
<@ToxicFrog>
It's not RDP.
20:30
< Namegduf>
Not tried NX, but people seem to say RDP is a relatively well-designed one.
20:30
<@ToxicFrog>
simon_: it's an X server that is also a compressing X11 proxy.
20:31
< Namegduf>
Used to use it as my primary office thing, but local stuff was just that much snappier.
20:31
<@ToxicFrog>
X clients connect to the NX server. The NX client connects to the server (through an ssh tunnel) and all of the connected clients display on the nxclient's machine.
20:31
< simon_>
I rarely start X apps across SSH.
20:32
< simon_>
sometimes when my university already has crapware installed, I settle. like math programs.
20:32
<@ToxicFrog>
Namegduf: as long as bitmaps aren't involved (and the wireless connection isn't completely shitting itself), it's pretty much indistinguishable between remote NX, LAN NX, and local.
20:32
< Namegduf>
That sounds impressive.
20:32
<@ToxicFrog>
When the wireless connection is completely shitting itself it's usable but slow (and gets confused about modifier keys).
20:33
< Namegduf>
I use mobile broadband pretty heavily so I'm doubtful it'd be nice to try
20:33
<@ToxicFrog>
Namegduf: their marketing materials claim that using NX, X11 is usable over a 28.8k modem, and while I haven't tested that I have used it on links that were equivalent to 56.6k and it was fine.
20:33
< Namegduf>
But still sounds neat.
20:33
< Namegduf>
Bandwidth isn't the key factor here, though.
20:33
<@ToxicFrog>
Latency is?
20:33
< Namegduf>
Right.
20:34
<@ToxicFrog>
Yeah, I'm not sure how well it would handle in a high-bandwidth, high-latency environment.
20:34
<@ToxicFrog>
In general I find it way more responsive than RDP and similar protocols, but there's only so much you can do before you need to wait for the reply.
20:35
< Namegduf>
Yeah.
20:35
< Namegduf>
I'll remember that it's an option if I need something like that.
20:35
< Namegduf>
Mostly the only thing I really need syncing between browsers is done by LastPass anyway.
20:35
< Namegduf>
And my current setup has screen space issues before anything else, really.
20:35 * ToxicFrog nods
20:36
<@ToxicFrog>
In my case, screen space isn't an issue, but I have a lot more stuff to sync, so being able to run everything on the server is a huge win for me.
20:36
< Namegduf>
I can type pretty well, better than a lot of people I know, on a 9" netbook, but it's still not a comfortable environment to work on.
20:37
<@ToxicFrog>
And I'm usually either using a hardline, or a local wireless network backed by a hardline, so while bandwidth may be awful latency to my home is generally pretty low, <200ms
20:38
< Namegduf>
I regularly switch from the wireless to the 3G to get a more stable connection, so I guess that speaks to its quality.
20:38
< Namegduf>
Certain lecture rooms have poor signal.
20:38 SmithKurosaki [smith@Nightstar-e94c2dff.dsl.teksavvy.com] has quit [Client closed the connection]
20:39
<@ToxicFrog>
The UC here has pretty awful wireless but most of the lecture rooms are ok.
20:39 SmithKurosaki [smith@Nightstar-e94c2dff.dsl.teksavvy.com] has joined #code
20:39
<@ToxicFrog>
With the exception of some rooms in MACK.
21:08 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
21:37 RichardB_ [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
21:38 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
21:47
<@Derakon>
Anyone know of a programming language that has optional return values?
21:47
<@Derakon>
I.e. the language is guaranteed to return some number of values so you can do "foo, bar = Foo()", but you could also do "foo, bar, baz, quux = Foo()" to get two values that it returns but you don't usually care about.
21:48
<@Derakon>
I guess that's not so much optional return values as a convenient way to throw away data you don't care about.
21:48
< simon_>
Derakon, ML has a type called option.
21:48
< simon_>
oh
21:48
<@AnnoDomini>
I'm uncertain, but can't Perl do something like that?
21:49
< simon_>
yes
21:49
<@Derakon>
It wouldn't surprise me, but I don't know offhand.
21:50
< simon_>
$ perl -wle 'my ($a, $b) = ("foo", "bar", "baz"); print $a, $b'
21:50
< simon_>
foobar
21:51
< celticminstrel>
So basically, you're looking for tuple unpacking that discards excess values.
21:51
<@Derakon>
Are the unused values stuffed into one of Perl's implicit variables?
21:51
< simon_>
in ML I'd do: val (a::b::_) = ["foo", "bar", "baz"] at the risk of an unexhausted match.
21:51
<@Derakon>
Having seen that I remember that you can use "my ($a, $b, @rest)" and @rest gets all the remaining values.
21:51
< celticminstrel>
(To use Python terminology.)
21:52
< simon_>
celticminstrel, the terminology is kind of general.
21:52
< celticminstrel>
Maybe so, but that just means it's not just Python terminology. :P
21:53 * simon_ thinks more languages should have tuples.
21:53
< simon_>
like. Java.
21:53
<@Derakon>
They're called lists~
21:53
< simon_>
no, lists have a dynamic number of elements.
21:53
<@Derakon>
They're just immutable. *shrug*
21:53
<@Derakon>
An immutable list is functionally a tuple.
21:54
< celticminstrel>
C++ has tuples... though until the latest standard is ready they'll be limited-length.
21:54
< simon_>
depends on your type system.
21:54 * Alek blinks.
21:54
< simon_>
celticminstrel, oh.
21:55
< Alek>
the next C++ standard... O_O
21:55
< celticminstrel>
And of course it's a Boost library until then.
21:55 * simon_ has vowed never to learn C++. :P
21:55
< celticminstrel>
Yeah, maybe with luck it'll come out this year.
21:55
< Tarinaky>
Alek: Yeah, C99 is getting replaced with CWheneverIt'sReady.
21:55
< Tarinaky>
Err
21:55
< celticminstrel>
It's already several years late.
21:55
< Tarinaky>
C++99
21:56
< celticminstrel>
Maybe more than several.
21:56
< Tarinaky>
I think 2009 was the original eta.
21:56
< celticminstrel>
Okay, so only three years, so far.
21:56
< celticminstrel>
Still better than DNF!
21:56
< celticminstrel>
:P
21:57
< simon_>
hey! DNF is real!
21:57
< simon_>
we constantly get told at my department that the entire department will move location. so eventually we made this joke that we'll move whenever DNF releases.
21:57
< celticminstrel>
Real but late!
21:58
< simon_>
then within two weeks, both DNF is officially cancelled and we're told that the next location they had in mind is off the charts.
21:58
< celticminstrel>
I actually don't care about it, personally. I want the original DN platformers, but don't care about the FPSs.
21:59 * Alek blinks.
21:59
< Alek>
what IS DNF?
21:59
<@Derakon>
Did Not Finish.
21:59
< Alek>
oh. Duke Nukem Forever.
21:59
< Alek>
he had platformers???
21:59
< celticminstrel>
Yep.
21:59
< celticminstrel>
Two of them, I think.
22:00
<@Derakon>
There's a Legend of Zelda before Ocarina of Time~?
22:00
< celticminstrel>
Apogee still sells them, as well as the first FPS.
22:00
< Alek>
I actually never played Duke. but all I heard about him was FPSes. -_-
22:00
< celticminstrel>
Or rather 3DRealms.
22:00 * Alek shrugs.
22:01
< Alek>
never played any of the zeldas other than the nes/snes/gb ones, either. so don't talk to me about Ocarina. <_<
22:02
< celticminstrel>
Duke probably first became popular with the FPS, or something.
22:02
< simon_>
yes. I only really know the FPS.
22:04 * simon_ played Halloween Harry.
22:09 RichardB_ [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
22:29
< Alek>
"I drowned my iphone in the bath last night."
22:29
< Alek>
"So what happened?"
22:30
< simon_>
in Java, if I've got two inventories of items and I want to transfer an item and guarantee on some level that it doesn't suddenly occur in both inventories, what's the best approach? is there already some kind of transaction-like container?
22:30
< Alek>
"Works like clockwork. Literally - just the time and nothing else."
22:36
< celticminstrel>
I have no idea what simon is talking about.
22:36
< celticminstrel>
And Alek, that's vaguely amusing.
22:37
<@Derakon>
I believe Simon is talking about threads at some level, wanting to ensure that there is no point in time at which two containers will have the same item in them.
22:37
< simon_>
celticminstrel, I'm building a small MUD and I want to pick up items but make sure that whenever an item changes location, a reference to it doesn't end up in two places. so I thought I'd write a layer of abstraction to guarantee against that, but I don't want to reinvent something.
22:38
< celticminstrel>
MUD, eh... is that basically a multiplayer rogue-like?
22:38
< simon_>
Derakon, not necessarily threads. just general sanitation
22:38
< Alek>
feel free to reinvent. you might actually do it in a more efficient way.
22:38
< simon_>
celticminstrel, yeah, just a rogue-like.
22:38
< simon_>
alright.
22:38
< Alek>
more like multiplayer zork, in my experience.
22:38
< celticminstrel>
Is zork a rogue-like?
22:38
<@ToxicFrog>
No.
22:38
< Alek>
no.
22:38
<@ToxicFrog>
It's IF, a text adventure.
22:38
< celticminstrel>
Oh. Alright then.
22:38
< celticminstrel>
Ah!
22:38
<@ToxicFrog>
You type in commands, the game responds with text.
22:38
<@Derakon>
Simon: just write a function to move an object, and as long as that function is debugged you should be fine.
22:38
<@ToxicFrog>
That's what people generally mean by "MUD".
22:39
< celticminstrel>
What?
22:39
< celticminstrel>
MUD is IF?
22:39
<@Derakon>
MUDs are more or less like Zork with combat and more people.
22:39
< celticminstrel>
:|
22:39
< simon_>
I'm helping some people who take a lesser programming education do some stuff, but I don't want to mislead them on the path of the Java standard library, which I'm not extremely intimate with.
22:39
< Alek>
generally, yes.
22:39
<@ToxicFrog>
In terms of interface, anyways
22:39
< simon_>
Derakon, yup.
22:39
< celticminstrel>
Huh, odd.
22:39
< Alek>
some MUDs have roguelike maps.
22:39
<@Derakon>
MUD stands for Multi-User Dungeon.
22:39
<@ToxicFrog>
Alek: yeah, but the interface is still completely different
22:39
< celticminstrel>
I know what it stands for.
22:39
< Vornicus>
simon_: make the object handle its own location.
22:39
< Alek>
some even have graphical maps. <_<
22:40
< simon_>
Vornicus, even better.
22:40
< Vornicus>
Then make its location changing function synchronized.
22:40
< Alek>
many muds even control like a roguelike.
22:40
<@ToxicFrog>
It may display the map, but most information is conveyed through text and input is all text
22:40
<@ToxicFrog>
Many mud clients do, by translating keystrokes before they're sent to the server.
22:40
<@ToxicFrog>
I can't offhand think of any actual MUDs that do.
22:40
< Alek>
well, yeah.
22:40
< gnolam>
Actually, I'd use what Vorn said in conjunction with an event queue.
22:40
< Alek>
some muds only play through specific clients, in fact. just for that functionality.
22:41
< simon_>
Vornicus, except I'm not sure that is doable. how would I see the content of an inventory if the references only point from the items? I'd have to traverse all items.
22:41
< simon_>
or, maybe just put items in some neat tree.
22:41 * Alek has played hundreds of muds in the early years of the millennium, 00-02 or so.
22:41 * Alek even dabbled with hosting his own for a while.
22:43
< celticminstrel>
Simon: Would two-way references work?
22:43
< Vornicus>
simon_: well, my /real/ method would be to make the inventory a database table and index it on location.
22:43
< celticminstrel>
Though, that's probably ugly.
22:44
<@ToxicFrog>
Alek, celticminstrel: anyways. All I'm getting it is that while the gameplay of a MUD may be anywhere, the interface usually has more in common with Zork than with Nethack.
22:45
< celticminstrel>
^getting at?
22:45
<@ToxicFrog>
Getting at, yes.
22:45
< simon_>
Vornicus, I thought about that, too. oh well. :) can't get too advanced, since I'm helping some people with an exercise.
22:45
<@ToxicFrog>
(Also, yes, Duke Nukem was originally a series of sidescrolling platformers for DOS. DN3D was a much later development.)
22:46
< celticminstrel>
I had the demo for the first one. It was fun.
22:46 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [[NS] Quit: ]
22:46
<@ToxicFrog>
simon_: I may be underthinking this, but what's wrong with just (assuming each inventory is a collection) removing the object from the first collection, adding it to the second, and abstracting that away as move()?
22:47
< Vornicus>
Race Conditions, though I'm not entirely sure how that shakes out with remove then add.
22:48
<@ToxicFrog>
Vornicus: I was under the impression here that parallelism is a nonconcern?
22:48
<@ToxicFrog>
And this satisfies the constraint that the item is never in two containers at once, although it is briefly in no containers
22:49
<@Derakon>
Should be quickly enough that no human could ever notice.
22:49
<@Derakon>
Thus putting it firmly in the "good enough" category.
22:52
<@Derakon>
Quick question. I have a list of objects. Each object is either a string or a boolean. I need to cast the booleans to "0" or "1" depending on their value, and leave the strings untouched. Every string is itself a representation of an integer.
22:53
<@Derakon>
Is it better to do str(int(foo)) for everything, or to check if the object's type is boolean and then cast it manually?
22:53
<@Derakon>
Both will work; this is a style question.
22:53 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
22:54
< Vornicus>
I'd do the former; type checking is B&R
22:54
< celticminstrel>
B&R?
22:54
< Vornicus>
Bad & Wrong
22:55
< celticminstrel>
Eh, I'd disagree.
22:55 Syloqs_AFH is now known as Syloqs-AFH
22:55
< Vornicus>
Well, not quite. But, you know, you should avoid it if sensible.
22:55
< celticminstrel>
Sure.
22:56
< Vornicus>
Why are these things integer-shaped strings in the first place though?
22:56
<@Derakon>
They're inputs from the user typed into text boxes.
22:57
<@Derakon>
So technically I have no guarantee that they're int-shaped strings.
22:57
<@Derakon>
But my users are generally sensible.
22:57
<@Derakon>
(Or at least, they can type)
22:58
< Vornicus>
Heh
22:58
< Vornicus>
I'd say then that it's probably a good idea to do it that way, yeah -- but make sure you catch the errors appropriately.
22:58
<@Derakon>
Though it occurs to me I have only one string-type and the rest are all bools, so I may as well just pull out the string one.
22:58 Attilla [Some.Dude@Nightstar-87c66023.threembb.co.uk] has joined #code
22:58 mode/#code [+o Attilla] by Reiver
22:59
< Vornicus>
Right, really if you're booling it should just be a bool and a checkbox!
22:59
<@Derakon>
The bools are coming from checkboxes, yes.
22:59
<@Derakon>
I need to convert them into commandline parameters.
22:59
<@Derakon>
Which generally don't have little tickyboxes you can click on.
23:00
< Vornicus>
Ah
23:00
<@Derakon>
(I'm adding another processing mode to my user-friendly upload-to-remote-server-and-process program)
23:00
<@Derakon>
Which, hunh, is up to 2334 lines of code and comments and whitespace.
23:01 celticminstrel is now known as celmin|supper
23:03 You're now known as TheWatcher[T-2]
23:07
< simon_>
ToxicFrog, that's what I had in mind. extend some basic collection interface with an abstract class that supports moving.
23:07
< simon_>
ToxicFrog, then I couldn't find out if someone had already written that class.
23:08 You're now known as TheWatcher[zZzZ]
23:22 Serah [Stalker@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
23:33 shade_of_cpux is now known as cpux
23:39
<@Derakon>
Man, this was all set up to be an easy "write a new child class of this base class" job, and then it turns out that this particular variation requires a subtly different invocation scheme which throws everything out of whack.
23:39
<@Derakon>
(Each child class corresponds to a commandline invocation that looks like "program_name output_file input_file arg1 arg2 arg3...", except this one, which looks like "program_name output_file1 output_file2 input_file arg1 arg2 arg3...")
23:40
<@Derakon>
(So I'd been generating the list of arguments and passing them off to a separate area that applied them to files without caring about where they came from.p
23:40
<@Derakon>
)
23:40
<@Derakon>
So now I get to redesign that. :\
23:54 Derakon [chriswei@Nightstar-cfae48c3.ca.comcast.net] has quit [[NS] Quit: leaving]
--- Log closed Tue Jan 11 00:00:46 2011
code logs -> 2011 -> Mon, 10 Jan 2011< code.20110109.log - code.20110111.log >