code logs -> 2014 -> Thu, 30 Jan 2014< code.20140129.log - code.20140131.log >
--- Log opened Thu Jan 30 00:00:26 2014
00:07 himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code
00:07 mode/#code [+o himi] by ChanServ
00:08
<&ToxicFrog>
Azash: why?
00:09
<&ToxicFrog>
simon_: design patterns are a regrettable cookbook of workarounds for deficiencies in common OO languages; arguably, if your OO students are leaving with an understanding of design patterns, you're teaching them in the wrong language.
00:10
<@Azash>
ToxicFrog: Why what?
00:10
<&ToxicFrog>
"I also fear that people who start with FP would try to write a naive recursive fibonacci algorithm in an imperative language"
00:11
<@Azash>
Because it's the worst algorithm I know and I felt like joking so I wouldn't give the impression I have a legitimate complaint about the order of paradigms
00:11
<@Azash>
Naive recursive fibonacci (fibo(n) = fibo(n-1) + fibo(n-2)) scales extremely badly in languages that don't cache method values
00:12
<&ToxicFrog>
Which is most languages, including most functional languages.
00:13
<&ToxicFrog>
Tail call elimination is ubiquitous, but aggressive memoization of everything is not.
00:13 Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
00:14
<@Azash>
Ah, right
00:14
<@Azash>
Well, that just means most languages then
00:15
<&ToxicFrog>
?
00:15
<@Azash>
What was the As in, it scales extremely badly in most languages
00:16
<&McMartin>
(define (fib n) (let loop ((i 1) (a 1) (b 1)) (if (< i n) (loop (+ i 1) b (+ a b)) a)))
00:16
<&McMartin>
This is technically continuation-based instead of recursive but it's trivially transformable into recursive
00:17
<@Azash>
What is the complexity of the basic recursive version anyway?
00:18
<&McMartin>
Exponential, IIRC
00:18
<&McMartin>
The base case is "return 1" and everything else is an addition, so if the result is N, you made about N calls.
00:19
<&McMartin>
And O(fib(N)) is O(2^N) for Reasons I don't have handy
00:50
<~Vornicus>
Turns out there is a closed form for fib(N)
00:51
<&ToxicFrog>
Intuitively, because calculating fib(n) requires fib(n-1) and fib(n-2); roughly, each non-base-case call results in two calls of its own.
00:51
<~Vornicus>
it's round(sqrt(5)*golden_ratio^N)
00:51
<&ToxicFrog>
Azash: what I was getting at is that, even if they started out in FP, they are likely to have started out in an FP language that doesn't have ubiquitous memoization and thus won't make this mistake.
00:52
<&ToxicFrog>
Furthermore, if they have and do, this is a convenient point to explain what referential transparency buys you at the optimization level and why this language they're working in doesn't have it~
00:53
<~Vornicus>
erp, put the sqrt(5) in the wrong place
00:54
<@Azash>
ToxicFrog: What I was getting at is that it was a joke
00:54
<~Vornicus>
exactly, it is (golden_ratio^n - (1 - golden_ratio)^n)/sqrt(5); but since that second one is, for all n > 2, less than 1/2, you can remove it and say round instead
01:05 Derakon[AFK] is now known as Derakon
01:32 You're now known as TheWatcher[T-2]
01:41 You're now known as TheWatcher[zZzZ]
01:54 mac [macdjord@Nightstar-c0i1dq.cable.rogers.com] has quit [Ping timeout: 121 seconds]
01:58 mac [macdjord@Nightstar-c0i1dq.cable.rogers.com] has joined #code
02:20 gnolam [lenin@Nightstar-usbajb.cust.bredbandsbolaget.se] has quit [Ping timeout: 121 seconds]
03:29 Vornotron [Vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
03:32 Vornicus [Vorn@Nightstar-sn7kve.sd.cox.net] has quit [Ping timeout: 121 seconds]
03:35 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code
03:41 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
04:34 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [Ping timeout: 121 seconds]
04:39 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code
04:45 Kindamoody[zZz] is now known as Kindamoody
04:50 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!]
05:10 Derakon is now known as Derakon[AFK]
05:35 Kindamoody is now known as Kindamoody|out
05:43 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.]
05:46 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code
06:22 ErikMesoy|sleep is now known as ErikMesoy
06:53 himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds]
07:06 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code
07:42 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving]
08:06 Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
08:10 Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: Leaving]
08:12 gnolam [lenin@Nightstar-usbajb.cust.bredbandsbolaget.se] has joined #code
08:12 mode/#code [+o gnolam] by ChanServ
09:18 Syka [the@Nightstar-5k2.s3f.159.1.IP] has joined #code
09:24 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
09:24 mode/#code [+o himi] by ChanServ
09:28 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
09:29 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
09:29 mode/#code [+o himi] by ChanServ
09:31 You're now known as TheWatcher
09:41
<@simon_>
Vornotron, for the closed-form Fib function, doesn't that depend on an arbitrarily precise sqrt(5) and phi?
09:53
< Vornotron>
well... yes, but
10:21
< Vornotron>
The usual way as I understand to handle large fib numbers is a matrix multiplication solution
10:22
< Vornotron>
you have [[1 1] [1 0]]; take that to the nth power and you get fib(n) in the lower left or upper right corners (and fib(n-1) and fib(n+1) in the lower right and upper left, respectively)
10:24 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
10:24
< Vornotron>
...which, haha, has distinct eigenvectors which involve the golden ratio, so the fast exponentiation method for diagonalizable matrices 1. works and 2. is equivalent to the closed form, what the hell
10:29 Vornotron is now known as Vornicus
10:29 mode/#code [+qo Vornicus Vornicus] by ChanServ
10:41 Syka [the@Nightstar-5k2.s3f.159.1.IP] has quit [Ping timeout: 121 seconds]
10:46 Syka [the@Nightstar-5k2.s3f.159.1.IP] has joined #code
10:55 Syka [the@Nightstar-5k2.s3f.159.1.IP] has quit [Ping timeout: 121 seconds]
10:55
<@simon_>
Vornicus, yes, that's the most effective way I know as well.
10:56
<@simon_>
Vornicus, especially when you know how to do that with only O(lg n) matrix multiplications :)
10:58
<~Vornicus>
indeed
11:00 Syka [the@Nightstar-5k2.s3f.159.1.IP] has joined #code
11:15
< RichyB>
Vornicus, is the matrix diagonalization method how you *derive* the closed form solution?
11:15
<~Vornicus>
I'm not sure
11:15
<~Vornicus>
But it certainly, uh, works!
11:16
< RichyB>
btw, https://github.com/RichardBarrell/snippets/blob/master/MatFib.hs
11:16
< RichyB>
(I save some of the throwaway experimental programs I write into that repo)
11:16
<@Tarinaky>
So all my lectures got cancelled. I feel utterly like a spare part now :/
11:21 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
11:21 mode/#code [+o himi] by ChanServ
11:21 * Vornicus gives Tarinaky a cheese and possibly some socket wrenches to keep him company
11:35 * TheWatcher ponders his students
11:37
<@TheWatcher>
In this assignment they have to implement a basic spell checker. Some of them convert the words involved to all lowercase, some convert to all uppercase
11:37
<@TheWatcher>
Fair enough
11:37
<@TheWatcher>
I wonder how they decide which to use.
11:38
<@Tarinaky>
No-one using Camel Case?
11:39
< RichyB>
but nobody does Unicode case-folding? ;)
11:39
<@TheWatcher>
RichyB: intro C course
11:40
<@TheWatcher>
They don't go near unicode
11:40 * Tarinaky makes a UTF8 joke
11:42
<@TheWatcher>
They have yet to encounter the lovely, wonderful, joyous world that is character encodings and multibyte characters, where all is unicorns and rainbows.
11:42
<@Shiz>
I'd probably go for lowercase since there are in general more lowercase than uppercase letters in a document
11:42
<@Shiz>
so less mutations
11:43
< RichyB>
TheWatcher, makes perfect sense.
12:12 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
12:15 Vornicus [Vorn@Nightstar-sn7kve.sd.cox.net] has quit [Connection reset by peer]
12:25 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
12:25 mode/#code [+o himi] by ChanServ
12:54
<@Shiz>
experiments with python evalbots
12:54
<@Shiz>
Shiz â >>> import antigravity
12:54
<@Shiz>
soon after, the bot became unresponsive to anything we queried it for...
12:54
<@Shiz>
rfw â OH MY GOD
12:54
<@Shiz>
rfw â YOU STARTED LYNX
12:54
<@Shiz>
rfw â IN THE CONSOLE
12:54
<@Shiz>
rfw â YOU FUCK
12:59
<@Shiz>
http://i.imgur.com/NfJhE5n.jpg
12:59
<@Shiz>
the experiments continue
13:00
< RichyB>
hee hee hee
14:03 Syka [the@Nightstar-5k2.s3f.159.1.IP] has quit [Ping timeout: 121 seconds]
14:04 Syka [the@Nightstar-53j.uo2.159.1.IP] has joined #code
14:22 froztbyte [froztbyte@Nightstar-frrora.za.net] has quit [Ping timeout: 121 seconds]
14:22 simon_ [simon@Nightstar-2og823.pronoia.dk] has quit [Ping timeout: 121 seconds]
14:23 froztbyte [froztbyte@Nightstar-frrora.za.net] has joined #code
14:23 mode/#code [+o froztbyte] by ChanServ
14:27 simon_ [simon@Nightstar-2og823.pronoia.dk] has joined #code
14:36 celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code
14:36 mode/#code [+o celticminstrel] by ChanServ
14:53 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.]
14:53 celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code
14:53 mode/#code [+o celticminstrel] by ChanServ
15:00
< ErikMesoy>
You know you've been shuffling too many damn documents at the job when you look at the title of the latest one and your eyes glaze over for a moment and you wonder if it says "guidelines for abomination of desolation" (Biblical apocalypses - now ISO compliant!) before you do a double take and realize that it says "guidelines for allocation of depreciation".
15:02
<@gnolam>
:)
15:02 * ErikMesoy imagines the former now. "Priority action item: Cause the sacrifice and oblation to cease."
15:03
< ErikMesoy>
"IMPORTANT DEADLINE: Abomination shall only be desolate for a time and two times and half a time."
15:03
<@gnolam>
Abomination of Desolation: Death Metal Album Name Alert!
15:03
< ErikMesoy>
gnolam: Isn't that kinda implied by the Biblical Apocalypse Event Name Alert?
15:04
<@gnolam>
Not really.
15:06
<@gnolam>
http://www.metal-archives.com/albums/Morbid_Angel/Abominations_of_Desolation/ ahahahaha
15:08
< ErikMesoy>
Maybe it's a genre thing. Because most of the apocalypses (Rivers of Blood, Plague of Locusts, Darkness at Noon, Army of Scorpions, Seven-Headed Dragon) sound like some kind of metal album name.
15:10 * ErikMesoy disclaims that he does not actually listen to any sort of metal and should probably defer to gnolam.
15:20
<@Azash>
"allocation of depreciation" ?
15:20
<@Azash>
Sounds very enterprise
15:29
< ErikMesoy>
Azash: oh, it's enterprisey as hell, there are over 10K documents just in this department
15:29
<@Azash>
Also you should probably sneakily correct it to "deprecation"
15:30
<@Azash>
:b
16:14 Syka [the@Nightstar-53j.uo2.159.1.IP] has quit [Ping timeout: 121 seconds]
16:16 Syka [the@Nightstar-kaj.e7c.150.110.IP] has joined #code
16:23 Turaiel[Offline] is now known as Turaiel
16:44 Syka [the@Nightstar-kaj.e7c.150.110.IP] has quit [[NS] Quit: lol3g]
18:48 Turaiel is now known as Turaiel[Offline]
18:50 Turaiel[Offline] is now known as Turaiel
19:55 Kindamoody|out is now known as Kindamoody
20:31 Vornicus [Vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
20:31 mode/#code [+qo Vornicus Vornicus] by ChanServ
20:58 Kindamoody is now known as Kindamoody[zZz]
21:16
< abudhabi_>
Hmmm. Is there anything essentially wrong with a one-window, multi-tab approach to building a Qt app?
21:19
<&ToxicFrog>
Designwise, not inherently. APIwise, no idea.
21:25
< abudhabi_>
I'm designing a Spreadsheet Hell, and I want to do better at UI than Steve Walmsley. (Low bar, I know.)
21:25
<@Reiv>
Why is it a spreadsheet hell, Anno?
21:27 mac [macdjord@Nightstar-c0i1dq.cable.rogers.com] has quit [Ping timeout: 121 seconds]
21:28
< abudhabi_>
I don't quite understand the question. You're co-designer!
21:31 mac [macdjord@Nightstar-c0i1dq.cable.rogers.com] has joined #code
21:43
<@Reiv>
Anno: I am curious why you desire it to end up spreadsheet hell.
21:46
< abudhabi_>
Because it's the genre? :P
21:46
< abudhabi_>
If it ends up EU3 in space, I'll be pleased. But don't count on it.
21:47
< ErikMesoy>
EU3 is only spreadsheet hell if you try to maximize every last ducat.
21:48
< ErikMesoy>
e.g. figuring out which provinces to raise mercenaries from in what order so as to maximize morale and minimize upkeep time at the point where they all arrive at the front
21:48
< ErikMesoy>
Or, in more common cases, click a few nearby provinces, hire mercenaries, fling at enemy. :p
21:49
<@Tarinaky>
Well that's annoying. EUIV appears to disable Cloud saving if you're using any gameplay mods :/
21:54
<&ToxicFrog>
Well. That's stupid.
21:56
< abudhabi_>
Put your save folder in Dropbox. There, cloud saving. :P
21:58 ErikMesoy is now known as ErikMesoy|sleep
22:07 Turaiel is now known as Turaiel[Offline]
22:15 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
22:45
<@Reiv>
Anno: I would prefer if we somehow manage to hit SimCity over Spreadsheet Hell.
22:48 Turaiel[Offline] is now known as Turaiel
22:50
< RichyB>
abudhabi_, or on github! :)
22:59 thalass [thalass@Nightstar-q7lt2g.bigpond.net.au] has joined #code
23:00 thalass is now known as Thalass|backinoz
23:01 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
23:17 Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
23:43 Turaiel is now known as TuraZees
23:50 himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code
23:50 mode/#code [+o himi] by ChanServ
--- Log closed Fri Jan 31 00:00:42 2014
code logs -> 2014 -> Thu, 30 Jan 2014< code.20140129.log - code.20140131.log >

[ Latest log file ]