code logs -> 2012 -> Mon, 09 Jan 2012< code.20120108.log - code.20120110.log >
--- 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
code logs -> 2012 -> Mon, 09 Jan 2012< code.20120108.log - code.20120110.log >

[ Latest log file ]