code logs -> 2009 -> Tue, 23 Jun 2009< code.20090622.log - code.20090624.log >
--- Log opened Tue Jun 23 00:00:12 2009
00:02
<@Consul>
NSIS == NullSoft Installer?
00:03
<@Consul>
Or is it InstallShield?
00:03
<@Consul>
TMA! (Too Many Acronyms)
00:05
<@Consul>
Ah, it is the NullSoft one, okay.
00:06
<@Consul>
Interestingly enough, my favorite digital audio multitracker program was written by the same guy.
00:08
<@McMartin>
NSIS is by far the best of breed.
00:08
<@McMartin>
It's just still made of spiders
00:09
<@Consul>
That seems to be a common theme in programming in general.
00:09
<@Consul>
The best IDE at editing is the worst at managing a project, etc.
00:09
<@Consul>
Lots of dichotomies in the CS world.
00:14
<@McMartin>
Well, no
00:14
<@McMartin>
NSIS is in fact the best of everything at everything in its domain
00:14
<@McMartin>
It's just still objectively horrendous.
00:15
<@Consul>
Ah, I see what you're saying.
00:15
<@Consul>
In the end, installation is a hard problem, with no easy solution no matter what you do?
00:15
<@McMartin>
I suspect that's the case
00:15
<@Consul>
Kinda like physics.
00:15
<@Consul>
Physics is a tough class, no matter how good your teacher is.
00:15
<@McMartin>
But having the best of breed be a language that used to brag that it was like a cross between assembler and PHP does not help the case.
00:16
<@Consul>
Reaper (the aforementioned DAW also by Justin Frankel) includes a DSP language that can be used for coding one's own plugins.
00:17
<@Consul>
Which is really, really cool.
00:17
<@Consul>
It's set up sort of like a pseudocode, designed for DSP.
00:17
<@Consul>
But...
00:17
<@Consul>
It still lacks functions and includes, which makes it difficult for anything beyond the most basic of algorithms.
00:18
<@McMartin>
NSIS has since gotten a set of undocumented macros called "LogicLib" that let you have control flow that isn't GOTO.
00:18
<@Consul>
And it had GUI support, but it's low-level "draw the pixels by hand" kind of GUIs.
00:19
<@McMartin>
NSIS now has decent UI design too, it seems, though I wasn't responsible for that bit of the installer here.
00:19
<@Consul>
Err, it *has* GUI support, I mean.
00:20
<@Consul>
Interesting how our two conversations are interleaving like this. :-)
01:58 * Reiver hunts a McMartin, for he could use conceptual assistance again.
01:58
< simontwo>
I always liked NSIS. never had a use for it, though.
02:03
<@McMartin>
Kind of busy atm, I fear
02:05 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
02:08
<@Reiver>
McM: Doh. Are you liable to remain busy for the next few hours?
02:08
<@McMartin>
God, I hope not.
02:08
<@McMartin>
But I don't have high hopes
02:09
<@Reiver>
OK.
02:10
<@Reiver>
It is not too much, but I don't want to bug ye, so
02:10
<@McMartin>
Feel free to toss it in PM, but I don't know when I'll get to it
02:10
<@Reiver>
Sure
02:28
<@Reiver>
McM: Ka-sent
02:28
<@Reiver>
Not compulsory, but if you have a few moments, cheers. The help has been appreciated either way. :)
02:30 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
02:31 Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Ping Timeout]
02:31 Syloqs_AFH is now known as Syloqs-AFH
02:49 mode/#code [+oooooo Alek ASCII crem_ GeekSoldier jerith Kazriko] by Vornicus
02:49 mode/#code [+oooo Namegduf simontwo Syloqs-AFH Tarinaky] by Vornicus
02:53 Attilla [~The.Attil@92.18.64.ns-4168] has quit [Quit: <Insert Humorous and/or serious exit message here>]
02:59 SmithKurosaki [~Smith@Nightstar-7213.cpe.net.cable.rogers.com] has quit [Ping Timeout]
03:00 SmithKurosaki [~Smith@Nightstar-7213.cpe.net.cable.rogers.com] has joined #code
03:00 mode/#code [+o SmithKurosaki] by ChanServ
03:28 * Derakon reworks crawling logic again.
03:34
<@Derakon>
And now I get to find this fun collision bug: http://derakon.dyndns.org/~chriswei/games/jbrl/collision/player13.png
03:35
<@Derakon>
...actually, I know how to fix this.
04:00
<@Derakon>
This, however, is going to be more annoying: http://derakon.dyndns.org/~chriswei/games/jbrl/collision/player13b.gif
04:01
<@Derakon>
Problem is that the player, while crawling, runs off the edge of the ledge, and thus starts falling. The falling animation has a different bounding polygon than the crawling one, which embeds it deeply into the terrain, causing it to generate erroneous collision vectors.
04:08 * Derakon makes potentially-unwarranted assumptions about the shapes of bounding polygons, fixes the problem. For now, anyway.
04:09
<@Derakon>
There are now 24 TODO markers in JBRL's codebase. >.>
04:14
<@Vornicus>
Do you have any actual critters in the game, or are you still working on the avatar's physics?
04:14
<@Reiver>
Idle suggestion: Base the bounding box off the 'head'.
04:14
<@Derakon>
Vorn: at the moment, it's just the player, but the logic's going in TerrestrialObject instead of Player.
04:15
<@Reiver>
Far as I can tell, that would fix any falling issues (As you need space downwards to fall)
04:15
<@Derakon>
Reiver: basically what I did was find the top of the bounding box before and after entering freefall, and moving the creature down by the difference, if they were crawling before they started falling.
04:15
<@Reiver>
right.
04:16
<@Derakon>
Vorn: my goal is to have the Player be simply another of a generic class of objects, whose only major differences are a) more customizable physics (from upgrades, etc.), and b) state updates are handled by keyboard input instead of an AI routine.
04:41 Alek [~omegaboot@Nightstar-4141.dsl.emhril.sbcglobal.net] has quit [Quit: I'll be back... the insanity here is good quality ganja...]
04:42 Alek [~omegaboot@Nightstar-4141.dsl.emhril.sbcglobal.net] has joined #code
05:10 * Vornicus nods.
05:17 * Reiver pokes McMartin. Knows you're busy, wonders if you have a minute - he's sorted out most of his challenges and is now poking at the (hopefully) next to last one.
05:38 Vornicus is now known as Phas
06:01 Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer]
06:29 Derakon is now known as Derakon[AFK]
06:52 UndeadAnno [AnnoDomini@Nightstar-29478.neoplus.adsl.tpnet.pl] has joined #Code
06:52 mode/#code [+o UndeadAnno] by ChanServ
07:30
<@Reiver>
Say, Anno
07:30
<@Reiver>
Do you know Haskell?
07:31
<@Reiver>
I am staring at some really, /really/ stupid errors and wondering WTF.
07:32
<@UndeadAnno>
I don't know Haskell.
07:32
<@Reiver>
gnah
07:32 * Reiver pokes McMartin experimentally.
07:33
<@Phas>
MCV also knows haskell.
07:33
<@Reiver>
Ooh
07:33 * Reiver pokes MyCatVerbs too, then.
07:38
<@Reiver>
Hn. Should be awake soonish. Well, that's a start.
08:31 Phas is now known as Vornicus
09:25 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
09:25 mode/#code [+o gnolam] by ChanServ
09:26 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Connection reset by peer]
09:26 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
09:26 mode/#code [+o GeekSoldier] by ChanServ
09:32 You're now known as TheWatcher
09:51 Vornicus is now known as Vornicus-Latens
10:05 SmithKurosaki [~Smith@Nightstar-7213.cpe.net.cable.rogers.com] has quit [Operation timed out]
10:06 SmithKurosaki [~Smith@Nightstar-7213.cpe.net.cable.rogers.com] has joined #code
10:06 mode/#code [+o SmithKurosaki] by ChanServ
10:08 Thaqui [~Thaqui@121.98.166.ns-22683] has joined #code
10:08 mode/#code [+o Thaqui] by ChanServ
12:25 * Vornicus-Latens randomly writes def broadway_norm(v): prev = 0; total = 0; for n, x in sorted(v, reverse = True): total += sqrt(len(v) - n) * (x - prev); prev = x;; return total
12:31 Attilla [~The.Attil@92.18.64.ns-4168] has joined #code
12:31 mode/#code [+o Attilla] by ChanServ
12:46 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout]
12:47 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
12:48 mode/#code [+o gnolam] by ChanServ
13:50 Vornicus-Latens is now known as Vornicus
13:58
<@gnolam>
Sweet. Managed to reduce the code size for this class by half.
14:02
<@simontwo>
fu.
14:02
<@Vornicus>
Der: better fix, crawling makes you fliphang.
14:12 MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has quit [Ping Timeout]
14:47 AbuDhabi [AnnoDomini@Nightstar-28997.neoplus.adsl.tpnet.pl] has joined #Code
14:47 UndeadAnno [AnnoDomini@Nightstar-29478.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
14:50 Derakon[AFK] is now known as Derakon
15:30 MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has joined #code
15:30 mode/#code [+o MyCatVerbs] by ChanServ
15:50
<@Reiver>
MyCatVerbs!
15:50
<@Reiver>
Are you awake?
16:06 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
16:07 Syloqs_AFH is now known as Syloqs-AFH
16:22
<@MyCatVerbs>
Reiver: yes. What can I do for you?
16:26
<@Reiver>
Ach!
16:26
<@Reiver>
You know Haskell, yes?
16:27
<@Reiver>
I got stuck on a wee bug while extending my code, and am a bit stuck on how I should go about fixing it.
16:39
<@MyCatVerbs>
Yes, just a little. :)
16:40
<@MyCatVerbs>
Sure thing, hit me. (Preferrably with a pastebin - hpaste.org for example has good highlighting for H98).
16:46
<@Reiver>
Sorry, got distracted (by ze loo, funny how that happens)
16:46
<@Reiver>
http://pastebin.com/d3af06dc
16:47
<@Reiver>
hugs error to match:
16:47
<@Reiver>
ERROR file:.\Ass4.txt:130 - Type error in explicitly typed binding
16:47
<@Reiver>
*** Term : emptyMem
16:47
<@Reiver>
*** Type : ([a],MemVal)
16:47
<@Reiver>
*** Does not match : Memory
16:49
<@Reiver>
Basic plan is I want emptyMem to be a Memory value of, y'know, a set of blanks.
16:49
<@Reiver>
But I'm having trouble getting it to type properly.
17:01
<@MyCatVerbs>
Reiver: Unbound is a single value of type MemVal.
17:01
<@MyCatVerbs>
Reiver: Memory's second member is a function from Ide to MemVal.
17:01
<@MyCatVerbs>
Perhaps you wanted empty = ([],const Unbound) -- ?
17:03
<@MyCatVerbs>
i.e. ([], \_ -> Ubound )
17:03
<@Reiver>
hm
17:03 * Reiver tries it
17:03
<@MyCatVerbs>
Memory = ([Ide],Ide -> MemVal). You've supplied ([a],MemVal). The list matches just fine (a unifies with Ide no problem) but it's the second member that doesn't work.
17:04
<@Reiver>
HA!
17:04
<@MyCatVerbs>
BTW, are you using Hugs or something? That error is formatted in an unfamiliar way. All the sexy people use GHC. ^_^
17:04
<@Reiver>
See, I didn't know about const unbound
17:04
<@Reiver>
Or even const
17:04
<@MyCatVerbs>
And me too, but that's just a random aberration.
17:04
<@Reiver>
So that error was really throwing me.
17:04
<@MyCatVerbs>
const a _ = a
17:04
<@Reiver>
And yeah, it's HUGS
17:04
<@Reiver>
'tis awesome, for it allows quick and easy debugging.
17:05
<@MyCatVerbs>
I s'pose. You do know about GHCi, though?
17:05
<@Reiver>
I'm aware of its existance. :)
17:05 * MyCatVerbs tends to lean heavily on the :r sequence.
17:09
<@Reiver>
:r ?
17:10
<@Reiver>
Also: And with that one change, it now runs
17:12
<@Reiver>
hrn, so
17:12
<@Reiver>
Memory is of type ([Ide],Ide -> MemVal) right
17:12
<@Reiver>
I have a get function that will drag out the MemVal part for me as required.
17:12
<@Reiver>
How would I do a one-off extraction of the [Ide] ?
17:16
<@MyCatVerbs>
(!! index) is the usual way.
17:16
<@Reiver>
whut
17:16
<@MyCatVerbs>
Oh, I thought you meant one element out of the list, my bad.
17:16
<@MyCatVerbs>
fst and snd give you the elements of a pair.
17:17
<@MyCatVerbs>
fst (a,_) = a; snd (_,b) = b
17:17
<@MyCatVerbs>
Or you can pattern match: let (list,fun) = someMemValYouHaveFromSomewhere in ... -- use list or fun here.
17:19
<@Reiver>
Ach!
17:19
<@Reiver>
So, fst m would give me the list?
17:20
<@MyCatVerbs>
Yep.
17:21
<@MyCatVerbs>
And ((fst m) !! n) would give you the n'th item in the list. :)
17:22
<@simontwo>
in O(n) time?
17:22
<@Reiver>
whoa
17:22
<@Reiver>
*** Expression : fst m ++ "; Memory: w = " ++ show (get m "w") ++ ", x = " ++ show (get m "x") ++ ", y = " ++ show (get m "y") ++ ", z = " ++ show (get m "z") ++ "; Input:" ++ show i ++ "; Output: " ++ show o
17:22
<@Reiver>
*** Term : fst m
17:22
<@Reiver>
*** Type : [[Char]]
17:22
<@Reiver>
*** Does not match : [Char]
17:23
<@Reiver>
simontwo: Generally that sort of operation is in linear time, 'cuz the linked list has to be iterated through
17:24
<@MyCatVerbs>
Reiver: Ide's a [Char]. fst m :: [Ide]. [Ide] = [[Char]].
17:25
<@MyCatVerbs>
You can't concatenate a list of strings with a single string.
17:25
<@MyCatVerbs>
(concat . fst $ m) ++ ..., perhaps?
17:25
<@MyCatVerbs>
Or just (show (fst m)) would get you something semi-reasonable.
17:25
<@MyCatVerbs>
["foo","bar","baz"] kind of thing.
17:26
<@Reiver>
oh, show! I keep forgetting you. Poor show.
17:27
<@Reiver>
IT VORKZ
17:27
<@Reiver>
MUAHAHAHAHAHA
17:27
<@Reiver>
Now I have only to hand-write some TINY parsing, and it eez done
17:30
<@MyCatVerbs>
Yeah, you get kind of used to not writing it at the REPL.
17:31
<@MyCatVerbs>
Everything is implicitly typed against Show a => a, or Show a => IO a, and then either run through (putStrLn . show) or (>>= (putStrLn . show)) -- ;)
17:53
<@GeekSoldier>
GHC won't compile from the FreeBSD ports collection. boo.
18:02 * Derakon mutters at Doxygen for not generating links to classes for him.
18:10 AbuDhabi is now known as BERSERKER
18:16 Thaqui [~Thaqui@121.98.166.ns-22683] has quit [Client exited]
18:17 BERSERKER is now known as UndeadAnno
19:15 UndeadAnno [AnnoDomini@Nightstar-28997.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
19:18 UndeadAnno [AnnoDomini@Nightstar-28997.neoplus.adsl.tpnet.pl] has joined #Code
19:18 mode/#code [+o UndeadAnno] by ChanServ
20:11 SmithKurosaki [~Smith@Nightstar-7213.cpe.net.cable.rogers.com] has quit [Ping Timeout]
20:15 SmithKurosaki [~Smith@Nightstar-5895.dsl.teksavvy.com] has joined #code
20:15 mode/#code [+o SmithKurosaki] by ChanServ
20:31 * gnolam curses Visio's UI designers.
20:35
<@gnolam>
One wonders how, during its entire development, /nobody/ thought to make sure the columns in the class properties dialog were actually wide enough to display their contents.
20:42
<@SmithKurosaki>
>.<
20:44
<@gnolam>
Oh, and you can't permanently make them wide enough.
21:37
<@McMartin>
TheWatcher: Our QA is now beer-worthy by your measure~
21:37
<@TheWatcher>
Awesome :)
21:42
<@Derakon>
Hey, TW, don't suppose you know much about Doxygen and Python?
21:47
<@TheWatcher>
Nope; I only know Doxygen as used in c/c++/perl. But what's up, I /might/ know something...
21:48
<@Derakon>
I'm trying to convince it to link to my Map class when I write "Map" in bits of documentation.
21:49
<@Derakon>
The only way I've gotten an autogenerated link to work is with the "\package Map" line, though, which takes you to the wrong page.
21:49
<@TheWatcher>
tried \link Map?
21:50
<@Derakon>
I was hoping for autolinking. :\
21:51
<@Derakon>
Per the docco, "All words in the documentation that correspond to a documented class and contain at least one upper case character will automatically be replaced by a link to the page containing the documentation of the class."
21:51
<@TheWatcher>
Sometimes the autolink can go a bit bandy, IME.
21:51 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
21:52
<@Derakon>
Bah.
21:52
<@Derakon>
Oh, well.
21:52
<@Derakon>
Making the documentation more navigable is not exactly a high priority if it requires adding extra text every time I want there to be a link.
22:17 Consul [~Consul__@Nightstar-3702.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving]
22:19 UndeadAnno [AnnoDomini@Nightstar-28997.neoplus.adsl.tpnet.pl] has quit [Quit: No one can think without magic... though there are probably 2 mages for every thousand people, and one of them is most assuredly just a twit with a hat and a rabbit trying to score chicks with his magic missiles.]
22:20 Consul [~Consul__@Nightstar-3702.dsl.sfldmi.ameritech.net] has joined #code
22:20 mode/#code [+o Consul] by ChanServ
22:36 Derakon is now known as Derakon[AFK]
23:19 You're now known as TheWatcher[T-2]
23:22 You're now known as TheWatcher[zZzZ]
--- Log closed Wed Jun 24 00:00:26 2009
code logs -> 2009 -> Tue, 23 Jun 2009< code.20090622.log - code.20090624.log >