code logs -> 2014 -> Thu, 27 Feb 2014< code.20140226.log - code.20140228.log >
--- 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
code logs -> 2014 -> Thu, 27 Feb 2014< code.20140226.log - code.20140228.log >

[ Latest log file ]