code logs -> 2009 -> Mon, 09 Mar 2009< code.20090308.log - code.20090310.log >
--- Log opened Mon Mar 09 00:00:28 2009
00:07
<@TheWatcher>
Yep, that got it. phpBB3::new() was doing $self -> {bbcode} = BBCode -> new(phpbb => $self); and BBCode::new() was doing $self = { @_ };
00:07
<@ToxicFrog>
Why is that a problem?
00:08
<@TheWatcher>
Good question. But I remove the need for BBCode to store a reference back to the phpBB3 object that created it and global destruction works properly again
00:12 * TheWatcher puts it back just to be certain, hits the same problem again
00:13
<@TheWatcher>
Yep, that is definitely it
00:13
<@McMartin>
SCIENCE has spoken!
00:14
<@TheWatcher>
'course, it's goign to bug the hell out of me until I work out why, but hey
00:15
<@McMartin>
Science only tells you what, not why
00:16
<@TheWatcher>
Indeed.
00:20 Consul [~consul@Nightstar-29739.dsl.sfldmi.ameritech.net] has joined #code
00:20 mode/#code [+o Consul] by ChanServ
00:23 You're now known as TheWatcher[T-2]
00:26 You're now known as TheWatcher[zZzZ]
00:41 AnnoDomini [~farkoff@Nightstar-29105.neoplus.adsl.tpnet.pl] has quit [Quit: The screams are not loud enough.]
00:53 * ToxicFrog bangs his head gently against the wall and weeps
00:54
<@Vornicus>
??
00:55
<@ToxicFrog>
#lua
00:55
< gnolam>
Yes?
00:55
<@ToxicFrog>
On Freenode.
00:56
<@ToxicFrog>
There seems to be a rising tide of stupidity there of late.
00:58
< gnolam>
It's the Second Law of Intelligence Dynamics.
01:17 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
01:17 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
01:30 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code
01:31
< Reiv>
... okay, I think I see what you mean about Haskell having a data type that accepts Teh Universe as an input.
01:31
< Reiv>
In fact, it's called data, and it is slightly scary~
01:31
< Reiv>
I am now curious about how you can pull off time travel with it though, McM :P
01:53
<@McMartin>
Reiv: So, the way print works is, it takes The Universe and a string to print out
01:53
<@McMartin>
It returns The Universe, now with string printed.
01:53
<@McMartin>
(and prints out the string)
01:54
<@McMartin>
Time travel would involve recalling print with some value of The Universe that is not the most recently returned one from a universe-modifying function.
01:54
<@McMartin>
The type system manages to make all such statements ill-typed.
01:54
<@Vornicus>
how?
01:54
<@McMartin>
I don't recall offhand.
01:55
<@McMartin>
It involves introducing incompatibilities or something. There's a bunch of syntactic sugar in Haskell hiding it all so it still looks imperative, even though it isn't.
01:56 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
01:58
<@MyCatVerbs>
The type system hackery to make universe-modifying functions ill-typed is all done with the ST monad. Not IO.
01:59
<@McMartin>
Aha, that would explain why I'm not seeing it inside IO
01:59
<@McMartin>
The general functioncall mechanism, though, is d(c(b(a))), producing events a, b, c, and d in sequence.
01:59
<@McMartin>
And a syntax that makes it actually look like that.
02:00
<@McMartin>
a >>= b >>= c >>= d, IIRC
02:00
<@MyCatVerbs>
In GHC's implementation IO a is simply a wrapper for (Realworld# -> (Realworld#, a)). The implementations of (>>=), return and (>>) get the sequencing corret (i.e. don't do any mistaken time travelling) and the Realworld# stuff is not exposed so you can't use it and mess it up.
02:02
<@MyCatVerbs>
McMartin: that is it exactly. You might write it as do { a_result <- a; b_result <- b a_result; c_result <- c b_result; d_result <- d c_result; return d_result; }. (Well, you wouldn't, because that's so godawfully un-concise, but whatever.)
02:03
<@MyCatVerbs>
The one with the clever type system hack is the ST monad. ST is a newtype that takes two type parameters. The first parameter is a "tag" type, and is where the magic comes in. The second parameter is the return value type.
02:04
<@MyCatVerbs>
The clever bit is, runST :: ST (forall s. s) a -> a.
02:04
<@MyCatVerbs>
That explicit forall in there prevents you from mixing two ST actions in any way other than to glue them together with (>>=) and (>>).
02:06
<@MyCatVerbs>
I should mention that the ST monad is basically IO without any IO. It gives you mutable arrays and references, but no side-effects, meaning that ST actions can be safely run from within pure code.
02:07 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ]
02:07
<@MyCatVerbs>
The trick is that the types of the mutable variables inside an ST action mention the ST action's tag, and so do all the functions that work on them.
02:08
<@MyCatVerbs>
If you try to have one ST action putz around with the mutable data of another ST action, then the both of the ST actions will be constrained to have the same tag type.
02:09
<@MyCatVerbs>
Because there's a constraint there, they no longer unify against (forall s. s) - a type that explicitly requires that there is no constraint whatsoever on what s could be. And hence, you get a type error.
02:19 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
02:34 somnolence [~somnolenc@Nightstar-5762.hsd1.ca.comcast.net] has quit [Client exited]
02:34 somnolence [~somnolenc@Nightstar-5762.hsd1.ca.comcast.net] has joined #code
02:37 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has quit [Quit: Hometiem]
05:02 Syloqs-AFH [Syloq@Admin.Nightstar.Net] has quit [Connection reset by peer]
05:07 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
05:50 McMartin [~mcmartin@Nightstar-3361.dsl.pltn13.sbcglobal.net] has quit [Quit: Reboot]
05:57 McMartin [~mcmartin@Nightstar-3361.dsl.pltn13.sbcglobal.net] has joined #code
05:57 mode/#code [+o McMartin] by ChanServ
06:08
<@McMartin>
MyCatVerbs: I'm poking through docs for it now, but do you recall off hand how to convert an int to a string in Haskell?
06:09 * McMartin finds that the Tour of the PRelude is a dead link, but *does* find http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html which was what he was looking for before in the discussino of ST and IO.
06:29
<@McMartin>
Aha, found it in YAHT. "show"
06:29
<@McMartin>
Thank you, carry on~
06:50 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Ping Timeout]
06:51 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
06:51 mode/#code [+o GeekSoldier] by ChanServ
07:05 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Ping Timeout]
07:06 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
07:06 mode/#code [+o GeekSoldier] by ChanServ
07:31 Derakon is now known as Derakon[AFK]
08:14 AnnoDomini [~farkoff@Nightstar-29105.neoplus.adsl.tpnet.pl] has joined #Code
08:14 mode/#code [+o AnnoDomini] by ChanServ
08:37 You're now known as TheWatcher
09:36 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Ping Timeout]
12:23 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
12:23 mode/#code [+o gnolam] by ChanServ
12:34 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
12:34 mode/#code [+o Attilla] by ChanServ
12:35 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
12:35 mode/#code [+o Vornicus] by ChanServ
12:40 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
12:56 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
14:22
<@MyCatVerbs>
McMartin: also, you'll want to knwo about http://www.haskell.org/ghc/docs/6.6.1/html/libraries/
14:22
<@MyCatVerbs>
McMartin: you will most likely at some point find yourself hitting up the Numeric and Text.Printf libraries.
14:23
<@MyCatVerbs>
(You can change that "6.6.1" in there for whatever version of GHC you have installed, or "latest" for the official SCM head.)
14:25
<@MyCatVerbs>
Apologies for the *really* slow reply, I went to sleep.
14:25
<@MyCatVerbs>
And now, lunch.
14:51
< Molgorn>
hm. Is there a handy workaround for this? or am I sodded:
14:51
< Molgorn>
I need to make XMLHttpRequests from a local client using XUL/javascript
14:52
< Molgorn>
Those XMLHttpRequests are to a php script on the Bath uni webserver which grabs info from my SQL db
14:52
< Molgorn>
XMLHttpRequest doesn't work cross-domain by default, it throws a 1012 error
14:52
< Molgorn>
I cannot use a proxy because the webserver is not mine to command
14:53
< Molgorn>
I cannot host elsewhere because the university so demands.
14:53
< Molgorn>
I cannot host locally because it's a groupware app
14:54
< Molgorn>
s/elsewhere/on another webserver
14:55
<@ToxicFrog>
So, hang on
14:55
<@ToxicFrog>
You're running JS from a page on server A
14:55
<@ToxicFrog>
It needs to request to the university webserver, which is server B?
14:56
<@TheWatcher>
(where server A might be 'loaded from file://')
14:56
< Molgorn>
Yes
14:56
< Molgorn>
A local client app written in XUL has commands carried out by JS. The JS needs to call down information from a MySQL db on the Bath uni servers
14:57
< Molgorn>
I thought to do this by having a PHP script on the Bath uni servers, which the JS would access via XMLHttpRequest
14:57
< Molgorn>
But XMLHttpRequest is pitching a spaz about security failings
14:57
<@ToxicFrog>
XUL?
14:58
<@TheWatcher>
mozilla/ff's XML User Interface Language
14:58
< Molgorn>
^
14:59
< Molgorn>
XUL is quite tasty, I have found. Built an entire, albeit simple, UI in half a day with it
14:59
< Molgorn>
a minimum of fuss and buggering about
14:59
<@TheWatcher>
AFAIK, the entire FF interface is built in it.
14:59
<@ToxicFrog>
Aah
15:00
<@ToxicFrog>
So, like Glade, except you write the XML directly~
15:01
< Molgorn>
Looks like it, yes
15:01
<@TheWatcher>
http://www.csie.ntu.edu.tw/~piaip/docs/CreateMozApp/mozilla-chp-12-sect-7.html
15:02
<@TheWatcher>
looks like you might need to sign the script..
15:02
<@TheWatcher>
http://www.csie.ntu.edu.tw/~piaip/docs/CreateMozApp/ scroll down to "Remote Applications"
15:03 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
15:04
<@TheWatcher>
or look at 12.3, I think that you can get around the signing requirement then.
15:04
<@TheWatcher>
I think
15:04
<@TheWatcher>
Never really looked into this stuff, though
15:05 Syloqs_AFH is now known as Syloqs-AFH
15:08 * Molgorn ponders
15:08
< Molgorn>
By the looks of that, though, it requires configuring the server
15:08
< Molgorn>
or is that only to load remote XUL pages?
15:09
<@ToxicFrog>
There's a config setting you can change, I believe
15:10
<@ToxicFrog>
But everyone using your script needs to change it
15:10 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
15:11 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
15:11 mode/#code [+o Attilla] by ChanServ
15:11
<@TheWatcher>
ah
15:11
<@TheWatcher>
http://www.oreillynet.com/pub/a/mozilla/2002/12/17/app_dev.html
15:12 KBot [AnnoDomini@Nightstar-29326.neoplus.adsl.tpnet.pl] has joined #Code
15:13
<@TheWatcher>
And for your next trick, you can write a keylogger~
15:13
< Molgorn>
hm. Promising; but I'm not serving the XUL remotely, am I? Unless it's remote relative to the php script and that's what matters
15:13
< Molgorn>
heh
15:13 AnnoDomini [~farkoff@Nightstar-29105.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:14
<@TheWatcher>
I think that the problem is that your app is being prevented from doing anything to anywhere that isn't the place it was loaded from, I /think/ that should disable that. Worth a try, anyway
15:14 AnnoDomini [~farkoff@Nightstar-29326.neoplus.adsl.tpnet.pl] has joined #Code
15:14 mode/#code [+o AnnoDomini] by ChanServ
15:14 KarmaBot [AnnoDomini@Nightstar-29105.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:14
<@TheWatcher>
But hey, see also: no expert on this stuff
15:15 KBot is now known as KarmaBot
15:16
< Molgorn>
I shall see what can be done, then. :) thank you
15:16 * Molgorn gorn for realz yo.
16:32
<@TheWatcher>
And that's Site Overhaul Pt1 done: http://www.starforge.co.uk/ now to get Pt2 sorted...
17:14 Derakon[AFK] is now known as Derakon
18:23 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
19:06
<@gnolam>
Blargh. UI programming.
19:10
<@ToxicFrog>
Agreed.
19:26
<@McMartin>
Just because it's unpleasant doesn't mean it isn't still necessary. =/
19:26
<@McMartin>
If oyu don't ind piling on 20+MB of additional libraries, Qt4 is pretty good
19:26
<@McMartin>
I've been using it in my job recently and it's been less painful than I'm used to for UIness
19:38 * TheWatcher hadn't been keeping up with Qt, didn't realise they'd fixed the idiocy re: windows licensing
19:38
<@TheWatcher>
might actually look at it again, now
19:43
<@McMartin>
... how recently?
19:43
<@McMartin>
Qt4 has been flat GPL for a long time on Windows, though you had to use gcc.
19:44
<@McMartin>
(Qt4 was also the first point where it was worthwhile in the first place because that was the first point it was actually tri-platform single-source)
19:45
<@ToxicFrog>
My favorite is still GTK, because with Glade and a bit of glue code most of the pain goes away.
19:46
<@TheWatcher>
indeed
19:48
<@TheWatcher>
McM: given that the last time I looked at Qt was back at Qt, um, 3?...
19:57 Molgorn is now known as Moltare
20:12
<@McMartin>
OK, so, yeah, maybe so.
20:12
<@McMartin>
Also, Qt Designer is at least Glade's equivalent.
20:29
<@gnolam>
And AFAIK, Qt is or at least tries hard to look native on each platform.
20:30
<@McMartin>
It's vastly better at it than Swing.
20:31
<@McMartin>
(Our company's skinning the app so it looks equally alien everywhere, but that's a stylesheet issue)
20:31
<@McMartin>
I haven't found any quirks in my personal experiments, admittedly limited.
20:32
<@TheWatcher>
McM: I think that drawing on the bloody screen in crayon would be better at it that swing
20:32
<@TheWatcher>
and less likely to induce mdaness while trying to write something usable
20:33
<@gnolam>
"The Swing in Yellow"?
20:35
<@McMartin>
TW: Blorple was easier in Swing than Gtk, sadly. =/
20:35
<@McMartin>
I could not get Gtk to handle images properly.
20:39
<@McMartin>
(Blorple's UI centers around two sliders, one horizontal, one vertical, dividing the window into three parts. They should move freely, and the one containing the image should autoscale to whatever its pane's size is. I could not get Gtk to consistently permit arbitrary resize while also having the image react appropriately.)
20:41 Gruber [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
20:42 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout]
20:47 * Derakon sighs.
20:47
<@Derakon>
The inflector clearly needs a sound effect.
20:47
<@Derakon>
And I got a lovely one from one of ASCII's machinima friends.
20:47
<@Derakon>
But I cannot seem to get it to sound halfway decent ingame. >.<
20:48
<@Derakon>
Looping it smoothly is basically impossible.
20:48
<@Derakon>
It pops a bit every time you stop inflecting.
20:48
<@Derakon>
And the transition from "rising hum" to "looping hum" is terrible.
20:51 Gruber is now known as gnolam
20:53
< gnolam>
You've cut it so it loops on zero crossings I assume?
20:53
<@Derakon>
Define a "zero crossing"?
20:53
<@Derakon>
I can't loop at silence. The effect requires a continuous hum.
20:53
<@Derakon>
And it's not really the sound effect that's the problem for the loop; it's Pygame's insistence on having a moment of silence between each iteration.
20:55
< gnolam>
Zero crossing = where the waveform crosses the x axis.
20:55
<@McMartin>
Zero crossing: The soundwave is at the neutral point so there is no pop when it resets to it
20:56
<@Derakon>
The way I've had to achieve a "clean" loop is by using two sound effects that fade in and out but are offset in time.
20:56
<@Derakon>
Which is just a huge pain. :\
20:56
< gnolam>
Looping at zero crossing doesn't guarantee freedom from pops and clicks, but not looping at them guarantees that you /will/ get artifacts.
20:56
< gnolam>
+s
20:57
<@Derakon>
Anyway, I'm more annoyed by the popping I get when the player stops inflecting for a moment, and I've no idea how to stop that.
20:57
<@Derakon>
Right now I'm pausing, and restarting playback when they start inflecting again. This preserves "when I am" in the sound.
20:58
<@Derakon>
There's a fadeout() function for sound channels, but it stops playback (i.e. place is lost), and AFAICT there's no way to say "Start playing this sound from this point in the sound."
20:59
<@Derakon>
(Not to mention that fading out and in repeatedly would take up time on the sound, causing the sound to be behind the player's current charge status)
20:59 * Derakon ponders just having a set of dings for every 10% charge achieved.
21:00
< gnolam>
You have no manual control over the played voice's volume?
21:01
< gnolam>
(Or other parameters for that matter)
21:01
<@Derakon>
I can set its volume, yes.
21:02
<@Derakon>
But it's not running in its own thread, so I can't say e.g. "set volume to 50%, wait 10ms, set volume to 10%, wait 10ms, pause."
21:03
<@McMartin>
Hm. Add alarms to your event queue?
21:03
<@McMartin>
Then you could say that.
21:04
<@Derakon>
That's really a lot of complexity. >.<
21:04 * TheWatcher eyes perl, wonders how he can get at the timezone without resorting to $tz = strftime("%Z", localtime($ts));
21:04
<@Derakon>
And bloody hell, this should not be so complicated.
21:04
<@McMartin>
This kind of thing is part of why UQM decided to keep an audio decoder thread even while drastically reducing its multiprogramming load. =/
21:05
<@TheWatcher>
Sound is a really complicated issue, alas :/
21:05
<@McMartin>
(Also, python bindings for MixSDL would rule)
21:05
<@McMartin>
(MixSDL being Alex Volkov's reimplementation of most of OpenAL on top of raw SDL_audio)
21:25
<@Derakon>
Got a good idea off of GameDev.net for Spellcast+.
21:25
<@McMartin>
That reminds me
21:25
<@Derakon>
Namely, spells should not be entirely secret. In fact, all but one "fact" of the spell would be public -- but which one is public is not known.
21:26
<@Derakon>
I.e. you get to lie about one facet of the spell you're casting.
21:26
<@McMartin>
One of my friends is looking at indie development
21:26
<@Derakon>
Oh?
21:26
<@McMartin>
He's starting with IF stuff but thinks it may end up going genre-shifting and wants to know where to look for advice afterwards
21:26
<@McMartin>
So if you have a handy survey of the scene, if you will, that would be nice to have.
21:26
< Moltare>
I still want to make my N bowman-dash DDR spy-vs-spy game >_>
21:26
< Moltare>
Damned if I know what to make it in, or how
21:27
<@Derakon>
Advice on development, or on genres, or on design, or what?
21:27
<@McMartin>
(Hell, I bet a lot of people would like it if you have it to hand, as an LJ post or whatnot)
21:27
<@McMartin>
Communities, really.
21:27
<@Derakon>
Ahh.
21:27
<@McMartin>
You've got gamedev.net, AS, TIGsource...
21:27
<@Derakon>
I've not investigated the latter two.
21:27
<@McMartin>
Pygame runs its own community...
21:27
<@TheWatcher>
Mol: do it in Haskell! That way you and reiv could work on ideas ¬¬
21:27
<@McMartin>
Er, AS = Ambrosia Software, which you're on.
21:27
<@Derakon>
I've spent some time in #pygame and gotten some value out of it.
21:27
<@Derakon>
Oh, right.
21:27
< Moltare>
Haskell my /buttocks/.
21:27
<@Derakon>
AS is more a generic community, though.
21:27
<@Derakon>
It could as easily be the CRFH forums.
21:28
<@Derakon>
In general, I'd say that if you need development advice, find the forum specific to your toolset. If it's programming in general, or overarching design principles, try GameDev.net, but beware the massive number of people who don't know what they're talking about.
21:28
<@Derakon>
And if you just need feedback, use the communities you're already in. Everyone plays games these days.
21:29 * TheWatcher generally recommends people /avoid/ gamedev, honestly ¬¬
21:30
<@Derakon>
Ehh, it's good visibility. You just have to toss 75% of what people say.
21:32 * TheWatcher vastly prefers the Game Programming Gems/Graphics Gems/GPU Gems/*Gems books for design theory and principles
21:32
<@TheWatcher>
Since y'know, they tend to be written by people who might have a clue >.>
21:38
<@McMartin>
GPG is fricking awesome, but not for what he's planning.
21:38
<@McMartin>
And less so the further on you go
21:38
<@Derakon>
I translate GPG as Gas-Powered Games. ¬.¬
21:39
<@McMartin>
Yeah, I try not to use that acronym out of context.
21:40
<@McMartin>
This would be for "getting people to do playability tests with" and such.
21:40
<@McMartin>
Since he's been using his channels for design discussion, and by now we're all too close to the design
21:40
<@Derakon>
Yeah, that's a common problem.
21:40
<@McMartin>
And hordes of idiots is what you *want* for playability tests.
21:41
<@McMartin>
You can't make anything foolproof a priori, because fools are far too ingenious
21:41
<@Derakon>
Oh yes.
21:41
<@TheWatcher>
McM: I was more directing it to mol than dera, really
21:42
<@TheWatcher>
That said, GPG does tend to assume and use c/c++ extensively
21:43
<@TheWatcher>
and while the concepts are transferable, you need to be able to work 'em out first...
21:43
<@McMartin>
It also assumes that most of what you really care about are modeling and rendering 3D environments.
21:43
<@McMartin>
And this gets more and more true as the series goes on.
21:44
<@Derakon>
Ugh, 3D.
21:44
<@McMartin>
The first two have a lot more excellent general programming advice, and I consider GPG1 to be an indispensable reference for *anyone* doing serious C++ development.
21:44
<@Derakon>
I don't see how I can do Zweihänder will without 3D. :(
21:44
<@TheWatcher>
True
21:44
<@McMartin>
As it happens, that's not what this guy is looking for - after all, he's prototying it in Inform.
21:44
<@TheWatcher>
(but, since that /is/ what I'm doing...)
21:44
<@McMartin>
*prototyping
21:48
< Moltare>
My idea is all 2Dy and such, a propos not much
21:48
<@Derakon>
Good.
21:49
<@Derakon>
Your first games should not be 3D.
21:50
<@McMartin>
[*]
21:51
<@McMartin>
[* Certain forms of abstract 3D games are acceptable; if you're making something that's geometric, OpenGL probably is better than isometric bullshit]
21:51
<@Derakon>
Mm, fair enough.
21:54
<@TheWatcher>
(opengl can also make a fair amount of 2D work easier, too, unless you like framebuffer wrangling)
22:02
< Moltare>
must finish the design dox for that game some day
22:02
< Moltare>
All the details are in my meind, but I need it on paper for the benefit of others
22:13 * TheWatcher finsihes the RSS feed module, flomp
22:18 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
22:26
<@Doctor_Nick>
whats the equivalent of nstat on windows?
22:26 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code
22:31
<@McMartin>
... what does nstat do?
22:31
<@Derakon>
"nstat is an X status display for PPP networking."
22:32
<@Derakon>
Basically shows if you are connected and if there is traffic.
22:32
<@McMartin>
I believe you doubleclick the network icon in the systray, or in the Control Panel->Network window.
22:32
<@Derakon>
Also lets you start and stop the PPP daemon.
22:32
<@McMartin>
That'll give you status and packet counts.
22:32
<@McMartin>
Enable/disable the connection with right click and options.
22:33
<@McMartin>
For graphs, that's part of the Task Manager, which you can activate with Ctrl-Alt-Del.
22:33
<@McMartin>
Depending on Windows version, hitting once will bring it up, or bring up a menu of which "Task Manager" is an option.
22:38
<@Derakon>
Idly, anyone here played the X-Box 360 Settlers of Catan?
22:38
<@Derakon>
Is the interface 3D or 2D?
22:40
< Reiv>
I would imagine, for a 360 product, it'd be a pretty 3D graphics on a 2D game. Think CivIV and the like.
22:40
<@Derakon>
I'm working on a design for Spellcast+ and wondering if I want to deal with 3D for it or not.
22:40
<@Derakon>
Well, more wondering if I can plausibly get away with 2D.
22:48
< Reiv>
Depends how much you want to do with 3D graphics. 2D is acceptable; the 3D is eyecandy.
22:48
<@McMartin>
I have some friends with it.
22:48
<@McMartin>
They liked it a great deal.
22:48
< Reiv>
I do query Spellcast+, though - isn't the whole purpose of the game the gesture system?
22:49
<@Derakon>
That's merely a project name that is itself temporary until I can think of something more apropos.
22:49
< Reiv>
Aah. So it's a Strategic Fantasy Battle Game?
22:50
<@Derakon>
Yeah.
22:56
<@Doctor_Nick>
it was "netstat"!
22:59 * TheWatcher wonders how to manipulate AWSHAKOTE into a sensible name to suggest for spellcast+ ¬¬
23:00
<@Derakon>
AWSHAKOTE?
23:00
<@TheWatcher>
A Wizard's Staff Has A Knob On The End.
23:00 * Derakon facepalms.
23:00
<@TheWatcher>
Whaaaat~
23:05
<@TheWatcher>
Also, looking at http://www.youtube.com/watch?v=nageaHQddTQ (specifically towards the end), it looks like the 360 version uses real 3D, as they're rotating the board view
23:06
<@Derakon>
Ahh, YouTube. Why didn't I think of that?
23:08 * Derakon ponders spell resolution and spells that move players around.
23:09
<@Derakon>
I'd like to have a Teleport spell, which you target, and three turns later you're yanked from wherever you are at the moment to the targeted location.
23:09
<@Derakon>
But what happens if a spell targets either location on the turn you teleport?
23:10 * TheWatcher still vaguely amuseds at the whole creation of catan computer games, honestly. Considering that SoC is a thinly veiled boardgame ripoff and reengineering of BlueByte's 1996 'The Settlers' stripped down for board gaming viability
23:11
<@Derakon>
Ahh, just give every spell a priority. It won't be an issue in most cases anyway.
23:13
< gnolam>
The Settlers came out in '93 and SoC in '95.
23:13
< gnolam>
And whole the names are the same, they're really not that related.
23:13
<@TheWatcher>
oh, yeah, '93 not 96
23:14
< gnolam>
Settlers II came out in '96 though.
23:14
< gnolam>
And Settlers II > Settlers I. :)
23:14
<@TheWatcher>
Eeh, I still prefer the original (the amiga version, that is)
23:16
< gnolam>
(BTW, I hope you all are aware that you have to pronounce the 'C' in "Catan" with an 'S' sound)
23:18
< Moltare>
(I am not)
23:18
<@Derakon>
Wait whut.
23:19
<@Derakon>
The only words I know to break the 'C' => 'S' rule on are Greek (e.g. "Cerberus" sounds a bit like "Care Bear Us").
23:19
<@TheWatcher>
"settlers of satan", eh? ;)
23:19
< gnolam>
The C is just a clever ruse. They only moved to the island to get to worship Beelzebub in peace.
23:19 * Derakon facepalms.
23:19
<@TheWatcher>
nice, gnolam
23:19
< gnolam>
Ever wonder what you need all those sheep for? The Father of Lies needs his sacrifices.
23:30 AnnoDomini [~farkoff@Nightstar-29326.neoplus.adsl.tpnet.pl] has quit [Quit: What can change the nature of a man?]
23:32 mode/#code [+o gnolam] by ChanServ
23:32
<@gnolam>
http://stalinvsmartians.com/en/index.html <- game of the year?
23:32
<@Derakon>
Gnolam: I figured I needed the sheep to build roads and cities.
23:33
<@gnolam>
Suure. When was the last time you saw a sheep driving a steamroller?
23:34
<@Derakon>
No, no, no.
23:34
<@Derakon>
You take the bones, hair, hooves, and so on and compress them into hard, durable substances, then you make mortar out of their muscle and blood.
23:35
< Moltare>
oh shit i just opened tvtropes
23:35
< Moltare>
send help
23:35
<@gnolam>
Or you sacrifice them to make the ground suitably unholy before building.
23:36
<@Derakon>
But without sheep, what would I build the city out of?
23:37
<@gnolam>
Explain away the development cards: use one stone to build an altar, some hay to start the fire and sacrifice a sheep upon it and the Lord of Flies will grant you a blessing.
23:37
<@gnolam>
It's obvious!
23:39
<@Derakon>
Simple. You're building cyborgs to carry out your orders. Cyborg sheep.
23:41
< Reiv>
... quick Haskell question.
23:42
< Reiv>
I am looking for a value of the integer x that matches the range 30-62, or something.
23:42
< Reiv>
Trying to simply ask if x == [30..62] gets a complaint because it's comparing an Int with an [Int]
23:43
<@Derakon>
You want "x is in the list [30..62]", but I don't know how to say that in Haskell.
23:43
< Reiv>
Right
23:43
<@Derakon>
I guess you could say "[30..62][x]", but that would probably throw an exception rather than return false.
23:43
< Reiv>
Or at least, how to tell Haskell to look inside the list. I know this is something simple ish, but
23:44
< Reiv>
hm!
23:44
<@Derakon>
(Actually, "[30..62][x+30]", anyway)
23:44
< Reiv>
Still a botchup of types
23:45 * TheWatcher suspects you need to write a function that will return a function that tells the interpreter how to write a function that can tell you whether there's a function that can tell you whether x is greater than or equal to 30 and less than or equal to 62, or something)
23:45
<@TheWatcher>
>.>
23:45
<@Derakon>
Now, now, this isn't Lisp~
23:45 * Reiv is getting the feeling he needs to make a seperate function to drag all the values out of the list and compare them... but about that point his brain asplode, 'cuz this is a set of guards he's trying to make.
23:46 * TheWatcher coughs, hated functional programming with a passion, for some reason. Possibly because of SML.
23:46 * Reiv is /adoring/ functional programming... or at least its concepts.
23:46
<@Derakon>
I enjoyed SML until we started working on continuations, which really broke my brain.
23:46
<@Derakon>
Then again, I was taking 18 rather heavy units that semester, so there wasn't much brain to break.
23:47
<@TheWatcher>
Reiv: yeah, but see, I kinda get hung up on things like "why should it take all this effort to do if(x >= 30 && x <= 62)" ¬¬
23:48
<@gnolam>
18 units of morphine?
23:48
< Reiv>
TW: Because I'm fairly certain this is even easier than that. I'm just not doing it right. >_>
23:48
<@Derakon>
Gnolam: 18 units of coursework.
23:48
<@Derakon>
And only one trivial class, IIRC.
23:49
<@TheWatcher>
(also I tend to add "because that's pretty much how the processor is going to do the job anyway".. but then, I'm one of those psychos who think people should learn assembler first, so my opinion probably doesn't count)
23:50 * Reiv mumbles. Okay, so the issue I actually have is: Trying to convert lower case letters to uppercase, while leaving everything else the same. It's not actually x between 30 and 62, but it's certainly 32 values long~
23:50
<@Vornicus>
Language?
23:50
< Reiv>
I have the whole thing sorted except how to get the blasted function to match on the values between 'a' and 'z'.
23:50
< Reiv>
Vorn: Haskell.
23:50
<@Vornicus>
Ah
23:51
<@TheWatcher>
Reiv: http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Char.html#v%3Ato Upper ?
23:51
<@Vornicus>
Okay, does it use ASCII values?
23:51
<@Derakon>
x = (x >= smallest_uppercase_number and x < largest_uppercase_number) ? x - offset_between_upper_and_lower : x
23:51
< Reiv>
This is my Very First Functional Programming, uh, Program(tm).
23:52
< Reiv>
Yah. I'm not concerned about the actual offsets, I've got code handling all that already (ord :: Char -> Int and chr :: Int -> Char)
23:53
< Reiv>
TW: Yeah, I think that would be cheating when this is practice lessons~
23:56 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
23:56 mode/#code [+o GeekSoldier] by ChanServ
23:59
< Reiv>
HAH
23:59
< Reiv>
Knew it was simple.
--- Log closed Tue Mar 10 00:00:34 2009
code logs -> 2009 -> Mon, 09 Mar 2009< code.20090308.log - code.20090310.log >