code logs -> 2012 -> Mon, 10 Sep 2012< code.20120909.log - code.20120911.log >
--- Log opened Mon Sep 10 00:00:22 2012
00:28 You're now known as TheWatcher[T-2]
00:28 io\PACKERS is now known as iospace
00:36 Kindamoody is now known as Kindamoody[zZz]
00:43 You're now known as TheWatcher[zZzZ]
01:33 Attilla [Obsolete@Nightstar-0601b683.as43234.net] has quit [Ping timeout: 121 seconds]
02:01 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
02:02 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
02:56 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
02:57 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
03:19
< celticminstrel>
[Sep 09@5:42:08pm] jerith: Also, there's no foo[n,m]. There's foo[n][m] or foo[(n,m)].
03:19
< celticminstrel>
I was under the impression that foo[n,m] was interpreted as a shortcut to foo[(n,m)]...
03:33
<&Derakon>
Numpy can do that.
03:34
<&Derakon>
But standard Python lists can't.
03:35
<&Derakon>
Of course if foo is a dict then you can do that just fine.
03:35
<&Derakon>
In other words, yes "foo[n,m]" is equivalent to "foo[(n,m)]" but that doesn't mean it's valid indexing into a list.
03:35
<&Derakon>
It is however valid indexing into a Numpy array.
05:01 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
05:01 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
05:08
< celticminstrel>
Right.
05:34 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:54 * Vornicus should upgrade his toolchain for his Knytt mapping
05:54
<&McMartin>
Ooo, Knytt maps
05:54
<&Derakon>
There's a lot of 'em out there.
05:56
<~Vornicus>
as in, I am mapping the world of the original Knytt and I have a lot of annoying steps.
05:56
<&Derakon>
Ah.
05:56 * Derakon checks vgmaps.com, is surprised to see no map for it there.
05:57
<&Derakon>
Ah, but http://www.indiefaqs.com/index.php/Knytt claims to link a full map.
05:58
<&Derakon>
Yep, that looks like a pretty big map.
05:58
<&Derakon>
32400x1665.
05:59
<~Vornicus>
My current procedure goes 0. find a screen I haven't put on the map, 1. screenshot it (preferably while in the air against a static background that's very similar to nearby sections of background), 2. crop the windowing shit out, 3. do a paste job over Knytt himself, 4. save the screen with its coordinates in the name, 5. update the HTML file I'm using to hold them together.
05:59
<&Derakon>
Heh, there's the WaDF world.
05:59
<~Vornicus>
2 and 5 are easily automateable, and kind of annoying.
05:59
<&Derakon>
Cropping can be automated.
06:01
<&Derakon>
What's your goal in making the map, anyway?
06:02
<~Vornicus>
Exploration. I want to see everything. I don't want to use somebody else's map because the point is to find it myself.
06:02
<&Derakon>
Ah, so this is more of a "I've been to these places" map.
06:03
<&Derakon>
In that case, pasting out Knytt isn't strictly necessary.
06:03
<~Vornicus>
No, but it makes me feel better~
06:03 * Derakon facepalms.
06:07 * Vornicus does the math. 54x8 thingies
06:09
<&Derakon>
If it took you 10s/screen to map it then you'd need 72 minutes to map the game.
06:14
<&McMartin>
Phrases I don't get to use nearly enough: "Umbrella/Pogo Stick Physics"
06:17
<&McMartin>
Oh wait, I know what I'm doing wrong.
06:17 * McMartin writes it down, as fixing that will be Work (tm).
06:20
<&McMartin>
Yeah, there aren't any on the map here, but jumping into concave corners would be a disaster as implemented
06:20
<&Derakon>
Because the jumping hitbox is smaller than the standing hitbox?
06:20
<&McMartin>
No, I carefully ensured that works.
06:21
<&Derakon>
(As a general rule, if your engine doesn't handle a particular level layout well, then not using that level layout may well be a better solution than fixing the engine)
06:21
<&McMartin>
The tricky bit is changing the frame's direction of motion when you're blocked in only one direction but are *about* to be blocked in two.
06:21
<&McMartin>
No, this is "that's a corner cut that needn't be cut"
06:21
<&McMartin>
Basically, after finding a collision it has to move to contact
06:21
<&McMartin>
What I don't do right now is figure out whether that move to contact hit something in the Y direction, the X direction, or both.
06:22
<&McMartin>
If it's both, you shuold hold still; if it's only one, then the other one should get its full measure of movement.
06:22
<&Derakon>
Er, is this for animation purposes, or are you doing weird things with velocity, or what?
06:22
<&McMartin>
I am doing weird things with velocity.
06:22
<&Derakon>
Ah.
06:23
<&McMartin>
I've described the goal - this gives you mantling for free and also has the desirably property of letting your jump length be the same length regardless of terrain.
06:23
<&McMartin>
*desirable
06:23
<&McMartin>
I've described what needs to be done above; that's something that can be directly stated in code.
06:24
<&McMartin>
However, what it does now is, after detecting a collision, tests each dimension independently from the point hit by move-to-contact and moves to that location if it's clear.
06:24
<&McMartin>
In a "concave corner" case that will make you bounce off the wall too soon, so the air itself will stop you.
06:24
<&McMartin>
I already have an explicit test for "did you hit a floor" - I just need to add explicit tests for ceiling/wall.
06:27 Reiv [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [[NS] Quit: Going dooooown...]
06:37 Orthia [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
06:38 Derakon is now known as Derakon[AFK]
06:39 Reiv [NSwebIRC@D4E70A.D52DB0.820B13.98C775] has joined #code
06:47
< Reiv>
ey Vornicus or similar excel gurus
06:48
< Reiv>
How do I get "=IF(($B$1 >= I$1),1,0) = 1 AND IF(FLOOR($B$1/$B$2,1) > 1,1,0)" to, y'know, compare each different bit of logic and return 1 if all are true?
06:49
< Reiv>
There'll be at least 3 or four once I'm done.
06:50 * Reiv is cheerfully and brutally bending Excel to his will in ways not generally intended. Like, to test procedural shapes on a grid.
06:52
<~Vornicus>
=IF(AND($B$1>=I$1, FLOOR($B$1/$B$2,1)>1),1,0)
06:52
<~Vornicus>
AND and the comparators return TRUE or FALSE, which may be more apropos; if so, don't use the IF, just the AND
06:53 ErikMesoy|sleep is now known as ErikMesoy
06:53
<~Vornicus>
AND takes an arbitrary number of inputs; load it up with as many as you need.
06:57
<~Vornicus>
Reiver: I made a Spreadsheet Of Terror And Gnashing to do SOTS distance calculations
06:58
<~Vornicus>
This involved, among other things, using VLOOKUP on a table to fill in said table.
07:04 ErikMesoy [Erik@A08927.B4421D.B81A91.464BAB] has quit [Connection reset by peer]
07:21 You're now known as TheWatcher
07:24 Kindamoody[zZz] is now known as Kindamoody
07:36
< Reiv>
Oh, yes.
07:36
< Reiv>
... ho yez?
07:42 * Vornicus does more scary things in Excel than most people dream are possible. And still doesn't cover a lot of the real goodies.
07:46 himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds]
07:47
< Reiv>
I wanna know the distance thing!
07:47
< Reiv>
Also, uh
07:47
< Reiv>
This is simple but it is thwarting me
07:47
< Reiv>
XdY+ on a d6: Odds of hitting 1 or 2 successes?
07:48
< Reiv>
Disambiguation: two columns, 1 or more vs 2 or more.
07:48 * Reiv is pretty sure he has the math for 1, but the math for 2 is trickier.
07:49
<~Vornicus>
exactly 1 success: =BINOMDIST(1, X, (7-Y)/6, FALSE)
07:49
<~Vornicus>
exactly 2 successes: =BINOMDIST(2, X, (7-Y)/6, FALSE)
07:50
< Reiv>
... OK then my math was obviously wrong to start with. Uh. Cheers. :)
07:50
<~Vornicus>
At least 1 success: =1 - BINOMDIST(0, X, (7-Y)/6, FALSE)
07:50
<~Vornicus>
At least 2 successes: =1 - BINOMDIST(1, X, (7-Y)/6, TRUE)
07:50 * Reiv had been trying to do multiplication sans binomial.
07:51
<~Vornicus>
binomdist is your tiny dice analyzing god.
07:53
<~Vornicus>
Doesn't work with exploding too well though, I tend toward doing the analysis in Python for that and then importing the numbers into Excel.
07:53
< Reiv>
Fair.
07:54
< Reiv>
Thankfully for this, exploding is a special Quirk.
08:00 Attilla [Obsolete@Nightstar-0601b683.as43234.net] has joined #code
08:12 You're now known as TheWatcher[afk]
09:08 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
09:40 Kindamoody is now known as Kindamoody|afk
09:47 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
09:47 mode/#code [+o himi] by ChanServ
10:06 You're now known as TheWatcher
10:09 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
12:25 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection closed]
12:26 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:26 mode/#code [+o himi] by ChanServ
13:17 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code
14:35 * TheWatcher arghs
14:36
<@TheWatcher>
Why is it that I always end up needing the piece of information I've left at home in a location I can't get to from the office?!
14:39 You're now known as TheWatcher[afk]
15:23 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Client exited]
15:31
< simon_>
it is the irony of fate.
15:50 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
16:01 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
16:02 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
16:02 mode/#code [+o himi] by ChanServ
17:40 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
17:40 mode/#code [+ao Derakon Derakon] by ChanServ
17:40 * Derakon ponders MUI's device systems.
17:41
<&Derakon>
Right now each device creates a bunch of Handlers for its different capabilities. E.g. a LightFilterHandler is a class that's expected to implement setFilterAmount.
17:42
<&Derakon>
The class constructor accepts a callback function to invoke when setFilterAmount is called, so that the Device that created the Handler can then talk to its actual hardware.
17:42
<&Derakon>
This works but does mean that *Handler classes accept a lot of callback functions in their constructors.
17:43
<&Derakon>
(The overall structure is (initialize Device) -> (UI asks Device for handlers) -> (Device creates Handlers, gives them callbacks to its own functions) -> (UI talks to Handlers) -> (Handlers talk to Device that created them, via callbacks).
17:43
<&Derakon>
Thus Handlers provide an interface between the UI and the Devices.
17:44
<&Derakon>
UI = Model, Device = Control, Handler = View.
17:46
<&Derakon>
Any suggestions for better ways to handle the callback situation?
17:51 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
17:51 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
18:03
<&Derakon>
For now, I'll just stuff all the callbacks into a dictionary instead of making them each a separate argument to the constructor, anyway.
18:03
<&Derakon>
Tidier.
18:30 Attilla_ [Obsolete@Nightstar-b0e2f728.as43234.net] has joined #code
18:31 Attilla [Obsolete@Nightstar-0601b683.as43234.net] has quit [Ping timeout: 121 seconds]
18:43 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
18:43 mode/#code [+o Vash] by ChanServ
19:04 jeroid [jerith@687AAB.1BBF0C.54491B.C0F76F] has joined #code
19:07 * Derakon eyes the old code he'd written for this subsystem, comparse to the new code.
19:07
<&Derakon>
My gods the old way was crap.
19:08
<&Derakon>
I sincerely hope that was due to me trying to work within an existing framework, and not because that was actually the way I thought it should be done.
19:08
<&Derakon>
...compares, not comparse.
19:08
<&McMartin>
Don't forget time pressure!
19:08
<&Derakon>
A comparse is a crappy navigational tool.
19:17
<&Derakon>
And yeah, having a few months to get this in order before my boss starts demanding results is Pretty Damned Awesome.
19:22
<&Derakon>
On that note, time to start overhauling the mosaic code -- nearly 2k lines of crap.
19:24
< jeroid>
I need some of that.
19:25 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
19:26 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
19:29 jeroid_ [jerith@687AAB.1BBF0C.FE3587.F63FEF] has joined #code
19:30 jeroid [jerith@687AAB.1BBF0C.54491B.C0F76F] has quit [Connection reset by peer]
19:33 jeroid_ is now known as jeroid
20:06
<&Derakon>
Uggggh I remember now why I never rewrote the mosaic code. The renderer is a mess.
20:06
<&Derakon>
Why does a canvas even have UI-event-handling code? >.<
20:06
< jeroid>
Start there, then.
20:07
<&Derakon>
That's what I'm doing, yes.
20:07
<&Derakon>
The only reason I'm not ditching the renderer and starting over from scratch is that I did some fairly significant work, within that pile of crap, on optimizing performance.
20:07
<&Derakon>
Basically so it does levels of detail and view culling.
20:08
< jeroid>
Rewrite only as a very last resort.
20:08 Attilla [Obsolete@Nightstar-b45ed97e.as43234.net] has joined #code
20:09 Attilla_ [Obsolete@Nightstar-b0e2f728.as43234.net] has quit [Ping timeout: 121 seconds]
20:09
<&Derakon>
Yeah, I know that.
20:09
<&Derakon>
What I think I will do, though, is create a "from-scratch" canvas renderer, and then only import the bits I actually need from the old system.
20:09
<&Derakon>
Similar to what I'm doing with the program as a whole, only in microcosm.
20:11
< jeroid>
Good plan.
20:13 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving]
20:13
< jeroid>
My interjection was aimed mostly at people watching the conversation.
20:14
<&Derakon>
Ah, yes.
20:14
<&Derakon>
I'm in pretty unusual circumstances here.
20:14
<&Derakon>
Since the boss basically said "I'm leaving for a few months, why don't you dive in there and clean things up?"
20:14
< jeroid>
Every mention of a rewrite should have that warning attached.
20:15
<&Derakon>
Note that this is why you plan things out before you start coding.
20:15
<&Derakon>
Rewrites are expensive.
20:15
<&Derakon>
Unfortunately I wasn't present when coding started.
20:15
< jeroid>
It's more that old code has a bunch of hard-earned lessons baked into it.
20:16
<&Derakon>
No, it also wasn't ever designed.
20:16
<&Derakon>
It's exactly the kind of brittle, unstable monstrosity you'd expect when someone who never trained as a software engineer develops 20k lines of purpose-built code.
20:17
< jeroid>
And if you rewrite, you get to learn those lessons again.
20:17
<&Derakon>
Mm, assuming you don't pay any attention to what went before, yeah.
20:20
<&McMartin>
Don't forget Brooks's Second Law and its corollary, though.
20:20
<&McMartin>
("Plan to throw one away - you'll end up having to anyhow." "If you plan to throw away one, you will have to throw away two.")
20:20
<&Derakon>
Heh.
20:21 Kindamoody|afk is now known as Kindamoody
20:21
< jeroid>
I was trained as an actual engineer.
20:31 jeroid_ [jerith@687AAB.1BBF0C.21501D.83FC99] has joined #code
20:32 jeroid [jerith@687AAB.1BBF0C.FE3587.F63FEF] has quit [Ping timeout: 121 seconds]
20:36 jeroid_ [jerith@687AAB.1BBF0C.21501D.83FC99] has quit [[NS] Quit: Bye]
20:40 EvilDarkLord [jjlehto3@Nightstar-a5db08cc.org.aalto.fi] has joined #code
21:16 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
21:18 * Derakon hacks the canvas code down from 584 lines to 216 lines.
21:18
<&Derakon>
I'm missing a lot of functionality, but the most vital bits are in and working, and the style is clean.
21:29 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
21:29 mode/#code [+o himi] by ChanServ
21:32 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
21:33 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
21:33 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code
21:33 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
21:34
< Derakon>
...what hit me?
21:37
<&McMartin>
Pair of ping timeouts
21:37
< Derakon>
Hm.
21:37
< Derakon>
That's strange, because I'm IRCing over SSH.
21:37
< Derakon>
So anything that disrupts IRC ought to disrupt my SSH session as well.
21:37
< Derakon>
Unless it's between my home computer and the IRC server, I guess.
21:38
<@TheWatcher[afk]>
Derakon and Derakon[AFK} seem to be on the same network?
21:38
< Derakon>
Yeah, the AFK one is my home computer using X-Chat.
21:38
< Derakon>
Whereas I'm using irssi here from work.
21:38
<@TheWatcher[afk]>
Might've been a router between that and the nightstar server you're on falling over
21:38 You're now known as TheWatcher
22:03 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
22:10 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
22:58 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: Lost terminal]
22:59 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code
22:59 mode/#code [+ao Derakon Derakon] by ChanServ
22:59 * Derakon WTFs at his computer, which just kernel panicked.
22:59
<&Derakon>
I'm pretty sure it had something to do with MUI, too, though I have no idea how.
22:59
<&Derakon>
Just fired up the camera display and boom, computer had to shut down.
23:03
< gnolam>
SCORPION STARE in the camera firmware.
23:03
<&Derakon>
There's no actual hardware here, yet.
23:03
<&Derakon>
It's all mockups and stubs.
23:21 * Derakon eyes Apple's support articles.
23:21
<&Derakon>
"It is possible, although very unlikely, that something on your network is sending your Mac malformed network packets which could cause recurring kernel panics."
23:21
<&Derakon>
What.
23:21
<&McMartin>
Mac: The Most Secure OS
23:22
<@Tamber>
ping of death! \o/ :p
23:23
<@TheWatcher>
....
23:24
<@TheWatcher>
You'd think they'd consider that a fairly important thing to protect against, re... wait, what am I saying?
23:29
<&Derakon>
My first instinct is to assume that there's something wrong with my hardware.
23:29
<&Derakon>
I really don't want to have to deal with this. >.<
23:36 himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code
23:37 mode/#code [+o himi] by ChanServ
23:42 Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving]
23:56 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds]
23:59 Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code
--- Log closed Tue Sep 11 00:00:08 2012
code logs -> 2012 -> Mon, 10 Sep 2012< code.20120909.log - code.20120911.log >

[ Latest log file ]