--- Log opened Mon Jan 09 00:00:08 2012 |
00:07 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
01:03 | | You're now known as TheWatcher[T-2] |
01:10 | | You're now known as TheWatcher[zZzZ] |
01:13 | <@Tamber> | You mean whatever 'user-friendly' distro you're using /doesn't/ let you do that? |
01:19 | <@himi> | It's normally selected via your location |
01:19 | <@himi> | If you want to go against your location's normal option you may find it difficult |
01:19 | <@himi> | Though there really should be something in the installer saying 'Would you like to use ISO standard date format throughout?' |
01:25 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
01:27 | < gnolam> | AFAIK, the only ones that DO let you do that are KDE-based. |
01:28 | <@Tamber> | Well, that would fit with Gnome's apparent "The user is an idiot. Don't give them anything they can break" philosophy. ?? |
01:30 | <@himi> | What are you trying to do with the date format? |
01:30 | < gnolam> | And... one of the weird ones in one of the Mint versions /claimed/ to have proper locale support as well. It was completely broken. |
01:30 | < gnolam> | Set a sane one? |
01:30 | <@himi> | I mean, what's a sane date/time format? |
01:31 | < gnolam> | ISO 8601. |
01:31 | <@himi> | Shouldn't you get something like that from most of the European locales? |
01:31 | < gnolam> | Which brings me to "arcane config file editing". |
01:32 | <@himi> | You have to edit config files to set your locale? |
01:32 | <@himi> | What are you running? |
01:33 | < gnolam> | Xubuntu. |
01:33 | <@himi> | Huh |
01:34 | <@himi> | No idea how to do it with xfce |
01:36 | < gnolam> | Last I checked, it was arcane config file editing in GNOME as well. |
01:36 | <@himi> | Not on my Ubuntu 10.04 machine |
01:38 | < gnolam> | IIRC, you could with some wrangling get sane date/time formats in GNOME... if you also switched the system /language/. |
01:39 | <@himi> | Yes |
01:40 | < gnolam> | Which again, is FAIL |
01:41 | <@himi> | Well, that sort of thing is handled by the localisation subsystem, which means that having it all controlled by the language settings is probably reasonable |
01:42 | <@Tamber> | Stop trying to be reasonable when there's raging to be done. |
01:42 | <@himi> | Like I said, if you want to go against the default from your chosen locale you might find it fiddly, but in your case I'm not sure why it's a problem |
01:42 | <@himi> | Unless you chose to use en_US or something . . . |
01:43 | <@himi> | Also, you should be able to just set LC_TIME to adjust /just/ the date/time formats |
01:43 | <@himi> | One line in /etc/bash.profile should do it |
01:43 | < gnolam> | Tamber: Ah, the Linux attitude. The solution to a problem: redefine it as "not a problem". |
01:43 | <@Tamber> | Oh, I'm not saying it's not a problem. |
01:44 | <@himi> | Hey, being able to set LC_TIME seems like a pretty reasonable solution to your problem |
01:44 | <@Tamber> | Just that, every single time I've seen you complaining about something, you seem to have shouted at everyone who's tried to help. |
01:45 | <@Tamber> | So the only conclusion I can come to is that you hate that things aren't reading your mind and DWYM; and just want to complain. |
01:46 | <@Namegduf> | As someone who is fairly fanatical about YYYY-MM-DD |
01:46 | | * himi notes that doing 'man locale' found LC_TIME in a few seconds . . . |
01:46 | <@Namegduf> | Suboptimal date formats do not in any sense of the word constitute a problem |
01:46 | <@Namegduf> | Not even a first world problem |
01:46 | <@Tamber> | Plus, there's also things like the above; "You're not agreeing with me, you're just another smug unix weenie" |
01:46 | <@McMartin> | Zeroth World Problems |
01:46 | <@himi> | Oh, I dunno - I've wanted to kill people over the use of MM/DD/YYYY occasionally |
01:47 | <@Tamber> | only occasionally? ?? |
01:47 | <@Namegduf> | And I dunno how annoying you are really finding this, but if it is still less annoying than a suboptimal date format |
01:47 | <@himi> | I'm lucky enough to live in a place where I only run into it occasionally ;-P |
01:47 | <@Namegduf> | That's pretty good |
01:48 | <@Namegduf> | Different OSes facilitate tinkering with different inane minutae easily. Linux not very much if you don't like the CLI, but as I said I think if you don't everything sucks for you anyway. |
01:48 | < gnolam> | Tamber: or: my original statement "not possible without fiddling with config files" was entirely correct. |
01:49 | <@himi> | You certainly used to have to edit files occasionally in Windows, and it's not uncommon even now to have to edit registry entries |
01:51 | <@Tamber> | gnolam, probably. But I fail to see the problem, frankly. At this point, you've spent more time screaming about it than it would have taken to just change it. What are you expecting to happen? Your UI to magically gain the ability to change these details? |
01:51 | | * Tamber would also like to note, he's not a smug unix weenie. He's an asshole. There's a difference. |
01:51 | < gnolam> | Well, right now, I'm trying to figure out /what to set it to/. |
01:52 | <@Tamber> | Okay. Then that's slightly different. |
01:53 | <@Tamber> | Something like, say, en_DK.utf8 |
01:55 | < gnolam> | Namegduf: suboptimal date/time formats _are_ a problem. Instead of grokking a date at a glance, I actually have to think about each one. Also, wasting of precious screen space, which is a real concern on a netbook. |
01:55 | <@himi> | Yeah |
01:55 | <@himi> | locale -a will tell you what you have available |
01:55 | <@himi> | If necessary you can add another one |
01:56 | <@himi> | But given where you're from I imagine a usable option will be there by default |
01:57 | <@himi> | Though my original assumption back at the start was that you'd have one of the European locales set in the first place, which means you shouldn't be seeing this problem |
01:58 | | * Tamber hums, wombles off. |
02:04 | < gnolam> | Ok, that worked. Thanks. |
02:45 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has quit [Ping timeout: 121 seconds] |
03:17 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
03:40 | | Kindamoody[zZz] is now known as Kindamoody |
03:50 | | Kindamoody [Kindamoody@Nightstar-5507a6b5.tbcn.telia.com] has quit [[NS] Quit: My client is acting up, I'll be back in a moment!] |
03:51 | | Kindamoody|out [Kindamoody@Nightstar-5507a6b5.tbcn.telia.com] has joined #code |
03:51 | | mode/#code [+o Kindamoody|out] by ChanServ |
03:51 | | Kindamoody|out is now known as Kindamoody |
04:04 | <~Vornicus> okay. back on the refactor riding mower for me. |
04:49 | | * Vornicus fiddles with it. Would it be possible to, hm... |
04:52 | <~Vornicus> I need to like write down a lot of these things I'm thinking about so they actually get somewhat out of my head and teased out. |
05:15 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Connection closed] |
05:37 | <~Vornicus> gnaah, okay, what the hell. On the one hand: door tiles can only sensible count as 8-connected if they are also both 4-connected to another door tile. On the other hand: there are situations where, if all the doors were open, it would be the only path through the area; this suggests that there must be some sort of connection, or I'll just get a bunch of diamond-shaped items, and that's very |
05:37 | <~Vornicus> much not what I want. |
05:39 | <~Vornicus> I do not have data for the floor type under the door though, so rendering doors separately doesn't work. |
05:47 | | eckse [eckse@Nightstar-4764ca11.dsl.sentex.ca] has quit [Client closed the connection] |
06:13 | | Derakon is now known as Derakon[AFK] |
06:42 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
06:59 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has joined #code |
07:02 | | Kindamoody is now known as Kindamoody|out |
08:32 | < maoranma> | Okay, I modified my laptop kotatsu, because a) my space heater cuts off at 90 degrees since there isn't good airflow and b) my upper half was cold. So now, I just drape the sheet over everything, so now where I'd be, there is instead a big green cloth bubble |
09:08 | | You're now known as TheWatcher |
09:35 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
09:39 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has joined #code |
09:48 | | Rhamphoryncus [rhamph@Nightstar-14eb6405.abhsia.telus.net] has quit [Client exited] |
10:28 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:28 | | mode/#code [+o himi] by ChanServ |
10:48 | | AnnoDomini [annodomini@Nightstar-7db7ed24.connect.netcom.no] has joined #code |
10:48 | | mode/#code [+o AnnoDomini] by ChanServ |
11:13 | <@TheWatcher> | Worse thing than working with someone else's undocumented code: working with someone else's undocumented Flash source >.< |
11:14 | <@jerith> | Quite. |
11:17 | <@jerith> | Also, "someone else" might be "me from the past", who is a right proper arsehole. |
11:18 | <@jerith> | In entirely related news, I now have a better font in emacs, so I don't have "#" characters leaving display artifacts everywhere, so I now write more comments. |
11:20 | <@Tamber> | FPA: "entirely related newts" *facepalm* |
11:21 | <@Tamber> | Change in dried-frog pills; suddenly, more comments. |
11:23 | | * jerith grins. |
11:28 | | * TheWatcher stabs microsoft |
11:29 | <@TheWatcher> | it should not involve this much faffing around to change the sodding rdp port |
11:43 | | AnnoDomini [annodomini@Nightstar-7db7ed24.connect.netcom.no] has quit [Ping timeout: 121 seconds] |
11:43 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
11:47 | | AnnoDomini [annodomini@Nightstar-f48d2c80.bb.online.no] has joined #code |
11:51 | | AnnoDomini [annodomini@Nightstar-f48d2c80.bb.online.no] has quit [Ping timeout: 121 seconds] |
12:19 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
12:21 | < Tarinaky> | Windows XP: is it possible to set per-application preferences for network interfaces and routes? |
12:21 | < Tarinaky> | I ran out of ports on the silly network Firewall so I need an application to either fail-over onto wireless or use that route by default. |
12:22 | | * Tamber would suspect not. |
12:22 | < Tarinaky> | I'm expecting there to be a hackish solution that abuses the fact that I only need to connect to 1 host with this 1 application. |
12:22 | < Tarinaky> | So a per-host solution is acceptable. |
12:23 | < Tarinaky> | Otherwise... umm... what's the point of the OS supporting multiple devices if it can't distinguish what resources are available on which networks? |
12:24 | <@Tamber> | Oh, it's only for one host? That sounds like it should be easier. (Disclaimer: I only know how I think I'd do that on a Linux box) |
12:25 | < Tarinaky> | I'm trying to think if there's something in hosts that controls that. |
12:28 | < Tarinaky> | http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/r oute.mspx?mfr=true << Is this what I want? |
12:28 | < Tarinaky> | route add <hostip> if <interface name> ? |
12:29 | <@Tamber> | That seems sane. I think. |
13:12 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Ping timeout: 121 seconds] |
13:24 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code |
14:52 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has joined #code |
14:52 | | mode/#code [+o AnnoDomini] by ChanServ |
14:57 | <@ToxicFrog> | Tarinaky: how does one "run out of ports" on the firewall? |
15:03 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code |
15:14 | <@jerith> | ToxicFrog: A crappy firewall? |
15:14 | <@jerith> | If it's hardware, it might have limited memory for storing rules. |
15:15 | <@jerith> | Perhaps some rules need to be consolidated or something. |
15:19 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has quit [[NS] Quit: Going off.] |
15:24 | <@TheWatcher> | Godsdamnit, it should not be this hard to make a flash animation take up the rest of the page height, argh |
16:01 | | Kindamoody|out is now known as Kindamoody |
16:03 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has quit [Client closed the connection] |
16:04 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has joined #code |
16:12 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has quit [Ping timeout: 121 seconds] |
16:16 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has joined #code |
16:32 | <@jerith> | So, I have a thing that fires metrics messages. |
16:33 | <@jerith> | It used to be a big monolithic thing, but now it's a collection of smaller components. |
16:33 | <@jerith> | The thing is, the metrics have to be declared before they can be fired. |
16:36 | <@jerith> | And I have several that include some other piece of information, such as the mobile network a message came in on. |
16:37 | <@jerith> | Currently, I look up the possible values at setup time and loop over them, registering each "foo.<param>" metric variant. |
17:02 | <@jerith> | Oh, I never finished. |
17:02 | <@jerith> | So, I have some options. |
17:03 | < Tarinaky> | ToxicFrog: Arbitrary network policy/Word of God |
17:03 | <@jerith> | 1. I can have all the new components do the same thing the old monolithic thing did. This is clunky and painful. |
17:04 | <@jerith> | 2. I can have multiple lists of metrics, keyed on the value that needs to be substituted. Less clunky, but a pain to add new things to and more stuff to maintain. |
17:05 | <@jerith> | 3. I can have the components declare parameterised metrics names, like "foo.%(thingy)s" and have a complicated thing the finds those and does the right looping and substituting. |
17:06 | <@jerith> | 4. I can add support for parameterised metrics to the metrics thing. This is the most work, and I'm not convinced that my use case is generally applicable. |
17:22 | <~Vornicus> I'm a little confused, jerith: I take it what you're building appears to be a thing that applies filters to text messages? |
17:23 | <@jerith> | Vornicus: Which bit are you applying that to? |
17:24 | <~Vornicus> I'm gleaning that from the "mobile network a message came in on" thing |
17:24 | <@jerith> | Ah. |
17:24 | <@jerith> | My day job is at https://github.com/praekelt/vumi |
17:25 | < Tarinaky> | So while I was having a nap, the CompSci department acquired a new Stapler. |
17:25 | <@jerith> | Although the bits I'm rewriting at the moment are in the private repo where we build SMS competitions for booze companies. |
17:25 | < Tarinaky> | From Facebook: |
17:25 | <@jerith> | Tarinaky: Red Swingline? |
17:25 | <~Vornicus> Oh I see. |
17:25 | < Tarinaky> | It was never broken - nobody could work out how to turn it on! Oh and the manual is for a different model so that was no help either. |
17:25 | < Tarinaky> | Reply: It says something about our society when the stapler in a computer science department is so complex no-one in that department can figure out how to turn it on. |
17:26 | <@jerith> | Tarinaky: Obviously not the EE dept.~ |
17:26 | < Tarinaky> | http://www.youtube.com/watch?v=62CNkmWBqhQ |
17:26 | <@jerith> | We'd've figured it out and then built a better power supply for it. |
17:26 | < Tarinaky> | That video makes it look terrifying. |
17:27 | <~Vornicus> So, what you're doing is this: you've got a whole bunch of text messages coming in, and you want to filter these text messages and every once in a while, based on some triggers, send a (not necessarily SMS) message that talks about it. |
17:28 | <@Tamber> | Tarinaky, ...so what was wrong with the good ol' "put document in, pound stapler by hand" design? :p |
17:29 | <~Vornicus> Tamber: for one thing it doesn't work with documents more than a few pages long. :P |
17:29 | <@jerith> | Vornicus: Not quite. |
17:29 | <@Tamber> | Ah. |
17:30 | < Tarinaky> | Tamber: I have no idea. |
17:30 | <@Tamber> | Not high-tech enough, then. :p |
17:30 | < Tarinaky> | New toy. |
17:30 | <@Tamber> | hehe |
17:30 | <@jerith> | I have metrics like "messages.processed" and "messages.invalid.vodacom". |
17:30 | < Tarinaky> | If it's not your money it's fun to spend it :) |
17:31 | <@jerith> | Where Vodacom is one of the mobile networks. |
17:31 | <@jerith> | Then I draw pretty graphs of these and the people in the Control Room phone me if they're insufficiently pretty. |
17:32 | | * Vornicus replaces vodacom with vodkacom. |
17:33 | <@jerith> | Vornicus: https://github.com/hodgestar/vodka |
17:33 | <@jerith> | That's the Vumi Open DataKit Application. |
17:33 | <~Vornicus> Okay so what you've really got is a series of filters that each count the number of text messages that come in that match those filters |
17:33 | <~Vornicus> ahahahahaha |
17:34 | <@jerith> | Well, I do a bunch of things (occasionally nefarious) to an incoming message. |
17:34 | <@jerith> | Some of these things result in metrics being fired so we can measure and monitor. |
17:36 | <@jerith> | Most of these metrics are static ("messages.processed") and some contain bits of data ("messages.invalid.%(mobile_network)s"). |
17:36 | <~Vornicus> okay. So you've got a program that does a lot of horrible processing, and it's spewing pretty charts instead of log files, and you need to tell the pretty charts that a metric is coming in. |
17:36 | <@jerith> | The metrics system requires that I register a metric before I can use it. |
17:37 | < Tarinaky> | Apparently it's rated for up to 70 pages. |
17:37 | <@jerith> | So: metrics.register(CounterMetrics("messages.processed")) |
17:37 | < Tarinaky> | Which is probably why they got it. |
17:37 | <~Vornicus> But some metrics are dynamic and that's the problem. |
17:38 | <@jerith> | And then I can say: metrics['messages.processed'].add(1) |
17:38 | <@jerith> | And some metrics are timers or whatever. |
17:39 | <@jerith> | The metrics system caches and aggregates metrics and then sends messages at regular intervals if there are any. |
17:40 | <@jerith> | So you get a small number of messages sent every couple of seconds instead of a storm of tiny metrics packets for every request. |
17:43 | <@jerith> | Vornicus: Completely unrelated, would my depixeler be useful to you? |
17:44 | <@jerith> | I currently have a bunch of assumptions about my input data baked into it. |
17:44 | <~Vornicus> Nah. I also have a bunch of similar assumptions~ |
17:45 | <~Vornicus> Which actually are causing some chagrin at the moment... |
17:49 | <@jerith> | Is your code up anywhere? |
17:49 | <@jerith> | If so, I can probably make mine handle your data. |
17:49 | <~Vornicus> No. I need to hunt up a github-oid for mercurial |
17:50 | <@jerith> | bitbucket |
17:50 | <@jerith> | https://bitbucket.org/ |
17:50 | <~Vornicus> ah, thank you |
17:51 | <~Vornicus> The actual problem I'm having is something more game-rule-y |
17:53 | <@jerith> | The concession I've made to "not everyone has binary monochrome data" is that I have .match() method that I sometimes use instead of comparing node values. |
17:55 | <~Vornicus> I'm working on my own match method right now; my problem is what goes into it. |
17:57 | <@jerith> | Ah. |
17:58 | <~Vornicus> Right now I'm trying to figure out doors, and they're nasty. |
17:59 | <@jerith> | What's your output format? |
17:59 | <@jerith> | Oh, right. You throw things at povray. |
18:00 | <~Vornicus> Yeah, I haven't really figured out rendering properly. |
18:01 | | * jerith outputs to both PNG and SVG now. |
18:01 | <@jerith> | Oh! You're a mthy person! |
18:01 | <@jerith> | *mathy |
18:01 | <@jerith> | Expline B-splines to me? |
18:02 | <@jerith> | Specifically, the practical bits that involve making them from closed polygons and then turning them into something SVG likes. |
18:03 | <~Vornicus> I don't know much about b-splines. |
18:04 | <@jerith> | It's really hard to find what I'm looking for. |
18:04 | <@jerith> | Everything's either maths and diagrams (which is insufficient for me to write and verify the code) or tutorials for CAD packages. |
18:08 | | * maoranma exports jerith as a png. |
18:09 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has quit [Ping timeout: 121 seconds] |
18:15 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has joined #code |
18:18 | <~Vornicus> Find me some math and diagrams. |
18:20 | <@jerith> | http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/ |
18:20 | <@jerith> | Specifically, unit 6. |
18:20 | <@jerith> | That's the best I've found for building closed B-splines. |
18:20 | <@jerith> | The depixeling paper is very vague. |
18:20 | <~Vornicus> All right. I'll do some examining them. |
18:21 | <@jerith> | And they reference a textbook I don't have access to. |
18:21 | | Attilla [Obsolete@Nightstar-2ba021e3.as43234.net] has quit [Ping timeout: 121 seconds] |
18:22 | | Attilla [Obsolete@Nightstar-9f652d1f.as43234.net] has joined #code |
18:22 | <@jerith> | They specify that the visible edges get turned into B-splines with the control points initialised to the pixgrid nodes. |
18:23 | <@jerith> | The thing is, there are both open and closed curves. |
18:24 | <~Vornicus> I see that. |
18:25 | <@jerith> | (The open curves need to terminate on other curves, but they state that these locations are adjusted.) |
18:25 | <~Vornicus> Okay, looking at this |
18:26 | <~Vornicus> You can tell that a curve is closed by the fact that it runs into its starting point. |
18:26 | <@jerith> | I spent a big chunk of the weekend trying to make sense of it. |
18:27 | <@jerith> | The thing is, the only reference I can find for building closed B-splines (which are the only ones I care about in my binary monochrome data) is the page in those notes. |
18:28 | <@jerith> | That provides two methods, both of which, as far as I can tell, are open curves that meet at the ends of their domains. |
18:28 | <~Vornicus> SInce you've already got your points, what you do then is just repeat the starting three points at the end; then this interpolation will actually loop around. |
18:28 | <@jerith> | Vornicus: Then I get a pointy angle instead of a smooth curve. |
18:28 | <@jerith> | (I tried that.) |
18:28 | <~Vornicus> hm, really? |
18:28 | <@jerith> | I can't make the knot-wrapping thing work, though. |
18:29 | | * jerith digs up pycurve+pygame. |
18:31 | <~Vornicus> I have to look over the notes more to figure out what a knot actually is. |
18:32 | <@jerith> | A knot is a point in the parameter-space. |
18:33 | <@jerith> | A B-spline is a parametric curve defined by knots (which divide the input parameter into segments) and control points. |
18:34 | <@jerith> | Probably worth starting at the front of unit 6 and reading it all. |
18:34 | <@jerith> | The maths is a bit beyond what I can comfortably keep in my head without serious studying. |
18:37 | <@jerith> | The thing is, "B-spline" can mean a few different things. |
18:38 | <~Vornicus> Yeah, that doesn't help |
18:39 | < maoranma> | Everytime someone says splines, I want to play SimCity2k |
18:41 | <@jerith> | maoranma: Actually, the exact problem under discussion is how to reticulate them. |
18:42 | <@jerith> | Or rather, generate and then reticulate them. |
18:45 | <~Vornicus> Hm. jerith, I don't think you're wrapping far enough. |
18:46 | | * jerith is generating some sample images. |
18:46 | | * Vornicus fires up Excel. |
18:50 | | Kindamoody is now known as Kindamoody[zZz] |
19:02 | <~Vornicus> oho, of course |
19:04 | <@jerith> | Vornicus: http://i.minus.com/iG4zttzw4qc8t.png |
19:05 | <@jerith> | Top left is wrapping points. Top right is wrapping nodes, which I don't think I've implemented right. Bottom left is clamped endpoints. |
19:05 | <@jerith> | I think running off to zero is an artifact of the spline library I'm using. |
19:05 | < maoranma> | Geez, Espernet is still getting hit |
19:07 | <@jerith> | I think it has the wrong endpoints for the domain. |
19:07 | <~Vornicus> You don't clamp endpoints, I know that. |
19:08 | <~Vornicus> What you need to do, um, let me see if I can figure out how to describe it. |
19:08 | <@jerith> | Do I add extra control points as well or something? |
19:09 | <~Vornicus> Yeah, you need to add more control points. |
19:09 | <~Vornicus> essentially instead of going abcdefg and then clamping, you do abcdefgabc |
19:10 | <@jerith> | That sounds like point wrapping. |
19:11 | <~Vornicus> Yeah, it is. And then you don't render all the spline pieces. |
19:12 | <~Vornicus> because your bezier splines "beyond the end" end up meaningless, because they're looking beyond the array for their control points. |
19:13 | <~Vornicus> Which is what's happening in your first image there: you're rendering more segments than are valid, and your lib is filling in the zero vector. |
19:13 | | * jerith nods. |
19:13 | <@jerith> | The lib has the wrong numbers for the domain endpoints. |
19:14 | <~Vornicus> So you've already got it, except that you need to cut off the curve earlier. |
19:14 | <@jerith> | Those are B-splines, not Bezier splines. |
19:14 | <~Vornicus> I know, but a b spline is composed of bezier splines. |
19:14 | <@jerith> | Now I need to turn them into Bezier splines. |
19:15 | <@jerith> | A B-spline is a generalisation of a Bezier curve. |
19:15 | <@jerith> | But it can be represented as a series of Bezier curves. |
19:16 | <~Vornicus> Right, each knot represents a change in what control points you're using. |
19:16 | <@jerith> | Ah. |
19:17 | <@jerith> | So do I turn knots into on-line points and the control points into the off-line points for the Bezier curves? |
19:18 | <~Vornicus> No. What you do is, um... how do I put this. |
19:19 | <@jerith> | Add extra knots at each knot point until they're clamped? |
19:20 | <~Vornicus> No. |
19:21 | <@jerith> | I'm looking at http://www.infogoaround.org/JBook/bstobez.html |
19:23 | <~Vornicus> WHat you're doing is cutting off each bezier |
19:25 | | * jerith considers. |
19:32 | <~Vornicus> I've got to go to the store. More on this later. |
19:33 | <@jerith> | Thanks for your help so far. |
19:45 | <@jerith> | I think I have it. |
19:45 | <@jerith> | I hope. |
19:46 | | * Alek shakesfist at Vorn. |
19:46 | <@Alek> | whyyyy must you remind us of Sims? |
19:46 | <@McMartin> | RETICULATE |
19:48 | <@Alek> | you're not helping, Dalek Man. XD |
19:48 | <@McMartin> | Pretty sure it's an older joke than The Sims |
19:51 | <@Alek> | I first encountered it in the Sims load screen. D: |
19:51 | <@Alek> | oh, ok. |
19:51 | <@Alek> | SimCity 2000 was the first to use it. |
19:51 | <@ToxicFrog> | The "reticulating splines" joke goes back to SC2-yes. |
19:53 | <@McMartin> | And it was a running joke before that, too |
19:53 | <@McMartin> | I think there's even a "What's a spline?" entry in the jargon file dated to Xerox PARC |
19:55 | <@Alek> | ok, I have never heard of SimCity Societies? why have I not heard of them? |
19:55 | <@McMartin> | It's post-bitter sellout stage? |
19:56 | < maoranma> | It stopped being good after Rush Hour |
19:59 | <@Alek> | it's not even Maxis. |
19:59 | < maoranma> | ^ |
19:59 | < maoranma> | I wish EA never got Maxis, I really do |
20:00 | <@ToxicFrog> | s/Maxis/*/ |
20:01 | < maoranma> | No, I could give a shit less about anyone else they aquired |
20:01 | <@McMartin> | I'd grieve for Origin, but then I saw both their earlier and later work with modern eyes |
20:01 | <@McMartin> | I'm willing to call that one a mercy killing |
20:02 | <@ToxicFrog> | In that case I think we need to be mortal enemies |
20:02 | <@McMartin> | The Crusader games are from the EA era. |
20:02 | <@McMartin> | This is itself sufficient justification~ |
20:02 | <@McMartin> | Strike Commander is in the earlier era |
20:03 | <@ToxicFrog> | I mean maoranma~ |
20:03 | < maoranma> | wut, i aint afeared of you |
20:03 | <@McMartin> | I can't actually come up with any other companies EA took over with any visibility |
20:03 | <@McMartin> | I'm sure they did, since that's what they do |
20:03 | <@ToxicFrog> | I'm willing to grant that Origin was a tossup, because their quality was all over the place both before and after EA ate them |
20:04 | <@McMartin> | Yeah, I've become convinced that people just count the hits pre-EA and the misses post-EA. |
20:04 | <@McMartin> | (Did EA eat Maxis before or after everyone good left for Firaxis?) |
20:05 | < maoranma> | After? I can't remember |
20:05 | <@ToxicFrog> | Bullfrog (Populous, Dungeon Keeper) and Westwood (Command and Conquer) are the two that spring immediately to mind. |
20:05 | < maoranma> | But Firaxis was neat |
20:05 | < maoranma> | Love SimGolf |
20:05 | <@McMartin> | Firaxis did SMAC, and as such are nearly immune to criticism~ |
20:06 | < maoranma> | Yea |
20:06 | <@McMartin> | And now I've mixed Maxis with MicroProse, I think. |
20:06 | <@McMartin> | Don't mind me, I'll be over here. |
20:06 | < maoranma> | Didn't they do Sid Meier's Pirates! too? |
20:06 | <@McMartin> | I think they were still with MicroProse back then, as they were for Civ |
20:06 | <@McMartin> | This is totally a tangent, I'm on crack. |
20:06 | < maoranma> | No, I mean the new one |
20:06 | <@McMartin> | Firaxis has nothing to do with this. |
20:06 | <@McMartin> | Oh |
20:06 | <@ToxicFrog> | Over the years I've arrived at the conclusion that SMAC is the Planescape Torment of 4X games |
20:07 | <@ToxicFrog> | The actual gameplay is terrible but the fluff is so good it's a classic anyways |
20:07 | <@McMartin> | TF: It's hard to argue. Terrible interface, hilariously terrible balance issues |
20:07 | <@McMartin> | Well |
20:07 | <@McMartin> | The gameplay is Civ II But Better |
20:07 | <@McMartin> | It's just that Civ 2 was awful but nobody remembers that because Civ3. |
20:07 | <@ToxicFrog> | I didn't enjoy Civ 2 either~ |
20:07 | <@McMartin> | Civ4:BTS is the One True Civ game >_> |
20:08 | < maoranma> | Only Civ I played was on the SNES, and the open source version |
20:08 | < maoranma> | Freeciv |
20:08 | <@McMartin> | FreeCiv is functionally equivalent to Civ2 |
20:10 | <@ToxicFrog> | Refreshing my memory on Origin's history, I still think we can lay quite a lot of blame at at EA's feet for how wrong everything went at the end~ |
20:10 | <@McMartin> | Ultima IX we can blame on them; Ultima VIII I don't think we can |
20:11 | < maoranma> | I hate that development on Cities3D died, the Settlers of Catan online |
20:11 | < maoranma> | The one that was supposed to replace Sea3d |
20:11 | <@McMartin> | (Especially since Crusader used the Ultima VIII engine, which is mindboggling) |
20:11 | <@ToxicFrog> | Well, yes |
20:12 | <@McMartin> | I like the reading that claims that The Guardian is in fact the in-game personification of EA |
20:12 | <@ToxicFrog> | AFAICT, after the success of Ultima Online, EA declared that Origin would henceforth be a "X Online" only studio once U9 was finished, and moved most of the U9 team to UO development |
20:13 | <@ToxicFrog> | And U9 had already had a pretty troubled development at that point, so that was pretty much the kiss of death |
20:13 | <@ToxicFrog> | Then U9 tanked and EA canceled everything and closed Origin. |
20:13 | <@ToxicFrog> | Yeah, there's a fair amount of evidence to support that~ |
20:14 | <@McMartin> | There turns out to not be as much evidence to support my initial claim that the Time Eater in Sonic Generations was secretly Sonic Team~ |
20:15 | <@ToxicFrog> | snrk |
20:15 | <@jerith> | W00t! I think I have it! |
20:15 | <@McMartin> | (A mysterious implacable force that has gone through time and sucked all the life and joy out of all the previous Sonic games) |
20:15 | <@ToxicFrog> | But, yeah, as much as I liked some of Origin's stuff, I'm not as bitter about them as I am about, say, Bullfrog, or Dynamix. |
20:15 | <@McMartin> | (Which you must fix by playing through parts of them redone to be better-designed for high-speed platforming) |
20:16 | <@jerith> | Now I just need to write a B-spline library, because the one I'm using makes me sad. |
20:16 | <@ToxicFrog> | Or Looking Glass, but EA and Eidos can split the blame for that one~ |
20:16 | <@McMartin> | (However, it turns out that the Time Eater was imported wholesale from Sonic Colors, which I ignored) |
20:16 | <@McMartin> | (And which the throwback stage in Generations makes me think was not as good as advertised) |
20:17 | <@ToxicFrog> | (I do think I need to play Generations at some point) |
20:17 | <@ToxicFrog> | (Heroes was alright but S3K is basically the only "pure" platformer I've really enjoyed) |
20:19 | <@McMartin> | (Generations has highlighted why Heroes wasn't that good, actually~) |
20:19 | <@ToxicFrog> | (I'm not planning to replay Heroes ever anyways, so finding out I can't enjoy it anymore won't be any great loss~) |
20:19 | <@McMartin> | (It was better average quality than SA1 or SA2, but it wasn't as salvagable.) |
20:20 | <@McMartin> | (No, I mean, the "improved" version of Heroes has many of the same problems Heroes did. And Sonic 2006 remains unsalvageable~) |
20:20 | <@McMartin> | (Of the modern Era, Sonic Unleashed - which was awful - comes off looking the best) |
20:27 | <@McMartin> | At any rate, the Heroes stages didn't start having heavily highlighted flaws until I started trying to S-Rank all the stages |
20:27 | <@McMartin> | Which I managed for Heroes because of nostalgia but which I might not manage for the modern generation~ |
20:28 | <@McMartin> | But yeah, Generations is good but it's also only about 4 hours long; I can't recommend it at full price |
20:29 | <@Alek> | ahahah 4 hours. |
20:29 | <@Alek> | you can beat the original sonics in one. XD |
20:29 | <@McMartin> | No, I mean |
20:30 | <@McMartin> | "From starting the game for the first time to beating it for the first time" = 4 horus. |
20:30 | <@McMartin> | *hours |
20:30 | <@McMartin> | It was a Hell of a lot longer than that for Sonics 1 and 2~ |
20:30 | <@Alek> | huh. point. |
20:31 | | * McMartin counts |
20:31 | <@McMartin> | 18 traditional Acts, 9 non-traditional Acts, seven boss fights. |
20:31 | <@McMartin> | Yeah, I bet you could do a winning run in under an hour from a fresh save. |
20:32 | <@McMartin> | Definitely in under 2. |
20:36 | <@ToxicFrog> | So I'll grab it when it goes on sale for $2.50~ |
20:56 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has joined #code |
20:56 | | mode/#code [+o AnnoDomini] by ChanServ |
21:48 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Operation timed out] |
22:02 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code |
22:32 | | maoranma [maoranma@490720.DD2C85.F25E01.1100EB] has quit [Ping timeout: 121 seconds] |
22:36 | | Janus [NSwebIRC@Nightstar-27138e8c.res.rr.com] has joined #code |
22:45 | < Janus> | Can I ask what is probably a very dumb question? It's about C++. I looked, but all I ever find are diamond problems. And this is more like an upsidedown wedge problem. |
22:45 | < gnolam> | Ask away. |
22:46 | < Janus> | Well. Maybe not a wedge. It's more like a compass that's spinning on his join-- oh, right |
22:46 | <@jerith> | Multiple inheritance? |
22:47 | < Janus> | If there's two c++ classes. One is called Drawable, the other Controllable, and they both got a 'setActive()' function, and they have a TextField thing that inherits from both, what happens when I use that function? |
22:47 | <@AnnoDomini> | Nobody knows. |
22:47 | <@AnnoDomini> | I think it'll compile but fail? |
22:47 | <@jerith> | http://stackoverflow.com/questions/3310910/method-resolution-order-in-c |
22:48 | < Janus> | Ooooh. Well! I guess I'll just need to give them different names or ... something. |
22:49 | < Janus> | Thank you! |
22:49 | | * jerith knew what to search for, from having similar problems in Python. |
22:52 | < Janus> | My ratio of questions to answers on that site is something approaching infinity. |
22:56 | <@McMartin> | Generally speaking, the only langauge with C++ class semantics that does this remotely right is C#. -_- |
22:57 | <@McMartin> | Seriously avoid name collisions in stuff for multiple inheritance. |
22:59 | <@Ling> | IIRC in the child you can do like: Type Child::setActive(...) { return TextField::setActive(...) } |
23:00 | <@McMartin> | Ling: Right, but C# lets you reimplement separately depending on what the client has cast you to. |
23:00 | | * jerith casts McMartin to void* to see what happens. |
23:01 | <@Ling> | Who cares about C#, the question was about C++ |
23:01 | <@McMartin> | Which means that if it thinks you're a Child, you get Child::setActive, but if it thinks you're a TextField, you get TextField::setActive, and you can override them in the client implementation. |
23:01 | <@McMartin> | Ling: I care because I brought it up as the Actual Solution to the design problem that C++ and Java singularly fail to solve (and that you therefore must design around). |
23:02 | <@Ling> | That's cute, enjoy your sinking ship. |
23:02 | <@McMartin> | Nah. |
23:02 | <@McMartin> | The real solution is "multiple inheritance is a design flaw" |
23:02 | < Janus> | Giving them different names makes sense now that I did it, so it wasn't that bad. They both disabled different things. |
23:04 | <@McMartin> | This is great until you try to mix two third-party libraries with identical names, yet another reason to stick to composition when feasible. |
23:04 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has quit [Client closed the connection] |
23:04 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has joined #code |
23:04 | | mode/#code [+o AnnoDomini] by ChanServ |
23:06 | < Janus> | (I don't even remember how those two base classes work, aha. Made them so long ago. They... somehow get static references to a windowing context? So all the class needs to do is inherit them, and it's somehow automatically inserted into a drawing/input loop) |
23:06 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has quit [[NS] Quit: Reconnecting] |
23:06 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has joined #code |
23:06 | | mode/#code [+o AnnoDomini] by ChanServ |
23:18 | | AnnoDomini [annodomini@Nightstar-a94c4734.connect.netcom.no] has quit [Ping timeout: 121 seconds] |
23:43 | | Vash [Vash@Nightstar-8697fea9.wlfrct.sbcglobal.net] has joined #code |
23:43 | | mode/#code [+o Vash] by ChanServ |
--- Log closed Tue Jan 10 00:00:05 2012 |