--- 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 |