--- Log opened Thu Feb 27 00:00:37 2014 |
00:00 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
00:00 | | mode/#code [+o himi] by ChanServ |
00:46 | | You're now known as TheWatcher[t-2] |
00:53 | | Turaiel[Offline] is now known as Turaiel |
00:54 | | You're now known as TheWatcher[zZzZ] |
01:11 | <@Reiv> | Tarinaky: The Eight Virtues stemming from the Three Principles is an Ultima reference. |
01:13 | <@Tarinaky> | I never played Ultima. |
01:16 | <&McMartin> | It's very specifically Ultimas 4-6, which are of an era of games where they actually have to be taught in classes to be playable. -_- |
01:25 | | Derakon[AFK] is now known as Derakon |
02:26 | | Derakon [Derakon@Nightstar-5fqf0m.ca.comcast.net] has quit [Client exited] |
02:36 | <@Alek> | when you actually needed, and used, the paper manual that WAS included. |
02:36 | | Orth [Orthia@Nightstar-ufscb0.callplus.net.nz] has joined #code |
02:37 | <&McMartin> | The three paper manuals, some of which were actually poorly-written short stories |
02:37 | <@Alek> | does anyone want a key to the TES:O beta? there's a play weekend coming. |
02:37 | <&McMartin> | Don't get me wrong, mind you |
02:37 | <&McMartin> | I love the shit out of Ultima IV |
02:38 | <&McMartin> | But even with the manual it is a game that has to be taught |
02:38 | <&McMartin> | The same way you don't hand a bright youth the Canterbury Tales and say "eh, it's in English, more or less, you'll be able to make it out" |
02:38 | | Orth [Orthia@Nightstar-ufscb0.callplus.net.nz] has quit [[NS] Quit: Bye] |
02:40 | | * Alek has Ultima V. on 5.25 floppies. wants to finish it some day, but it's a bit hard to find a drive these days. or a PC that can handle that. |
02:40 | | * Alek misses his 286. |
02:41 | | * McMartin got the GOG pack. |
02:41 | <@Alek> | alternatively, I suppose I'd like to sell it. |
02:41 | <&McMartin> | IV is free on GOG these days. |
02:41 | <@Alek> | if anyone wants the box. with manuals and cloth map. |
02:41 | <&McMartin> | That might be worth some ebay investigations. |
02:42 | <@Alek> | no, I know. I have IV, Savage Empire, and Martian Dreams, all free off GOG. |
02:42 | | * McMartin nods |
02:42 | <@Alek> | admittedly, the box has a garage-sale sticker, since that's where I got it. >_> |
02:42 | <&McMartin> | I still need to play Savage Empire and Martian Dreams. |
02:42 | <&McMartin> | IV has to date been the only Ultima I've actually *beaten* |
02:42 | <&McMartin> | Considering firing up M&M7 again. |
02:45 | | Vornicus [Vorn@Nightstar-28h42k.sd.cox.net] has joined #code |
02:45 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
02:47 | | Turaiel is now known as Turaiel[Offline] |
03:24 | <@froztbyte> | McMartin: man, it's been forever since I had to paper manual something |
03:24 | <@froztbyte> | I kinda miss it |
03:25 | <@froztbyte> | I recall going through the Quake 2 manual like 3 years after I first played it |
03:25 | <@froztbyte> | and my only reaction was "oh. oh! OH RIGHT!" |
03:25 | <@froztbyte> | and when I bought Black & White I went through the manual just because pretties |
03:26 | | * froztbyte crashes like a virus-infected winxp machine |
03:42 | | Vornicus [Vorn@Nightstar-28h42k.sd.cox.net] has quit [Connection closed] |
03:43 | | Kindamoody[zZz] is now known as Kindamoody |
04:07 | <&McMartin> | The most recently-published game I had to read the manual for (and it was worthwhile!) was Volgarr the Viking. |
04:07 | <&McMartin> | The most recently-played game for which I had to do that was Might and Magic 7, where I didn't *have* to because the mechanics were roughly the same as M&M6's, but it was handy to have all the chargen tables in one place (on my tablet! :D) so I could plan out my party before starting the game. |
04:09 | <@Reiv> | You had to read the manual for Volgarr? |
04:10 | <&McMartin> | That's what tells you what all the attack chain combos that give you extra movement powers are |
04:10 | <@Reiv> | Oh, right, yeah that's fair |
04:10 | <&McMartin> | Without those powers the second half of the first level will brickwall you. |
04:11 | <&McMartin> | Now yeah, you *can* work it out on your own, or watch a video walkthrough |
04:11 | <&McMartin> | But they do tell you. With their words. Like civilized human beings. |
04:11 | | Turaiel[Offline] is now known as Turaiel |
04:19 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
04:19 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:35 | | Derakon [Derakon@Nightstar-5fqf0m.ca.comcast.net] has joined #code |
04:35 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:46 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
04:46 | < Harlow> | http://www.youtube.com/watch?v=-VujGNQpRjQ |
04:58 | | Derakon is now known as Derakon[AFK] |
05:01 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: BED] |
05:17 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
05:47 | | Kindamoody is now known as Kindamoody|afk |
06:09 | | ErikMesoy|sleep is now known as ErikMesoy |
06:38 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:40 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
06:41 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
06:59 | | Erik [8f610223@Nightstar-obfcgl.mibbit.com] has joined #code |
07:02 | | You're now known as TheWatcher |
07:32 | | [R] [rstamer@genoce.org] has quit [Ping timeout: 121 seconds] |
07:34 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
07:39 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code |
07:58 | | Turaiel is now known as Turaiel[Offline] |
08:05 | | Alek [omegaboot@Nightstar-qa936g.il.comcast.net] has quit [Ping timeout: 121 seconds] |
08:12 | | You're now known as TheWatcher[afk] |
08:18 | | Alek [omegaboot@Nightstar-qa936g.il.comcast.net] has joined #code |
08:18 | | mode/#code [+o Alek] by ChanServ |
08:28 | | Kindamoody|afk is now known as Kindamoody |
08:32 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving] |
08:38 | | Shiz [mark@Nightstar-3hueb6.shiz.me] has quit [Operation timed out] |
08:39 | | Shiz [mark@Nightstar-3hueb6.shiz.me] has joined #code |
08:44 | | FurryHelix [tamber@furryhelix.co.uk] has joined #code |
08:44 | | Tamber [tamber@furryhelix.co.uk] has quit [Connection closed] |
09:21 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
09:21 | | mode/#code [+o himi] by ChanServ |
10:23 | | You're now known as TheWatcher |
10:30 | | Kindamoody is now known as Kindamoody|afk |
10:46 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
10:47 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
10:47 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
10:55 | | [R] [rstamer@Nightstar-d7h8ki.org] has joined #code |
12:33 | <@Tarinaky> | Oh God. There's an article going 'round that successful people send short emails. |
12:33 | <@Tarinaky> | Because Jobbs sent short emails. |
12:34 | <@TheWatcher> | Yeah, I've recetly heard that there's a thing being thought about in work here that will recommend people "not send emails over 500 words" |
12:35 | <@TheWatcher> | My basic response was: Fuck that, I'll send emails that are as long as they need to be |
12:35 | < Erik> | Save yourself some argument, just link this: http://en.wikipedia.org/wiki/Goodhart's_law |
12:35 | < Erik> | ("When a measure becomes a target, it ceases to be a good measure.") |
12:35 | <@Tarinaky> | Cargo Cult memorandum. |
12:35 | < Erik> | If you need an example, I've had success with "you don't make the car go faster by fucking with the speedometer". |
12:36 | <@Tarinaky> | There's also the fact that it misses the point in the first place. |
12:36 | <@Tarinaky> | Because it suggests that emails should be 500 words regardless of the complexity/quantity of the ideas. |
12:37 | <@Tarinaky> | It's the entropy-per-bit that should be measured, not the number of bits transmitted. |
12:38 | < Erik> | Among other things. |
12:38 | <@Tarinaky> | Also assuming you even put much stock in the article beyond the completely uncontroversial. |
12:40 | <@Tarinaky> | Receptionist: "You look terrible." PHB: "A Forbes article said successful people function on only 4 hours sleep a night" *collapses* "Zzzz" |
12:40 | <@TheWatcher> | If they ever tried to make a thing of it, my response would be to simply pad <500 word emails to 500 with Pointlessly Long Footer Crap, and split >500 into multiple consecutive emails >.> |
12:40 | <@Tarinaky> | Agreed. |
12:41 | <@Tarinaky> | Although I would be tempted to pad out the whole thing for sport. |
12:41 | <@Tarinaky> | Make it a challenge to find the 5 important words :p |
12:41 | < Erik> | Don't use Pointlessly Long Footer Crap, it might get mistaken for usefulness by a bureaucrat. Pad it out with sig jokes instead. :P |
12:41 | <@TheWatcher> | Point |
12:42 | | * Tarinaky recalls the speech from 2012 about being a bad programmer that introduced the concept of the "CC game" |
12:42 | <@Tarinaky> | Every time you reply to an email you have to add someone new to the CC list. You win when the CTO is in the conversation and calls a meeting while the user gives up completely on the bug ticket. |
12:45 | <@Tarinaky> | It made me giggle. |
13:13 | <&jerith> | < k4y> i just created an exception type called "UnexpectedChild" |
13:22 | <@Tarinaky> | jerith: Does it support any kind of interrogation of paternity? |
13:23 | <@Tarinaky> | TheWatcher: I thought of a better solution to no emails over 500 characters. Use attachments. |
13:23 | <@Tarinaky> | Err 500 words |
13:25 | <&jerith> | Tarinaky: No idea. That's all he said about it. |
13:26 | <&jerith> | I've had a CheapPlasticChannel class in my production code for ages, though. :-) |
13:26 | <@Tarinaky> | Oh yeah. Someone here might like this... |
13:26 | <@Tarinaky> | http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/multi_ comparison.html |
13:26 | <@Tarinaky> | http://research.microsoft.com/en-us/um/people/kopf/pixelart |
13:26 | <@Tarinaky> | https://github.com/jerith/depixel |
13:27 | <@Tarinaky> | (I assume not /our/ jerith) |
13:27 | <&jerith> | Tarinaky: That was in the channel topic here for a long time. |
13:27 | <@Tarinaky> | Oh. |
13:27 | <&jerith> | And yes, that is me. |
13:27 | <@Tarinaky> | Okay. |
13:27 | <@Tarinaky> | Well I missed it :V |
13:27 | <&jerith> | It was two years ago. |
13:28 | <&jerith> | Although the github link was in the topic for over a year. |
13:28 | <@Tarinaky> | Stop making me feel worse about missing it :P |
13:30 | <&jerith> | It stopped being in the topic in December, actually. |
13:30 | <&jerith> | But it was right at the end. |
13:32 | <@Tarinaky> | In my defence though, I very rarely join the channel. |
13:36 | <@Tarinaky> | Anyway. I should get on with some work. |
13:36 | <@Tarinaky> | Can anyone recommend some names of some smoothing algorithms? I'm trying to figure out a good starting point on this problem. |
13:37 | <@Tarinaky> | Oh wait, nm. There's a list on wikipedia. |
13:37 | <@Tarinaky> | Huray. |
13:38 | <~Vornicus> | what're you up to? smoothing is something I know pretty well |
13:38 | <@Tarinaky> | I have a stream of GPS time-space coordinates. Some of those coordinates are wrong. |
13:39 | <@Tarinaky> | (i.e. suddenly you've teleported to France) |
13:39 | <~Vornicus> | I see. |
13:39 | <~Vornicus> | ...when you say "teleported to france", you you mean from England, or from Mozambique? |
13:40 | <~Vornicus> | how far apart in time are these coordinates approximately? How far apart in space are they for typical use? |
13:40 | <@Tarinaky> | It's only a slow moving UAV. |
13:41 | <~Vornicus> | How bad is teleported to france? Are we on the other side of the world? |
13:41 | <@Tarinaky> | Actually, the example I saw it teleported from Wales to Australia and back again. |
13:41 | <&jerith> | If you flip the sign on latitude, Cape Town ends up in the middle of the Mediterranean. |
13:41 | <@Tarinaky> | But I think there're less dramatic errors too. |
13:42 | <~Vornicus> | Okay so it's pretty awesomely bad |
13:42 | <&jerith> | Tarinaky: You may want to check for something like that if there's a pattern to the errors. |
13:42 | <@Tarinaky> | Most of the points are sensible though. |
13:42 | <~Vornicus> | If you are teleported to australia, are you there for just one tick, or several? |
13:42 | <@Tarinaky> | Just one tick. |
13:42 | <~Vornicus> | Okay. |
13:43 | <@Tarinaky> | jerith: I don't have access to all the data for it. |
13:43 | < Erik> | I have a first-pass approach, but I'd also want to see the pattern. |
13:43 | < Erik> | Do you know the max speed and tick length of the UAV? |
13:43 | <~Vornicus> | A simple error correction then would be to compare the slerp of the two surrounding ticks; if the middle one is a vast outlier, discard |
13:43 | <&jerith> | Tarinaky: You probably want some kind of clustering that will tell you if a data point is too far away. |
13:44 | <&jerith> | Then you can reject extreme outliers. |
13:44 | <@Tarinaky> | One of my issues though, is that one of the things I need to measure is crosstrack error/drift in order to get some estimation of wind direction. |
13:44 | <@Tarinaky> | So I don't want to lose that info. |
13:45 | <@Tarinaky> | (At least, where it exists~) |
13:45 | < Erik> | Hmm. I think the very small approach, which requires no knowledge of outlier boundaries or maximum speed or the like, is to use median-of-three. |
13:45 | < Erik> | Every tick you look at the past three coordinates and send the median one. |
13:45 | <@Tarinaky> | That'll still leave the outliers in though. |
13:46 | <@Tarinaky> | I'd rather discard them all together. |
13:46 | <&jerith> | Tarinaky: My suggestion is to filter obvious outliers and leave the rest unmodified. |
13:46 | < Erik> | Tarinaky: Sending median-of-last-three will replace the outlier with whichever recent sane coordinate was closest to the outlier. |
13:48 | <@Tarinaky> | Hunh. That makes sense then. |
13:48 | <@Tarinaky> | Erik: How would you work out the median for a vector? |
13:48 | <@Tarinaky> | *for a list of vectors |
13:48 | < Erik> | Calculate for each component separately? |
13:50 | < Erik> | Let me spell out what I'm thinking, partly so I can check it: say you have [sane series...] 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, -1000, 24.0, 24.1, [...sane series] measuring degrees-north or whatever. |
13:51 | < Erik> | [23.1, 23.2, 23.3] will give 23.2, and [23.2, 23.3, 23.4] will give 23.3, so median-of-last-three on a sane series is just reporting the coordinate with a one tick delay. |
13:52 | < Erik> | [23.6, 23.7, 23.8] reports 23.7, [23.7, 23.8, -1000] reports 23.7, [23.8, -1000, 24.0] reports 23.8, [-1000, 24.0, 24.1] reports 24.0, and [24.0, 24.1, 24.2] reports 24.1 |
13:53 | <@Tarinaky> | What about seams? |
13:54 | <@Tarinaky> | International Date Line or whatever. |
13:54 | < Erik> | Do something with modulo arithmetic. |
13:55 | < Erik> | So median-of-three will handle a single teleportation error of one tick by outputting two one-tick-delayed non-teleported values for two ticks. |
13:55 | <~Vornicus> | This is one reason I said slerp; no seams in it. |
13:55 | < Erik> | This breaks down for seams, as you note; it also breaks down if there's more than one crazy tick in a row. |
13:56 | < Erik> | One advantage is that it doesn't require much data about how large an outlier you can expect. |
13:56 | <@Tarinaky> | Vornicus: The wiki article on SLERP is confusing. |
13:57 | <~Vornicus> | Color me unsurprised. |
13:57 | <@Tarinaky> | Erik: I don't think backtracking/lawn-mower motions work. |
13:57 | < Erik> | Tarinaky: There's no backtracking that I can see |
13:58 | <@Tarinaky> | I mean if the drone backtracks. |
13:58 | < Erik> | Ah. Yeah, in that case you're going to miss out on the single most extreme position reported by taking the median |
13:59 | < Erik> | If this is going to do backtracking and crossing the international date line, it sounds like you definitely need something smarter |
14:00 | <@Tarinaky> | It's going to do a lot of backtracking. I'm not sure about the international date line but I'd rather not willfully put an issue like that in. |
14:01 | <@Tarinaky> | Vornicus: Is Slerp always on Quaternions? |
14:01 | <@Tarinaky> | Because... umm... |
14:01 | <~Vornicus> | Tarinaky: it works on quaternions because that's, uh, how you do rotations in 3d space |
14:03 | <@Tarinaky> | Plus... this looks like it'll make the Arduino cry. |
14:03 | <~Vornicus> | note that a quaternion is basically -- if you have two points in 3d, A dot B is the real part and A cross B is the imaginary part of the quaternion that defines the rotation between them. |
14:04 | | * TheWatcher doesn't really get why people find quaterions so scary |
14:04 | <@Tarinaky> | ijk=i^2-j^2=k^2=-1 |
14:05 | <@Tarinaky> | That's why. |
14:05 | <@Tarinaky> | Err one of the = signs got transformed into a minus somehow. |
14:05 | | * Tarinaky blames fat fingers. |
14:08 | <~Vornicus> | So it goes approximately like this: slerp takes the two inputs (which should be unit vectors in 3 space), gets the quat defining the rotation between, and then takes that quat to the t power, and applies that (this part I forget how to do!) to get the new point |
14:09 | <@Tarinaky> | I'm worried this might be slow on integrated hardware. |
14:12 | <~Vornicus> | The power part is hard. the inverse of a unit quat (you'll be getting a unit quat) is its conjugate |
14:14 | <~Vornicus> | Uh. |
14:15 | <~Vornicus> | I don't know how it handles on integrated hardware but I don't think you're doing this every milli? |
14:15 | <~Vornicus> | I must slep, however |
14:15 | <@Tarinaky> | No. |
14:15 | <@Tarinaky> | More like 10Hz |
14:16 | <@Tarinaky> | Which is every 100 ms. |
14:16 | <~Vornicus> | ...hell, that isn't often at all. |
14:16 | <@Tarinaky> | The firmware supports stuff being called every 10 Hz or 50 Hz. |
14:16 | <@Tarinaky> | I think the raw GPS comes in every 50 Hz but I can probably just sample that without losing anything important. |
14:16 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
14:16 | <@Tarinaky> | *comes in 50 Hz |
14:26 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code |
14:26 | | mode/#code [+o celticminstrel] by ChanServ |
15:12 | | Derakon[AFK] is now known as Derakon |
15:13 | < Shiz> | does anyone know how to define the complexity of an algorithm over multiple input variables? |
15:14 | < Shiz> | e.g. if I have two seperate inputs of size n and m, and I have a statement that is of n^2+nm complexity |
15:14 | | * Tarinaky glares at the notes she just made. My physics is /so/ handwavy and wrong. |
15:14 | < Shiz> | I'm not quite sure how to figure out the big-O notation for that |
15:14 | <@Tarinaky> | That'll be O(n^2). |
15:14 | < Shiz> | but what if m>n? |
15:14 | <@Tarinaky> | If m = n you'd have 2 n^2, which is O(n^2) |
15:16 | <@Tarinaky> | Then it's not Big-O/ |
15:16 | <@Tarinaky> | Big-O is about the limit (at infinity) so m and n are both large. |
15:17 | <@Tarinaky> | So it's either nm or n^2. |
15:17 | | Kindamoody|afk is now known as Kindamoody |
15:17 | <@Tarinaky> | If m > n it's nm. |
15:17 | <@Tarinaky> | If m < n it's n^2 |
15:17 | <@Tarinaky> | I think. |
15:18 | < RichyB> | what? no |
15:18 | <@Tarinaky> | I am bad at complexity analysis because nobody ever teaches it. |
15:18 | <@Tarinaky> | And I've had to muddle together some idea. |
15:18 | < RichyB> | Shiz, O(n^2+nm) is a perfectly cromulent complexity class. |
15:18 | <@Tarinaky> | Oh. |
15:19 | < Shiz> | Alright, thanks. |
15:19 | < Shiz> | both~ |
15:19 | | * Tarinaky hides for being dumb. |
15:48 | | You're now known as TheWatcher[afk] |
15:51 | < simon_> | Tarinaky, yeah so since you don't know which of n and m is larger, both cases are necessary to consider. |
16:02 | | Turaiel[Offline] is now known as Turaiel |
16:03 | | Turaiel is now known as Turaiel[Offline] |
16:49 | | Turaiel[Offline] is now known as Turaiel |
17:07 | | FurryHelix is now known as Tamber |
17:07 | | mode/#code [+o Tamber] by ChanServ |
17:10 | | Kindamoody is now known as Kindamoody|afk |
17:12 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
17:32 | | Derakon is now known as Derakon[AFK] |
18:02 | < ErikMesoy> | Huh. IDLE appears to have a funny anti-spam measure. print largearray[:100] prints just the first two elements followed by ... |
18:02 | < ErikMesoy> | print largearray[:50] works fine. |
18:02 | < ErikMesoy> | What is this? |
18:40 | | Derakon[AFK] is now known as Derakon |
18:55 | | Kindamoody|afk is now known as Kindamoody |
19:28 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
19:44 | < RichyB> | Has anyone ever attempted to *use* miniKanren? |
20:00 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code |
20:00 | | mode/#code [+o celticminstrel] by ChanServ |
20:14 | | Derakon [Derakon@Nightstar-5fqf0m.ca.comcast.net] has quit [Client exited] |
20:19 | | * simon_ is playing with Yesod |
20:21 | < simon_> | it's pretty cool how easy Yesod can have a shared mutable state |
20:23 | < simon_> | compared to web servers, this is more like an application server. |
20:24 | | Kindamoody is now known as Kindamoody[zZz] |
20:44 | <@froztbyte> | compared to what webservers? |
20:44 | <@froztbyte> | pretty sure you can pull that kind of thing off in catalyst and rails and django and flask and ... too |
20:45 | <@froztbyte> | hell, even some stuff in nginx |
20:45 | <@froztbyte> | I imagine it might be possible in apache but let's just forget that exists ;D |
20:46 | <@froztbyte> | (but yesod is pretty cool, from the bits I've seen) |
20:50 | < simon_> | froztbyte, yeah, nothing particularly amazing about having globally shared state. I'm sure most web servers don't have that on purpose ,P |
20:51 | < simon_> | froztbyte, yeah, I don't think the documentation is that good... the tutorials are flaky, and the "book" isn't completely covering, and it contains a bunch of bloated examples |
20:51 | < simon_> | froztbyte, but I've gotten to a point where I can mix and match between hoogle and random searches in the book. |
20:56 | <@Alek> | Taki: that's interesting indeed. |
20:57 | <@Alek> | I'm seeing pluses and minuses to most of the interpretations - it depends on just which pixel art they're interpreting. |
20:58 | <@Alek> | wales. australia. hm. how close are they to being poles of an axis? |
21:01 | < ErikMesoy> | Alek: http://en.wikipedia.org/wiki/File:Antipodes_LAEA.png |
21:05 | <@Alek> | that. |
21:08 | <@Alek> | huh. the antipode of the UK is generally a bit SE of NZed. |
21:09 | <@Alek> | Ireland comes closest, it would seem. |
21:18 | | * ErikMesoy looks at his ugly solution to a problem, gets out the hammer, and cries STOP! ELEGANCE TIME. |
21:22 | < ErikMesoy> | Is "making things not be ugly hacks" also done with the refactor tractor, or is there some other mythical device for this? |
21:28 | <&McMartin> | It's a good way to do it |
21:29 | <&McMartin> | Starting with a proven design is the other way to do it, but is cheating. :D |
21:29 | <@Azash> | simon_: In fact, isn't globally shared state a terrible idea? |
21:29 | < ErikMesoy> | Haha. Well, I'm not supposed to use proven designs here. I'm supposed to use Python dictionaries. |
21:29 | < ErikMesoy> | I have a long long list of tuples of the form (word, grammatical class). |
21:29 | <&McMartin> | "Make it work, make it clean, make it fast" |
21:29 | < ErikMesoy> | I'm supposed to find which words appear in two or more grammatical classes. |
21:29 | <&McMartin> | "in that order" |
21:30 | < ErikMesoy> | Doing this with dictionaries is looking like a mess. |
21:30 | < ErikMesoy> | (Find, list, print out, etc.) |
21:30 | < simon_> | Azash, well, yes. |
21:30 | <@Azash> | A dictionary is KV storage? |
21:30 | < ErikMesoy> | Yes. |
21:30 | < ErikMesoy> | I'm being sneaky by having the value be a set(). |
21:30 | <@Azash> | Mm |
21:31 | <@Azash> | Does python have a standard library implementation of a balanced tree? |
21:32 | | jinx [Jinx@Nightstar-fj3pdv.metro.carnet.hr] has joined #code |
21:32 | < ErikMesoy> | Also, I'm having to be very creative in my wording because I'm supposed to describe the output in Norwegian, and I don't want to use æøå because that means having to touch character issues. :-p |
21:34 | <&McMartin> | Azash: set(), basically |
21:34 | <@Azash> | Ah |
21:34 | <&McMartin> | You aren't supposed to care about what it really is, just how well it performs. |
21:34 | <@Azash> | Seems a bit silly, performance is not really a one-dimensional axis |
21:35 | | * McMartin gestures at the C++ STL |
21:35 | <&McMartin> | Where the spec for things like set are "insert and lookup will be O(log n) in time" |
21:36 | <&McMartin> | "And the size of the set is O(n)" |
21:37 | <&McMartin> | Best/average/worst case time/space complexity is between 2 and 6 dimensions depending on how you count, but trees are more consistent than sorting~ |
21:38 | <&McMartin> | I've actually never seen "this is a red-black tree" vs. "this is a 2-3 tree" exposed to the library clients except in C |
21:38 | <&McMartin> | But that might just be limited exposure. |
21:38 | <&McMartin> | (I guess Java does call its sorted set TreeSet, but that doesn't say which kind.) |
21:38 | <@Azash> | Nah, I just meant the complexity of different operations |
21:39 | <&McMartin> | Ah, OK |
21:39 | <&McMartin> | Yeah, AFAICT tradition has that one covered by attaching that to each method. :D |
21:39 | <@Azash> | And I suppose you might need to take every factor into account when you start really squeezing everything out but at that point you're probably writing your own routines anyway |
21:39 | < simon_> | *grumbles at cabal for having unresolvable conflicts even after removing ~/.cabal* |
21:42 | <&McMartin> | Mmm. For stuff that core, unless you have a really, really good reason, I suspect you use one of the old and well-tested implementations because they're a pain in the ass to properly debug |
21:42 | <&McMartin> | (BSD has some very fine preprocessor-based implementations of both of those kinds of trees, frex) |
21:42 | <&McMartin> | (Well, as much as "very fine" and "preprocessor-based" can be used together) |
21:44 | < ErikMesoy> | I got advice recently that "nltk" was poor naming practice as evidenced by me typing "import ntlk" and derping over it. Am I on the right track when I have a variable called "most_ambiguous_word"? Because it feels silly. :-p |
21:48 | <&McMartin> | For exporting or for internal use? |
21:48 | <@Azash> | I can't think of a lot of situations Erik might be in where "nltk" is good naming practice |
21:49 | <&McMartin> | For exporting, I'm a fan for exactly the "import mxyztplk" problem |
21:49 | <&McMartin> | For internal variables, I tend towards descriptive if it's used fewer times, short if it's used a lot. |
21:49 | < RichyB> | Azash, Python's set() and dict() are both hash tables, so you can't iterate over them in sorted-order in O(n) if that's what why you wanted them to be balanced. |
21:50 | <@Azash> | RichyB: You could iterate over a typical binary tree whether balanced or not |
21:50 | < ErikMesoy> | Azash: I'm working with the Natural Language Toolkit (nltk) as part of my current university course on computational linguistics. |
21:50 | < ErikMesoy> | Hence, "import nltk" a lot. |
21:50 | < RichyB> | Azash, yes, but you couldn't *insert* into it in O(log n) if it weren't balanced. :) |
21:51 | <@Azash> | Sure |
21:51 | <@Azash> | Also I feel like writing a rant one of these days about RoR's I18n/Globalize gems |
21:52 | | You're now known as TheWatcher |
22:01 | | Turaiel is now known as Turaiel[Offline] |
22:06 | < Shiz> | &McMartin â "Make it work, make it clean, make it fast" |
22:06 | < Shiz> | ^ I disagree btw |
22:06 | < Shiz> | "make it work, make it clean, make it fast, then try to make it clean again" |
22:10 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:12 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
22:18 | | ErikMesoy is now known as ErikMesoy|sleep |
22:31 | <&McMartin> | Shiz: That's fair |
22:32 | <&McMartin> | I'd usually continue "step 3 is optional"~ |
22:34 | < macdjord> | McMartin: Unless you're [hated company], in which case step 1 is the optional one, amiright? |
22:34 | < Shiz> | of course |
22:34 | < Shiz> | don't try to make it fast if you don't need it to be fast |
22:35 | <&McMartin> | macdjord: The more I deal with enterprise-scale software, the more amazed I am anything works at all~ |
22:36 | < Shiz> | macdjord: step 1 is optional, step 2 is discouraged |
22:36 | <@Tamber> | And, step 3 is outright lunacy? |
22:36 | <&McMartin> | Step 3 is step 1! |
22:37 | <&McMartin> | The code is awful, and it doesn't actually work, but LOOKIT THEM BENCHMARK NUMBERS SON |
22:37 | < macdjord> | For very small values of 3~ |
22:38 | <@Azash> | 23:35 <&McMartin> macdjord: The more I deal with enterprise-scale software, the more amazed I am anything works at all~ |
22:39 | <@Azash> | I'm upgrading software right now to use newer tech behind it, and this is the main thought in my head daily |
22:39 | <@Azash> | "How does this actually run in production" |
22:40 | < macdjord> | There is nothing more terrifying in a youn person's life than the day they pull off the neat form-fitted plastic cover and discover the world is actually built on duct tape and baling wire. |
22:41 | <@Azash> | Or at least when they realized all the dailywtf and devopsreactions things are actually real (or at least realistic) |
22:42 | <&McMartin> | Heh |
22:42 | <&McMartin> | Yeah |
22:42 | <&McMartin> | So, the flip side is, it actually *does* run well enough that you have to take the hoods off to notice, more often than not |
22:42 | < macdjord> | Ah, dailywtf. Did you ever see the one about the industrial robots used to bypass a broken conveyour? |
22:42 | <&McMartin> | That means the acceptable baseline is way higher |
22:43 | <&McMartin> | I did. I'm skeptical of its veracity |
22:43 | < macdjord> | Yeah. |
22:43 | < macdjord> | Still. |
22:44 | < macdjord> | (I mean, that's a might impressive bit of programming for one crusty old fart working without a proper dev enviroment and no test rig. |
22:45 | | macdjord is now known as macdjord|out |
22:46 | <@Azash> | Is his name Mel? |
22:57 | <&McMartin> | Oh hey, speaking of enterprise-y stuff |
22:57 | <&McMartin> | I know we've got people who do more work in the trenches than I do. Any recommendations or warnings for disk imaging programs on Windows? |
22:58 | <&McMartin> | (Beyond "USE SYSPREP ALONGSIDE IT YOU FOOL") |
23:06 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:06 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:37 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
23:37 | | mode/#code [+o himi] by ChanServ |
--- Log closed Fri Feb 28 00:00:52 2014 |