code logs -> 2012 -> Tue, 10 Jan 2012< code.20120109.log - code.20120111.log >
--- Log opened Tue Jan 10 00:00:05 2012
--- Day changed Tue Jan 10 2012
00:00 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Ping timeout: 121 seconds]
00:13 You're now known as TheWatcher[T-2]
00:19 You're now known as TheWatcher[zZzZ]
00:27 io is now known as iospace
00:29 * Vornicus flarglefargs.
00:35
< gnolam>
?
00:36<~Vornicus> just, very complicated shit
00:37
<@jerith>
Vornicus: I won at splines!
00:37<~Vornicus> Yay!
00:37 * Vornicus wants to see!
00:37
<@jerith>
But it's nearly 3am, so I'm just finishing up my spline library and then I'll commit it.
00:37
<@jerith>
I'll the bits that actually use the splines in the morning.
00:38 eckse [eckse@Nightstar-4764ca11.dsl.sentex.ca] has joined #code
00:46 Attilla_ [Obsolete@Nightstar-d611def6.as43234.net] has joined #code
00:48 Attilla [Obsolete@Nightstar-9f652d1f.as43234.net] has quit [Ping timeout: 121 seconds]
00:49
<@jerith>
Vornicus: Pushed, if you're interested.
00:50<~Vornicus> \o/
00:50
<@jerith>
Extracting the Bezier segments is left as an exercise for the reader. Or me, in about 6 hours when I wake up. For loose definitions of "wake".
00:52 Derakon[AFK] is now known as Derakon
00:53 maoranma [maoranma@490720.DD2C85.F25E01.1100EB] has joined #code
01:12 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
01:15<~Vornicus> ah, clearly
01:19
<@jerith>
I lied. The SVG output now has splines, becaue I spent several second staring at the ceiling not-asleep and then went back to the code.
01:19<~Vornicus> the door shape and the tile shape cannot be the same; having them the same would make it look like doors are obstructing paths that they're not actually obstructing. Therefore, I need to determine a door's shape separately.
01:20<~Vornicus> woot
01:20 Attilla_ [Obsolete@Nightstar-d611def6.as43234.net] has quit [Ping timeout: 121 seconds]
01:21 Attilla [Obsolete@Nightstar-d611def6.as43234.net] has joined #code
01:23
<@jerith>
http://i.minus.com/i4Y9wgg6dugX6.png
01:26<~Vornicus> \o/
01:29<&Derakon> Are you guys working on that "spiffify sprites algorithmically" thing?
01:29<~Vornicus> Yes.
01:29<~Vornicus> jerith and I are both doing so, for different tasks.
01:30<~Vornicus> He got grumpy at shitty pixel-only fonts.
01:31<~Vornicus> I got grumpy at sometimes having a hard time reading diagonal paths in a tile-based game.
01:31<&Derakon> Well, good luck to you both.
01:32
<@jerith>
I actually got grumpy at shitty rendering of awesome pixel-only fonts at glyph sizes I don't have pixels for.
01:32 Attilla [Obsolete@Nightstar-d611def6.as43234.net] has quit [Ping timeout: 121 seconds]
01:34 jerith changed the topic of #code to: Welcome to #Code! || Rants and monologues are encouraged; many cores, no waiting || Pastebin: http://pastebin.starforge.co.uk/ (Note antispam question, answer 'Yes') || ? x, ich werde x Wissenschaft tun || Shameless self-promotion: https://github.com/jerith/depixel
01:36 * Vornicus wonders what the c64 font would look like pushed thorugh that.
01:39
<@jerith>
Vornicus: Do you have bitmaps?
01:40<~Vornicus> I can probably get them. What format would you like?
01:40
<@jerith>
I can currently read PNG.
01:41<~Vornicus> So, b/w png, one image per glyph?
01:41
<@jerith>
I have some code that does BDF (a bitmap font format) as well, but bdflib's a pain to install and I don't have the font code in the repo.
01:41 Guest3001 [Guest3001@Nightstar-859fed34.chatmosphere.org] has joined #code
01:42
< Guest3001>
hola
01:42
< Guest3001>
hello
01:42
< Guest3001>
is my name Dennis
01:42
<@jerith>
(I have the old crappy prototype font code not in the repo, but I need to rewrite that sanely and figure out what to do about the glyph output.)
01:42
<@jerith>
Hello Dennis.
01:43
<@jerith>
That's definitely not going to happen tonight.
01:43
<@jerith>
And probably not tomorrow either.
01:45
<@jerith>
Although it's already tomorrow.
01:45
< Guest3001>
add 269ea820
01:47<~Vornicus> whut
01:48
<@McMartin>
He wasn't sure if his name was Dennis
01:49
<@jerith>
Oh. I read that as an assertion, not a query.
01:49 * jerith blames sleepy and splines.
01:49<~Vornicus> Clearly though it is not, it is Guest3001.
01:52
< Guest3001>
my name Dennis
01:53<~Vornicus> I could be so much of an asshat right now.
01:54 Derakon is now known as Dennis
01:54<&Dennis> Hullo, Dennis.
01:54 Dennis is now known as Derakon
01:54
<@Alek>
if you want to change your name to Dennis, type "/nick Dennis", only without the quote marks. then press enter.
01:56 Guest3001 [Guest3001@Nightstar-859fed34.chatmosphere.org] has quit [[NS] Quit: Chatmosphere for Blackberry]
01:57<~Vornicus> obvious exits are North, South, and Dennis.
01:59
<@McMartin>
Obvious exits are NOT DENNIS
02:04<~Vornicus> okay, I should stop worrying about doors right now. Have to rejigger my code so it actually outputs vectors so I can write other stuff so I can actually do output other than pov.
02:05
<@McMartin>
What is it you are ultimately doing?
02:06 * jerith sleeps.
02:06<~Vornicus> What I'm ultimately doing is creating an alternate renderer for DROD, a smitey puzzle game.
02:07
<@McMartin>
Aha
02:07
<@McMartin>
Yeah, DROD I'm vaguely familiar with
02:09<~Vornicus> But the reason I did it is because in games like that it's often a little difficult to tell that two things are connected diagonally.
02:11<~Vornicus> This is particularly bad when dealing with breakable walls, especially with the renderer in the newer games: breakable walls in the middle of normal walls will appear as half a square of breakable wall, and are hard to visually connect to other breakable walls.
02:21 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Ping timeout: 121 seconds]
02:28 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?]
02:31
< Janus>
oh, was that an ambersand?
02:32<~Vornicus> ..yes, janus.
02:34 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code
02:36
< Janus>
\o/ Hazzah! Looks good! I imagine the hard part is trying to know where to smooth, and where to allow extreme corners though.
02:42
< Janus>
I wonder what my font would look like through it. It's kind of a pain only being able to resize it in powers of 2
02:56 Kindamoody[zZz] is now known as Kindamoody
02:59<~Vornicus> Janus: I don't think jerith has gotten to the actual "smoothing" part
02:59<~Vornicus> ALl he's done so far is made b-splines along the graph contours.
03:01<~Vornicus> After this is a smoothing step where you have to do numerical integration of the curvature function, while random-walking the control points.
03:06<~Vornicus> And there you have to pick unsmoothed corners; the paper describes what counts.
03:08<~Vornicus> (there's only a few really cornerish layouts.)
03:10<~Vornicus> http://research.microsoft.com/en-us/um/people/kopf/pixelart/paper/pixel.pdf is the paper we're working from. I've stopped short of spline smoothing but I guess I could continue; the next step for jerith is what's shown in figures 6-8.
03:11<~Vornicus> Note particularly figure 8, where it shows how it detects "corners" and does not smooth those.
03:25 Kindamoody is now known as Kindamoody|afk
03:29 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
03:49 Kindamoody|afk is now known as Kindamoody
04:13 Janus__ [NSwebIRC@Nightstar-27138e8c.res.rr.com] has joined #code
04:13 Janus [NSwebIRC@Nightstar-27138e8c.res.rr.com] has quit [Ping timeout: 121 seconds]
04:36 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
05:40<~Vornicus> God. Hate this code already.
05:44 iospace is now known as iosleep
05:57 eckse [eckse@Nightstar-4764ca11.dsl.sentex.ca] has quit [Client closed the connection]
06:17 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:18
< Janus__>
eeeee freeday is tomorrow.
06:19
< Janus__>
Gonna waste my entire wenseday trying to score some bloop blap blibitty boobs
06:19<~Vornicus> Okay. I think I can name this tune in one graph, though diagonals will get different rules from straights; then doors I can kind of pull off separately.
06:20
< Janus__>
I need to play DROD. The trailers look pretty amazing
06:22<~Vornicus> Grab Architect's Edition first.
06:23<~Vornicus> Though "King Dugan's Dungeon" is the same game, with voice acting and better graphics
06:23 Kindamoody is now known as Kindamoody|out
06:29<&Derakon> I clearly need to get a quieter wireless router.
06:29<&Derakon> This thing is noisy.
06:29<&Derakon> I can hear the bits transfer.
06:33
< Eri>
So, I've been drafted to design a satellite. Anyone have any experience programming battery controllers?
06:35<~Vornicus> wtf
06:36
< maoranma>
Wow, really Derakon?
06:36<&Derakon> Maoranma: yeah.
06:36
<@ToxicFrog>
Dynex switches have the same issue.
06:36<&Derakon> It's a fairly elderly D-Link.
06:37
< maoranma>
S'got relays in it or something?
06:37 * Derakon shrugs.
06:37
<@ToxicFrog>
I don't know about the D-link, but in the case of the Dynex, it makes a high-pitched whine (not unlike a CRT television), and the pitch changes based on how much traffic is going through it.
06:38
<@ToxicFrog>
You could probably play a tune on it with carefully constructed ethernet traffic~
06:38
< maoranma>
Huh
06:38<&Derakon> In my case it's more "chit" type of sounds.
06:38
< maoranma>
I can here the whine of TVs, I'm surprised you can too
06:39<&Derakon> "chchchchit, chchchchit, chchchchit, etc."
06:39<~Vornicus> a "chit" sound is most likely from an arc or something while trying to run the lights.
06:39
<@ToxicFrog>
Not just TVs.
06:39<&Derakon> Hm, so if I could turn off the traffic indicator LEDs, then it'd be quieter?
06:39
<@ToxicFrog>
Some switches and powerbars/powersquids, the little blinking light on the monitor when it's in standby mode
06:39
< maoranma>
And since there's usually an activity light, it probably comes from that
06:39
<@ToxicFrog>
It can get annoying
06:48 * Vornicus pokes around python, discovers this: ["a","b"][True] = "b"; ["a","b"][False] = "a"
06:48<&Derakon> How horrendous.
06:49 Derakon is now known as Derakon[AFK]
06:49<~Vornicus> Holdover from before it had an actual boolean type.
06:49<~Vornicus> Most things that now produce a boolean used to give 1 and 0 for true and false
06:50<~Vornicus> (usually)
06:56
< Tarinaky>
Since Python doesn't have strict types it'd be kindof odd for it not to be able to implicitly downcast as much as sensible >.> <.< >.>
06:56
<@McMartin>
Python has real types
06:56
<@McMartin>
It just doesn't have *static* types
06:56
< Tarinaky>
Plus a lot of people like me were broken by C and like to obsfucate our code like that.
06:56<~Vornicus> Python is strongly, dynamically typed
06:57
< Tarinaky>
Yeah, that's what I meant >.<
06:57
< Tarinaky>
But since you can't specify in a function's signature what types it accepts...
06:58
< maoranma>
Static types?
06:58<~Vornicus> A language is statically typed if a variable can never change its type.
06:58
< maoranma>
Ah, I see
06:59<~Vornicus> (considering moving between child classes as "not changing type")
06:59<~Vornicus> Opposite of static is dynamic; java has static typing, python has dynamic typing.
07:00
< maoranma>
So, what's the difference between raw_input and input?
07:00
<@McMartin>
input is equivalent to "eval(raw_input)"
07:00<~Vornicus> A language is strongly typed if there is no attempt to cast it to a different type if a different type is needed in a particular situation.
07:01
< maoranma>
Hmm, I'll have to read more on it later then
07:01<~Vornicus> Opposite of strong is weak; python is strong, php is weak.
07:02<~Vornicus> If you can write "0 but true" and it works like 0 except that it counts as true? you're in a weakly typed language.
07:04<~Vornicus> Note that nearly all languages have some amount of weak-typing: casting between numeric types for various uses is very common.
07:05
< maoranma>
Does Python have a way of doing that?
07:05<~Vornicus> what, 0 but true? no.
07:07<~Vornicus> or implicit casting between numeric types? in that case, yeah, it does it all the time, but often avoids doing float->int
07:10<~Vornicus> If you're looking for a way to make 0 count as true, but you still need a false, you can use "x is not None" and make sure that x comes back as None when you want it to be actually "false"
07:24
< maoranma>
Interesting
07:25<~Vornicus> (this is, for instance, how I'd implement a search method)
07:27
<@jerith>
"x is None" and "x is not None" are common Python idioms.
07:27 * jerith starts his commute.
07:27 * jerith finishes his ocmmute.
07:28<~Vornicus> Does this involve making sure you have pajama pants on and clearing a space on the dining room table?
07:28
<@ToxicFrog>
maoranma: more generally - static typing means types are known and checked at compile time, dynamic typing at run time; weak typing means that stuff will be automatically converted to/interpreted as different types as needed, strong typing means the programmer needs to explicitly request this.
07:29
<@jerith>
Working from my personal office (which is the room next to my bedroom) rather than the "company office" in this suburb, which is my dining room.
07:29
<@jerith>
If you can do "foo = 3" and then later, with foo still in scope, "foo = 'blah'", you have dynamic typing.
07:32 Vash [Vash@Nightstar-8697fea9.wlfrct.sbcglobal.net] has quit [[NS] Quit: I <3craft Vorn!]
07:38
<@ToxicFrog>
jerith: or you have type inference and the type of foo is AnyRef~
07:38
<@jerith>
True, but out of scope. ;-)
07:46 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Ping timeout: 121 seconds]
07:58 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code
08:12 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has joined #code
08:12 mode/#code [+o AnnoDomini] by ChanServ
08:47 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has quit [Client closed the connection]
08:51 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has joined #code
08:51 mode/#code [+o AnnoDomini] by ChanServ
09:11 You're now known as TheWatcher
09:15 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has quit [Client closed the connection]
10:36 Janus__ [NSwebIRC@Nightstar-27138e8c.res.rr.com] has quit [[NS] Quit: Page closed]
11:56 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Ping timeout: 121 seconds]
12:09 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code
12:38 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
--- Log closed Tue Jan 10 13:13:59 2012
--- Log opened Tue Jan 10 13:19:52 2012
13:19 TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code
13:19 Irssi: #code: Total of 27 nicks [18 ops, 0 halfops, 0 voices, 9 normal]
13:19 mode/#code [+o TheWatcher] by ChanServ
13:20 Irssi: Join to #code was synced in 44 secs
13:36 Kindamoody|out is now known as Kindamoody
13:43 Attilla [Obsolete@Nightstar-d611def6.as43234.net] has joined #code
14:26 Kindamoody is now known as Kindamoody|out
14:34 iosleep is now known as iospace
14:48 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has joined #code
14:48 mode/#code [+o AnnoDomini] by ChanServ
14:50 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
14:59 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has quit [Client closed the connection]
15:04 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has joined #code
15:04 mode/#code [+o AnnoDomini] by ChanServ
15:11 Kindamoody|out is now known as Kindamoody
15:58 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has quit [Client closed the connection]
15:59 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has joined #code
15:59 mode/#code [+o AnnoDomini] by ChanServ
16:01 AnnoDomini [annodomini@Nightstar-378c7262.connect.netcom.no] has quit [[NS] Quit: Best attend from shell.]
16:24 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
17:00 EvilDarkLord is now known as Maze
17:09 RichardBarrell [mycatverbs@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
17:17
< Tarinaky>
UML question:
17:17
< Tarinaky>
When you have a class inheriting from an abstract class do you have to explicitly include the abstract methods in their diagram?
17:17
< Tarinaky>
Or is it implicit?
17:20
< RichardBarrell>
Why would it be different for abstract classes than for concrete classes?
17:21
<@TheWatcher>
Because this is UML, and thus Awkward~
17:21
<@TheWatcher>
(note: not being serious)
17:21
<@TheWatcher>
(mostly)
17:22
< Tarinaky>
RichardBarrell: I'm not sure I understand your point?
17:22
< Tarinaky>
It's not like I'm expecting a computer to look at my exam script and build a working program.
17:22
< Tarinaky>
>.>
17:23
< RichardBarrell>
Well, your decision then. What's the UML diagram intended to document? Where the method signatures come from? If that, no need to reintroduce the names again unless you've rebound them with more general types than the abstract base class asked for.
17:24
< RichardBarrell>
If your diagram is supposed to document where the code for a given call comes from then you'll need to reintroduce the names again every time you override a method, whether you've overridden something from an abstract base class or a concrete base class.
17:24
< Tarinaky>
It's not really documenting anything.
17:25
< Tarinaky>
"...look at my exam script and..."
17:25
< Tarinaky>
Ah. I see.
17:27
< RichardBarrell>
I have no idea what the formal UML specification says on this or any matter. I was just guessing that it would be the same regardless of whether or not the base class is abstract.
17:30
< Tarinaky>
Alright, thanks.
17:30 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Connection reset by peer]
17:30
< Tarinaky>
I've thought of one reason why an abstract class is different to a concrete class though.
17:30 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
17:31 mode/#code [+o ToxicFrog] by ChanServ
17:31
< Tarinaky>
The first concrete specialisation of a given abstract class must define any as yet undefined methods :p
17:31
< Tarinaky>
So it's not ambiguous.
18:03 Kindamoody is now known as Kindamoody[zZz]
18:45
< maoranma>
Math was fun today
18:46
< maoranma>
Kinda wonder if I should have been a math major
18:56
< maoranma>
http://en.wikipedia.org/wiki/TI-30
18:56
< maoranma>
I used to have one of these, the old red LED version
18:57
< maoranma>
Didn't know it was used for phone phreaking, lol
19:27
<@jerith>
19:22 < Tarinaky> It's not like I'm expecting a computer to look at my exam script and build a working program.
19:28
<@jerith>
Then it isn't sufficiently UML. ;-)
19:28
<@jerith>
And, as always, the Object Management Group needs a Web Task Force.
19:28
< Tarinaky>
jerith: You've not seen my handwriting have you?
19:28
< Tarinaky>
I don't think OCR supports eldritch tongues.
19:29
<@jerith>
Tarinaky: Implementation detail.
19:30
< Tarinaky>
Question 1: Draw a Use Case and Class Diagram describing the second act of The King in Yellow.
19:31<~Vornicus> maoranma: what'd you do in math today?
19:50
<@jerith>
Vornicus: Ho'ws your depixeling?
19:50<~Vornicus> Suffering from ADD.
19:51 * jerith draws another test image to compare output with the paper.
19:53<~Vornicus> Also I hate hate hate rewriting code in place.
19:53<~Vornicus> I have to throw out the entire file and start over if I expect to get anywhere.
19:57
<@jerith>
I prefer to rewrite code in place.
19:57
<@jerith>
As long as there's test coverage.
19:57 Vash [Vash@Nightstar-8697fea9.wlfrct.sbcglobal.net] has joined #code
19:57 mode/#code [+o Vash] by ChanServ
19:57
<@jerith>
Because test coverage is <3
19:57
< Tarinaky>
I'm trying to train myself to always rewrite in place.
19:57
< Tarinaky>
No matter how much I want to flip tables >.<
19:58<~Vornicus> The thing about it is
19:59<~Vornicus> When I have code in front of me I want to change, even if it's well commented I will read and try to parse it dozens of times and wander off because it's too much work.
20:01<~Vornicus> Especially when I'm really trying to drastically redesign the solution.
20:02
<@jerith>
:-/
20:03
<@jerith>
I start with "this bit needs to go /there/, so let's move it and see where all the tests fail".
20:03<~Vornicus> The other half of the problem is that right now, "this bit" needs to go away, and I need to write half a dozen other bits.
20:04<~Vornicus> I do not believe I will have any of the code that I currently have when I have finished.
20:06
<@jerith>
Can it be done incrementally?
20:06
<@jerith>
And if so, is it worth doing?
20:06<~Vornicus> Well, okay, let's see what I've got here.
20:08<~Vornicus> First thing in here is there's a thing that builds the (ambiguous) connectivity graph. It needs to be changed so that instead of booleans, I give different kinds of connections a score based on what beats what.
20:09<~Vornicus> Also I have to tell to /not/ do that on the diagonals, instead only doing simple matching.
20:09
<@jerith>
Do you only care about adjacency?
20:09<~Vornicus> What do you mean by that?
20:09
<@jerith>
Is all the information local?
20:10<~Vornicus> It only cares about nearby cells, if that's the question.
20:10
<@jerith>
To evaluate an edge, do you need more information than just the two nodes the edge connects?
20:11<~Vornicus> I also need the direction.
20:11
<@jerith>
That's to weight it, I mean. Not decide connectivity.
20:12<~Vornicus> (because the 4-directions have a more stringent "connected" rule than the 8-directions)
20:12 * jerith nods.
20:13
<@jerith>
Hoom. My connectivity graph, which I thought was fine, makes bad decisions for the serif C in the paper.
20:13<~Vornicus> derp
20:17<~Vornicus> So I need to write several things here, a weighting matcher, another, non-weighting matcher (which is so naive it's literally equality), and then I have to fiddle the function that builds the ambiguous graph so it knows what it's doing.
20:22<~Vornicus> Theeeen I need to get the disambiguator to, um, disambiguate properly, so I get a proper connectivity graph.
20:24
<@jerith>
I think my sparseness weight function might be broken.
20:27<~Vornicus> the disambiguator may need to check non-local stuff for certain interesting configurations.
20:27
<@jerith>
Yeah.
20:28
<@jerith>
The one in the paper needs that too.
20:36<~Vornicus> I need to deal with local issues first, though, because those are 1. faster and 2. considerably more common.
20:38
<@jerith>
https://twitter.com/#!/fijall/status/156836356595777536
20:39
<@jerith>
"anyone who wants numpy for pypy faster, give me some hints how to deal with mosquitos and make green pool blue"
20:39
<@McMartin>
whut
20:39
<@jerith>
He's completely serious about that.
20:39
<@jerith>
He isn't working on numpy/pypy because his pool's green and there are mosquitos around.
20:40
<@jerith>
So once those problems are solved, he can get back to the code.
20:40
<@McMartin>
The former usually involves a shitload of toxic chemicals, right?
20:41<~Vornicus> Chlorine ftw
20:41
<@jerith>
Yes. But the right balance and combination of them.
20:41
<@McMartin>
Oh, he also wants to be able to swim in it afterwards.
20:41<~Vornicus> Step 1. Call a poole cleaning guy.
20:41
<@McMartin>
Picky, picky, picky
20:43<~Vornicus> oh, right, and I also need... 7 more symbols for the map data.
20:44
<@jerith>
McMartin: No, you need the right combination just to degreen it.
20:44
<@jerith>
If the pH is wrong, the chlorine stays bound in the hypochlorate, for example.
20:45<~Vornicus> (there are four directions for "tunnels", and three types of pressure plate; I've used 1-8, and lower- and upper-case bcghmprtvwy. This is in my ascii maps, because my exploration of the drod source was not forthcoming as to file format.)
20:47
< maoranma>
Vornicus: We learned about complex and imaginary numbers.
20:47<~Vornicus> aha.
20:48<~Vornicus> Those are some fun when you finally get down to it.
20:49
<@jerith>
Can someone sanity-check https://github.com/jerith/depixel/blob/master/depixel/depixeler.py#L192 for me?
20:49
< maoranma>
It's spiffy how i oscillates between being real and imaginary as your increse the exponent
20:50
< maoranma>
I don't know why, just is
20:52
< maoranma>
jerith: Needs more pudding farms.
20:53
< maoranma>
Wow, that depixeling is supper fine
20:53
< maoranma>
What's the render time on something like that?
20:54
< maoranma>
Say, for a 640x480 image
20:55<~Vornicus> Not fast enough for realtime yet.
20:55
< maoranma>
I see, so I shouldn't be hoping for HD SNES emulation being added to zsnes any time soon
20:56
<@jerith>
maoranma: 5s on a 15x17 image, most of which is pixel-bashing PNG output for me to debug from.
20:56
< maoranma>
Slow, I take it?
20:56
<@jerith>
1.2s if I only write PNGs.
20:56
<@jerith>
Err, SVGs.
20:57
<@jerith>
0.2s if I don't write output at all.
20:57<~Vornicus> maoranma: not yet, no.
20:57
<@jerith>
This is completely unoptimised, though.
20:57
< maoranma>
The microsoft research site only show bicubic, no super eagle or anything
20:57 eckse [eckse@Nightstar-4764ca11.dsl.sentex.ca] has joined #code
20:57<~Vornicus> http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/index. html
20:58<~Vornicus> Super Eagle, super2xsai, hq4x
20:58
< maoranma>
Oh, doi, there it is
20:58
< maoranma>
Also, my start menu is locked up in front of mIRC, so I can't see anything
20:58
<@jerith>
I'm doing lots of unnecessary traversing of stuff, because it's easier to fiddle with that way.
20:58
< maoranma>
Oh, there it goes
21:00
< maoranma>
I always though super2xsal was such a good realtime renderer
21:00<~Vornicus> It's quite good.
21:00<~Vornicus> But it's not built for magnification over 2x
21:00
< maoranma>
Of course
21:01
<@McMartin>
"To Install: 7 packages"
21:02
<@McMartin>
"To Upgrade: 99 packages"
21:02
< maoranma>
I usually just use interpolation though
21:04
<@jerith>
McMartin: Will depixeling let you do vector UQM?~
21:05
<@McMartin>
Not likely, though if it's high-speed it might be able to live alongside the Totally Not Super2xSai and the Totally Not HQ2X.
21:06
<@jerith>
Are those algorithms patented or something?
21:06
< maoranma>
Oh man, I want to write a Secret of Mana MOD for Dungeon of Dremore. These depixels of SoM are quite nice
21:07
<@jerith>
Or do you just have ghetto implementations?
21:07
<@McMartin>
jerith: Not GPL-compatibly licensed and there were name-control issues.
21:07
<@McMartin>
We have *actually quite nice* reimplementations.
21:07
<@jerith>
Nice.
21:08
<@jerith>
(Except none of them work for me. I vastly prefer the straight 2x upscale.)
21:08
<@jerith>
Oh, I see what's happening.
21:09
< maoranma>
hq4x is still quite nice
21:09
< maoranma>
Smooths edges without loosing edge detail.
21:09
< maoranma>
So swords still look pointy
21:10
< maoranma>
And not like buttering utinsiles
21:10
<@jerith>
At the time I'm evaluating these weight functions, I still have big chunks connected by ambiguous edges.
21:10
<@McMartin>
jerith: The ghetto part, as it were, comes in when you go over 2x, which is, in UQM, "do 2x, then do hardware scaling to target resolution", which is usually bilinear filtering.
21:11
< maoranma>
So, Vector Magic just...sort of makes something that looks like the input?
21:11
<@jerith>
How do I solve this?
21:14<~Vornicus> I don't know, what's wrong with it?
21:17
< maoranma>
http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/result s_vectormagic/smw_boo_vectormagic_16x.png
21:17
< maoranma>
HAHAHA
21:17
< maoranma>
retarded boo
21:18
<@jerith>
Vornicus: http://i.minus.com/iTsICUi18OFde.png
21:18<~Vornicus> The real, uh, "wins" for vector magic are the space invaders.
21:20<~Vornicus> Are you making sure to not go too far in the Sparse Pixels weighting?
21:20
<@jerith>
Yes.
21:20
< maoranma>
pfft
21:20
< maoranma>
Apparently vector magic things invaders are triangles
21:21
<@jerith>
The problem is that when I compute the sparse weight, the interior of the shape is still connected to the exterior by unresolved crossing edges.
21:22<~Vornicus> You will note that in the original, the inside and the outside are two different colors.
21:23
<@jerith>
Ah. That explains it.
21:23
<@jerith>
Cunning.
21:24 * jerith declares sleep.
21:24
<@jerith>
Pre-midnight, for a change.
21:25
< gnolam>
Don't forget to define it afterwards.
21:27
< maoranma>
*rimshot*
21:27
< maoranma>
I got that, so I must be paying attention in my programming class
21:34<~Vornicus> pff
21:45
< maoranma>
C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.
21:45
< maoranma>
Oh Bjarne, you so funneh
22:05 * iospace codes with "warnings as errors", aka not fun
22:06
<@McMartin>
aka "literally impossible without cheating" once you have more than one compiler to play with.
22:06 * Tamber just -Wall -Wextra -pedantic.
22:06
<@Tamber>
Hehehe
22:07
<@iospace>
McMartin: we actually pull it off, though we don't warn on everything
22:07
<@McMartin>
I'm considering warning-suppression pragmas to be cheating~
22:12
< celticminstrel>
I do try to eliminate warnings whenever possible, and I tend to have enable most warnings.
22:13
< celticminstrel>
I do warning suppression when it's intentional, eg a parameter that's unused but necessary for some other reason.
22:14
<@Namegduf>
I think it's useful to do- Warnings don't have much point unless they're looked into, and a suppression (where a fix can't be done) is a way to signify "I have looked into this and it is fine"
22:16
<@Namegduf>
Cheating at the game, though, perhaps. :P
22:19 Maze is now known as EvilDarkLord
22:21 iospace is now known as iodriver
22:44 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Client closed the connection]
22:58
<@AD[Shell]>
Ha. Thanks to SC2, I know what the Mohorovicic Discontinuity is. :D
23:02<~Vornicus> which sc?
23:03
<@Tamber>
2, presumably.
23:03 * Tamber ducks.
23:26 You're now known as TheWatcher[T-2]
23:28 You're now known as TheWatcher[zZzZ]
23:41
<@ToxicFrog>
I know that thanks to Total Annihilation~
23:43<~Vornicus> I know it thanks to SMAC
23:44
<@McMartin>
I think I know it thanks to the Childcraft library
23:44
<@McMartin>
Which now has very different connotations thanks to Blizzard
23:48<~Vornicus> hee
23:49
< Stalker>
:D
--- Log closed Wed Jan 11 00:00:39 2012
code logs -> 2012 -> Tue, 10 Jan 2012< code.20120109.log - code.20120111.log >

[ Latest log file ]