--- 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 |