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 <quintopia> FireFly: early august is good in what regard? scrolling back forever is a pain
02:19:27 -!- doesthiswork has joined.
02:19:47 <doesthiswork> delimited continuations are exceedingly esoteric
02:21:58 <kmc> the irc is coming from inside the house
02:31:49 -!- Alexander_ has quit (Ping timeout: 250 seconds).
02:32:53 <quintopia> doesthiswork: do you have any languages
02:34:03 <doesthiswork> 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 <doesthiswork> 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:31 <doesthiswork> the beautiful thing about that is it will change semantics over time
02:46:42 -!- Lymia has joined.
02:47:02 <Bike> like what you do in lecture
02:47:08 <Bike> sleep through it and read the textbook
02:47:08 <quintopia> also inconsistent logic sounds to me like the kind of system where explosion happens
02:47:39 <doesthiswork> apparently para inconsistent logics don't explode
02:49:00 <Bike> can you just drop proof by disjunction
02:49:02 <doesthiswork> lazy learning is basically classifying input using the k-nearest neighbors from the training data.
02:49:05 <Bike> fix everything in one fell swoop
02:50:28 <doesthiswork> logic programming without modus ponens would be funny
02:51:22 <doesthiswork> yes I think dropping proof by disjunction would be good
02:51:42 <ais523> doesthiswork: actually quite a lot of study of logic is proving that modus ponens is unnecessary
02:51:51 <ais523> as in, not actually /wrong/, just they design their logics so they never have to use it
02:51:54 <ais523> because it screws things up
02:52:45 <coppro> ais523: why does it screw things up?
02:53:18 <ais523> coppro: basically because the structure of a term no longer guides its derivatoin
03:00:41 -!- nisstyre has joined.
03:12:27 <Bike> Anyone here know about building computers?
03:12:55 <Bike> 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:17 <Bike> how many steps are there
03:13:47 -!- augur_ has joined.
03:13:49 <^v> wget http://old-computer-parts/
03:14:57 <Bike> 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 <Sgeo> kmc: is there a good reason for blocking the ability to make diamond structures without requiring the GC?
03:32:04 <Sgeo> Cyclic structures needing GC makes sense
03:51:51 -!- ^v has quit (Quit: Leaving).
03:51:51 -!- v^ has joined.
03:51:51 <Sgeo> 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:59:37 -!- `^_^v has joined.
04:06:56 -!- nisstyre has quit (Quit: Leaving).
04:08:03 -!- Sprocklem has joined.
04:11:45 <kmc> Sgeo: what do you mean, how is it blocked?
04:12:17 <Sgeo> Can't have two owned pointers to the same box, right?
04:12:33 <kmc> that would require reference counting or some other scheme to decide when they've both gone away
04:12:49 <kmc> owned boxes have deterministic memory management; when an owning pointer is destroyed, the box is freed
04:12:55 <kmc> so they have to be unique
04:13:14 <kmc> @ is actually just refcounted and not GC'd at the moment
04:13:18 <kmc> it's expected to change in the future
04:13:38 <kmc> there's also a library type Rc<T> which provides a more semantically clean version of refcounting
04:13:48 <kmc> but Rust doesn't have smart pointer deref sugar yet, so it's a bit more cumbersome to use
04:14:01 <kmc> Rc<T> also statically forbids cycles
04:14:35 <kmc> and there's Arc<T> which is "atomic reference counting" and can be shared between tasks
04:14:40 <kmc> and there are mut versions of both
04:15:03 <kmc> (an Rc<T> is an ownership root much like an @T, so it determines the mutability of the stuff inside)
04:16:25 <kmc> 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:17:08 <kmc> 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 <kmc> they talk about a world where ~int and int have the same representation
04:23:50 <lifthrasiir> I think a proper garbage collection in Rust would involve some kind of type visitors in order to detect the cycle
04:24:01 <ais523> kmc: what if an &int exists borrowed from that ~int?
04:24:09 <ais523> oh, would the &int point to the ~int rather than to the underlying int?
04:25:03 <lifthrasiir> ais523, &int points to the underlying int, but &int cannot live longer than ~int.
04:25:16 <ais523> lifthrasiir: I know it can't
04:25:22 <ais523> but with ~int being the same as int, there isn't an underlying int
04:25:57 <kmc> borrowing an ~int to an &int would then be the same as borrowing an int to an &int
04:26:00 <ais523> you'd point to the ~int directly, then
04:26:09 <ais523> I forgot you could do that
04:26:17 <kmc> «let x: ~int = ~3; f(&x);» that'll just pass a pointer to the stack
04:26:38 <kmc> yeah you can borrow stack vars and arguments as well as heap boxes
04:26:55 <kmc> lifthrasiir: right, but it would be the same operationally
04:27:04 <kmc> if ~int is the same operationally as int
04:27:30 <kmc> this also depends on the fact that rust generics are monomorphized
04:27:34 <lifthrasiir> I don't see a value in making ~int internally equivalent to int
04:27:49 <kmc> a generic function operating on ~T would have to produce different code for ~int and ~MyStruct
04:27:53 <kmc> but that's already what it does
04:28:05 <kmc> lifthrasiir: I don't see huge value either, but it would save an allocation
04:28:14 <kmc> if for some reason you were making lots of owned-boxed ints
04:28:18 <kmc> but I don't know why that would be the case
04:28:22 <kmc> maybe generic code
04:28:27 <Bike> oh, i thought "they talk about a world where" was more supposed to be a conceptual thing.
04:28:33 <lifthrasiir> AFAIK LLVM has some kind of malloc-to-reg passes
04:30:19 -!- nisstyre has joined.
04:30:34 <lifthrasiir> kmc, actually, non-primitive non-boxed types behaves almost identically to owned boxes (major difference being the memory layout, of course), so using <T:Send> type params instead of using an explicit owned box can solve that problem.
04:32:12 <Bike> "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:36 <Bike> "A variety of data structures can be represented on the GPU: * Dense arrays * Sparse arrays * Adaptive structures [citation needed]"
04:33:44 <kmc> lifthrasiir: right
04:33:52 <lifthrasiir> A variety of data structures can be represented on the GPU: * Integers
04:33:59 <kmc> 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 <kmc> makes sense
04:34:09 <Bike> integers, single floats, the possibilities are limitless
04:34:13 <oklopol> it was not long ago that integers were not really a data type in gpus
04:34:27 <kmc> if it's good enough for javascript
04:34:32 <ais523> oklopol: doubles were only added recently, too
04:34:36 <lifthrasiir> * Integers that fit in IEEE 754 binary floating point types.
04:34:40 <ais523> although they always used to have at least slightly working ints to do array indexes
04:34:54 <Bike> lifthrasiir: apparently not all GPUs are ieee-conformant, just to punish me
04:35:23 <ais523> Bike: most of them used not to be
04:35:40 <Bike> yeah, probably subnormals
04:35:42 <ais523> they started adding IEEE conformance only recently, for people who wanted to do scientific computations on them
04:36:04 <Bike> i'm seeing about the realism of my getting a GPU for games and also for work
04:36:05 <lifthrasiir> Java bytecode had something like strictfp, I think
04:36:34 <oklopol> what cha gonna do with one
04:36:49 <ais523> lifthrasiir: strictfp is actually a keyword in Java
04:37:13 <Bike> 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 <Bike> probably would take some work to really parallelize it well though
04:37:52 <Bike> right now it just runs different sims on different cores, which helps but is boring
04:38:32 <Bike> what does that mean
04:39:02 <oklopol> synonyms for labbing oh god you be testing my englishability.
04:39:14 <Bike> yes. you pass. now what the fuck are you saying
04:39:14 <oklopol> what are you simulating at the lab
04:40:06 <oklopol> how do you put real muscles into a gpu
04:40:21 <kmc> UNCLE MUSCLES
04:40:25 <kmc> MUSCLES FOR BONES
04:40:27 <Bike> I'm thinking it might be possible to do the computations across space in parallel
04:40:31 <kmc> CASH FOR BONES
04:40:58 <Bike> honestly my main motivation is that i want to fuck around but that's how it always is
04:41:01 <coppro> kmc: NETHACK.ALT.ORG HAS BONES
04:41:36 <oklopol> are these your own muscles or like walrus muscles or what and how do you preserve them
04:42:06 <oklopol> 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 <Bike> 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 <Bike> the flies are killed too*
04:43:09 <oklopol> what does it look like when they flex
04:43:54 <oklopol> anyway yeah gpus are awesome you should do everything with them
04:44:17 <oklopol> 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:48:06 <Bike> 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 <quintopia> oklopol: what was the thing you daydreamed
04:48:10 -!- conehead has quit (Quit: Computer has gone to sleep.).
04:48:38 <oklopol> quintopia: cellular automata stuff
04:49:34 <Bike> could be cool though.
04:49:40 <oklopol> because there are no programs out there for implementing CA
04:49:42 <kmc> lexical scope is p. great
04:49:43 <Bike> all i'm doing is linear algebra. Like, Who Cares, Man
04:50:19 <Bike> oklopol: What would you do that Golly can't handle? (not a challenge or anything it sounds supa cool)
04:50:38 <oklopol> you have to list the rule manually
04:50:54 <Bike> gonna be honest i've only used golly because it makes pretty pictures
04:50:59 <Bike> but i mean, it does hashlife and all.
04:51:05 <oklopol> if you have more than 8 states it takes forever to write up a rule
04:51:13 <oklopol> and usually CA have hundreds of thousands of states
04:51:34 <oklopol> usually in the sense that i have some specific ones i'd like to see implemented
04:51:40 <Bike> the most complex CA i know is von neumann's. i'm a dabbla, see
04:51:54 <oklopol> the 29 state constructor thing maybe
04:51:59 <Bike> yeah, that one.
04:54:15 -!- Sprocklem has quit (Ping timeout: 260 seconds).
04:54:24 <oklopol> 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 <Bike> i don't know that initialism.
04:54:52 <oklopol> subshift of finite type, like wang tiles
04:55:08 <Bike> i don't really know that concept either but i know wang at least.
04:55:36 <oklopol> 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 <oklopol> well wang tiles are squares with colors on their left, top, right, bottom sides
04:56:05 <oklopol> and you fill Z^2 with them so that colors match
04:56:22 <Bike> right, and that's uncomputable and whatnot.
04:56:39 <oklopol> whether or not Z^2 can indeed be filled is undecidable, yes
04:57:21 <oklopol> anyway, this is the same thing as a cellular automaton on a one-dimensional SFT, restricted to its limit set
04:58:02 <oklopol> 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 <oklopol> and limit set is the set of configurations with an infinite chain of preimages
04:58:42 <Bike> so like dynamics.
04:58:59 <Bike> well, not like dynamics.
04:59:43 <oklopol> one-dimensional SFTs are dynamical systems with the shift maps giving an action of Z
05:00:13 <oklopol> two-dimensional SFTs are dynamical systems with an obvious Z^2 action
05:00:39 <oklopol> cellular automata are dynamical systems with an N-action given by repeating it
05:00:44 <oklopol> or Z if the CA is reversible
05:02:51 <oklopol> (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 <oklopol> (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 <Sgeo> "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 <ais523> 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 <Sgeo> I guess every algorithm change affects multiple lines of code, according to this person?
05:33:43 <ais523> prefetching's safe if the address to fetch isn't valid, but not if something goes wrong calculating it
05:33:51 <ais523> Sgeo: memoize('function_to_memoize');
05:34:22 <Sgeo> 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 <Sgeo> ais523: nice example
05:35:24 <Bike> oklopol: luckily i don't know anything.
05:35:32 <Sgeo> 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 <oklopol> 2x speedup is not that substantial
05:45:30 <oklopol> algorithm changes usually get you tends-to-infinity-x speedup
05:45:49 <Bike> 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 <Bike> 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 <fizzie> 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 <oerjan> you know spammers are making you nervous when you google the nick of new registrations
10:31:47 <fizzie> 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 <fizzie> My ~first SMS spam, I think.
10:31:58 <ais523_> that sounds like spam to me
10:32:29 <fizzie> (Well, "just"; it came at around 05am and woke me up.)
10:36:09 <fizzie> I... haven't measured.
10:41:46 <oklopol> fizzie: i got my first just a few weeks ago too
10:44:11 <ais523_> don't they have to pay to send SMS in Europe?
10:44:16 <ais523_> that must be some expensive spamming
10:44:54 <oerjan> presumably they found a loophole to that
10:45:36 <ais523_> in the US, SMS is recipient-pays, for some bizarre historical reason
10:45:46 <ais523_> which at least means SMS spamming is really cracked down on
10:48:17 -!- impomatic has joined.
10:48:23 <oklopol> so if your number gets known by someone random, they can make you pay as much as they like?
10:50:35 <oklopol> 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 <oklopol> sometimes they ask where you were born or something, but for example i don't remember and it was fine
10:51:13 <lexande> 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 <ais523_> ah right, that would make sense
10:51:37 <ais523_> it's still recipient pays, but they buy in bulk
10:51:49 <ais523_> it's the same for sending in the UK
10:52:31 <lexande> and the risk of spam is one of several factors that pushes people towards such packages
10:54:21 <lexande> 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 <fizzie> oklopol: I think mine was the same.
11:05:36 <fizzie> (I remember there being a news article about this particular scam few weeks back.)
11:20:16 <oerjan> ahhh they seem to have fixed that annoying windows 8.1 spellchecking bug
11:20:37 <oerjan> (that is, you couldn't turn it off)
11:24:57 -!- yorick has joined.
11:32:19 -!- Taneb has joined.
11:35:10 <oerjan> hm, Timwi is learning haskell.
11:38:19 <Taneb> oerjan, I hope his learning experience goes better than mine did
11:38:43 <Taneb> At first I was programming Haskell as though it was Python
11:38:49 -!- Tefaj has changed nick to Jafet.
11:38:51 <Taneb> 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 <fizzie> Partying like it's 1991, and coding Haskell like it's Python.
11:39:26 <oerjan> coding 1991 haskell like it's 1991 python?
11:39:28 <Taneb> fact n = reduce(lambda x, y: x * y, range(1,n+1))
11:39:49 <fizzie> 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 <Taneb> (note: for python < 3, using xrange may be better than range)
11:42:19 <fizzie> "total error: NaN" I don't know if that's a good thing or not.
11:42:27 <Taneb> (and actually, reduce isn't in Python 3?)
11:43:14 <fizzie> That certainly sounds like programming Haskell. "What, it's not in this version?"
11:43:37 <fizzie> from functools import reduce, perhaps.
11:44:43 <Taneb> Aaah, that's where it ended up
11:48:50 <fizzie> 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: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 <Taneb> I liked today's XKCD
11:59:13 -!- esucg0aq47trgb8 has joined.
11:59:14 -!- esucg0aq47trgb8 has quit (Excess Flood).
11:59:37 -!- esucg0aq47trgb8 has joined.
12:00:24 <Taneb> Phantom_Hoover, it has an actual joke
12:00:41 -!- esucg0aq47trgb8 has quit (Excess Flood).
12:00:42 <Taneb> 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:20 -!- esucg0aq47trgb8 has joined.
12:01:39 -!- esucg0aq47trgb8 has quit (Excess Flood).
12:01:44 <Taneb> I take jokes where they come!
12:02:59 <Taneb> 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 <Taneb> And Freefall is on hiatus this week
12:04:09 <Taneb> Family medical emergency, apparently
12:04:18 <Taneb> "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:30 <oerjan> i think this is the first day i've managed not to check anyhow.
12:06:54 <fizzie> I just spent like 15 minutes clustering a matrix full of zeros.
12:07:02 <fizzie> Some sanity checks might've been nice.
12:07:22 <fizzie> (There was a typo in the code loading files, it was assigning to a whole another matrix.)
12:07:23 <HackEgo> "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:52 <Taneb> oerjan, I check Freefall daily for no good reason
12:09:12 <oerjan> ok i meant "daily when it usually updates"
12:12:08 <oerjan> Taneb: also, discworldproblems? how many r/*problems subreddits _are_ there these days?
12:13:56 <Taneb> a) why are you redditstalking me? and b) I have no idea. At least 4
12:14:24 -!- asie has joined.
12:14:42 <oerjan> because you're on my friends list hth
12:15:15 <Phantom_Hoover> this would be the creepy friends list that requires no confirmation or even notification of the 'friend'
12:15:26 <oerjan> yep. you're on it too btw
12:15:39 <Taneb> Okay, to be fair you're on mine, oerjan
12:16:18 <oerjan> Phantom_Hoover: i cannot be held responsible for reddit's poor choice of terminology.
12:16:22 <Taneb> That's a shame, you're my friend
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:55 <boily> @tell oerjan good ørjanight!
13:22:01 <boily> (or is it “tanellob”? I can never seem to conjugate your name properly.)
13:24:21 <Taneb> Well, I think this would be the vocative
13:24:56 <Taneb> And "Taneb"'s a name, so I think you'd decline it rather than conjugate it
13:43:30 <boily> 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:58:01 -!- nooodl has joined.
15:00:57 -!- ^v has joined.
15:05:00 <boily> mrhmouse: irregular check up on the OTT in the xkcd forums.
15:09:36 <boily> the One True Thread, cf. xkcd 1190 “Time”.
15:31:53 -!- Taneb has joined.
15:32:15 <Taneb> I just got feedback on a programming formative assessment
15:32:55 <Taneb> 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 <Taneb> And also put in tests
15:33:15 <kmc> 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 <mrhmouse> Actually I wish more people would learn those other points (comments, line breaks, write tests first, and slow down)
15:34:33 <Taneb> 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 <ion> http://youtu.be/CDVQvme5tb0
15:34:58 <Taneb> I wrote a function that just returned the average number of characters per word
15:35:20 <kmc> "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 <mrhmouse> kmc: and then they take that habit into the workplace...
15:36:24 <mrhmouse> kmc: also useful names! far too often do I see things like this: "int intX = 3; // set intX to 3"
15:36:34 <Taneb> kmc: my only comment was along the lines of "I like this function"
15:37:01 <Taneb> (although it may have actually been a method, I'm not sure)
15:37:06 -!- variable has changed nick to trout.
15:37:19 <trout> kmc: mrhmouse: theil eventually learn
15:37:28 <trout> I don't mind stupid overcommenting from new coders
15:37:30 <kmc> 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:38:05 <Taneb> Also I did something in three lines that I could have done in one
15:38:40 <kmc> trout: well it's not so bad when the good kinds of comments are also present, yeah
15:39:01 <kmc> the ones that explain 'how' and 'why' rather than the 'what' which is already part of the code
15:39:37 <Taneb> kmc: yeah, my lecturer specifically asked about the "why" in one case
15:39:48 <kmc> 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 <Taneb> I had done something that was less efficient than the quickest thing matching specification but slightly more general
15:41:00 <mrhmouse> trout: I have coworkers who still do that, so I don't believe they ever learn
15:41:25 <kmc> 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 <kmc> people will payattention :)
15:41:38 <mrhmouse> personally, I prefer static typing with type inference (a la D or Cobra)
15:41:52 <mrhmouse> kmc: I rarely comment at all, actually, except for the documentation comments
15:42:06 <mrhmouse> but that's because I rarely have a method that's more than five lines long.
15:46:21 <boily> 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 <mrhmouse> 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 <mrhmouse> 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 <Taneb> I... can't actually remember what grade I was given
15:50:17 <Taneb> I think it was a first with room for improvement
15:50:34 <Taneb> He said "Try to beat last year's best, which was 96%"
15:50:48 <mrhmouse> There's always room for improvement, no matter how good the code looks or how experienced the coder :)
15:51:46 <Taneb> 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 <boily> mrhmouse: in a programming language that integrates those fancy features, of course comments become redundant.
16:22:06 <boily> (ô, 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 <mrhmouse> boily: Python is a dynamic language mate; you're asking to make an apple an orange ;)
16:25:45 <boily> mrhmouse: nothing less. besides, oranges taste good.
16:25:47 <mrhmouse> 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 <mrhmouse> For example, with C# at work, we use SpecFlow. At home with CoffeeScript, I use Vows
16:26:34 <mrhmouse> 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 <mrhmouse> ruddy is written in CoffeeScript... I really should have written tests for him :P
16:31:14 <Taneb> ruddy, have you met fungot?
16:31:14 <fungot> Taneb: http://www.flame.org/jivera/ random/ fnord ( sic)
16:31:31 * kmc tries to set up ruddy and fungot on a date
16:31:31 <fungot> kmc: silicon castles http://www.cowlark.com/ fnord libcurl: http error ( 404?)
16:31:43 <mrhmouse> ruddy doesn't respond to /me yet.. need to fix that
16:33:18 <FireFly> ruddy: why don't you respond? :(
16:33:33 <mrhmouse> If ruddy can't figure out a suitable response, he just stays silent
16:33:33 <ruddy> I wouldn't know. I never underwent one.
16:33:54 <FireFly> ruddy: you never underwent what?
16:33:55 <ruddy> my spirit animal is a horsey
16:34:28 <mrhmouse> pretty sure ruddy's spirit animal is fungot
16:34:29 <fungot> 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 <boily> kmc: some people here tried matchmaking ruddy and fungot, with no avail.
16:34:57 <fungot> boily: it is often confusing for new u-'
16:35:25 <mrhmouse> Yeah, you'd have to get fungot to say its name for that to even have a chance.
16:35:25 <fungot> mrhmouse: even solaris would be better to specify it on each function call
16:35:26 <boily> confusing bot on bot action in the early morning? oooooh :D
16:35:48 <mrhmouse> And even then, ruddy would have to pick a response that included a name placeholder.
16:35:48 <ruddy> 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 <FireFly> fungot: tiny pachyderms living on small bf interpreters..?
16:39:06 <fungot> FireFly: i wanted to make it work in msg? i don't
16:39:11 <Taneb> ^echo ruddy hi how are you?
16:39:11 <fungot> ruddy hi how are you? ruddy hi how are you?
16:39:11 <ruddy> ohnoi'mfallingover!
16:39:12 <ruddy> your IP is showing
16:39:25 <Taneb> ruddy is quite rude
16:39:25 <ruddy> ok, I guess I should have played the game in order to understand what is going on.
16:39:36 <ruddy> I think the right word may have been aesthetic
16:40:01 <FireFly> That's certainly.. aesthetically pleasing
16:40:49 <boily> and unless a fungottian bot, he actually balances his brackets.
16:40:49 <fungot> 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 <mrhmouse> yeah, ruddy is just an echo bot.
17:01:06 <ruddy> they started adding IEEE conformance only recently, for people who wanted to do scientific computations on them
17:01:33 <mrhmouse> 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 <fizzie> boily: Won't you stop with the balanced parentheses already what kind of balanced paren fascist pig you are aaagagagaga
17:35:59 <fungot> ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti.*|metasepia|jconn)!
17:36:08 <fizzie> ^ignore ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti.*|metasepia|jconn|ruddy)!
17:36:08 <ruddy> ^(Frooxius|conehead|toBogE|Sparkbot|optbot|ruddy|oonbotti.*|fizzie|jconn)!
17:36:35 <fizzie> For the record, you can get fungot to say anything you want, with ^bf/^ul(/^str).
17:36:36 <fungot> 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 <fizzie> (I don't remember a Frooxius or a conehead at all.)
17:37:58 <mrhmouse> ruddy is just replacing names at random, and he stole your (fizzie) "response" to fungot
17:37:59 <fungot> mrhmouse: i understand the way kawa works. the second book, soo...... you are going to support it
17:38:14 <fizzie> Oh, there's some mungling in there already.
17:38:42 <mrhmouse> Yes, it replaces names with the currently active users to maintain an appearance of conversation
17:39:11 <mrhmouse> 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 <fungot> 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: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 <ion> http://steamcommunity.com/sharedfiles/filedetails/?id=195142868
18:34:33 -!- Sprocklem has quit (Ping timeout: 265 seconds).
18:34:38 <mrhmouse> What are you playing on, Imax?!
18:38:34 <Bike> gee, with a resolution to size ratio the same as my netbook, that would be ten million cm across
18:39:12 <Bike> some asus crap i got a year ago
18:39:46 <myname> 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 <Bike> i mostly got the cheapest one i could find
18:43:35 -!- conehead has quit (Quit: Computer has gone to sleep.).
18:44:15 <Bike> looks like imax is 10000×7000, so
18:44:27 <boily> back from lunch and fizzie aaagagagagas me.
18:45:11 <Bike> yeah. source: random crap on wikipedia i might be misinterpreting
18:49:17 <int-e> hello, math ... "Most IMAX theatres use two 4000x2000 reolution projectors to produce an 8000x4000 resolution image."
18:50:21 <mrhmouse> wait, are the projectors overlapping at all?
18:51:44 <int-e> http://answers.yahoo.com/question/index?qid=20091101105136AAbmCcJ
18:51:56 <int-e> another random internet page
18:52:13 <myname> well, i don't expect anything good from yahoo anwers
18:53:17 -!- oerjan has joined.
18:54:00 <boily> 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:18 <HackEgo> hello hello hello, what's all this then?
18:55:06 <int-e> more funny numbers ... http://www.celco.com/FormatResolutionTable4K.asp
18:55:57 <Bike> 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:38 -!- asie has joined.
18:56:42 <myname> "bla bla random rant about regular languages"
18:56:58 -!- asie has quit (Client Quit).
18:57:09 <boily> myname: you are not everyone, then.
18:59:04 <boily> boerjan après-midi.
19:00:08 <boily> oerjan: inessive???
19:02:35 <oerjan> wait, no ´ in superlative, sorry
19:02:54 <boily> the boilyest evening? well, I'm flattered.
19:03:03 <boily> also, you're learning hungarian? that's neat.
19:03:24 <oerjan> no, i picked up a little years ago
19:03:40 <FireFly> How many languages do you know anyway?
19:04:02 <boily> define "language"?
19:04:33 <Bike> 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 <oerjan> 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 <oerjan> (it's been a long time since i sincerely tried getting by in german, though.)
19:09:13 <oerjan> 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:10:16 <boily> no quenya nor any sindarin at all?
19:10:40 <Bike> 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 <oerjan> boily: i don't remember any of their grammar to speak of, although i _do_ recall visiting the aldalambion web page.
19:12:25 -!- asie has joined.
19:13:01 <boily> 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 <olsner> hmm, doesn't seem like a very memorable background
19:18:35 <olsner> 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 <fizzie> 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 <boily> olsner: backgrounds, in the pluralo-chromatic sense of the term. view the pages. bask in the colours.
19:27:00 <fizzie> 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:26 <fizzie> Bike: (And of course only works for string keys, unlike containers.Map. (Also, it's slower.))
19:27:46 <Bike> i think i might just use a bitvector, this should probably be parallizable in the future anyway
19:27:58 <fizzie> (Last fact not guaranteed to be true.)
19:28:08 <Bike> 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 <Bike> which like...you know.
19:29:26 <Bike> it's only used as a set.
19:29:29 <fizzie> 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 <Bike> adding an element and finding if something is in it are the only things done with it.
19:29:49 <Bike> yeah, i'll have to check the range but i think it should be fine
19:31:40 -!- conehead has joined.
19:33:22 <fizzie> 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 <fizzie> Apparently it's a 2008b feature.
19:33:38 <Bike> i'm on 2009b, i think
19:33:56 <Bike> 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 <fizzie> That's not terribly new. But not as bad as, say, 7.x would be.
19:35:01 <fizzie> I guess theoretically R2009b is still also a 7.x. But I mean something like R14.
19:35:05 <quintopia> Bike: that's the one i have. because that's the year i stole it :P
19:35:22 <fizzie> I'm not sure what's the deal with the version/release dichotomy.
19:35:56 <Bike> i just want it to work, man, no time 4 thinking
19:37:13 <fizzie> 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:56 <boily> quintopia: who? what? when?
19:38:15 -!- AnotherTest has quit (Ping timeout: 358 seconds).
19:39:00 <boily> eating gummy bears as a mean to not fall asleep during a SCRUM training.
19:40:36 <mrhmouse> scrum is so irritating.. In concept, it sounds great. Once or twice a week, it would be great
19:40:51 <fizzie> http://sprunge.us/IYPd look at all that MATLAB
19:41:07 <mrhmouse> 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:50 <boily> mrhmouse: come working for us, then! you'd feel right at home.
19:42:15 <Bike> fizzie: well now i feel better about my work setup.
19:43:10 <boily> mrhmouse: I am at canada.
19:43:40 <mrhmouse> I suppose I could get there via ICBM
19:43:50 <boily> @tell zzo38 I owe you some royalties for the “at canada” brand.
19:44:17 <boily> mrhmouse: Québec is lovely this time of the year! it's very warm here!
19:44:22 <metasepia> CYUL 151900Z 23016G23KT 30SM FEW070 BKN080 BKN240 10/M01 A3003 RMK AC2AC4CI1 CI TR SLP171
19:44:44 <fizzie> 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 <mrhmouse> 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:04:59 <quintopia> btw "g major" is the best youtube meme in a while
20:05:54 -!- Bike has quit (Ping timeout: 265 seconds).
20:08:20 <boily> quintopia: an Agile Programming Method. slightly less bullshitty than the other methods.
20:09:37 <quintopia> take a music video, spectrally filter all frequencies not in the key of g major, reverse the video, publish to youtube
20:09:53 <quintopia> here i the most terrifying one: http://www.youtube.com/watch?v=45lB-fyB87Y
20:10:13 -!- Taneb has joined.
20:10:51 <boily> 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 <mrhmouse> boily: the key word in "slightly less bullshitty" is "slightly"
20:26:15 <boily> mrhmouse: it is physically non-null.
20:31:19 <boily> “it”, meaning the difference.
20:31:39 <boily> 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:45:16 * boily drinks tea. delicious tea. it tastes good.
20:45:38 <quintopia> boily: find me some delicious tea that tastes bad
20:46:16 <boily> no. some unknown oolong sold to me by an enthusiastic guy in Montréal's Chinatown.
20:46:40 <oerjan> try passing it through a civet
20:47:30 <boily> once every 2 months, I'd say. last time I blew up about 70$ on multiple teas.
20:47:38 <boily> oerjan: cha luwak?
20:48:49 <oerjan> boily: i don't think that "up" belongs there, unless you have a youtube link to prove it.
20:49:33 <boily> oerjan: don't destroy my dreamy explosions.
20:50:41 -!- Sprocklem has quit (Ping timeout: 243 seconds).
21:07:00 -!- Sprocklem has joined.
21:18:13 -!- ^v has joined.
21:20:33 -!- nooodl has joined.
21:20:45 <mrhmouse> I think the biggest shock for me when I moved to "the big city" was the tea
21:20:59 <mrhmouse> where I grew up we had two kinds of tea: sweet and unsweet
21:22:17 <FireFly> You're giving me flashbacks to when I put sugar in the tea..
21:23:02 <mrhmouse> putting sugar in tea after it's brewed just isn't the same as sweet tea
21:25:03 <boily> 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 <Taneb> How can I modify a transformation matrix so it treats a different point as the origin
21:43:19 <Taneb> 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.
22:03:41 <Taneb> Right, I have something with its own origin (x1, y1) and a transformation matrix applied to it assuming that origin, M
22:04:25 <Bike> wish i had my own origin
22:04:26 <Taneb> Then I have a secondary origin (x2, y2), and a transformation matrix applied around that origin, N
22:06:29 <Taneb> To begin with, (x1, y1) is gonna be transformed by N
22:09:57 <Taneb> I need some paper...
22:10:26 <fizzie> 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 <Slereah> Taneb : There are matrices you can use for translations
22:10:57 <Taneb> I need to get this clear in my own mind before I ask for help...
22:11:13 <Bike> fizzie: he probably means a rotation around that point or whatnot
22:11:42 <Slereah> 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 <fizzie> Well, that'd just be T1 N T2, or so on.
22:15:29 <Slereah> You have to change your rotation matrix if you want to apply a translation
22:15:55 <Slereah> On a n dimensional vector, you need (n+1)x(n+1) translation matrices
22:16:11 <Slereah> And the vector becomes (x1, x2, x3, ..., xn, 1)
22:16:17 <fizzie> I was sort of assuming homogenous coordinates by default.
22:16:34 <Bike> also taneb pretyt much specified this is all on the plane.
22:16:48 <Slereah> Well in that case the translation matrix is 3x3
22:16:52 <Taneb> Yeah, it's on a plane
22:16:57 <Slereah> And the vector transforms to (x,y,1)
22:17:46 <fizzie> Quite often you see those as 2x3 matrices with an implicit [0 0 1] at the bottom.
22:18:43 <fizzie> (Like in the SVG "matrix(a b c d e f)" transform attribute.)
22:18:52 <oerjan> good to see you are doing affine without me
22:19:12 <fizzie> 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 <fizzie> 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 <fizzie> "3 days ago" so in Internet time that's like six generations.
23:09:20 <nooodl> fizzie: cool. i hadn't seen it!
23:13:08 <Taneb> (I'd seen pictures of that, but not the actual video)
23:13:35 <quintopia> 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:15:02 <quintopia> but no guarantees i won't go stale
23:16:30 <fizzie> Can't you just put it into a gist or something?
23:18:30 -!- carado has quit (Ping timeout: 252 seconds).
23:18:30 <Slereah> Why are there "standard libraries"
23:18:41 <Slereah> Why not make them part of the language if they are standard
23:18:55 <olsner> err, that's what standard library means?
23:19:16 <Slereah> Well no, you still need to call them up
23:19:26 <Slereah> And they are themselves written in the language itself
23:20:23 <Slereah> Sure, but in the case they are, let's say
23:20:38 <Slereah> I am wondering why not just make them part of the language itself
23:20:57 <FireFly> I'm not sure if I see the distinction
23:21:22 <quintopia> "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 <Slereah> Well if it's part of the language it wouldn't be extra code technically
23:22:09 <fizzie> 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 <fizzie> (The C standard library certainly is part of the language, FWIW.)
23:23:21 -!- Phantom_Hoover has joined.
23:23:33 <quintopia> fizzie: meaning it is all inside the compiler somewhere?
23:23:50 <quintopia> ready to be tacked on to code without having to import?
23:23:53 <fizzie> I don't think that's what "part of the language" means.
23:24:07 <quintopia> i don't know what Slereah means either
23:24:33 <quintopia> so the SELECT. interpreter is here: http://rutteric.com/files/select.py
23:25:27 -!- prooftechnique has joined.
23:25:47 <FireFly> For small enough standard libraries, the "PHP model" makes sense, I think
23:26:03 <fizzie> For PHP, I'm not terribly sure it does.
23:27:38 <prooftechnique> What's "the PHP model"? Just pile stuff on whenever someone has an idea?
23:27:59 <fizzie> prooftechnique: <fizzie> I think that's called "the PHP model", where everything in the "standard library" is available in your global namespace by default.
23:28:27 <fizzie> Yes, I saw that, that's why I pasted it. It wasn't an accusation or anything.
23:28:47 <prooftechnique> I should get in the habit of checking the logs, though
23:31:16 -!- asie has quit (Quit: I'll probably come back in either 20 minutes or 8 hours.).
23:31:25 <FireFly> fizzie: PHP's isn't small though..
23:31:32 <FireFly> I was thinking more along the lines of Scheme or Lua
23:32:47 <Slereah> ...have you read your SICP today?
23:34:13 <fizzie> FireFly: R6RS and R7RS both have a module system. (Then again, they're larger.)
23:39:28 <fizzie> 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 <fizzie> ... 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:32 <olsner> 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 <fizzie> 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 <fizzie> (So far the PDF reader is probably the only new thing I've used.)
23:41:11 <olsner> I guess the real reason is that the new thing is unusable
23:41:42 <fizzie> Also the corner-based navigation is kinda clunky with multiple screens.
23:41:59 <fizzie> There's stops at the corners, so it can be used, but it's still clunky.
23:43:14 <quintopia> the only think i truly enjoy about windows 8 is the app store
23:43:45 <quintopia> totally engineering the UI around touchscreens is just annoying to a diehard keyboardist like me
23:44:00 <fizzie> I can't figure out how to use the application switcher.
23:44:37 <fizzie> 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 <fizzie> I'm sure there's some way, I just can't figure it out.
23:45:05 <fizzie> Possibly you're meant to swipe from somewhere, but I don't know how to do that with a mouse.
23:46:29 <fizzie> 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 <quintopia> you have a separate sits-on-your-desk mouse?
23:46:55 <fizzie> Um. Do most desktops not have one?
23:47:12 <fizzie> This is a regular computer I'm using.
23:47:15 <quintopia> most laptops have touchpads, and windows 8 was LAPTOP-ENGINEERED
23:47:37 <shachaf> Wasn't it TOUCHSCREEN-ENGINEERED?
23:47:42 <fizzie> I've got Windows 8.1 on the desktop, and Windows 7 on the laptop.
23:47:43 <shachaf> The world is all about touch these days.
23:50:20 <fizzie> "Touch one another!", like a Finnish TV personality from the early 90s used to say.
23:50:35 <quintopia> shachaf: which is why modern laptops have touchscreens
23:50:37 <fizzie> (That's kind of a bad translation of "Kosketelkaa toisianne!", arguably.)
23:51:10 <fizzie> (Guess it's still better than GT's "kosketelkaa each other".)
23:51:20 <quintopia> i assume he meant touch as in "touching" the adjective and not touch as in "fondle"?
23:52:06 <fizzie> It's very close to "fondle" in meaning, in fact.
23:52:24 <fizzie> http://en.wikipedia.org/wiki/Frank_Pappa_Show but it's just a stub. The .fi article knows more, but is in Finnish.
23:53:19 <fizzie> [[ The program is remembered, among other things, -- Frank Papa fly the phrases "Kosketelkaa each other!", "Relentless go!" and "Bailatkaa severely". ]]
23:53:37 <oerjan> fizzie: perhaps "hug" is closer but with fewer unfortunate associations to americans?
23:54:01 <prooftechnique> Maybe the Finns are just a more tactile and accepting culture
23:54:25 <oerjan> prooftechnique: that seems like exactly the opposite of my stereotype of finns.
23:54:27 <fizzie> oerjan: Mmmmaybe, but "kosketella" really has some of those unfortunate associations in Finnish too. I think it's just a thing.
23:57:32 <oerjan> but maybe i've misunderstood, and finns are all about touching as long as you don't speak while doing it.
23:59:35 <olsner> and as long as you don't tell foreigners, stereotypes to uphold etc
23:59:37 <prooftechnique> You may only speak to whisper "we shall never speak of this"