00:01:40 -!- nisstyre has joined. 00:11:38 -!- FireFly has quit (Excess Flood). 00:12:51 -!- FireFly has joined. 00:32:44 -!- ais523\unfoog has quit. 00:36:48 -!- ais523 has joined. 00:42:42 -!- augur has quit (Remote host closed the connection). 00:43:16 -!- augur has joined. 00:47:47 -!- augur has quit (Ping timeout: 260 seconds). 00:51:19 -!- Bike has quit (Ping timeout: 272 seconds). 00:52:56 -!- ^v has joined. 01:00:59 -!- Oj742 has quit (Ping timeout: 246 seconds). 01:03:38 -!- Bike has joined. 01:06:56 -!- Taneb has quit (Quit: Leaving). 01:10:47 -!- yorick has quit (Remote host closed the connection). 01:25:20 -!- augur has joined. 01:35:35 -!- Sgeo has joined. 01:48:30 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:15:03 -!- nisstyre has quit (Quit: Leaving). 02:18:01 FireFly: early august is good in what regard? scrolling back forever is a pain 02:19:27 -!- doesthiswork has joined. 02:19:47 delimited continuations are exceedingly esoteric 02:20:02 oh 02:20:05 hi doesthiswork 02:20:17 hi quintopia 02:20:23 your IP is showing 02:21:05 (~Adium@98.145.118.186)? 02:21:16 yep 02:21:58 the irc is coming from inside the house 02:22:40 lol 02:31:49 -!- Alexander_ has quit (Ping timeout: 250 seconds). 02:32:53 doesthiswork: do you have any languages 02:33:10 not at the moment 02:34:03 although I'm trying to figure out how to make a inconsistent logic programming language work just well enough to be evil 02:35:32 And I have an idea for a language that uses a lazy learning mechanism to parse the input into constructs 02:44:53 -!- Lymia has joined. 02:44:54 -!- Lymia has quit (Read error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number). 02:45:16 -!- Lymia has joined. 02:46:18 -!- Lymia has quit (Read error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number). 02:46:19 oh okay 02:46:22 i uh 02:46:31 the beautiful thing about that is it will change semantics over time 02:46:42 -!- Lymia has joined. 02:46:44 lazy learning? what? 02:47:02 like what you do in lecture 02:47:08 sleep through it and read the textbook 02:47:08 also inconsistent logic sounds to me like the kind of system where explosion happens 02:47:39 apparently para inconsistent logics don't explode 02:49:00 can you just drop proof by disjunction 02:49:02 lazy learning is basically classifying input using the k-nearest neighbors from the training data. 02:49:05 fix everything in one fell swoop 02:50:28 logic programming without modus ponens would be funny 02:51:22 yes I think dropping proof by disjunction would be good 02:51:42 doesthiswork: actually quite a lot of study of logic is proving that modus ponens is unnecessary 02:51:51 as in, not actually /wrong/, just they design their logics so they never have to use it 02:51:54 because it screws things up 02:52:45 ais523: why does it screw things up? 02:53:18 coppro: basically because the structure of a term no longer guides its derivatoin 02:53:20 *derivation 02:53:50 ah 03:00:41 -!- nisstyre has joined. 03:12:27 Anyone here know about building computers? 03:12:37 <^v> yes 03:12:55 i'm thinking i should have a pretty good windows computer but i don't know shit. 03:13:00 <^v> step 1. newegg.com 03:13:05 <^v> step 2. newegg.com 03:13:08 <^v> step 3. newegg.com 03:13:10 <^v> etc 03:13:16 <^v> or 03:13:17 how many steps are there 03:13:47 -!- augur_ has joined. 03:13:49 <^v> wget http://old-computer-parts/ 03:14:57 Hey, tht's not a real website! 03:16:55 -!- impomatic has left. 03:16:59 -!- augur has quit (Ping timeout: 272 seconds). 03:18:45 -!- Tod-Autojoined has changed nick to TodPunk. 03:31:50 kmc: is there a good reason for blocking the ability to make diamond structures without requiring the GC? 03:32:04 Cyclic structures needing GC makes sense 03:40:01 simpler than detecting cycles? 03:51:51 -!- ^v has quit (Quit: Leaving). 03:51:51 -!- v^ has joined. 03:51:51 You can have a data type that could potentially have diamonds without it being able to potentially have cycles 03:52:38 -!- `^_^v has quit (*.net *.split). 03:52:38 -!- jix has quit (*.net *.split). 03:52:39 -!- nortti has quit (*.net *.split). 03:54:00 -!- jix has joined. 03:54:46 -!- nortti has joined. 03:55:51 yes you could 03:59:37 -!- `^_^v has joined. 04:06:56 -!- nisstyre has quit (Quit: Leaving). 04:08:03 -!- Sprocklem has joined. 04:11:45 Sgeo: what do you mean, how is it blocked? 04:12:17 Can't have two owned pointers to the same box, right? 04:12:21 right 04:12:33 that would require reference counting or some other scheme to decide when they've both gone away 04:12:49 owned boxes have deterministic memory management; when an owning pointer is destroyed, the box is freed 04:12:55 so they have to be unique 04:13:14 @ is actually just refcounted and not GC'd at the moment 04:13:18 it's expected to change in the future 04:13:38 there's also a library type Rc which provides a more semantically clean version of refcounting 04:13:48 but Rust doesn't have smart pointer deref sugar yet, so it's a bit more cumbersome to use 04:14:01 Rc also statically forbids cycles 04:14:35 and there's Arc which is "atomic reference counting" and can be shared between tasks 04:14:40 and there are mut versions of both 04:15:03 (an Rc is an ownership root much like an @T, so it determines the mutability of the stuff inside) 04:16:25 Sgeo: people have argued you shouldn't think of ~T as a pointer at all; it's a value type similar to T but with an optimization to make sure it's never bigger than a word 04:16:56 heh. 04:17:08 and also allows recursive structures... a ~T can hold another ~T but a struct can't contain a copy of the same struct 04:17:18 they talk about a world where ~int and int have the same representation 04:22:53 are you talking about Rust? 04:23:50 I think a proper garbage collection in Rust would involve some kind of type visitors in order to detect the cycle 04:24:01 kmc: what if an &int exists borrowed from that ~int? 04:24:08 (or inaccurate gc) 04:24:09 oh, would the &int point to the ~int rather than to the underlying int? 04:25:03 ais523, &int points to the underlying int, but &int cannot live longer than ~int. 04:25:16 lifthrasiir: I know it can't 04:25:22 but with ~int being the same as int, there isn't an underlying int 04:25:41 uh, you mean the internal representation? 04:25:54 yes 04:25:57 borrowing an ~int to an &int would then be the same as borrowing an int to an &int 04:26:00 you'd point to the ~int directly, then 04:26:05 kmc: oh, I see 04:26:09 I forgot you could do that 04:26:17 «let x: ~int = ~3; f(&x);» that'll just pass a pointer to the stack 04:26:38 yeah you can borrow stack vars and arguments as well as heap boxes 04:26:45 uh, &x is of the type &~int and not &int. 04:26:55 lifthrasiir: right, but it would be the same operationally 04:27:04 if ~int is the same operationally as int 04:27:30 this also depends on the fact that rust generics are monomorphized 04:27:34 I don't see a value in making ~int internally equivalent to int 04:27:49 a generic function operating on ~T would have to produce different code for ~int and ~MyStruct 04:27:53 but that's already what it does 04:28:04 (and for ~Trait) 04:28:05 lifthrasiir: I don't see huge value either, but it would save an allocation 04:28:14 if for some reason you were making lots of owned-boxed ints 04:28:18 but I don't know why that would be the case 04:28:22 maybe generic code 04:28:27 oh, i thought "they talk about a world where" was more supposed to be a conceptual thing. 04:28:33 AFAIK LLVM has some kind of malloc-to-reg passes 04:30:19 -!- nisstyre has joined. 04:30:34 kmc, actually, non-primitive non-boxed types behaves almost identically to owned boxes (major difference being the memory layout, of course), so using type params instead of using an explicit owned box can solve that problem. 04:32:12 "In sequential code it is possible to control the flow of the program using if-then-else statements and various forms of loops. Such flow control structures have only recently been added to GPUs" so, i'm starting to think the wikipedia article on gpgpu is actually stupid 04:33:30 why 04:33:36 "A variety of data structures can be represented on the GPU: * Dense arrays * Sparse arrays * Adaptive structures [citation needed]" 04:33:44 lifthrasiir: right 04:33:52 A variety of data structures can be represented on the GPU: * Integers 04:33:59 you're saying there's not much you can do on a generic ~T that you can't also do on a T:Send ? 04:34:04 makes sense 04:34:06 yup. 04:34:09 integers, single floats, the possibilities are limitless 04:34:13 it was not long ago that integers were not really a data type in gpus 04:34:19 just floats 04:34:27 if it's good enough for javascript 04:34:32 oklopol: doubles were only added recently, too 04:34:36 * Integers that fit in IEEE 754 binary floating point types. 04:34:40 although they always used to have at least slightly working ints to do array indexes 04:34:54 lifthrasiir: apparently not all GPUs are ieee-conformant, just to punish me 04:35:23 Bike: most of them used not to be 04:35:33 Bike, subnormals? :) 04:35:40 yeah, probably subnormals 04:35:42 they started adding IEEE conformance only recently, for people who wanted to do scientific computations on them 04:35:51 right 04:36:04 i'm seeing about the realism of my getting a GPU for games and also for work 04:36:05 Java bytecode had something like strictfp, I think 04:36:34 what cha gonna do with one 04:36:49 lifthrasiir: strictfp is actually a keyword in Java 04:37:13 nothing all that interesting >_> simulations at lab take time to run, they'd take less time if i got 'em running on something good 04:37:30 probably would take some work to really parallelize it well though 04:37:52 right now it just runs different sims on different cores, which helps but is boring 04:38:14 what cha labbing? 04:38:32 what does that mean 04:39:02 synonyms for labbing oh god you be testing my englishability. 04:39:14 yes. you pass. now what the fuck are you saying 04:39:14 what are you simulating at the lab 04:39:18 oh. muscles. 04:39:43 cooool 04:39:48 real ones??? 04:39:55 yes? 04:40:06 how do you put real muscles into a gpu 04:40:21 UNCLE MUSCLES 04:40:25 MUSCLES FOR BONES 04:40:27 I'm thinking it might be possible to do the computations across space in parallel 04:40:31 CASH FOR BONES 04:40:58 honestly my main motivation is that i want to fuck around but that's how it always is 04:41:01 kmc: NETHACK.ALT.ORG HAS BONES 04:41:36 are these your own muscles or like walrus muscles or what and how do you preserve them 04:42:06 or are they virtual muscles which are real in the sense that they are real if you believe in them really really hard 04:42:15 some human muscles from football players who fucked up their feet, some fly muscles from catching flies and dissecting them, some rabbit muscles from killing rabbits 04:42:25 the flies are killed too* 04:43:00 do flies have big muscles 04:43:09 what does it look like when they flex 04:43:54 anyway yeah gpus are awesome you should do everything with them 04:44:17 i once almost did something with them other than shading stuff but then i ended up not doing it but just daydreaming about how cool it would be to do it 04:44:37 but that was cool too 04:44:46 are you ok 04:46:40 good q 04:47:09 lemme ponder upon that 04:48:06 but basically science code is fucking terrible and rewriting it to be not terrible is fun and involves lots of cool optimization opportunities like "lexical scope" 04:48:07 oklopol: what was the thing you daydreamed 04:48:10 -!- conehead has quit (Quit: Computer has gone to sleep.). 04:48:38 quintopia: cellular automata stuff 04:49:27 right should have known 04:49:34 could be cool though. 04:49:40 because there are no programs out there for implementing CA 04:49:42 lexical scope is p. great 04:49:43 all i'm doing is linear algebra. Like, Who Cares, Man 04:50:19 oklopol: What would you do that Golly can't handle? (not a challenge or anything it sounds supa cool) 04:50:34 golly is worse than C 04:50:38 you have to list the rule manually 04:50:54 gonna be honest i've only used golly because it makes pretty pictures 04:50:59 but i mean, it does hashlife and all. 04:51:05 if you have more than 8 states it takes forever to write up a rule 04:51:13 and usually CA have hundreds of thousands of states 04:51:20 ah, i see. 04:51:34 usually in the sense that i have some specific ones i'd like to see implemented 04:51:40 the most complex CA i know is von neumann's. i'm a dabbla, see 04:51:54 the 29 state constructor thing maybe 04:51:59 yeah, that one. 04:54:15 -!- Sprocklem has quit (Ping timeout: 260 seconds). 04:54:24 basically my only concrete new idea is to do (n+1)-dimensional SFTs instead of n-dimensional CA, the rest is hype 04:54:42 i don't know that initialism. 04:54:52 subshift of finite type, like wang tiles 04:55:08 i don't really know that concept either but i know wang at least. 04:55:36 so basically you would just draw signals and stuff, and it would say "this is downward deterministic, would you like to make it a CA" 04:55:56 well wang tiles are squares with colors on their left, top, right, bottom sides 04:56:00 right. 04:56:05 and you fill Z^2 with them so that colors match 04:56:10 can't turn them 04:56:22 right, and that's uncomputable and whatnot. 04:56:39 whether or not Z^2 can indeed be filled is undecidable, yes 04:57:21 anyway, this is the same thing as a cellular automaton on a one-dimensional SFT, restricted to its limit set 04:58:02 where a one-dimensional SFT includes the full shift S^Z CA are usually run on, and basically just means wang tiles with only left/right colors 04:58:25 and limit set is the set of configurations with an infinite chain of preimages 04:58:27 and stuff 04:58:42 so like dynamics. 04:58:59 well, not like dynamics. 04:59:01 whatever. 04:59:43 one-dimensional SFTs are dynamical systems with the shift maps giving an action of Z 05:00:13 two-dimensional SFTs are dynamical systems with an obvious Z^2 action 05:00:39 cellular automata are dynamical systems with an N-action given by repeating it 05:00:44 or Z if the CA is reversible 05:02:51 (an action of a group G on a space X means a homomorphism from G to the group of continuous homeomorphism from X to itself) 05:03:21 (sorry i didn't know what dynamics means so i guess i did a dictionary look up or something) 05:10:14 -!- v^ has quit (Ping timeout: 240 seconds). 05:21:16 -!- heroux has quit (Ping timeout: 244 seconds). 05:22:14 -!- nisstyre has quit (Quit: Leaving). 05:32:49 "If you had asked me whether or not it was possible to get a 2x speedup for my LazySorted project by adding a single line of code, I would have told you "No way, substantial speedups can really only come from algorithm changes."" 05:33:29 reddit commenters pointed out that the line in question is incorrect, it can read out of bounds while trying to calculate the address to prefetch 05:33:30 I guess every algorithm change affects multiple lines of code, according to this person? 05:33:43 prefetching's safe if the address to fetch isn't valid, but not if something goes wrong calculating it 05:33:51 Sgeo: memoize('function_to_memoize'); 05:34:22 ais523: I was thinking about work, and how I'm about to do what is essentially a major algorithm change in two li.. actually, hmm, it's more than two lines of code 05:34:45 -!- v^ has joined. 05:34:55 ais523: nice example 05:35:24 oklopol: luckily i don't know anything. 05:35:32 I was thinking of (besides work), some language where the functions you use on data structures are overloaded, but one line can determine whether you're working with a linked-list or a vector 05:42:00 -!- v^ has quit (Quit: http://i.imgur.com/MHuW96t.gif). 05:45:12 2x speedup is not that substantial 05:45:30 algorithm changes usually get you tends-to-infinity-x speedup 05:45:49 https://developer.nvidia.com/sites/default/files/imagecache/banner_slideshow/akamai/cuda/images/banners/GeoINT_Defense_700x240_static.jpg nvidia promises me vast fields of geoint, and also jpeg artifacts 05:48:22 -!- doesthiswork has quit (Quit: Leaving.). 06:08:36 i found a neat whitepaper on this stuff. apparently instead of fp control stuff every instruction just has rounding modes and stuff encoded. (attn fiora i need your help) 07:01:57 -!- carado has joined. 07:20:21 AMD's new APU, "Kaveri", means (approximately) "a friend, a pal" in Finnish. 07:43:24 -!- ais523 has quit. 08:11:39 -!- FreeFull has quit (Ping timeout: 252 seconds). 08:16:46 -!- FreeFull has joined. 08:39:31 -!- Slereah has quit (Ping timeout: 252 seconds). 09:10:45 -!- nisstyre has joined. 09:40:50 -!- nisstyre has quit (Quit: Leaving). 09:47:23 -!- oerjan has joined. 10:04:24 -!- ais523_ has joined. 10:09:48 -!- Phantom_Hoover has joined. 10:30:35 you know spammers are making you nervous when you google the nick of new registrations 10:31:47 I just got an SMS that my mobile number had won £2.5M and I just need to email some random-looking gmail address to claim it. 10:31:56 My ~first SMS spam, I think. 10:31:58 that sounds like spam to me 10:32:29 (Well, "just"; it came at around 05am and woke me up.) 10:34:22 how loud is your sms sound 10:36:09 I... haven't measured. 10:41:46 fizzie: i got my first just a few weeks ago too 10:44:11 don't they have to pay to send SMS in Europe? 10:44:16 that must be some expensive spamming 10:44:54 presumably they found a loophole to that 10:45:36 in the US, SMS is recipient-pays, for some bizarre historical reason 10:45:46 which at least means SMS spamming is really cracked down on 10:47:33 docsdept2013@gmail.com 10:47:46 2.5 million pounds 10:48:07 recipient pays? 10:48:17 -!- impomatic has joined. 10:48:23 so if your number gets known by someone random, they can make you pay as much as they like? 10:48:59 oklopol: pretty much 10:50:35 in finland, it's relatively easy to move anyone whose name you know, you just call the authorities and say you've moved, and they update your address 10:50:57 sometimes they ask where you were born or something, but for example i don't remember and it was fine 10:51:05 (i was born in sweden) 10:51:13 a few prepaid customers in the US pay for each SMS they receive but it's much more common (even on prepaid) to have some "unlimited SMS" package 10:51:31 ah right, that would make sense 10:51:37 it's still recipient pays, but they buy in bulk 10:51:49 it's the same for sending in the UK 10:52:31 and the risk of spam is one of several factors that pushes people towards such packages 10:54:21 i never actually send/receive SMS through my carrier anyway though, because i use google voice for that which uses my data connection 10:55:30 -!- ais523_ has quit (Quit: Page closed). 11:02:16 oklopol: I think mine was the same. 11:05:36 (I remember there being a news article about this particular scam few weeks back.) 11:20:16 ahhh they seem to have fixed that annoying windows 8.1 spellchecking bug 11:20:37 (that is, you couldn't turn it off) 11:24:57 -!- yorick has joined. 11:32:19 -!- Taneb has joined. 11:35:10 hm, Timwi is learning haskell. 11:35:14 be very afraid. 11:38:19 oerjan, I hope his learning experience goes better than mine did 11:38:43 At first I was programming Haskell as though it was Python 11:38:49 -!- Tefaj has changed nick to Jafet. 11:38:51 Now I code Python as though it were Haskell 11:38:59 -!- Jafet has quit (Changing host). 11:38:59 -!- Jafet has joined. 11:39:04 Partying like it's 1991, and coding Haskell like it's Python. 11:39:26 coding 1991 haskell like it's 1991 python? 11:39:28 fact n = reduce(lambda x, y: x * y, range(1,n+1)) 11:39:49 I'm slightly surprised xkcd hasn't done "party(ing) like it's ____" plot yet. (Or if so, I don't remember it.) 11:40:42 -!- doesthiswork has joined. 11:41:57 (note: for python < 3, using xrange may be better than range) 11:42:19 "total error: NaN" I don't know if that's a good thing or not. 11:42:27 (and actually, reduce isn't in Python 3?) 11:43:14 That certainly sounds like programming Haskell. "What, it's not in this version?" 11:43:37 from functools import reduce, perhaps. 11:44:43 Aaah, that's where it ended up 11:48:50 from HaskellPretenders import foldl, foldr 11:54:50 -!- sebbu has quit (Read error: Connection reset by peer). 11:55:20 -!- esucg0aq47trgb8 has joined. 11:55:25 -!- sebbu has joined. 11:56:00 -!- sebbu has quit (Changing host). 11:56:00 -!- sebbu has joined. 11:57:53 -!- esucg0aq47trgb8 has quit (Excess Flood). 11:58:07 -!- esucg0aq47trgb8 has joined. 11:58:10 YOU MAY BE WATCHED 11:58:10 WARNING WARNING WARNING, WARNING 11:58:10 WARNING WARNING WARNING, WARNING WARNING 11:58:10 YOU MAYWATCHED 11:58:10 YOU MAY BE WATCHED 11:58:10 YOU MAY BE WATCHED 11:58:11 ) 11:58:11 Do usa&Israel use chat &facebook 2 spy?!?!?!? 11:58:12 Do they record &analyse everything we type?!?!?!? 11:58:12 -!- esucg0aq47trgb8 has quit (Excess Flood). 11:58:35 -!- esucg0aq47trgb8 has joined. 11:58:40 -!- esucg0aq47trgb8 has quit (Excess Flood). 11:58:53 -!- esucg0aq47trgb8 has joined. 11:59:00 -!- esucg0aq47trgb8 has quit (Excess Flood). 11:59:02 I liked today's XKCD 11:59:13 -!- esucg0aq47trgb8 has joined. 11:59:14 -!- esucg0aq47trgb8 has quit (Excess Flood). 11:59:29 Taneb, still weak imo 11:59:37 -!- esucg0aq47trgb8 has joined. 12:00:24 Phantom_Hoover, it has an actual joke 12:00:41 -!- esucg0aq47trgb8 has quit (Excess Flood). 12:00:42 It's a good start and I want to encourage them 12:00:52 -!- esucg0aq47trgb8 has joined. 12:00:57 -!- esucg0aq47trgb8 has quit (Excess Flood). 12:01:16 Taneb, only barely! 12:01:20 -!- esucg0aq47trgb8 has joined. 12:01:39 -!- esucg0aq47trgb8 has quit (Excess Flood). 12:01:44 I take jokes where they come! 12:02:59 There did not seem to be one in today's Gunnerkrigg Court, but that's okay because Gunnerkrigg Court is much more story-based than xkcd 12:03:45 And Freefall is on hiatus this week 12:03:52 :O 12:04:00 how is that even possible 12:04:09 Family medical emergency, apparently 12:04:18 "Due to family medical problems (not mine, but still requires my attention), Freefall will be on Hiatus for a week. Sorry about that everyone." 12:06:19 Poor Annie 12:06:30 i think this is the first day i've managed not to check anyhow. 12:06:54 I just spent like 15 minutes clustering a matrix full of zeros. 12:07:02 Some sanity checks might've been nice. 12:07:20 `? mad 12:07:22 (There was a typo in the code loading files, it was assigning to a whole another matrix.) 12:07:23 ​"But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "we're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here." 12:07:34 NO SANITY HERE 12:07:52 oerjan, I check Freefall daily for no good reason 12:08:06 I get highlighted by freefall 12:08:10 Dammit 12:09:12 ok i meant "daily when it usually updates" 12:09:49 I mean daily 12:12:08 Taneb: also, discworldproblems? how many r/*problems subreddits _are_ there these days? 12:13:56 a) why are you redditstalking me? and b) I have no idea. At least 4 12:14:24 -!- asie has joined. 12:14:42 because you're on my friends list hth 12:15:15 this would be the creepy friends list that requires no confirmation or even notification of the 'friend' 12:15:26 yep. you're on it too btw 12:15:39 Okay, to be fair you're on mine, oerjan 12:15:43 yay! 12:15:54 neither of you are my friends 12:15:55 hth 12:16:18 Phantom_Hoover: i cannot be held responsible for reddit's poor choice of terminology. 12:16:22 That's a shame, you're my friend 12:16:56 Taneb, ok you're my friend 12:17:05 oerjan is too old though 12:17:12 sad trombone 12:18:30 anyway 12:18:35 * Phantom_Hoover → campus 12:22:54 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 12:32:35 -!- doesthiswork has quit (Quit: Leaving.). 12:36:37 -!- Sgeo has quit (Read error: Connection reset by peer). 12:59:07 -!- heroux has joined. 12:59:10 -!- MindlessDrone has joined. 13:01:53 -!- boily has joined. 13:02:02 -!- metasepia has joined. 13:05:59 -!- oerjan has quit (Quit: leaving). 13:15:48 good morning! 13:15:55 @tell oerjan good ørjanight! 13:15:55 Consider it noted. 13:16:14 bohily 13:21:45 tanello! 13:22:01 (or is it “tanellob”? I can never seem to conjugate your name properly.) 13:24:21 Well, I think this would be the vocative 13:24:56 And "Taneb"'s a name, so I think you'd decline it rather than conjugate it 13:25:43 indeed. 13:43:30 meanwhile, 1614 pages and still going strong. really, people flock over the pointlessest things these days... 13:45:46 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.). 13:51:58 -!- ^v has joined. 14:04:57 -!- snuffeluffegus has joined. 14:09:09 -!- ^v has quit (Remote host closed the connection). 14:19:01 -!- snuffeluffegus has quit (Quit: Leaving). 14:22:16 -!- Taneb has quit (Quit: Leaving). 14:23:02 -!- metasepia has quit (Ping timeout: 240 seconds). 14:24:50 -!- boily has quit (Ping timeout: 264 seconds). 14:29:21 -!- boily has joined. 14:30:25 -!- metasepia has joined. 14:32:42 -!- carado_ has joined. 14:34:16 -!- asie has joined. 14:44:58 -!- mrhmouse has joined. 14:51:24 what are you reading, boily? 14:58:01 -!- nooodl has joined. 15:00:57 -!- ^v has joined. 15:05:00 mrhmouse: irregular check up on the OTT in the xkcd forums. 15:09:06 "off topic threads"? 15:09:36 the One True Thread, cf. xkcd 1190 “Time”. 15:11:42 Ah, I see. Very interesting! 15:31:53 -!- Taneb has joined. 15:32:15 I just got feedback on a programming formative assessment 15:32:55 My lecturer said that it was good, but I should take my time a bit, put more useful comments in, and more line breaks, and also re-read the question 15:33:03 And also put in tests 15:33:15 what did you mis-read in the question? 15:33:25 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.). 15:34:22 Actually I wish more people would learn those other points (comments, line breaks, write tests first, and slow down) 15:34:33 kmc: one of the tasks was to write a script that takes a sentence and prints the total number of words and the average number of characters per word 15:34:58 http://youtu.be/CDVQvme5tb0 15:34:58 I wrote a function that just returned the average number of characters per word 15:35:20 "useful" comments is key... when you tell students to write lots of comments you get code like "int x = 3; // Declare an integer variable named x and set its initial value to 3" 15:35:37 kmc: and then they take that habit into the workplace... 15:36:24 kmc: also useful names! far too often do I see things like this: "int intX = 3; // set intX to 3" 15:36:34 kmc: my only comment was along the lines of "I like this function" 15:36:39 haha 15:36:40 useless prefixes madden me 15:37:01 (although it may have actually been a method, I'm not sure) 15:37:06 -!- variable has changed nick to trout. 15:37:19 kmc: mrhmouse: theil eventually learn 15:37:28 I don't mind stupid overcommenting from new coders 15:37:30 mrhmouse: the best kind of type system is one where you write the types every time and also you don't get any static checking... i'm pretty sure there's no better kind of type system 15:37:44 kmc: you mean C ? 15:38:05 Also I did something in three lines that I could have done in one 15:38:40 trout: well it's not so bad when the good kinds of comments are also present, yeah 15:39:01 the ones that explain 'how' and 'why' rather than the 'what' which is already part of the code 15:39:37 kmc: yeah, my lecturer specifically asked about the "why" in one case 15:39:48 but if the dictate is "lots of comments" you won't bother with those kind because they're harder to write and there will be few of them anyway 15:40:19 -!- doesthiswork has joined. 15:40:54 I had done something that was less efficient than the quickest thing matching specification but slightly more general 15:41:00 trout: I have coworkers who still do that, so I don't believe they ever learn 15:41:25 I kinda like codebases where most code has no comments but occasionally there's a 4 paragraph comment explaining some tricky shit 15:41:32 people will payattention :) 15:41:38 personally, I prefer static typing with type inference (a la D or Cobra) 15:41:52 kmc: I rarely comment at all, actually, except for the documentation comments 15:42:06 but that's because I rarely have a method that's more than five lines long. 15:46:21 I comment tricky, unusual, surprising or implicit stuff. I comment exceptions, and reasons I throw them. I comment expectations, workflow, and how you should manage resources' lifecycles. 15:47:45 Most of that I stick in documentation comments. For exceptions, I don't use comments (I just give a detailed exception message). I don't comment expectations or garauntees - those are done in the specifications and contracts. 15:48:39 Workflow is only documented if it's unexpected or unclear, and often I'll just reference what approach I'm taking ("this is the visitor pattern", etc) and why 15:49:24 -!- carado_ has quit (Quit: Leaving). 15:50:02 I... can't actually remember what grade I was given 15:50:17 I think it was a first with room for improvement 15:50:34 He said "Try to beat last year's best, which was 96%" 15:50:48 There's always room for improvement, no matter how good the code looks or how experienced the coder :) 15:50:59 Also, congrats on the 96%! 15:51:46 No, the 96% is my target, not my mark 15:53:34 -!- Sprocklem has joined. 16:00:40 -!- conehead_ has joined. 16:02:20 -!- conehead_ has changed nick to conehead. 16:03:04 -!- Taneb has quit (Quit: Page closed). 16:05:04 -!- Taneb has joined. 16:18:44 -!- Taneb has quit (Quit: INVESTIGATION). 16:21:29 mrhmouse: in a programming language that integrates those fancy features, of course comments become redundant. 16:22:06 (ô, how I wish Python had static typing) 16:24:24 * impomatic just wrote to Knuth to ask if he ever played Core War! :-) 16:24:47 -!- Bike has quit (Ping timeout: 268 seconds). 16:25:09 boily: Python is a dynamic language mate; you're asking to make an apple an orange ;) 16:25:45 mrhmouse: nothing less. besides, oranges taste good. 16:25:47 And for languages that don't integrate those "fancy features" (I'm guessing you mean contracts), I use a library that allows me to use them 16:26:00 -!- Taneb has joined. 16:26:02 -!- Bike has joined. 16:26:05 For example, with C# at work, we use SpecFlow. At home with CoffeeScript, I use Vows 16:26:34 It's a bit annoying to separate the specifications from the code, but it's better than nothing. 16:28:24 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 16:28:47 -!- ^v has joined. 16:29:05 ruddy is written in CoffeeScript... I really should have written tests for him :P 16:29:06 i don't see why. 16:29:16 in that case, nevermind then 16:31:14 ruddy, have you met fungot? 16:31:14 Taneb: http://www.flame.org/jivera/ random/ fnord ( sic) 16:31:15 lol 16:31:31 * kmc tries to set up ruddy and fungot on a date 16:31:31 kmc: silicon castles http://www.cowlark.com/ fnord libcurl: http error ( 404?) 16:31:43 ruddy doesn't respond to /me yet.. need to fix that 16:31:44 ew? 16:33:04 ruddy..... 16:33:18 ruddy: why don't you respond? :( 16:33:19 lol 16:33:33 If ruddy can't figure out a suitable response, he just stays silent 16:33:33 I wouldn't know. I never underwent one. 16:33:54 ruddy: you never underwent what? 16:33:55 my spirit animal is a horsey 16:34:02 ruddy: oh, right, that. 16:34:02 I saw it too. 16:34:28 pretty sure ruddy's spirit animal is fungot 16:34:28 what? 16:34:29 mrhmouse: aren't fnord those funny fnord tiny pachyderms that live on a small bf interpreter ( without very much bf fnord). it's not related to " normal" 16:34:57 kmc: some people here tried matchmaking ruddy and fungot, with no avail. 16:34:57 boily: it is often confusing for new u-' 16:34:57 2am :P 16:35:25 Yeah, you'd have to get fungot to say its name for that to even have a chance. 16:35:25 mrhmouse: even solaris would be better to specify it on each function call 16:35:26 confusing bot on bot action in the early morning? oooooh :D 16:35:48 And even then, ruddy would have to pick a response that included a name placeholder. 16:35:48 but produces a function on-the-fly at startup. sorry, this is tedious. http://62.167.150.30/ acm100.c of 16:36:15 -!- Bike has quit (Ping timeout: 272 seconds). 16:39:06 fungot: tiny pachyderms living on small bf interpreters..? 16:39:06 FireFly: i wanted to make it work in msg? i don't 16:39:11 ^echo ruddy hi how are you? 16:39:11 ruddy hi how are you? ruddy hi how are you? 16:39:11 ohnoi'mfallingover! 16:39:12 your IP is showing 16:39:25 ruddy is quite rude 16:39:25 ok, I guess I should have played the game in order to understand what is going on. 16:39:36 ruddy: the game of love? 16:39:36 I think the right word may have been aesthetic 16:39:42 ruddy: oh. 16:39:43 [-[-[-]]] e.g. 16:40:01 That's certainly.. aesthetically pleasing 16:40:49 and unless a fungottian bot, he actually balances his brackets. 16:40:49 boily: i just clicked through links." :) is it possible make it print 10 first in a series of 16:42:54 -!- Bike has joined. 16:49:39 -!- Bike has quit (Ping timeout: 260 seconds). 16:50:15 -!- Taneb has quit (Ping timeout: 250 seconds). 16:52:06 -!- AnotherTest has joined. 17:01:05 yeah, ruddy is just an echo bot. 17:01:06 they started adding IEEE conformance only recently, for people who wanted to do scientific computations on them 17:01:33 I intend to have it understand a subset of English at some point, so that it can munge messages together 17:08:08 -!- Bike has joined. 17:09:14 -!- Taneb has joined. 17:21:37 -!- carado has quit (Quit: Leaving). 17:21:59 -!- carado has joined. 17:33:20 boily: Won't you stop with the balanced parentheses already what kind of balanced paren fascist pig you are aaagagagaga 17:35:58 ^ignore 17:35:59 ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti.*|metasepia|jconn)! 17:36:08 ^ignore ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti.*|metasepia|jconn|ruddy)! 17:36:08 OK. 17:36:08 ^(Frooxius|conehead|toBogE|Sparkbot|optbot|ruddy|oonbotti.*|fizzie|jconn)! 17:36:19 well done, fizzie 17:36:35 For the record, you can get fungot to say anything you want, with ^bf/^ul(/^str). 17:36:36 fizzie: you wouldn't get much out of multi-processor boards. especially on machines with finite memorys of... a python love story looks rather like she of the magic compiler chip. 17:37:10 (I don't remember a Frooxius or a conehead at all.) 17:37:19 (I'm not a bot) 17:37:55 Huh? Oo 17:37:58 ruddy is just replacing names at random, and he stole your (fizzie) "response" to fungot 17:37:59 mrhmouse: i understand the way kawa works. the second book, soo...... you are going to support it 17:37:59 erm 17:38:14 Oh, there's some mungling in there already. 17:38:42 Yes, it replaces names with the currently active users to maintain an appearance of conversation 17:39:11 In most cases there are only one or two names to replace, but you gave it a huge list to use with that line to fungot 17:39:11 mrhmouse: like, the first thing you notice is that emacs and the shell 17:39:39 -!- Slereahphone has joined. 17:41:59 * FireFly hands conehead some botsnack 17:42:42 `buttsnack 17:42:44 ewww 17:53:28 -!- Slereahphone has quit (Remote host closed the connection). 17:55:55 -!- Slereahphone has joined. 18:00:29 -!- Bike has quit (Ping timeout: 272 seconds). 18:01:48 -!- nooodl has quit (Ping timeout: 244 seconds). 18:07:28 -!- Bike has joined. 18:17:10 -!- asie has joined. 18:22:50 http://steamcommunity.com/sharedfiles/filedetails/?id=195142868 18:34:33 -!- Sprocklem has quit (Ping timeout: 265 seconds). 18:34:38 What are you playing on, Imax?! 18:38:34 gee, with a resolution to size ratio the same as my netbook, that would be ten million cm across 18:39:03 which netbook? 18:39:12 some asus crap i got a year ago 18:39:17 ah 18:39:46 i have a sony vaio p and i am looking for some kind of successor, but i didn't find one yet 18:39:56 i mostly got the cheapest one i could find 18:43:35 -!- conehead has quit (Quit: Computer has gone to sleep.). 18:44:15 looks like imax is 10000×7000, so 18:44:27 back from lunch and fizzie aaagagagagas me. 18:44:39 Bike: pixels? 18:45:11 yeah. source: random crap on wikipedia i might be misinterpreting 18:49:17 hello, math ... "Most IMAX theatres use two 4000x2000 reolution projectors to produce an 8000x4000 resolution image." 18:50:21 wait, are the projectors overlapping at all? 18:50:33 what the hell? 18:50:47 where is this from? 18:51:44 http://answers.yahoo.com/question/index?qid=20091101105136AAbmCcJ 18:51:56 another random internet page 18:52:13 well, i don't expect anything good from yahoo anwers 18:53:17 -!- oerjan has joined. 18:54:00 my most favouritest answer is the first one on http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags 18:54:15 `? hello 18:54:18 hello hello hello, what's all this then? 18:55:06 more funny numbers ... http://www.celco.com/FormatResolutionTable4K.asp 18:55:57 well, that's everyone's favorite, boily. 18:56:17 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.). 18:56:25 it's not mine 18:56:38 -!- asie has joined. 18:56:42 "bla bla random rant about regular languages" 18:56:58 -!- asie has quit (Client Quit). 18:57:09 myname: you are not everyone, then. 18:57:27 that's good! 18:57:48 hoilyssä 18:59:04 boerjan après-midi. 19:00:08 oerjan: inessive??? 19:01:53 legjóilybb estét 19:02:35 wait, no ´ in superlative, sorry 19:02:54 the boilyest evening? well, I'm flattered. 19:03:03 also, you're learning hungarian? that's neat. 19:03:24 no, i picked up a little years ago 19:03:40 How many languages do you know anyway? 19:03:55 define "know"? 19:04:02 define "language"? 19:04:33 fizzie: is a set datastructure that just has 'add an element' and membership testing going to be something i can get out of matlab or do i have to do it myself somehow 19:05:27 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:05:42 i'd consider myself fluent in english, norwegian, and by extension near-fluent in swedish and danish. i can probably get by in german with some effort. everything else is on a lower level, including the french i've actually had lessons in. 19:06:33 (it's been a long time since i sincerely tried getting by in german, though.) 19:09:13 now if you want what i've dabbled through a few grammar or textbook chapters in, you've got italian, latin, czech and hungarian. and esperanto. 19:09:24 All right 19:10:16 no quenya nor any sindarin at all? 19:10:40 loooks like the matlab cas (why does matlab have a cas) has sets, but they let you do weird optionsn like "indexing"... 19:11:14 boily: i don't remember any of their grammar to speak of, although i _do_ recall visiting the aldalambion web page. 19:11:41 *ardalambion 19:12:25 -!- asie has joined. 19:13:01 when one visits ardalambion, one remembers the backgrounds. 19:16:45 -!- Bike has quit (Quit: Reconnecting). 19:17:04 -!- Bike has joined. 19:17:13 -!- Slereah has joined. 19:17:30 hmm, doesn't seem like a very memorable background 19:18:35 and in retrospect, maybe I shouldn't have cleaned up whatever it was that held my mouse pad stuck to the desk 19:23:31 -!- Slereahphone has quit (Quit: Colloquy for iPhone - http://colloquy.mobi). 19:26:36 Bike: In a modern-enough MATLAB (I don't know details), you can use http://www.mathworks.se/help/matlab/map-containers.html 19:26:43 olsner: backgrounds, in the pluralo-chromatic sense of the term. view the pages. bask in the colours. 19:27:00 Bike: There's also a longstanding tradition of using structs as impromptu hashmaps (and hashsets), but that comes with some rather bad gotchas related to field name restrictions and so on. 19:27:25 urgh 19:27:26 Bike: (And of course only works for string keys, unlike containers.Map. (Also, it's slower.)) 19:27:46 i think i might just use a bitvector, this should probably be parallizable in the future anyway 19:27:58 (Last fact not guaranteed to be true.) 19:28:08 speed is what i was going for, right now the "set" is a vector and an element is added with vec(end+1) = element 19:28:19 which like...you know. 19:28:36 so it isn't actually a set 19:29:26 it's only used as a set. 19:29:29 I think a containers.Map (with just 'true's as values) might not be too bad. (Or, of course, some sort of bitvector if the keys have a feasible range for that.) 19:29:38 adding an element and finding if something is in it are the only things done with it. 19:29:49 yeah, i'll have to check the range but i think it should be fine 19:31:40 -!- conehead has joined. 19:33:22 The Map is probably the fastest built-in way for generic hashmaps, and I believe was quite the welcomed addition, thanks to the "struct hack" (no relation to C's struct hack) being so horrible. 19:33:32 Apparently it's a 2008b feature. 19:33:38 i'm on 2009b, i think 19:33:56 i think i'm going to make a hacky tool i can use to run the program and get a graphed distribution of the values of some variable 19:34:12 That's not terribly new. But not as bad as, say, 7.x would be. 19:35:01 I guess theoretically R2009b is still also a 7.x. But I mean something like R14. 19:35:05 Bike: that's the one i have. because that's the year i stole it :P 19:35:22 I'm not sure what's the deal with the version/release dichotomy. 19:35:45 also, hi boily 19:35:56 i just want it to work, man, no time 4 thinking 19:36:00 qhintopia! 19:37:01 yes ok good 19:37:13 It goes 6.0 - R12, 6.1 - R12.1, 6.5 - R13, 7 - R14, 7.1 - R14SP3, then 7.2, 7.3, ..., 7.14 are R2006a, R2006b, ..., R2012a, and then 8, 8.1 and 8.2 are the newest R2012b, R2013a and R2013b. 19:37:39 are you doing anything 19:37:41 fantastic. 19:37:56 quintopia: who? what? when? 19:38:01 you 19:38:05 now 19:38:15 -!- AnotherTest has quit (Ping timeout: 358 seconds). 19:39:00 eating gummy bears as a mean to not fall asleep during a SCRUM training. 19:40:36 scrum is so irritating.. In concept, it sounds great. Once or twice a week, it would be great 19:40:51 http://sprunge.us/IYPd look at all that MATLAB 19:41:07 but every single morning.. it's just an interruption where the whole team nods and says "yep, I'm still working on that thing from yesterday" 19:41:15 (Tab completion.) 19:41:50 mrhmouse: come working for us, then! you'd feel right at home. 19:42:15 fizzie: well now i feel better about my work setup. 19:42:47 boily: aren't you in canadia? 19:43:10 mrhmouse: I am at canada. 19:43:40 I suppose I could get there via ICBM 19:43:50 @tell zzo38 I owe you some royalties for the “at canada” brand. 19:43:51 Consider it noted. 19:44:17 mrhmouse: Québec is lovely this time of the year! it's very warm here! 19:44:21 ~metar CYUL 19:44:22 CYUL 151900Z 23016G23KT 30SM FEW070 BKN080 BKN240 10/M01 A3003 RMK AC2AC4CI1 CI TR SLP171 19:44:44 Bike: That's just one of them. In another, I have to say (e.g.) "module load matlab/r2013a", and in yet another there's just the three latest in the path. 19:44:56 I'm from the south-eastern US.. I think I would freeze to death in a Canadian heat wave 19:45:51 -!- Sprocklem has joined. 19:46:32 -!- mrhmouse has quit (Quit: Windows updates...). 19:57:26 -!- Taneb has quit (Read error: Operation timed out). 19:58:03 -!- boily has quit (Quit: Poulet!). 19:58:10 -!- boily has joined. 19:59:11 -!- mrhmouse has joined. 20:03:13 boily: what is scrum 20:04:59 btw "g major" is the best youtube meme in a while 20:05:54 -!- Bike has quit (Ping timeout: 265 seconds). 20:08:20 quintopia: an Agile Programming Method. slightly less bullshitty than the other methods. 20:08:31 what is g major? 20:09:37 take a music video, spectrally filter all frequencies not in the key of g major, reverse the video, publish to youtube 20:09:53 here i the most terrifying one: http://www.youtube.com/watch?v=45lB-fyB87Y 20:10:13 -!- Taneb has joined. 20:10:51 I can't watch it now. it'll have to wait, but I think I'll be properly terrified tonight by that grotesque thing. 20:12:09 -!- yorick_ has joined. 20:15:23 -!- yorick has quit (Ping timeout: 272 seconds). 20:16:11 -!- Bike has joined. 20:19:19 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 20:24:45 -!- yorick_ has changed nick to yorick. 20:25:37 boily: the key word in "slightly less bullshitty" is "slightly" 20:26:15 mrhmouse: it is physically non-null. 20:27:28 I don't follow 20:31:19 “it”, meaning the difference. 20:31:39 I may have subtly left out some important context. my brain is not in functioning order at the moment. 20:37:18 -!- boily has quit (Quit: Poulet!). 20:37:26 -!- boily has joined. 20:44:09 did you patch your brain 20:45:16 * boily drinks tea. delicious tea. it tastes good. 20:45:38 boily: find me some delicious tea that tastes bad 20:45:47 (is it david's tea?) 20:46:16 no. some unknown oolong sold to me by an enthusiastic guy in Montréal's Chinatown. 20:46:28 :D 20:46:34 how often you gp there 20:46:36 go 20:46:40 try passing it through a civet 20:47:26 oerjan: musky oolong? 20:47:30 once every 2 months, I'd say. last time I blew up about 70$ on multiple teas. 20:47:38 oerjan: cha luwak? 20:48:49 boily: i don't think that "up" belongs there, unless you have a youtube link to prove it. 20:49:23 oerjan: don't destroy my dreams 20:49:33 oerjan: don't destroy my dreamy explosions. 20:50:08 explosive dreams 20:50:41 -!- Sprocklem has quit (Ping timeout: 243 seconds). 21:07:00 -!- Sprocklem has joined. 21:18:13 -!- ^v has joined. 21:19:40 Tea is good 21:19:54 * FireFly sips some earl grey 21:20:33 -!- nooodl has joined. 21:20:45 I think the biggest shock for me when I moved to "the big city" was the tea 21:20:59 where I grew up we had two kinds of tea: sweet and unsweet 21:22:17 You're giving me flashbacks to when I put sugar in the tea.. 21:23:02 putting sugar in tea after it's brewed just isn't the same as sweet tea 21:25:03 lately, I started brewing Hong-Kong style milk tea at home. 21:37:23 -!- Sprocklem has quit (Remote host closed the connection). 21:37:24 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 21:37:51 -!- ^v has joined. 21:42:39 How can I modify a transformation matrix so it treats a different point as the origin 21:43:02 Apply a translation to it 21:43:12 Hmm 21:43:19 I'm not thinking about this right, hang on 21:44:25 -!- Bike has quit (Ping timeout: 272 seconds). 21:53:27 -!- sebbu has quit (Read error: Connection reset by peer). 21:53:59 -!- sebbu has joined. 21:54:41 -!- sebbu has quit (Changing host). 21:54:41 -!- sebbu has joined. 21:55:46 -!- Bike has joined. 21:58:35 * boily waits for Taneb. 22:03:41 Right, I have something with its own origin (x1, y1) and a transformation matrix applied to it assuming that origin, M 22:04:25 wish i had my own origin 22:04:26 Then I have a secondary origin (x2, y2), and a transformation matrix applied around that origin, N 22:06:29 To begin with, (x1, y1) is gonna be transformed by N 22:09:57 I need some paper... 22:10:26 I don't quite understand what "transformation matrix applied around an origin" means, given that it's just a matrix. But you could certainly first translate point (x2, y2) to (x1, y1), apply your thing, and then translate (x1, y1) back to (x2, y2), if that's the sort of thing you had in mind. 22:10:34 Taneb : There are matrices you can use for translations 22:10:57 I need to get this clear in my own mind before I ask for help... 22:11:13 fizzie: he probably means a rotation around that point or whatnot 22:11:42 Who knows, it could be a skew or a conformal transformation! 22:11:58 -!- metasepia has quit (Remote host closed the connection). 22:12:14 -!- boily has quit (Quit: SLEEPY CHICKEN!). 22:12:36 Well, that'd just be T1 N T2, or so on. 22:13:07 right. 22:13:25 (Or T^-1 N T.) 22:15:16 Though beware 22:15:29 You have to change your rotation matrix if you want to apply a translation 22:15:55 On a n dimensional vector, you need (n+1)x(n+1) translation matrices 22:16:11 And the vector becomes (x1, x2, x3, ..., xn, 1) 22:16:17 I was sort of assuming homogenous coordinates by default. 22:16:34 also taneb pretyt much specified this is all on the plane. 22:16:48 Well in that case the translation matrix is 3x3 22:16:52 Yeah, it's on a plane 22:16:57 And the vector transforms to (x,y,1) 22:17:46 Quite often you see those as 2x3 matrices with an implicit [0 0 1] at the bottom. 22:18:43 (Like in the SVG "matrix(a b c d e f)" transform attribute.) 22:18:52 good to see you are doing affine without me 22:19:12 oerjan: It's affine day for it. 22:23:41 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.). 22:23:52 -!- updog has quit (Ping timeout: 264 seconds). 22:24:11 -!- Oj742 has joined. 22:36:51 -!- Bike has quit (Ping timeout: 260 seconds). 22:47:05 -!- Bike has joined. 22:59:22 -!- asie has joined. 23:00:50 -!- mrhmouse has quit (Quit: Leaving.). 23:01:46 http://vimeo.com/79179138 I'm sure this is old news, but it was the fanciest. 23:02:15 -!- Bike has quit (Ping timeout: 240 seconds). 23:02:45 "3 days ago" so in Internet time that's like six generations. 23:09:20 fizzie: cool. i hadn't seen it! 23:12:45 Hey, cool 23:13:08 (I'd seen pictures of that, but not the actual video) 23:13:35 so i finished my SELECT. interpreter. would someone like to test it? would someone like to host it so i can change the category to Implemented? 23:14:42 -!- nisstyre has joined. 23:14:52 i guess i can host it 23:15:02 but no guarantees i won't go stale 23:16:30 Can't you just put it into a gist or something? 23:18:23 Guys 23:18:30 -!- carado has quit (Ping timeout: 252 seconds). 23:18:30 Why are there "standard libraries" 23:18:41 Why not make them part of the language if they are standard 23:18:55 err, that's what standard library means? 23:19:16 Well no, you still need to call them up 23:19:26 And they are themselves written in the language itself 23:20:04 Not necessarily? 23:20:23 Sure, but in the case they are, let's say 23:20:38 I am wondering why not just make them part of the language itself 23:20:43 um 23:20:50 because they aren't? 23:20:57 I'm not sure if I see the distinction 23:21:22 "utilities that people use a lot" doesn't necessarily mean "a bunch of extra code you definitely want linked into your app" 23:22:09 Well if it's part of the language it wouldn't be extra code technically 23:22:09 I think that's called "the PHP model", where everything in the "standard library" is available in your global namespace by default. 23:22:58 (The C standard library certainly is part of the language, FWIW.) 23:23:21 -!- Phantom_Hoover has joined. 23:23:33 fizzie: meaning it is all inside the compiler somewhere? 23:23:50 ready to be tacked on to code without having to import? 23:23:53 I don't think that's what "part of the language" means. 23:24:00 well 23:24:07 i don't know what Slereah means either 23:24:21 No matter I guess 23:24:23 It is late 23:24:26 I should go to bed 23:24:33 so the SELECT. interpreter is here: http://rutteric.com/files/select.py 23:25:27 -!- prooftechnique has joined. 23:25:47 For small enough standard libraries, the "PHP model" makes sense, I think 23:26:03 For PHP, I'm not terribly sure it does. 23:27:33 What do you expect 23:27:38 It has pee in the name 23:27:38 What's "the PHP model"? Just pile stuff on whenever someone has an idea? 23:27:46 Slereah: TWICE 23:27:59 prooftechnique: I think that's called "the PHP model", where everything in the "standard library" is available in your global namespace by default. 23:28:00 More, if you count the recursive name 23:28:13 fizzie: Sorry, I just logged on 23:28:27 Yes, I saw that, that's why I pasted it. It wasn't an accusation or anything. 23:28:35 Haha, okay 23:28:47 I should get in the habit of checking the logs, though 23:30:34 THE LOGS BECKON YOU 23:31:16 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.). 23:31:25 fizzie: PHP's isn't small though.. 23:31:32 I was thinking more along the lines of Scheme or Lua 23:32:47 ...have you read your SICP today? 23:33:44 You sound like a Sussman's Witness 23:34:11 Or a /prog/rammer D: 23:34:12 The horror 23:34:13 FireFly: R6RS and R7RS both have a module system. (Then again, they're larger.) 23:39:28 I'm finding this Windows 8(.1) thing of having "desktop" things and "apps" things very confusing. "Apps" don't show up in the task bar, but they do show up in the alt-tab list. And they have completely different interaction paradigm (that's the word, right?) that's almost like a tiling WM. E.g. to make the built-in PDF reader visible while having something else open on the same monitor, I had ... 23:39:34 ... to split the screen so that one half is the PDF viewer, and the other is a half-wide desktop. It looks very strange. 23:40:13 That sounds unpleasant 23:40:32 a bit disappointing that they went and invented the whole new thing and then end up having to keep the old thing around anyway 23:40:59 I think the idea is that the old thing is just a single "app", but that's kind of ridiculous, because that's where just about everything is happening. 23:41:11 (So far the PDF reader is probably the only new thing I've used.) 23:41:11 I guess the real reason is that the new thing is unusable 23:41:42 Also the corner-based navigation is kinda clunky with multiple screens. 23:41:59 There's stops at the corners, so it can be used, but it's still clunky. 23:43:00 i agree with all of the above 23:43:14 the only think i truly enjoy about windows 8 is the app store 23:43:45 totally engineering the UI around touchscreens is just annoying to a diehard keyboardist like me 23:44:00 I can't figure out how to use the application switcher. 23:44:37 There's a top-left-corner thing, but it keeps switching just one half of the screen, and there's no list of what's running. 23:44:49 I'm sure there's some way, I just can't figure it out. 23:45:05 Possibly you're meant to swipe from somewhere, but I don't know how to do that with a mouse. 23:46:29 Ah, left-corner-move (but not click), and then move cursor down to the small rectangles that are poking out of the edge slide out a list. 23:46:30 you have a separate sits-on-your-desk mouse? 23:46:55 Um. Do most desktops not have one? 23:47:12 This is a regular computer I'm using. 23:47:15 most laptops have touchpads, and windows 8 was LAPTOP-ENGINEERED 23:47:37 Wasn't it TOUCHSCREEN-ENGINEERED? 23:47:42 I've got Windows 8.1 on the desktop, and Windows 7 on the laptop. 23:47:43 The world is all about touch these days. 23:50:20 "Touch one another!", like a Finnish TV personality from the early 90s used to say. 23:50:35 shachaf: which is why modern laptops have touchscreens 23:50:37 (That's kind of a bad translation of "Kosketelkaa toisianne!", arguably.) 23:51:10 (Guess it's still better than GT's "kosketelkaa each other".) 23:51:20 i assume he meant touch as in "touching" the adjective and not touch as in "fondle"? 23:51:40 No, it's the latter. 23:51:46 oh 23:51:49 well 23:52:06 It's very close to "fondle" in meaning, in fact. 23:52:24 http://en.wikipedia.org/wiki/Frank_Pappa_Show but it's just a stub. The .fi article knows more, but is in Finnish. 23:52:31 well then 23:52:36 i guess he was popular 23:53:19 [[ The program is remembered, among other things, -- Frank Papa fly the phrases "Kosketelkaa each other!", "Relentless go!" and "Bailatkaa severely". ]] 23:53:35 Relentless go! 23:53:37 fizzie: perhaps "hug" is closer but with fewer unfortunate associations to americans? 23:53:45 *close enough 23:54:01 Maybe the Finns are just a more tactile and accepting culture 23:54:17 Or were, in the 90s 23:54:25 prooftechnique: that seems like exactly the opposite of my stereotype of finns. 23:54:27 oerjan: Mmmmaybe, but "kosketella" really has some of those unfortunate associations in Finnish too. I think it's just a thing. 23:57:32 but maybe i've misunderstood, and finns are all about touching as long as you don't speak while doing it. 23:59:35 and as long as you don't tell foreigners, stereotypes to uphold etc 23:59:37 You may only speak to whisper "we shall never speak of this"