00:00:08 and the rest of the progress, exponential as it is, is irrelevant 00:00:12 I will disagree on the indication part. 00:00:44 (even though how is it exponential? Under what metric?) 00:01:04 lament: AI improves self, thus becoming better at improving itself. 00:01:14 AI improves itself better, thus becoming even better at improving itself. 00:01:18 ehird: ..... 00:01:20 AI improves itself way better, thus becoming even better at improving itself. 00:01:20 etc 00:01:30 ehird: all that happens *after* we get self-improving AI 00:01:34 well, this does go bac kto recursion theory 00:01:34 No duh. 00:01:37 AI discovers its hardware isn't powerful enough to run 00:01:44 ehird: so it's irrelevant to the current problem 00:01:50 ehird: which is that we don't have such an AI 00:02:02 also, AI might improve itself in some areas, but becomes less flexible doing so 00:02:19 Gracenotes: not necessarily. 00:02:32 just make it not improve itself at the expense of not being able to improve itself as much. 00:02:35 ehird: once we get the AI, it might take days or moments for it to become ridiculously smart, but that's irrelevant 00:02:35 after all, flexibility and power are not infrequently at odds 00:02:46 lament: And the theory of singularity states that eventually there will be such an AI. 00:02:46 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 00:02:47 lament: right; I'm not talking about that atm :-P 00:03:15 anyway, it seems common to me that people read a brief overview of things and instantly assume people haven't already thought it through very well 00:03:24 having this AI in the first place is still a binary condition. Just like having time travel is a binary condition 00:03:35 neither is particularly dependent on the overall rate of progress 00:03:42 on a completely irrelevant point, I like the word "combinatorially" for exponential growth that depends on some factor other than time, like size 00:04:10 Except that it seems very, very likely that we will achieve one, given that it is only a matter of time until we have the resources to simulate an entire human brain. 00:04:30 (by simulating the functioning of each individual neuron and having a map of the neurons in a human brain) 00:04:44 simulating a brain is not very relevant to the problem of improving it. 00:04:58 i doubt it's that simple 00:05:00 I strongly suspect there's better ways of *doing* that, but hey. 00:05:00 simulating a brain is mostly a technological challenge. 00:05:08 Hypothesis: the more a hypothesis is taken to ridiculous extents in bad science fiction, the less likely people are to entertain a reasonable version of the hypothesis. 00:05:18 (Someone make sci-fi that blows this out of proportion for the lulz, please.) 00:05:27 ooh! pick me! 00:05:35 analogy - I can play Mozart on the piano, but I can't write better music than Mozart wrote 00:05:48 And this simulation would quite likely be sufficiently intelligent to at least attempt to make itself better. 00:06:05 pikhq: ppl can make themselves better? 00:06:09 pikhq: you were only talking of simulating a human brain. Presumably it will be as intelligent as a human. 00:06:20 no, because they don't know exactly how are they built 00:06:22 pikhq: we can't simulate anything smarter than a human, because we don't know anything that's smarter 00:06:24 nooga: No, because we can't modify ourselves all that well. 00:06:35 yeah, you can expose an emulated brain to itself, is the kicker 00:06:41 if I were a machine, thinking about pros and cons, I wouldn't make myself better; I would make myself more powerful. 00:06:50 Gracenotes: see friendly ai 00:06:53 ehird: Humans have been studying human brains for centuries, with mixed and mostly disappointing results. 00:06:55 this can be coded around 00:06:55 but I don't know if machines will evolve with this weakness :) 00:07:02 What we need is computing power not just enough to run a human, but to run it faster than we do. 00:07:09 -!- augur has joined. 00:07:15 That way, it can spend the time learning how its brain works without us all falling asleep. 00:07:31 lament: Improvement of such a brain would, of course, not exactly happen overnight. 00:07:35 lament: because we don't have the ability to inspect a brain in every level of detail while it is running 00:07:39 so you expect that a net of neurons will magically learn how to design chips and instruct ppl where to put these chips? 00:07:47 ehird: it's a human brain. It will get bored and want to fuck. 00:07:54 lol 00:07:57 castrate it! 00:07:58 So simulate it fucking. 00:08:00 ehird: then it will realize it has no body, and get really fucking upset 00:08:22 i dont know what you kids are on about but lol 00:08:24 it won't realise anything 00:08:31 nooga: Just like a net of real neurons does, yes. 00:08:32 :P 00:09:25 brain simulation will be, at best, on a level of drooling infant 00:09:30 ehird: there're two possibilities, either simulating a human brain, which will not give you any new power over the billions of human brains already available; or creating something better than a human brain, which is hard. 00:09:52 nooga: Sweet -- it can learn! 00:09:53 -!- inurinternet has quit (No route to host). 00:09:55 lament: or creating something not as good as a human brain, but with a distinctive thing it's good at: improving itself. 00:10:07 ehird: unfortunately that's magic 00:10:07 It's like outsourcing to india except without the whole terrible programming thing. 00:10:12 So's your mom. 00:10:12 pikhq: how will it learn to learn? 00:10:21 ehird: this involves somehow making this thing, which is exactly what we can't 00:10:28 nooga: because you're simulating neurons. 00:10:29 How does a human? 00:10:33 your brain is made out of them 00:10:35 pikhq: wait. 00:10:35 ehird: simulating a brain is a technological challenge; we know what to do, just not how 00:10:37 nooga doesn't learn 00:10:41 that's why he's so stupid! :DDDDDDDDDDDDD 00:10:49 ehird: making a brain that's good at improving itself is something we don't know how to do 00:10:53 lament: what you're saying is "I can't, and it hasn't been done" 00:10:56 lament: We can simulate a brain, though. Just not a very complex one. 00:11:01 that is not a statement that lasts for eternity. 00:11:09 Last I checked, we could simulate an earthworm's brain. 00:11:16 ehird: correct. Just as with time travel. 00:11:31 pikhq: How does a human? << nobody knows exactly (?) 00:11:48 lament: except it's arguable whether time travel works with physics. I don't see any argument that a mind that changes itself is impossible, and I don't believe there is a good argument. 00:11:54 ehird: it's just that you were saying it will happen soon, when in reality there's absolutely no indication that it will happen ever 00:11:56 nooga: we don't have to know if we simulate all the neurons 00:12:02 ehird: since we don't know how to do it 00:12:09 lament: ... But we do. 00:12:11 lament: we didn't know how to make computers 100 years ago 00:12:21 babbage, then, is on crack. 00:12:21 ehird: probably, the details are crucial here 00:12:29 he's just wildly theorizing and we'll never make a compute. 00:12:29 r 00:12:34 the brains will be upset that they are programmed in C, instead choosing to program themselves in high-performance Haskell! 00:12:34 pikhq: by "it", if you weren't following the conversation, i meant "simulating a brain that's like a human brain, but good at improving itself" 00:12:44 * pikhq tries to find the report of the guys running a simulation of a brain. 00:12:52 pikhq: since obviously just simulating a brain is not enough to solve any problem 00:13:29 it's like an effort: let's make a submarine! i saw one! and then you go to a scrapheap buy tons of metal and weld it to resemble a submarine 00:13:38 that "but good at improving itself" part is magic - there's no indication we can even do this 00:13:45 -!- augur has quit (Read error: 104 (Connection reset by peer)). 00:13:49 let's make brain! i saw one! it has neurons and everything 00:13:51 "let's build a ship that's just like a regular ship, but flies faster than light" 00:13:59 -!- augur has joined. 00:14:02 nooga: that's a very bad analogy. 00:14:05 we _know_ how neurons work. 00:14:15 An intelligence that could modify itself could. 00:14:18 we _know_ how to simulate a glob of neurons. 00:14:22 we've _done it_. 00:14:28 it's just a matter of scale. 00:14:57 and how do you know that simulation was correct 00:14:58 ehird: sure, simulating a brain is easy. 00:15:09 It's a matter of slicing up a cadaver's brain very, very thinly and noting exactly where every single neuron interconnects and sticking it into a neural net. 00:15:21 lament: we've agreed. nooga is just busy being wrong 00:15:40 pikhq: connections are dynamic 00:15:54 AFAIK 00:15:56 no shit 00:16:01 nooga: Yes, we know that. 00:16:13 pikhq: brains are a lot more complex than that, but we could just take it apart atom by atom and simulate that :) 00:16:23 pikhq: It's a matter of slicing up a cadaver's brain very, very thinly and noting exactly where every single neuron interconnects and sticking it into a neural net. << then you would end up with a learned brain 00:16:28 lament: simulating any region of space with our current physics requires infinite computation, IIRC 00:16:32 pesky quantum physics 00:16:33 probably a stupid one 00:16:43 and choosing different random number generators would result in mood swings 00:16:58 nooga: your hypothesis ONLY WORKS if there is a metaphysical, outside-the-brain, soul/mind. 00:16:59 ehird: anyway this whole issue is irrelevant to the actual problem 00:17:04 nooga: We've done that, just not with a very complex brain. 00:17:05 Otherwise, it is exactly the person scanned. 00:17:10 which is developing an AI that can improve itself 00:17:18 uhm 00:17:20 nooga: and if you believe in such a soul, I don't care; it's unscientific, irrelevant and I reject it as an argument 00:17:21 there's no soul 00:17:34 then the brain is the mind and the mind we run will be the brain we scan. 00:17:35 humans have studied brains for centuries but don't know how to improve them, even theoretically 00:17:36 it's riddiculous 00:17:42 and there's no capacity for it to be a learned, stupid brain. 00:19:49 i htink that humen brain is suited to process input data from humans body and such crap as feelings + remembering and forgetting etc etc 00:20:03 feelings/remembering/forgetting are due to neurons and chemicals. 00:20:12 if you build a silicon copy of that it would stay in constant darkness 00:20:18 no 00:20:21 it would just be blind. 00:20:28 you're arguing that blind people are useless? 00:20:30 lament: Because we don't have a complete neuron map of it, of course. 00:20:31 cool story bro 00:20:33 blind/deaf everything 00:20:41 anyway, we can probably give it sensors. 00:20:50 do you know how to feed data right into the brain? 00:20:59 like video streaming or what? :P 00:21:09 pikhq: having the map is not enough - we need to understand how to change the map to make the brain smarter 00:21:18 and all the inputs! 00:21:29 inputs are hard 00:21:30 i like to think of memory as analagous to a sense 00:21:33 The brain is really flexible. We can stick video input on just about any input and the brain figures it out. 00:21:41 i/o is hard 00:22:16 nooga: Don't have to get it to the right place. 00:22:17 Neuroplasticity means it just has to get into the brain at all. 00:22:30 (see: vision via tongue) 00:22:36 remember that we've been evolving for a good amount of years to be resilient and accept a bunch of inputs and the lik 00:22:36 e 00:22:52 if it were überstrict about how everything was put together, there'd be a lot more dead people. 00:22:56 we've been evolving for a good amount of years and still aren't terribly bright 00:23:08 ah 00:23:21 lament: evolution doesn't care about whether we're clever or not. 00:23:29 it does, however, care about us surviving until we breed a lot. 00:23:30 ehird: it obviously does 00:23:35 lament: to a degree 00:23:37 so you will hook up internet connection into that electronic spinal cord and kaboom 00:23:44 chat with your digital brain on irc 00:24:04 that happened in Achewood. 00:24:26 because you expect that it would magically lean to produce "papa" string and irc message by recieving tons of irc messages 00:24:51 nooga: You're not familiar with neuroplasticity at all, are you? 00:25:00 no 00:25:05 he's polish. they're all dumb >:) 00:25:11 (sameple size 2 :D) 00:25:24 That's what would happen, except that it would be creating a lot of syntactically invalid IRC at first. 00:25:27 ;) 00:25:33 And I mean a *lot*. 00:25:40 .ckjstjio4ut98euf89dfug9fjditaerjkaH*&!&*@%^1378`19999v f hkj lk 00:25:43 kju ir8y389w444u938 00:25:45 Oh, hi guys 00:25:50 Whoa, I c an do this by thinking? 00:26:02 =.=' 00:26:13 Sex, must breed I wonder if it gives MUST BREED all my th OH GODDAMN I DON'T HAVE ANY ORGANS oughts? 00:26:13 ehird: that was quite rude 00:26:24 ↑ the first artificial brain's words 00:26:29 nooga: :D 00:27:36 okay 00:27:43 i've read today about teaching maths 00:28:15 wow, I feel so special reading manga right to left. Amn't I special or something. riiiight. 00:28:38 and the paper said that infants can't count, they even don't know that counting is possible and exists 00:28:40 (although to be fair I can read hebrew, albeit vowelled) 00:29:15 but somehow the notice which figure depicts eg. more squares (they seem to like that one more and get upset when squares disappear) 00:29:36 where did they learn that? IN MOTHER'S TUMMY? 00:29:55 DIRECT FROM GOD 00:29:59 PRAISE BE UNTO HIM 00:30:02 there's no such thing? 00:30:03 AND HIS SQUARE COUNTING POWERS 00:30:08 nooga: HEATHEN! 00:30:41 fuck god 00:30:47 Hawt. 00:30:49 it's instinct or something? 00:31:04 how do you put instinct in artificial brain? 00:31:32 the most highly rated heuristics? 00:32:02 and do you know how to write that into the brain? 00:32:14 "YouTube is down for maintenance and will be back shortly." 00:32:17 noooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 00:32:21 nooga: INSTINCT IS PART OF THE NEURONS!!!!! 00:32:21 what input laguage would you choose to program blank brain 00:32:24 THE. BRAIN. IS. NEURONS. 00:32:27 NEURONS. 00:32:30 NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS NEURONS 00:32:31 = BRAIN. 00:32:33 got it‽‽‽‽‽‽‽ 00:32:34 dogs have neurons 00:32:39 humans have neurons 00:32:41 No shit sherlock 00:32:42 Yes. 00:32:42 mice also 00:32:43 Yes. 00:32:46 Yes. 00:32:49 even spider has some 00:32:53 AMOEBAE HAVE NEURONS 00:32:54 Wait, no. 00:33:03 There's attempts to get an entire mouse brain going. 00:33:21 INTERROBANG EFF YEAH 00:33:31 Gracenotes: LAWLWUT‽ 00:33:37 but how it's done that we don't lick our balls and so 00:34:09 nooga: ... Neurons... 00:34:10 I program in brain 00:34:27 Would you prefer for use to have a complete model of human cells and go from there? 00:34:38 Not going to be too long before we can do that. 00:34:48 s/use/us/ 00:34:53 pikhq: neurons what 00:34:57 -!- Dewio has joined. 00:35:16 nooga: The entire state and functioning of the brain is encoded in neurons. 00:35:23 okay 00:35:29 how to set the initial connections 00:35:32 We don't have to write into it what is already there. 00:35:33 before running the brain 00:35:41 We take a map of the human brain. 00:35:53 00:33 nooga: but how it's done that we don't lick our balls and so 00:35:55 AHAHAHAHAHAHA 00:35:55 XD 00:36:08 And use that for the initial state. 00:36:18 That's all there is to it. 00:37:18 After that, we go into researching how to modify that while trying to get I/O connections working and get that brain working on the same. 00:37:21 -!- labo has joined. 00:37:36 (no guarantees, it might want to do something else entirely -- in which case we start another brain. :P 00:38:21 and the copied personality gets consciousness and he's like "omfg, i'm deaf, i'm blind, i can't move or say anything, what a fucked up dream.... wait' what's that tingling?" 00:38:56 and that tingling is a video stream from camera and an internet connection hooked up to the digital brain ;p 00:39:14 And eventually that tingling will reroute to the neural cortex. 00:39:30 okay 00:40:17 connect a network cable to your spinal cord and observe how fast you will start to browse porn in your head 00:40:51 /sigh 00:40:57 ehird: Nooga really doesn't get the "we already can do this" bit, does he? 00:41:01 pikhq: nope. 00:41:03 * Tidus35 hops out of nowhere to comment. In order for a digital system to host a conciousness it would probably need an inherent unpredictability/randomness with which that conciousness could wield it's free will. 00:41:20 that'd require learning whole new language of impulses 00:41:32 and interpretation of that language 00:41:42 nooga: And the brain can do this. 00:41:51 eg. seeing jpg in your head would require decoding it and such 00:41:56 Tidus35: Free will is an illusion. 00:41:59 subconsciously 00:42:02 There is no such thing. 00:42:49 I would have to wonder also, is there a hierarchy of wills 00:43:17 ehird: you don't have free will? is it fate or what that drives you? 00:43:41 nooga, they say it's no single factor, but a combination 00:43:42 I am merely a collection of atoms firing according to quantum mechanics. 00:43:51 sure 00:43:54 I have a subjective perception of some kind that I call a consciousness. 00:44:01 None of this I have any actual control of. 00:44:11 because there is no "I". 00:44:22 human can't imagine that 00:44:45 imagine what 00:44:50 this is consciousness, you can't imagine a situation that you don't exist, from your point of view 00:44:58 * Tidus35 suspects that if anyone can get to the bottom of such mysteries it is you esoteric language coders. 00:45:39 nooga: Of course consciousness cannot "imagine" unconsciousness, because unconsciousness is the lack of imagining. 00:45:43 hm 00:46:09 computers and neurons have been associated for over 60 years 00:46:25 you are on the right track 00:47:24 ehird: you mere bunch of atoms. what is a number? 00:47:37 nooga: A number is an abstract concept. It does not "exist". 00:47:43 okay 00:47:49 correct 00:48:01 -!- Dewi has quit (Read error: 101 (Network is unreachable)). 00:48:42 so mere bunch of atoms can change it's state to "imagine" something that does not exist and is not a bunch of atoms 00:48:46 that's something 00:49:17 Sure. Brains are pretty cool. 00:50:10 I had an idea before of distributed programming.. where every person only writes 1 function 00:50:18 but with say 10,000 programmers 00:50:27 Tidus35: that woul be a bit of a mess 00:50:29 hmm, brain is not digital at all, but dna and stuff is 00:50:44 Tidus35: linux kernel development? had been done 00:51:08 ;D 00:51:34 there isn't a good way to get 10,000 programmers. 00:51:39 you would begin with someone writing the top level function.. and so on.. with more and more people being sent requests for functions until the whole thing is fleshed out 00:51:49 it's quite unlikely to compile :) 00:52:51 maybe rather: request a function that reads some input data and returns some data + documentation of that output data 00:53:05 then send the documentation to another coder 00:53:37 and then chain the programs 00:54:19 ehird: we just need to let the Empire run things! 00:54:23 and the requirement would be that the program must calculate output data from input data 00:54:58 i actually got scared by the idea, imagining an ant or bee colony 00:55:58 qite asynchronous colony with a bunch of slackers that drink coffee and fap to the internet 00:56:58 hm 00:57:07 nooga, i'm very newbie so i wouldn't have the faintest clue how linux kernels are coded. *phew* 00:57:14 "linux kernels" 00:57:16 there's only one. 00:57:20 see 00:57:28 Tidus35: Are you familiar with git? 00:57:55 Git was developed because Linux needed it. 00:57:57 bitkeeper lol 00:58:19 Linus gets hundreds of patches daily, I'd imagine. 00:58:26 our machine laguages and even programming languages are at beast only a bit abstract 00:58:42 Says someone who does no functional programming at all. 00:58:43 that's stupid 00:58:56 oh noez 00:59:12 even haskell or erlang are only a bit abstract 00:59:28 fibs = 0:1:zipWith (+) fibs (tail fibs) 00:59:33 That's only a bit abstract? 00:59:37 Actually... 00:59:40 > fibs = 0:1:zipWith (+) fibs (tail fibs) 00:59:41 : parse error on input `=' 00:59:49 > let fibs = 0:1:zipWith (+) fibs (tail fibs) 00:59:51 not an expression: `let fibs = 0:1:zipWith (+) fibs (tail fibs)' 00:59:53 Erm. 00:59:53 > let fibs = 0 : 1 : zipwith (+) fibs (tail fibs) in fibs 00:59:55 Not in scope: `zipwith' 00:59:56 > let fibs = 0:1:zipWith (+) fibs (tail fibs) in fibs 00:59:57 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 01:00:01 noooooooooooooo ya beat me. 01:00:08 but yeah, nooga, you're an idiot 01:00:14 functional programming languages are basically mathematics. 01:00:24 basically 01:00:31 Haskell is a typed lambda calculus. 01:00:35 basically, yes, because pure mathematics would be useless. 01:00:39 It doesn't get *much* more abstract than that. 01:00:49 pikhq: note that haskell relies on names 01:00:53 e.g. the Y combinator doesn't type 01:00:58 but fix f = f x where x = fix f does 01:01:06 (you can make it type with a "newtype", which is... a name.) 01:01:09 ehird: Eh, fair enough. 01:01:20 the regular typed LC is also not tc 01:02:09 music is over 9000 times abstract than haskell 01:02:11 Still, it doesn't get much more abstract than that, barring straight lambda calculus. 01:02:31 more* 01:02:38 Funny, it seems to have very few abstractions. 01:02:41 nooga: apples, tables. 01:03:03 * pikhq suspects nooga is not familiar with music theory at all 01:03:29 music theory is a theory 01:03:35 theory: polish brains aren't based on neurons 01:03:36 Just note that music is in large part defined by various physical properties. ;) 01:03:36 ... wait. 01:03:39 Is nooga about to say that, 01:03:40 music theory 01:03:42 is just a theory 01:03:44 you can break it whenever you like 01:03:44 and music isn't based on it 01:03:46 in practice? 01:03:49 it is 01:03:51 of course 01:03:54 Figure A. ehird stabs nooga. :P 01:04:05 nooga: That ain't very abstract, now is it? 01:04:42 you can't break the lambda calculus rules because you want and expect that the program will execute 01:04:53 there aren't any invalid LC programs 01:04:59 barring syntactical errors, which are trivial and irrelevant 01:05:27 When the only general notation for something is a recording of the sound itself, uh... Yeah. That's about as unabstract as you can get. 01:06:11 ok eot i'm completely wrong 01:06:13 excuse me 01:06:28 (a subset of music, that which can be written with Western musical notation, is more abstract than that, of course. It's still not very abstract. It's in large part based in physics...) 01:06:31 have we ever agreed with nooga? :D 01:06:41 :D 01:06:51 * nooga is smoking an abstract ciggarette 01:07:05 * nooga has enormous blood pressure atm 01:07:11 ciggarette? the extra g means jiggawhat 01:07:19 Googling: 01:07:20 http://answers.yahoo.com/question/index?qid=20070404113712AAOlzkz 01:07:21 cigarette* 01:07:23 "How do u smoke a ciggarette?" 01:07:24 typo 01:07:27 /facepalm 01:07:44 faceppalm 01:07:47 * ehird frames "How do u smoke a ciggarette?", puts on wall 01:08:29 ehird franes "How do u smokke a ciggarette?", puts on wall 01:08:48 smokke, sounds a bit norwegian 01:09:52 strijewzica, sounds polish 01:10:59 stewpid, sounds british 01:16:02 ;> 01:22:29 ehird: The Expr used above, is that in Text.Parsec.Expr, or what? 01:22:58 nope 01:23:13 pikhq: sec 01:23:14 What is it, then? 01:23:17 pikhq: http://twan.home.fmf.nl/blog/haskell/simple-reflection-of-expressions.details 01:24:38 hmm 01:24:46 -!- labo has left (?). 01:24:47 ehird: Spiffy. 01:24:48 cool, GHC integrates with xcode 01:24:56 no it doesn't? 01:25:00 > gcd 1 2 :: Expr 01:25:01 abs 1 `rem` abs 2 01:25:04 oh 01:25:18 i implied that from the statement that it NEEDS xcode 01:25:26 which statement 01:25:34 what, where 01:25:44 This is an installer for Mac OS X 10.5 (Leopard). The package requires Xcode 3.0 to be already installed. 01:25:45 I'd assume that's because Xcode is where you get GCC in OS X. 01:25:52 http://www.haskell.org/ghc/download_ghc_6_10_3.html#macosxintel 01:25:52 what pikhq said 01:26:05 use macports fag 01:26:08 sudo port install ghc 01:26:19 sudo port install hs-cabal 01:26:20 done 01:26:23 shouldn't they write that it needs GCC then? 01:26:32 it's to make things simple 01:27:53 okay, now i can go to sleep instead of waiting for it to compile 01:28:02 → 01:28:38 -!- jix has quit ("really"). 01:28:55 jix noticed the arrow? 01:29:19 ;} 01:30:38 ehird: could you please recommend some books on haskell ? 01:31:18 once i've tried haskell, but then i've just read a simple tutorial 01:44:27 http://www.learnyouahaskell.com/ 01:50:55 > let 2+2 = 5 in 2+2 01:50:57 5 01:52:27 almost like Why's ruby book 01:52:37 > let 4 = 5 in 4 01:52:38 4 02:00:04 cool 02:00:44 > let id 4 = 5 in id 4 02:00:45 5 02:26:16 -!- upyr[emacs] has quit (Remote closed the connection). 02:28:31 ghc is compiling for hours :| 02:28:55 You screwed something up. 02:29:10 ... Oh, building GHC itself? 02:31:08 yep 02:31:52 vvl, sleep 02:31:54 bbl* 02:42:44 -!- iEhird has joined. 02:43:33 Anmaster: I 02:43:37 oops 02:44:01 iEhird: you know you're in violation of apple's trademark 02:44:33 may have forgot. set wifi to first intel card in list since better drivers, does 5ghz and only costs a few pounds 02:44:37 comes 02:44:40 x 02:44:51 apple can fuck off :p 02:44:54 -!- iEhird has quit (Remote closed the connection). 03:50:21 -!- oerjan has quit ("Good night"). 03:59:05 -!- nooga_ has joined. 04:12:58 -!- nooga has quit (Read error: 110 (Connection timed out)). 04:16:48 -!- FireFly has joined. 04:56:03 :t replicate 04:56:05 forall a. Int -> a -> [a] 04:56:15 > replicate 12 "badger" 04:56:16 ["badger","badger","badger","badger","badger","badger","badger","badger","b... 05:04:56 I'm writing a theorem prover that uses science! 05:06:22 > cycle "badger" 05:06:23 "badgerbadgerbadgerbadgerbadgerbadgerbadgerbadgerbadgerbadgerbadgerbadgerba... 05:06:30 cycle "badger ", my friend. 05:06:51 > repeat "badger" 05:06:52 ["badger","badger","badger","badger","badger","badger","badger","badger","b... 05:06:56 I still fail at haskell :pp 05:07:00 *:p 05:07:08 > 'B' : cycle "adger, b" 05:07:09 "Badger, badger, badger, badger, badger, badger, badger, badger, badger, ba... 05:07:38 > length (repeat "badger") 05:08:14 > cycle "mi nelci lo du'u " 05:08:16 "mi nelci lo du'u mi nelci lo du'u mi nelci lo du'u mi nelci lo du'u mi nel... 05:08:31 That's Lojban for "I like the fact that I like the fact that I like the fact that . . ." 05:09:24 Haskell-generated Lojban. How appropriate. 05:11:16 > let badgers = "Badger, badger, badger, badger, badger, mushroom mushroom! " : badgers in badgers 05:11:17 ["Badger, badger, badger, badger, badger, mushroom mushroom! ","Badger, bad... 05:11:36 Hrmm. Not quite what I wanted. 05:11:41 Funny, though. 05:11:46 > let badgers = "Badger, badger, badger, badger, badger, mushroom mushroom! " ++ badgers in badgers 05:11:47 "Badger, badger, badger, badger, badger, mushroom mushroom! Badger, badger,... 05:15:16 buffalo buffalo buffalo buffalo buffalo buffalo 05:20:14 > let process x = unwords x; nelci [x1,x2] = x1 ++ ["nelci"] ++ x2; mi = ["mi"]; lo selbri = "lo" : selbri; duhu bridi = "du'u" : bridi in process (fix (\x -> nelci[mi,lo (duhu x)])) 05:20:16 "mi nelci lo du'u mi nelci lo du'u mi nelci lo du'u mi nelci lo du'u mi nel... 05:20:24 Fun, no? 05:26:33 I need to make a Haskell function for n-Buffalo. 05:26:57 Or even a corecursive list, if I can. 05:49:48 pikhq: you need more badgers 05:49:58 12, to be precise. 05:50:05 augur: Shaddup. 05:50:08 no u 05:54:50 >repeat ((take 12 (repeat "badger, ")) ++ "mushroom, mushroom! ") 05:54:56 > repeat ((take 12 (repeat "badger, ")) ++ "mushroom, mushroom! ") 05:54:58 Couldn't match expected type `[GHC.Types.Char]' 05:55:01 D: 05:55:19 wat i do 05:55:58 > repeat (join (take 12 (repeat "badger, ")) ++ "mushroom, mushroom! ") 05:56:00 ["badger, badger, badger, badger, badger, badger, badger, badger, badger, b... 05:56:10 lame lambdabot 05:56:18 > join (repeat (join (take 12 (repeat "badger, ")) ++ "mushroom, mushroom! ")) 05:56:19 "badger, badger, badger, badger, badger, badger, badger, badger, badger, ba... 05:56:27 still lame! 06:13:33 -!- kar8nga has joined. 06:42:10 -!- kar8nga has quit (Remote closed the connection). 06:42:53 You know what languages are really interesting? The languages which are provably impossible to implement. 06:42:58 Examples include C++ and Perl. 06:44:26 bool doesHalt(void(*func)(), int stdin); 06:44:46 C++ cannot be compiled. 06:45:09 Only the subset of C++ for which its templates halt can be compiled. 06:46:40 ............. I just saw a commercial for "Do not Murder" 06:46:54 Um ... OK? I'm glad these things are advertised or I wouldn't know. 06:51:03 Wha? 06:52:08 It was a commercial ... for "Do not Murder" 06:53:04 That's weird. 06:53:27 Also weird is that C++ essentially is two functional programming languages compiling to an imperative one. 06:53:31 It started with a recording of some 911 call where somebody had apparently accidentally killed her friend I guess (apparently this is murder, whatever), and then it said "Do not Murder" 06:53:34 And I went "...?" 06:53:50 ...? 06:54:01 -!- immibis has joined. 06:56:41 GregorR: how did the recording go? 06:57:24 Something like, 06:58:20 "Oh my god, I think she's dead, you've got to help me, oh my god." "Ma'am, where are you? Can you tell me what happened?" "Oh my god, help me, please, I think she's dead" 06:58:27 There was really no content. 07:00:30 That's bizarre. 07:02:54 -!- FireFly has quit ("Later"). 07:11:45 So anyway, like, don't murder. 07:11:51 I saw it on TV. I think it's bad or something. 07:11:54 So like, don't do it. 07:21:19 -!- pikhq_ has joined. 07:22:19 -!- pikhq has quit (Nick collision from services.). 07:22:25 -!- pikhq_ has changed nick to pikhq. 07:41:06 -!- pikhq_ has joined. 07:41:54 -!- pikhq has quit (Nick collision from services.). 07:42:00 -!- pikhq_ has changed nick to pikhq. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:56 -!- pikhq_ has joined. 08:06:41 -!- tombom has joined. 08:16:08 -!- pikhq has quit (Read error: 110 (Connection timed out)). 08:23:44 -!- pikhq_ has changed nick to pikhq. 08:29:35 -!- olsner has quit ("Leaving"). 09:59:17 -!- pikhq_ has joined. 10:05:43 -!- deveah has joined. 10:09:09 -!- pikhq has quit (Read error: 110 (Connection timed out)). 10:21:55 -!- MigoMipo has joined. 10:33:43 -!- immibis has quit ("Never put off till tomorrow, what you can do the day after tomorrow"). 10:39:15 -!- ais523 has joined. 10:50:23 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it"). 11:32:19 -!- asiekierka has joined. 11:32:31 hi 11:32:54 Brainf**k for the Psion 3a: 5%, finally found out "The Proper Way To Do File I/O"(tm) 11:33:14 Why so much brainfuck 11:33:24 Isn't there a brainfuck for everything nowadays? 11:33:27 Nope 11:33:32 There is no Brainf**k on a Psion 3a 11:33:36 I'm sure of that 11:33:36 Are you gonna make a brainfuck for iPhone? 11:33:43 Slereah: No, as i don't own an iPhone 11:34:18 And I selected Brainf**k because I need to learn OPL well 11:34:27 (the Psion Series 3/3a/3c/3mx programming language) 11:34:49 OPL? 11:35:04 Organiser Programming Language (at the time of Psion 3a's and when Psion was in the PDA market) 11:35:06 O Programming Language? 11:35:16 after they went out of the PDA market, it became Open Programming Language 11:46:24 OPLainf**k: 20% (. > < implemented) 11:46:46 remember i'm typing it on a tiny keyboard 11:50:10 Ok, + - , implemented too now 11:50:15 Now the worst one: [ and ] 11:50:34 Not going to implement a stack as my Psion is 256k 11:50:40 though there are Psion's with RAM up to 2MB 11:50:50 and you can modify a 256k model to be a 512k model 11:50:52 but nah 12:06:41 -!- Sgeo has joined. 12:42:59 Cat works on my BF for the Psion 3a 12:43:19 can you nest [ and ]? 12:43:27 Didn't check but it should 12:43:30 and how long would Lost Kingdoms take to run? 12:43:38 ais523: ERR: NOT ENOUGH MEMORY 12:43:43 ah, good point 12:43:44 (The Psion 3a can have up to 2MB of RAM 12:43:48 it's more than 256k, isn't it? 12:43:52 yup 12:43:56 remember the OS takes 80kb 12:44:00 and then the files in RAM 12:44:02 the mandelbrot program, then 12:44:05 and then the interpreter itself 12:44:08 ais523: 8-bit cells 12:44:12 asiekierka: What's wrong with implementing a stack in 256k? Isnt that plenty of room for a 256 word stack? (which is probably all you would need) 12:44:20 amca: Nah, too lazy :P 12:44:22 But I'm using the same algorithm as my PC interpreter 12:44:33 which can run lost kingdom 12:44:38 asiekierka: Counts [] pairs? 12:44:42 amca: Yep 12:44:52 asiekierka: Did u finish the pong? 12:44:56 amca: Nope 12:45:52 Slereah_: Can I ask what esoteric language would be better to implement than BF? 12:46:00 BF is pretty easy 12:46:05 ais523: Yup, I know 12:46:06 cyclic tag is often easier, though 12:46:17 http://esolangs.org/wiki/Bitwise_Cyclic_Tag is one particular formalisation of it into a language 12:46:19 ais523: I'm not sure if OPL has dynamic ariables 12:46:25 variables* 12:46:31 that's why I dunno if a stack would work 12:46:34 as it would need to be dynamic 12:46:40 does it have dynamic arrays? 12:46:43 asiekierka: No it wouldnt 12:47:04 amca: But you can never have enough stack memory 12:48:16 asiekierka: Well, by the same token, you can never have enough of any memory, so you just choose the appropriate level of 90% of applications 12:50:24 Studies show most apps only require stacks 16 levels deep. It may be different for BF, but that is easily tested by running common BF programs in it and keeping track of the maximum needed for each program, then choose a level that will suit most of them 12:50:40 -!- upyr[emacs] has joined. 12:50:56 amca: Also, I think I need to optimize my BF interpreter in 8086 assembly 12:50:58 lags as hell 12:51:14 yes, a Psion 3a runs on a 8086 (clone i think?) 12:51:20 What is it currently implemented in? 12:51:33 OPL 12:51:37 which is compiled/interpreted 12:51:42 probably more of the latter TBH 12:52:15 The problem is that addresses can be from $0 to $200000 12:52:20 and I only have 16-bit registers. 12:52:46 But you have access to the segment registers right? 12:52:50 ... 12:52:52 Lemme check. 12:53:37 That makes 64k for code, 64k for data and 64k for stack 12:53:38 I have BX, CX, DX, SI, DI 12:53:47 but this is not typical MS-DOS :P 12:53:58 this is SIBO (SIxteen-Bit Os or something) 12:54:10 No CS, SS, DS or ES? 12:54:16 probably not 12:54:22 as these are used by SIBO 12:54:25 AFAIK 12:55:39 Are syscalls done using ints? 12:55:49 yes 12:55:54 well, integers 12:55:58 I think they're 0-65535 12:56:04 No, I mean INT ops 12:56:14 As in Interrupts 12:56:33 Or are they called/jump blocks? 12:56:45 they are called interrupts 12:56:50 Wait 12:56:54 si%=ADDR (cosArg) 12:56:56 in the example 12:57:08 So if the ADDR can fit into si, di 12:57:10 no problem 12:57:33 Is the doc for this online? 12:57:49 Well 12:57:54 You can download it in various formats 12:58:12 url? 12:58:25 -!- ehird has left (?). 12:58:54 ugh 12:58:55 can't find it 12:58:57 DCC or email? 12:59:02 and PDF or HLP? 12:59:05 wait 12:59:07 i can't find the PDF 12:59:10 -!- ehird has joined. 12:59:13 bugger 12:59:54 00:30 nooga: ehird: could you please recommend some books on haskell ? 12:59:58 what pikhq said :p 13:00:11 01:28 nooga: ghc is compiling for hours :| 13:00:13 it does that 13:03:08 why don't people just use binaries of stuff that's hard to compile? 13:03:16 is it a source-for-everything mentality? 13:03:27 ais523: macports is a source-only package manager 13:03:53 ais523: and official os x installers for unix-like software always disagree whether to put stuff 13:03:55 you'd think that with macs only having two architecture configurations, doing it via binaries would work well 13:04:01 /usr, /usr/local, ooh, or trample on macports with /opt/local! 13:04:14 ais523: the issue is that it's not a very consistent unix underneath 13:04:24 macports just makes it all smooth 13:04:32 in return you have to wait a while for big stuff 13:04:37 Improved it 13:04:44 By joining the main procedure and the parsing procedure 13:04:47 got like 2x faster 13:05:07 ais523: btw ghc isn't _hard_ -- setting up the build just involves running ./configure (iirc), maybe making a config.mk file, and typing 'make -j(cores*1.5)' and letting it rip for hours 13:05:23 -j3 is so much ridiculously faster than -j1 on this box 13:05:30 literally 3x compile time speedup 13:05:32 why times 1.5? 13:05:38 ais523: for IO-bound stuff 13:05:44 it's widely recommended 13:05:51 i'm sure it's been thought through properly :P 13:05:59 ais523: also scheduler stuff iirc 13:06:20 i don't really know, but everyone tells you to do it 13:06:44 so what do I set -j to on my single-core laptop over here? 13:07:00 don't :P 13:07:11 but -j1. 13:07:14 not to 2? 13:07:28 ais523: well, it might help with some things. 13:07:30 but i doubt it 13:07:43 this is an irrelevant discussion in ~3 years when you can't buy single-core cpus any more :P 13:08:57 Another speedup, made it stack-based 13:09:51 what are we codinerating? 13:09:57 by we i mean as 13:09:58 asiekierka: 13:10:11 ... 13:10:16 Brainf**k for the Psion 3a 13:10:20 the point is I already coded it 13:10:39 ah 13:10:44 Though writing the code from the Psion to the PC (as I don't have a Psion<>PC cable) would take a while 13:10:47 but it works 13:10:53 and runs Hello World in less than a second! :D 13:11:15 that psion does look like a pretty crap subnotebook :P 13:12:08 It's an organiser on which you can code stuff 13:18:54 -!- upyr[emacs] has quit (Remote closed the connection). 13:21:03 -!- upyr[emacs] has joined. 13:32:02 Speaking of the Android phones (except that we weren't), HTC seems to have announced their third (keyboardless again, like the second one was) Android phone. 13:32:23 Finally, finished the BF interpreter for the Psion 13:32:31 it's quite fast and it's 960 bytes 13:33:30 fizzie: I couldn't buy a non-iPhone keyboardless phone. Even with the amount of hacks and tweaks in Apple's, it's still annoying, so I can't imagine what any lesser one would be like... :p 13:35:12 Hey, the new HTC Hero has its own custom UI (called "Sense") which supposedly adds hacks and tweaks. Of course it probably sucks. 13:35:29 I like the word "lesser" there, though. 13:36:24 Show me another tech company with as much attention to detail as apple and I'll show you an apple acquisition target :P 13:36:26 * ehird attempts to figure out what the fuck http://angelbase.com/main/home/home.php is 13:36:42 my initial yuk-yuk thought was using the astral plane to compute or something 13:36:45 i really can't figure it out 13:37:15 [[>It's just basically a "slide show." It's not real software. Consequently, it may perform slowly. The real AngelBase software does not yet exist. But when it does, it is anticipated to perform extremely fast. 13:37:16 13:37:18 My Pretty Pony isn't a real pony. Consequently, you might have difficulty appreciating its prettiness. The real pony does not yet exist, but when it does I expect it will be very pretty.]] 13:37:21 —reddit 13:37:21 ehird: now you've said that, you're making me wonder if NetHack is somehow TC, barring memory restrictions 13:37:28 :D 13:37:44 i love how a slideshow supposedly performs more slowly than actually doing the computation 13:38:25 Hey, Wikipedia has added "Android (operating system)" directly on the main Android (in the sense of a type-of-robot) page; it used to be just in the separate disambiguation page. I think I'm going to assume that's because I've gone the "android -> disambig -> android (os)" path something like 20 times already. 13:38:29 It's just basically a "slide show." It's not real software. Consequently, it may perform slowly. The real AngelBase software does not yet exist. But when it does, it is anticipated to perform extremely fast. 13:38:30 My Pretty Pony isn't a real pony. Consequently, you might have difficulty appreciating its prettiness. The real pony does not yet exist, but when it does I expect it will be very pretty. 13:38:33 Oooh, exciting. 13:38:40 With an extra O. 13:38:45 For owesome. 13:41:04 "The seminars will be held in church buildings and will be free," 13:41:11 this religion-software entanglement is bizarre 13:41:23 Separation of Church and Code. 13:41:25 what's next? homeopathic virus scanners? 13:41:42 you take a virus' code, and replace instructions with nops gradually 13:41:46 then you run it to get rid of the virus 13:41:55 the more nops instead of virus instructions there are, the more effective it is 13:43:36 "It looks an awful like the What The Bleep Do We Know people took some computer classes and failed miserably." — reddit 13:45:07 "My message EXCITES her. She believes what I'm saying is coming from God." — maker's http://www.findingmygoddess.com/ 13:45:22 talk about egomaniacal 13:45:42 "I am on the brink of a large-scale financial success that many people believe will escalate me, over the next decade, from member of the middle class—to billionaire. I am the inventor and developer of, and control the majority interest in, a patented new technology that numerous well-credentialed experts agree can, quite literally, re-define the entire computer industry." 13:45:50 That "my message" quote of yours sounds like a spam subject. Possibly one selling some sort of male enhancement thing. 13:45:52 right; you mean you renamed some RDBMS concepts and gave them pretty pictures 13:46:04 fizzie: "message", "saying" 13:46:10 """" 13:46:49 "I will be generous, giving the Goddess I seek 100% legal control over an appropriate portion of the anticipated wealth." 13:46:51 100% of a portion! 13:46:58 That's like 50% if he chooses half! 13:47:39 "She knows that the location where God resides is within her beautiful heart." 13:47:49 I _knew_ that thing's been up to things other than pumping blood. 13:47:49 lol. http://www.amazon.com/review/R29BEIXU19X6GD/ 13:48:02 out their 13:48:32 "She knows the truth of reincarnation. Alternatively, she is open to the concept and ready for experiences that will demonstrate its truth to her." 13:48:35 er... you mean like, death? 13:49:33 -!- oerjan has joined. 13:51:14 ehird: what, are you disspointed? 13:51:22 dis'pointed 13:51:26 you point and dis 13:51:33 a revolutionary new interface paradigm 13:51:35 USING ANGELBASE 13:51:43 WOOHOO ANGELBASE 13:51:52 "She never feels greed." 13:51:54 Yeah, sure., 13:52:10 "GIMME THAT FILE YOU USELESS PIECE OF ELECTRONICS!" 13:52:14 "She unconditionally loves a large number of people.... or all people.... however, she loves different people with different levels of intensity." 13:52:17 Even though they're all god. 13:52:28 golly gawsh 13:52:31 "She has the quality of childlike innocence." 13:52:32 Pedo! 13:52:37 "She receives guidance directly from God, and she follows this Spirit guidance, even when it takes courage to do so (e.g. because others might get angry or think she's nuts)." 13:52:38 If she's god, 13:52:42 and takes guidance directly from god... 13:52:47 Well, then everyone fits that bill! 13:53:16 * ehird gets to "Body" section, fears hugely for this guy's mental health 13:53:56 Is there any requirement he *doesn't* have? 13:54:21 "If she has been victimized by an ex-boyfriend or ex-husband who has been violent, severely emotionally abusive, engaged in crimes that harm other people, and/or abuses alcohol or drugs, then she must be 100% disconnected from him except for minimal contacts required to comply with a court order pursuant to children or financial support." 13:54:24 But. 13:54:26 Her love of all people is unconditional. 13:54:28 And cannot sour! 13:54:35 You just said that some paragraphs and some bullet items ago. 13:55:06 "She is PASSIONATE. Actually, she is INTENSELY passionate.... passionate about God, passionate about eliminating social injustice, passionate when speaking to audiences or on television, and passionate in bed with me." 13:55:09 ("Mostly the latter.") 13:55:17 "She believes in the light-filled MAGIC of sacred sex. She wants to utilize this magic to manifest our Global Vision. She realizes that her sacred sexual union with me is crucial for manifesting the Global Vision." 13:55:19 Er... 13:55:26 If you have sex with me, we'll get world peace? 13:55:27 Oh kay. 13:55:36 "If she has been a prostitute, that is GOOD!!" 13:55:37 xD 13:55:43 I'm pretty much quoting every other sentence here 13:56:11 She is WILLING to surrender and be worshipped as a Goddess. 13:56:11 She is WANTING to surrender and be worshipped as a Goddess. 13:56:13 She is WAITING to surrender and be worshipped as a Goddess. 13:56:15 13:56:17 Immediately followed by this picture: http://www.findingmygoddess.com/blurry+pensive_nohat_redshirt_1124.jpg 13:56:20 Creepy. 13:56:35 "Gallant. INTENSELY romantic. Perfect gentleman." 13:56:40 "Also insane, but don't let that put you off." 13:59:05 "100% straight (i.e. heterosexual)." 13:59:15 yeah right 13:59:35 99% straight 13:59:44 "However, when we launch our own TV show (which will have very different energy), I will watch every episode." 13:59:46 BUT WHERE DID THE 1% GO? 13:59:51 INTO GAY 13:59:52 "In 99% self-denial, too" 14:00:05 Noooo 14:00:07 Not the gay! 14:00:09 "But I'm funny! I will make you laugh... lots." 14:00:12 You're tellin' me! 14:00:50 I do NOT wish to control my Goddess. I have ZERO interest in controlling either her or our relationship. [...] What I seek is an exquisite Love Dance in which my male role is to lead (as in ballroom dancing) and my Goddess's female role is to surrender in ecstasy. 14:00:53 What? 14:00:53 EPIDEMY OF GAY ON THE WEST COAST 14:01:12 no no, the 1% is for his pet goat 14:01:22 [[May each woman who replies to this ad be PERMANENTLY surrounded by Angels of God and a Shield of Light that admits only Light, Love, Beauty, Joy, Wisdom, Truth, and Divinity into her body, mind, heart and soul, and that reflects back and ABSOLUTELY PROTECTS her from anything that is not of God regardless of how "well intended" or "spiritual" or "common sensical" its source may appear to be. May SHE, and may ALL her thoughts about me, and may EACH AND E 14:01:25 VERY aspect of her interactions with me (including all electronic, software and database systems by which we communicate), be ABSOLUTELY PROTECTED from any intrusion or interference or obstruction whatsoever (directly or indirectly or through a "well meaning" person) by anyone or any "entity" or any thing that is opposed to God.]] 14:01:31 Surrounded on both sides by: 14:01:33 [[Glory to God! Om Namah Narayanaya! Om Namah Shivaya! Om Sri Ganasheya Namaha! Jai Laxmi! Guru Om! Jai Sri Sri Ravi Shankar! Glory to Buddha! Glory to Jesus! Glory to Mary mother of Jesus! Glory to Mary Magdalene! Glory to Allah! Om Namo Bhaghavate Vaasudevaya! Jai Yogananda! Jai Mata Amritanandamayi! Jai Gurumayi Chidvilasananda! Jai Muktananda! Jai Guru Dev! Nam Myoho Renge Kyo! Amen! Om Shanti Shanti Shanti! ]] 14:01:38 Goats need love too, oerjan 14:01:39 "Copyright © 2008 by The Angelic Realm of Intellectual Substance," 14:01:42 Angelic Realm. 14:01:45 Of Intellectual Substance. 14:02:44 are there any "make money fast" guides that actually involve making a make money fast guide and selling it? :-) 14:03:09 ehird: i have seen jokes about 14:03:11 I mostly prostitute my goat for money 14:03:21 oerjan: yeah 14:03:28 I was wondering whether any actually do that 14:03:36 i think Dogbert did such a lecture once 14:03:42 No mention of the Old Ones? 14:04:00 amca: hard to say with all that foreign language 14:04:36 Nothing in there I remember from my reading of the Necronomicon 14:05:00 amca: your brain probably wiped half of it for your sanity, anyhow 14:05:51 Oh, I dont have any sanity left. I just follow the lead of the dark eldritch ones. 14:06:41 ok then 14:07:10 i guess _he_ wiped half of it, and failed to preserve his sanity in the process 14:07:24 s/half/all/ 14:14:39 * ehird reads a Jeff Atwood article to see if he's gained any sanity or decent thought yet, decides not 14:15:20 "Yes, I am dead serious. Just check back here in fifteen to twenty years to see if I was right. (Hint: I will be.)" 14:15:22 Fuck off, Atwood. 14:15:35 what was he claiming? 14:17:41 ais523: Previously: "Here's how far I am willing to go: I believe the iPhone will ultimately be judged a more important product than the original Apple Macintosh." 14:17:56 I don't give a shit about what he's saying (he's still on crack), specifically, but jeez, the way he says it. 14:17:58 So obnoxious. 14:18:11 ugh, that's one of the things you can claim is correct after 15 to 20 years and nobody will be able to prove you wrong 14:20:47 ais523: haha, howso? 14:21:04 because it's an opinion, and can't be proved either way 14:21:06 theory: if you stripped all the bold out of jeff atwood articles, your blood would boil ~20% less when reading them 14:21:25 He s everything and it is really annoying because god dammit it is. 14:21:37 did you see the argument on reddit as to whether single quotes or double quotes were faster? 14:22:00 ais523: in which context? 14:22:03 there was something related earlier 14:22:07 originally PHP 14:22:11 but it then moved on to HTML 14:22:11 right 14:22:13 the more nops instead of virus instructions there are, the more effective it is <-- well that sounds reasonable :D 14:22:19 ais523: that was on reddit yesterday :P 14:22:21 but yes, I saw it 14:22:34 ais523: it ended up with people saying " had less 1 bits 14:22:43 yes 14:22:45 then it was pointed out that the 1 bits in ' are thinner 14:22:46 so they count as less 14:22:47 :D 14:23:11 http://us.metamath.org/mpegif/helloworld.html 14:23:14 as an electronic engineer, I'd pick something with the same number of 0 bits as 1 bits if I could 14:23:24 to reduce the amount of DC buildup in the cable 14:23:37 I have no idea how much of a problem that is at computer scales; probably not at all 14:23:42 oerjan: translate the statement to english foru s? 14:23:44 *for us 14:23:47 but on larger scales, it can cause all sorts of problems 14:23:48 i suck at logical notation 14:23:56 so they often encode 0 as 01 and 1 as 10 to make sure it's balanced 14:23:58 or other schemes like that 14:24:00 heh 14:24:01 ehird: em, you said it 14:24:10 or else, which statement 14:24:10 oerjan: i'm talking about http://us.metamath.org/mpegif/helloworld.html 14:25:07 http://www.bytecellar.com/archives/000113.php ← IRCing with an Apple //c 14:25:49 O_O 14:25:58 dumb terminals live! 14:27:00 ehird: i suggest you email Prof. Loof Lirpa and ask 14:27:15 oerjan: but you're a mathematician, surely you know the notation :< 14:27:15 does lookaheadfind cause firefox to randomly crash sometimes for anyone else? 14:27:38 ehird: i'm not much acquainted with infix empty set notation, is the problem 14:27:44 LOL, check the OPL.dialog in the Hello World collection 14:27:53 it's probably the only multilanguage implementation there 14:27:55 oerjan: i think it might be multiplying them or something 14:28:08 as in, German, English and French AFAIK 14:28:22 well, no 14:28:25 just German and English 14:28:35 ehird: i think i can confirm step 1, at least 14:28:41 oh, I don't need the steps 14:28:49 I just want to know what the notation of the statement means in english :) 14:29:49 also, 4 clearly follows from 3 14:30:17 oh right! 14:30:34 it's using infix relational notation with the empty set as the relation 14:31:02 as step 2 says plainly, really 14:31:46 basically WØ(R1d) means that the tuple (W,(R1d)) is in the empty set, which is trivially false 14:31:55 what's R1d? 14:31:57 * 14:31:57 just a variable name 14:31:58 ? 14:32:12 sure, nothing but that empty set really matters 14:32:23 wonder why they used 1 instead of l 14:32:26 i guess l is taken :P 14:32:39 oerjan: so the W doesn't really have any special meaning? 14:32:45 ditto for the h and LL I guess? d too? and R? :P 14:32:48 ehird: they wanted it to be a 1337 proof 14:32:58 hur hur 14:33:10 well LL0 and R1d are really not subdivided any 14:34:07 ehird: also, they needed something balance using the empty set for "o", it would look suspect if that was the only non-letter 14:34:12 *to balance 14:34:17 heh 14:36:49 ehird, hi 14:36:53 hi 14:36:54 it's just "not (something and something-trivially-false)", which is a tautology 14:36:57 AnMaster: i pinged you last night in the logs thingy 14:37:09 I called lenovo, you can't order customised ones in Sweden 14:37:16 that's stupid 14:37:18 did they give any reason? 14:37:23 ehird, too small market 14:37:36 however, I can't reach lenovo in UK to ask if you can order from them in Sweden 14:37:48 I get "the number can not be reach from this telephone" (in Swedish) 14:37:50 you'd probably want to go for the US one 14:37:56 ehird, how comes? 14:37:57 weak dollar and all 14:38:00 hm ok 14:38:01 also tech is cheaper in the US 14:38:02 generally 14:38:10 ehird, Kronan is also weak 14:38:21 your fault for not going with the euro :-p 14:38:27 ehird, meh 14:38:41 * ehird configs the model on the us site to see how cheaper it is 14:38:49 ehird: US might have voltage issues? 14:39:07 oerjan: ah, that's true; you might have to buy a EU connector 14:39:20 hm, the UK one will have the wrong connector 14:39:25 are you sure? 14:39:28 aren't all EU connectors the same? 14:39:40 ehird, how many pins are there in yours? 14:39:43 3 14:39:47 2 here, 14:39:50 oh, right 14:40:06 ehird, plus some stuff on the side for the ground 14:40:23 i wonder if you can sort by how weak a currency is in europe :) 14:40:29 * ehird clicks the european sites aimlessly to find one 14:41:25 hm how do you define weakness of a currency anyhow, relative unit size is not really important 14:41:50 afaict kronan is not weak because it is small, but because it is falling 14:43:37 http://www.forexpeacearmy.com/currency_strength_calculator/ 14:44:13 only one european one though 14:44:23 er two 14:44:29 er three 14:44:38 * oerjan should learn to read before talking :D 15:12:02 Darths & Droids :D 15:12:31 -!- amca has quit ("Farewell"). 15:14:05 -!- BeholdMyGlory has joined. 15:14:22 AnMaster: 15:15:01 * oerjan evilly pings only after what he said has dropped beyond the 3 line limit 15:16:16 also, http://www.mezzacotta.net/postcard/ 15:21:14 "Bill Nye Explains: The iPhone 3GS's Oleophobic Screen" 15:21:23 <3 15:26:59 "Nye began his professional entertainment career as an actor on a local sketch comedy television show in Seattle, Almost Live!. Nye corrected the host of Almost Live! after the host pronounced "gigawatt" as "jigowatt", a mispronunciation made common by the film Back to the Future." 15:27:02 But, that's correct! 15:27:05 BILL NYE IS FOUNDED ON A LIE. 15:28:38 When Pluto was reclassified from a planet to a dwarf planet by the International Astronomical Union in 2006, Nye came out in favor of the change. Nye held a conference in 2006 discussing his opinion on the issue.[13] 15:28:39 He's evil. 15:29:39 And I heard he doesn't eat sandwiches! 15:50:02 [['Stoned wallabies make crop circles' 15:50:02 Wallabies have been observed acting strangely in poppy fields 15:50:04 Australian wallabies are eating opium poppies and creating crop circles as they hop around "as high as a kite", a government official has said.]] 15:50:07 http://news.bbc.co.uk/1/hi/world/asia-pacific/8118257.stm 15:50:35 -!- deveah has quit (Read error: 60 (Operation timed out)). 15:50:50 -!- FireFly has joined. 16:01:57 -!- pikhq_ has changed nick to pikhq. 16:03:57 what is haskell good for, except for theorem provers? 16:04:55 -!- GregorR-L has joined. 16:05:43 * oerjan shuffles feet 16:05:47 look, a birdie! 16:05:53 Haskell is good for making me insane 16:06:10 * ehird stabs nooga_ for being an idiot. 16:06:15 pikhq: Please join me, O New Convert. 16:06:32 that's now an answer 16:06:34 not* 16:06:42 It's useful for everything. 16:06:56 like, writing own scheme interpreter? 16:06:58 or 16:07:19 Everything. 16:07:22 raytracer 16:07:24 or 16:07:29 Yes, both of those. 16:07:41 Haskell is based on the ML family, which were designed for writing implementations. 16:07:45 Haskell improves it massively. 16:07:47 Raytracer, absolutely. 16:07:49 and it compiles to fast machine code? 16:07:51 It'll be fast, too. 16:07:52 nooga_: Yes. 16:07:56 Sometimes you need to hint the compiler. 16:08:01 But most of the time you get nice speed. 16:08:12 (as long as you use ByteStrings instead of Strings when you can) 16:08:52 nooga_: http://www.learnyouahaskell.com/; if your brain is intact at every point, you probably didn't understand it. 16:10:16 read it 16:10:26 quite amusing 16:10:50 What, all of it? 16:10:54 > fix show 16:10:56 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 16:11:03 You should be good at Haskell now. If you're not, you did not understand it. 16:11:23 * pikhq stabs nooga 16:11:36 Speaking of which, I know Monads. 16:11:53 BUT DO YOU KNOW GONADS 16:12:22 Looks like an instance of a monad for the sake of reproduction. 16:12:25 this book would learn my sister how to code in haskell 16:12:26 :P 16:13:02 nooga is an idiot. 16:13:13 Also, INFINITE LISTS! [0..] 16:13:45 With -XFiniteLists, you can even do [0..10] ! 16:15:11 Deewiant: ! 16:15:13 Amazing. 16:15:14 * oerjan swats Deewiant -----### 16:17:15 > [1..10] 16:17:17 [1,2,3,4,5,6,7,8,9,10] 16:17:32 > [2,4..] 16:17:34 [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,... 16:18:03 -!- evenant has joined. 16:19:08 > [2*x | x < 100] 16:19:10 ? 16:19:11 [] 16:19:19 ;C 16:19:40 x < 100 is just a test there, it doesn't define x 16:19:56 x happens to be a global Expr in lambdabot 16:20:12 then how? 16:20:27 > [2*x | x <- [0..99]] 16:20:30 [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,5... 16:20:46 ah 16:20:52 -!- Dewio has quit (hubbard.freenode.net irc.freenode.net). 16:20:52 -!- nescience has quit (hubbard.freenode.net irc.freenode.net). 16:21:27 -!- Dewi has joined. 16:23:16 > [2*x | x <- [0..99], x `mod` 3 == 0] 16:23:18 [0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90,96,102,108,114,120,126,132,1... 16:24:06 > [2*x | x <- [0..99], x `mod` 1.5 == 0] 16:24:18 > [2*x | x <- [0..99], x `mod` 1.5 == 0] 16:24:20 Add a type signature 16:24:33 mod only applies to integral types 16:24:58 am.ok 16:25:50 no fmod easily available iirc 16:26:26 > [2*x | x <- [0..99], x `mod'` 1.5 == 0] 16:26:28 [0.0,6.0,12.0,18.0,24.0,30.0,36.0,42.0,48.0,54.0,60.0,66.0,72.0,78.0,84.0,9... 16:26:42 :t mod' 16:26:44 forall a. (Real a) => a -> a -> a 16:27:09 @hoogle mod' 16:27:10 Data.Fixed mod' :: Real a => a -> a -> a 16:27:10 Data.Fixed divMod' :: (Real a, Integral b) => a -> a -> (b, a) 16:27:31 @src mod' 16:27:31 Source not found. BOB says: You seem to have forgotten your passwd, enter another! 16:27:56 hm i think that's recent? 16:28:11 nooga_: How much functional programming have you done? 16:28:20 Data.Fixed isn't 16:28:23 Don't know about mod' 16:28:56 uhm 16:29:15 just a tiny bit of Scheme or some projects in school 16:29:19 huh my old hugs has it 16:29:27 * oerjan must have missed it before 16:29:47 > let primes = [ x | x <- [2..], not (any ((== 0) . (`mod` x)) primes) ] in primes 16:29:52 So, lemme see if I grok this... 16:29:52 mueval-core: Prelude.read: no parse 16:29:53 mueval: ExitFailure 1 16:29:54 hmph, that's infinite obviousl 16:29:54 y 16:29:58 pikhq: grok wat 16:30:25 > [0..10] >>= (2*) 16:30:27 No instance for (GHC.Enum.Enum [b]) 16:30:27 arising from the arithmetic sequence... 16:30:38 how about 1d cellular automaton oneliner in haskell? 16:30:46 maybe the discussion i recall was just about it being inefficient, not based on actual floating point operations 16:30:54 nooga_: 1d CA are just logic expressions of three variables 16:31:04 Aaaaw, I thought that'd work... :( 16:31:20 okay, i just want to see how would it look like 16:31:24 > [0..10] >>= (2*) :: [Int] 16:31:24 pikhq: 2* doesn't return an [a] 16:31:26 No instance for (GHC.Enum.Enum [GHC.Types.Int]) 16:31:26 arising from the arithme... 16:31:30 :t (2*) 16:31:32 forall t. (Num t) => t -> t 16:31:33 :t (>>=) 16:31:33 ehird: Oh. *Duh*. 16:31:34 forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b 16:31:38 pikhq: tip: 16:31:39 :t fmap 16:31:41 forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b 16:31:45 * pikhq needs to think of them there types. 16:31:46 ofc you could also do (return . (2*)) 16:31:51 but that's what fmap is :P 16:31:59 > [0..10] >>= return . (2*) :: [Int] 16:32:00 [0,2,4,6,8,10,12,14,16,18,20] 16:32:05 don't need the :: now 16:32:12 ehird: Yes, I know. I just wanted to see if I grokked anything at all. 16:32:15 right 16:32:34 And the :: is there because I had hit up and modified stuff... 16:32:36 * ehird attempts to find alternative firmware for the Siemens Gigaset SE572 router... 16:33:25 > join (liftM2 (*)) [0..9] 16:33:27 [0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,2,4,6,8,10,12,14,16,18,0,3,6,9,1... 16:33:59 > [0..10] >>= "Hello" 16:34:00 Couldn't match expected type `t -> [b]' 16:34:04 Erm. 16:34:07 > [0..10] >>= return "Hello" 16:34:09 "HelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHello" 16:34:15 Erm. 16:34:16 Yay. 16:34:19 I implemented repeat! :P 16:34:21 > [0..10] >> "Hello" 16:34:23 "HelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHello" 16:34:44 @src List (>>=) 16:34:44 Source not found. Wrong! You cheating scum! 16:34:44 Right, >>= return is >>... 16:34:45 grr 16:34:53 how do you search for instance sources w/ lb 16:34:58 @src [] (>>=) 16:34:59 xs >>= f = concatMap f xs 16:35:15 @pl \f xs -> zipWith f xs (tail xs) 16:35:15 (`ap` tail) . zipWith 16:35:29 pikhq: actually the return there is a lie 16:35:34 @pl \xs -> zip xs (tail xs) 16:35:34 ap zip tail 16:35:36 > let repeat' n = [0..n] >> in repeat 10 "badger" 16:35:37 : parse error on input `in' 16:35:39 @let pairs = ap zip tail 16:35:40 Defined. 16:35:42 it's really const appearing from the -> monad 16:35:42 hm wait 16:36:00 @let pairs = (`ap` tail) . zipWith 16:36:01 :5:0: 16:36:02 Multiple declarations of `L.pairs' 16:36:02 Declared at: @undef pairs 16:36:07 oerjan: ... Whoa? 16:36:14 Yeah. Functions are monads. :) 16:36:15 uhm 16:36:20 @let pairs = (`ap` tail) . zipWith 16:36:22 Defined. 16:36:29 @let zipPairs = (`ap` tail) . zipWith 16:36:29 @src -> return 16:36:31 Defined. 16:36:31 Source not found. Where did you learn to type? 16:36:36 @src (->) return 16:36:37 return = const 16:36:45 @src [] (>>=) 16:36:46 xs >>= f = concatMap f xs 16:36:47 Scratch that. Whoa. 16:36:48 @src [] return 16:36:48 return x = [x] 16:36:53 @src (->) (>>=) 16:36:53 f >>= k = \ r -> k (f r) r 16:36:58 @src (->) fmap 16:36:58 fmap = (.) 16:37:02 @undef pairs 16:37:07 I'm not *entirely* sure how that's useful, but... Whoa. 16:37:14 pikhq: it's a monad, so we define it as one. 16:37:16 simple as :) 16:37:22 > fix (zipPairs (+)) 16:37:23 Not in scope: `zipPairs' 16:37:28 > fix (zipPairs (+) [1..]) 16:37:30 Not in scope: `zipPairs' 16:37:31 ehird: Yes, I'm just not sure how it's useful that it is a monad. 16:37:39 @let zipPairs = (`ap` tail) . zipWith 16:37:41 Defined. 16:37:43 > fix (zipPairs (+) [1..]) 16:37:45 Couldn't match expected type `a -> a' against inferred type `[b]' 16:37:51 pikhq: It isn't particularly. :-) 16:37:53 Of course, someone's done it, I'm sure. :P 16:37:59 ?pl \x -> f (g x) x 16:37:59 f =<< g 16:38:09 that too 16:38:15 i've used that before 16:38:18 pikhq: btw so you understand that: 16:38:20 I know you can use fmap in order to confuse people instead of ., though... 16:38:21 @src (=<<) 16:38:21 f =<< x = x >>= f 16:38:41 pikhq: it is the opinion of many that map and (.) should not exist, and that fmap should be called (.) 16:38:46 (2*) . [1,2,3] 16:38:51 purefunction . monadstuff 16:38:52 f . 16:38:52 g 16:38:55 etc 16:39:08 ehird: ... I just got what a monad *is*. 16:39:31 ... Oh. 16:39:35 pikhq: Ah yes, the "OK, I understand them. Oh. OH! Wow. Okay, I didn't really understand them." revelation ;-) 16:39:35 Duh. 16:39:49 pikhq: the -> monad is identical to the Reader monad, except for a newtype wrapper 16:39:50 f =<< x = x >>= f. Why the hell was that confusing me? 16:39:58 :-P 16:40:01 and the Reader monad is generally considered useful 16:40:12 that too 16:40:22 but reader is more nice and abstract 16:40:28 :t zipPairs 16:40:30 forall b c. (b -> b -> c) -> [b] -> [c] 16:40:36 > fix (zipPairs (+) [1..]) 16:40:38 Couldn't match expected type `a -> a' against inferred type `[b]' 16:40:38 oerjan: And whassat do? 16:40:45 ohh 16:40:48 the -> monad itself is more useful for point-free obfuscation 16:40:48 > zipPairs (+) [1..] 16:40:51 [3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,... 16:41:23 > fix (zipPairs (+) . (1:) . (0:)) 16:41:25 [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,1... 16:41:31 pikhq: it lets you pass a configuration value to all sub-computations without mentioning it explicitly 16:41:37 > 0 : fix (zipPairs (+) . (1:)) 16:41:42 mueval-core: Prelude.read: no parse 16:41:42 mueval: ExitFailure 1 16:41:50 oerjan: Hmm. 16:41:58 > fix (zipPairs (+) . (1:)) 16:42:03 mueval-core: Prelude.read: no parse 16:42:03 mueval: ExitFailure 1 16:42:07 also, you can change it but only in subcomputations, unlike State. but as a result Reader is more lazy sometimes 16:42:18 > fix (\xs -> 0:1:zipPairs (+) xs) 16:42:20 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 16:42:22 :-) 16:42:38 > fix $ (0 :) . (1 :) . zipPairs (+) 16:42:40 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 16:42:45 > fix dinner 16:42:53 Not in scope: `dinner' 16:43:07 Bastard! 16:43:11 @let fibs = fix $ (0 :) . (1 :) . zipPairs (+) 16:43:13 Defined. 16:43:18 > fibs!!10000 16:43:20 336447648764317832666216120051075433103021484606800639065647699746800814421... 16:43:24 > fibs!!100000 16:43:25 > fix dinner where dinner = (0:) . (1;) . zipPairs (+) 16:43:28 : parse error on input `where' 16:43:29 1; 16:43:29 mueval-core: Prelude.read: no parse 16:43:29 mueval: ExitFailure 1 16:43:30 lawl 16:43:31 > fix ((0:).scanl(+)1) 16:43:33 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 16:43:37 :t scanl 16:43:39 forall a b. (a -> b -> a) -> a -> [b] -> [a] 16:43:42 Well fuck me with a rake. 16:43:46 @undef zipPairs 16:43:47 @undef fibs 16:43:58 @let fibs = fix $ (0:) . scanl (+) 1 16:44:00 Defined. 16:44:04 > fibs!!10000 16:44:06 336447648764317832666216120051075433103021484606800639065647699746800814421... 16:44:32 -!- oerjan has quit ("Indeed, time to fix dinner"). 16:45:34 -!- deveah has joined. 16:45:37 > fibs!!0 16:45:40 0 16:45:46 > fibs!!(fibs!!3) 16:45:47 THIS IS WRONG 16:45:48 1 16:45:51 Slereah_: No it's not. 16:46:00 http://en.wikipedia.org/wiki/Fibonacci_number 16:46:00 Owait, fibonacci 16:46:10 What was I thinking 16:46:18 > fibs!!-1 16:46:19 > fibs!!1 16:46:21 Not in scope: `!!-' 16:46:22 1 16:46:29 > fibs!!2 16:46:31 1 16:46:33 > fibs!!3 16:46:35 2 16:46:43 > let fibo = (!!) fibs in fibo -1 16:46:45 No instance for (GHC.Num.Num (GHC.Types.Int -> a)) 16:46:45 arising from the lite... 16:46:54 :t (!!) 16:46:54 * pikhq feels dumb. YAY. 16:46:55 forall a. [a] -> Int -> a 16:47:04 pikhq: - 16:47:05 it's a wart 16:47:07 you need (-1) 16:47:10 yay 16:47:10 due to associativity 16:47:17 * pikhq flips off - 16:47:19 @let fib = (!!) fibs 16:47:20 Defined. 16:47:23 > fib (-1) 16:47:25 * Exception: Prelude.(!!): negative index 16:47:26 i'm ready to feel pure awesomeness of lambda! 16:47:32 That's more like it. 16:47:37 should i use textmate? :F 16:47:40 > fibs!!4 16:47:42 3 16:47:48 nooga_: it has a haskell bundle but it doesn't handle indentation. 16:47:53 nooga_: There is no editor but Emacs. 16:47:55 either stomach emacs and use haskell-mode+haskell-indentation, 16:47:57 OH 16:47:59 or get along with vim or haskell 16:48:12 > fibs!!5 16:48:14 5 16:48:17 > fibs!!6 16:48:17 I PREFER VIM 16:48:19 8 16:48:21 Thar we go. 16:48:51 @let lie n = take n $ iterate (fibs !!) 6 16:48:52 > fib $ fib 5 16:48:53 Defined. 16:48:54 5 16:48:56 > lie 1 16:48:57 [6] 16:49:05 > map lie [0..] 16:49:07 [[],[6],[6,8],[6,8,21],[6,8,21,10946],[6,8,21,10946,-6804146883746901631],[... 16:49:14 er. 16:49:21 Ints, bitch. 16:49:22 @let lie n = (iterate (fibs !!) 6) !! n 16:49:24 Couldn't match expected type `[Int]' against inferred type `Int' 16:49:30 ...also, FUCKING INTS. 16:49:35 @undef lie 16:49:39 @let lie n = (iterate (fibs !!) 6) !! n 16:49:40 :1:18: Not in scope: `fibs' 16:49:47 what 16:49:48 > fibs 16:49:49 Not in scope: `fibs' 16:49:58 @let fibs = fix $ (0:) . scanl (+) 1 16:49:59 Defined. 16:49:59 ehird: @undef doesn't take a parameter. 16:50:06 oh, bollocks 16:50:10 @let fib = fibs !! 16:50:10 Parse error in expression: HsPostOp (HsVar (UnQual (HsIdent "fibs"))) (HsQV... 16:50:14 @let fib = (fibs !!) 16:50:15 Defined. 16:50:43 @let lie = genericIndex . iterate (genericIndex fibs) 6 16:50:44 Couldn't match expected type `a -> [b]' 16:50:50 :t genericIndex 16:50:51 forall b a. (Integral a) => [b] -> a -> b 16:51:03 wtf 16:52:32 ... 16:52:36 :t (genericIndex .) 16:52:38 forall b a a1. (Integral a) => (a1 -> [b]) -> a1 -> a -> b 16:52:40 oh 16:52:40 of course 16:52:46 @let lie n = genericIndex n $ iterate (genericIndex fibs) 6 16:52:47 :3:8: 16:52:48 No instance for (Integral [b]) 16:52:48 arising from a use o... 16:52:57 ?ty \x -> iterate (genericIndex x) 6 16:52:57 @let lie n = iterate (genericIndex fibs) 6 `genericIndex` n 16:52:58 forall b. (Integral b) => [b] -> [b] 16:52:59 Defined. 16:53:11 @let lie = (iterate (genericIndex fibs) 6 `genericIndex`) 16:53:12 :3:0: 16:53:12 Equations for `lie' have different numbers of arguments 16:53:12 ... 16:53:16 @undef 16:53:24 @let fibs = fix $ (0:) . scanl (+) 1 16:53:25 Defined. 16:53:28 @let fib = genericIndex fibs 16:53:29 Defined. 16:53:32 @let lie = (iterate (genericIndex fibs) 6 `genericIndex`) 16:53:33 Defined. 16:53:38 > map lie [0..] 16:53:39 [6,8,21,10946,1695216512765707006912636688460460939847003870309508922628952... 16:53:41 \o/ 16:54:05 http://www.research.att.com/~njas/sequences/index.html?q=6%2C8%2C21%2C10946&language=english&go=Search 16:54:07 Iterations of the Fibonacci sequence starting at 6. 16:54:09 lawl 16:54:50 > 10^2287 16:54:52 100000000000000000000000000000000000000000000000000000000000000000000000000... 16:55:01 > lie 4 / (10^2287) 16:55:03 Add a type signature 16:55:06 > lie 4 / (10^2287) :: Double 16:55:07 No instance for (GHC.Real.Integral GHC.Types.Double) 16:55:07 arising from a use ... 16:55:12 o_O 16:55:12 oh 16:55:17 > fromIntegral (lie 4) / (10^2287) :: Double 16:55:18 NaN 16:55:21 aw 16:55:25 "a (4)=1.695... * 10^2287" 16:56:00 > fromIntegral (lie 4) / (10^2287) :: CReal 16:56:05 1.695216512765707006912636688460460939847 16:56:22 CReal is Few Digits, right? 16:56:31 yep 16:56:43 "Currently the show throws an error." -- out of date page that, evidently 16:56:50 "Also the (==) function returns false if the two CReals are different, and does not terminate if the two CReals have the same value." 16:56:50 lol 16:58:27 -!- nooga has joined. 17:00:03 -!- nooga_ has quit (Read error: 104 (Connection reset by peer)). 17:00:08 ehird: So... Do not compare CReals. :P 17:00:20 because > and < don't exist 17:00:24 pikhq: but they're showable now in lambdabot 17:00:26 so maybe 17:00:31 > (3::CReal)==3 17:00:33 True 17:00:34 > (3::CReal)==4 17:00:35 False 17:00:39 Magick. 17:00:41 @src CReal 17:00:41 Source not found. :( 17:00:42 Oh, hey. Whoo. 17:00:43 @src CReal (==) 17:00:43 Source not found. Your mind just hasn't been the same since the electro-shock, has it? 17:00:50 * ehird bitchslaps lambdabot 17:00:56 :||||| 17:10:05 huhhh 17:13:20 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 17:20:37 -!- MigoMipo has joined. 17:20:41 -!- olsner has joined. 17:24:07 Wolfram is quite smart huh 17:34:57 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 17:35:18 i want this: http://www.amazon.com/gp/product/0521644089?ie=UTF8&tag=nobugs-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0521644089 17:39:51 does haskell allow overloading operators? 17:40:11 It has typeclasses. 17:40:12 :t (+) 17:40:13 forall a. (Num a) => a -> a -> a 17:40:27 But it does not allow you to use the dangerous, unpredictable thing that is all functions being overloadable. 17:40:38 An operator is just any name where all the characters are symbols, btw. 17:40:56 i i'd like to make Vector3 type 17:41:11 So implement a Num instance. 17:42:08 Num :: (Float,Float,Float) -> (Float,Float,Float) -> (Float,Float,Float) ? 17:42:16 ....... 17:42:25 pikhq: please direct nooga to actually read a haskell tutorial 17:42:34 thx 17:42:44 okay 17:42:49 i've read the first chapter 17:43:07 and briefly scanned further chapters ;p 17:43:18 Read the whole thing. 17:43:33 You won't grok monads, but you'll be in a position to have a hope of doing so. 17:43:41 pikhq: We're talkin' bout nooga here. 17:44:00 ehird: Thus why I never said he would actually figure them out. 17:44:05 :P 17:44:05 Just that he'd have a hope. 17:44:05 :P 17:48:49 such talking fills me with urge to act even more idiotic 17:49:04 to annoy ehird 17:55:56 Anyone have a Siemens Gigaset SE572, incidentally? 17:56:38 Say yes :| 17:57:55 wireless-B router? 17:58:00 why do you want one of those :p 17:58:20 because it's my ISP's shit supplied router and i want to stick alternate firmware on it. 17:58:29 but everything just lists other models of the gigaset, i'm wondering if it'd still work. 17:58:58 http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fstable%2Fdd-wrt.v24+SP1%2FConsumer%2FSiemens/ hmm 17:59:11 ugh, it seems to use vxworks 17:59:42 just buy a new one 18:00:21 i have a wrt5gl, comex, but my isp only works with their shit provided modems 18:00:23 lockdown 18:00:24 so fuck that shit 18:00:31 i'm switching isp, before you say that 18:04:58 comex: think i'll have better luck with openwrt or dd-wrt? 18:09:58 broadcom 47xx 18:10:01 let's try this shit! 18:10:05 **BRICK TIME** 18:18:04 :K 18:20:27 It seems that researchers have inserted electrodes directly into the pleasure centers of the brain in order to treat depression. 18:20:35 In other words, we have wireheads. 18:20:51 oh 18:31:56 pikhq, wireheads? 18:32:05 >_< 18:32:13 http://en.wikipedia.org/wiki/Wirehead 18:32:14 ehird, didn't brick it+ 18:32:20 AnMaster: i'm trying 18:32:22 s/+/?/ 18:32:31 ehird, why not just get a new one 18:32:39 I have another one. 18:32:40 AnMaster: Niven. 18:32:42 Locked down ISP. 18:32:48 pikhq, ? 18:32:57 who/what is that 18:33:09 also firefox is loading, to check out "wirehead" 18:33:20 Larry Niven, somewhat well-known science fiction author. 18:33:27 About as prolific as Asimov. 18:33:48 A 18:34:00 Nobody is about as prolific as Asimov :P 18:34:06 And does really stunningly well-thought-out aliens. 18:34:15 Did the Known Space stuff. 18:34:34 GregorR-L: ... Well, true. Asimov was really insanely prolific. 18:35:35 Niven is an order of magnitude less prolific, where an order of magnitude in this case means "full bibliography in the main Wikipedia article" vs. "bibliography as a separate Wikipedia page". 18:36:57 hah 18:37:50 did you write a box 18:38:08 Still impressive. 18:38:29 But sometimes I forget that Asimov has several hundred books to his name. 18:38:34 And not a mere 100. :P 18:39:13 Niven's list of books seems to be around the same length as Clarke's, though I think slightly shorter. Still, quite a pile. 18:39:34 scifi writers like to turn out lots of crap 18:39:43 CESSMASTER: It's good. 18:40:05 * pikhq notes that CESSMASTER probably has never read "Ringworld". 18:40:06 in that tutorial 18:40:10 they don't use let 18:40:11 s/"/\// 18:40:12 why? 18:40:26 Which tutorial? 18:40:35 `addquote So what you're saying is that I shouldn't lick my iPhone but instead I should rub it on my eyes first and then lick my eyeballs? 18:40:36 14| So what you're saying is that I shouldn't lick my iPhone but instead I should rub it on my eyes first and then lick my eyeballs? 18:40:40 learnyou... 18:40:41 oh 18:40:46 14? 18:40:47 `addquote Thomas Edison 18:40:47 they don't use them in .hs files 18:40:47 15|Thomas Edison 18:40:57 GregorR-L: You bitch. 18:40:59 !help 18:41:00 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 18:41:00 hi 18:41:04 `help 18:41:05 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 18:41:23 Well, you do. foo = let bar = (\x -> x) in bar 18:41:24 , for example. 18:41:32 the proper 18:43:11 `addquote Thomas Edison 18:43:12 15|Thomas Edison 18:43:18 GregorR-L: People have, at some time, said "Thomas Edison". 18:43:23 In at least one of these times, 18:43:31 it was funny; for example, as an answer to a question. 18:43:39 Therefore, "Thomas Edison" is (a) a quote and (b) funny. 18:43:44 Therefore, it is appropriate. 18:44:04 `addquote I'm a proud and happy member of NAMBLA Youth UK 18:44:05 16| I'm a proud and happy member of NAMBLA Youth UK 18:44:21 Sure thing bro 18:44:30 Except people have actually said Thomas Edison :-P 18:45:08 I do believe that you've said that. 18:45:13 OK then. 18:45:16 In fact, if I cite a reliable resource: 18:45:17 `quote 16 18:45:18 16| I'm a proud and happy member of NAMBLA Youth UK 18:45:21 It's clear that you have. 18:49:00 Oh, he's just in it for the man-boy love. 18:49:18 Uh, would there be any other reason to be in it? :P 18:49:25 I was typing what GregorR-L just said :P 18:49:36 Why a North American organisation has a UK youth organisation is beyond me. 18:49:48 Shut up. 18:49:57 GregorR-L: You think that others should be free to have man-boy love? 18:50:07 pikhq: Oh, come on. 18:50:15 Nobody who thinks that is part of NAMBLA. 18:50:59 Why not? 18:51:04 In my last year of high school, one of the teachers made some joke about NAMBLA, and that became a running gag. He was also retiring that year. When we left, we gave him a "present" with the express warning that he didn't open it until he was at home, alone, without his wife looking over his shoulder. It was a thong that said "NAMBLA Oregon Chapter President" and an infant T-shirt that said "My daddy is a proud member of NAMBLA" 18:51:06 Seriously, pikhq? 18:51:34 nambla might as well be called "Pedophile Association". 18:51:57 + of America 18:52:02 Yes, and there might be people in it who are A-okay with pedophilia without being pedophiles. 18:52:09 But there aren't. 18:52:22 Are you sure? 18:52:27 Sort of like there COULD be people who add their name to the sex offender watchlist without actually being sex offenders. 18:52:53 pikhq: The way you say it makes it sound like you're a member of NAMBLA and trying to rationalize it :P 18:52:56 GregorR-L: ... Except that being on the sex offender list isn't optional. 18:53:21 ehird: No, I'm just saying that there's a lot of wackos out there. 18:53:22 http://cache.gawker.com/assets/images/gizmodo/2009/06/Windows_7_launch_pricing.jpg ← Hey, Windows 7 pricing is actually going to be semi-sane. 18:53:29 Three versions starting at $50. 18:53:34 And that some of them may well support pedophilia. 18:53:44 And some of those may well be members of NAMBLA. 18:54:17 ehird: Oh, they announced their new money-printing scheme? 18:54:44 pikhq: you are finding fault in a simplification of the model range and a reduction of prices 18:54:45 just FYI :p 18:55:12 ehird: I am finding fault in there being a price for a non-scarce good. 18:55:20 I agree. 18:55:29 But there's still shades of poop colour. 18:55:42 Also, it makes it cheaper for people to help pirate them :-P 18:56:07 Except for the pre-release piracy. 18:56:15 That doesn't care about costs. 18:56:15 ;) 18:56:40 pikhq: Pre-release piracy involves people risking their jobs in a very real way. 18:56:49 Also, RC versions of 7 are being disabled when it comes out. 18:56:53 True. 18:57:18 And RC versions of 7 are being disabled *6 months after* it comes out. 18:58:09 Oh, really? 18:58:15 I thought they were being disabled in July. 18:58:44 ehird: http://www.ninj4.net/kinetic/haskell-independent.html 18:58:45 looks pro 18:59:00 nooga: It works. Sort of. 18:59:27 also House 18:59:32 yes 18:59:38 regarding non-scarce goods: Apple could very reasonably open-source OS X with more or less no change in profits: a bit less as people do hackintoshes (this is a silly argument akin to "if weed were legal more people would smoke it!!11"), and open-source people would jump on the bandwagon 18:59:45 thus balancing it out, more or less 18:59:56 in fact, it'd probably be a net profit, but the profit being in goodwill 19:00:23 like 90% of people don't want to build an os or use an unsupported, unofficial binary 19:00:30 If OS X were made GPL, CDL, APL, etc. I'd switch to OS X tonight, man. 19:00:36 and apple mainly profits from its hardware sales, not software 19:00:42 pikhq: it'd be BSD. 19:00:52 pikhq: Heck, Apple are jumping ship from gcc because it changed to GPLv3. 19:00:59 ehird: I named Apple's free software license, man! 19:01:04 Well, yes. 19:01:09 pikhq: but e.g. kernel patches 19:01:14 it could get sticky with the bsd base 19:01:27 maybe base system bsd, ui apl 19:01:44 The base system is already BSD. 19:01:54 pikhq: true, but not all of it 19:02:04 i'm talking about things like all the command-line stuff 19:02:22 if apple open-sourced OS X I'd probably do a bunch of patches to it to make it be more unixy 19:02:26 ... Yes, that's all free software already... 19:02:28 and maybe add native X11 protocol support to quartz 19:02:38 Everything that's not NeXT, in fact. 19:02:39 pikhq: even the objc interface generator? 19:03:11 If it's not, GCC's is compatible. 19:03:17 If it is, it's probably GCC's by now. 19:03:17 :P 19:03:18 ehird: http://www.ninj4.net/kinetic/haskell-independent.html <-- very interesting 19:03:27 AnMaster: unfortunately c-dependent. 19:03:35 i started a pure haskell + some asm OS a bit back. 19:03:52 i gave up when I tried to imagine writing a memory manager in Haskell that carefully steps around any consing 19:03:55 (I'm not sure it's even possible) 19:04:02 i'll try to code a path tracer in haskell 19:04:25 AnMaster, nooga, ehird: http://programatica.cs.pdx.edu/House/ 19:04:29 we know. 19:04:35 maybe not AnMaster 19:04:37 but me and nooga 19:04:39 noga mentioned it 19:04:40 nooga 19:04:43 heh 19:04:47 house is kinda dead though 19:04:50 also a bit rubbish 19:04:51 they have patches to ghc 19:04:57 sure, sure, it's clean, but bleargh 19:05:02 you have to get a specific ghc version 19:05:35 uhm 19:06:34 i want plan9 on my new box without adding a partition to my ssd 19:06:42 maybe i'll get an external drive for stuff 19:07:50 ehird, you think plan9 has the needed drivers 19:08:02 ? 19:08:08 usb kb/mouse stuff needs enabling things, but i can just enable my bios' ps/2 emulation 19:08:20 it can just treat the cpu as 386 as it does every x86 cpu 19:08:30 display, ehh, i'll just use vga stuff 19:08:41 i mean, the generic vga-like mode for 1920x1200 19:08:51 or less if i can't get that working 19:09:02 audio, meh, it can probably handle onboard audio 19:09:12 so i think it should be fine. 19:10:06 http://en.wikipedia.org/wiki/The_Golden_Ass 19:11:53 I'm betting thegoldenass.com has very different content. 19:12:43 audio, meh, it can probably handle onboard audio <-- probably not 19:12:47 AnMaster: why not 19:12:48 get a soundblaster card 19:12:50 no thx 19:12:52 it can probably handle that 19:13:05 Onboard audio tends to be AC'97. 19:13:08 do you know how we will settle this? 19:13:11 pikhq, hm ok 19:13:15 reading the plan9 source 19:13:15 Which is ridiculously well supported. 19:13:18 or, yeah, what pikhq said 19:13:26 pikhq, fair enough 19:13:37 why does linux has different alsa drivers for them then 19:13:40 Especially since most *emulators* provide an AC'97. 19:13:40 ;) 19:13:41 for extra features 19:13:48 ah 19:14:04 http://www.plan9.bell-labs.com/wiki/plan9/Supported_PC_hardware/index.html 19:14:07 VGA CARDS AND CHIPSETS 19:14:12 lol 19:14:15 it stops at geforce 6800 xt 19:14:24 Eh, it probably supports newer. 19:14:26 three generations behind :) 19:14:41 ehird, what about SATA/IDE chipset 19:14:44 check if your is listed 19:14:46 I bet not 19:14:48 pikhq: probably not; nvidia/ati drivers are a huge untertaking 19:14:53 there aren't any decent open source ones for linux even 19:15:03 AnMaster: dude, plenty of people use plan9 19:15:10 ehird, check the list there 19:15:26 it supports ICH9. 19:15:38 why do you think that plan 9 doesn't support so much hardware, AnMaster? 19:15:43 people actually use it, you know 19:15:55 people are paid to administer plan 9 systems, it runs on a big supercomputer too 19:16:02 it supports a decent amount of hardware 19:16:51 "MAGNETO-OPTICAL DISK JUKEBOXES" 19:16:52 WTF? 19:16:56 people actually use it, you know <-- SUUUURE 19:17:07 GregorR-L: aka "cd drive" 19:17:13 ............. 19:17:14 AnMaster: i'm not interested in talking to a troll. 19:17:15 ehird, no 19:17:18 not cd drive 19:17:22 "MAGNETO-OPTICAL" 19:17:25 read what it says 19:17:27 but here, have a nice link: 19:17:33 GregorR-L, what is that quote from 19:17:39 ... There were magento-optical *jukeboxes*? 19:17:39 GregorR-L: maybe they contain floppy disks /and/ CDs 19:17:50 ... 19:17:53 What was that, some odd backup scheme? 19:17:57 ais523, magento-optical disks says 19:17:58 err 19:18:00 exists* 19:18:04 special type 19:18:11 or at least existed 19:18:14 AnMaster: http://doc.cat-v.org/plan_9/blue_gene/. What is your rebuttal now? "IBM's gigantic supercomputer doesn't count as a real machine running plan 9 to do real work?" 19:18:19 Have fun with that argument. 19:18:37 There's a somewhat common external RAID enclosure which runs Plan 9. 19:18:47 ehird, I wasn't saying that there weren't people using it 19:18:50 I don't know *why* it uses Plan 9, but it does, and it works well. 19:18:51 what I was saying was... 19:18:54 19:16 AnMaster: people actually use it, you know <-- SUUUURE 19:18:55 that the userbase is tiny 19:18:56 Yes, you were. 19:19:06 ehird, I meant, userbase is tiny 19:19:10 sure, a few people use it 19:19:26 AnMaster: Okay, so... 2000 Sydney Olympics light show, a popular RAID enclosure, IBM Blue Gene... any half-witted OS could get used for those, huh? 19:19:27 (I don't remember what RAID enclosure there was, I just remember having to log into it once and being amused that it was Plan 9.) 19:19:39 Clearly, nobody uses Plan 9 and they picked it by roll of die. 19:19:43 ehird, impressive 19:19:52 Who cares if it has a small amount of use? 19:19:53 but I wouldn't be surprised with linux of any of them 19:19:54 No, surely users of it did not suggest it and administrate it. 19:20:00 It's a freaking clever OS. 19:20:01 Magic faeries inspired them to use it. 19:20:07 It's like Unix, only more so. 19:20:07 :P 19:20:26 ehird: the light show at the 2008 olympics ran on Windows 19:20:34 we know because it projected a BSOD onto the roof of the stadium 19:20:43 ais523: we already know windows is big 19:20:44 ais523, hilarious 19:21:35 i want a connection machine! 19:22:15 ehird, how did the bricking go? 19:22:33 ehird, alternative: buy another router instead? 19:22:50 AnMaster: ehird, why not just get a new one 18:32 ehird: I have another one. 18:32 ehird: Locked down ISP. 19:22:54 Your memory lasts less than an hour. 19:23:07 Congratulations; you're both dumber than goldfish and the collective population of Digg. 19:23:30 ehird, so the other one was locked down too? 19:23:38 or what do you mean 19:23:54 The other one... is not a router-modem... therefore I need another modem... and said modem... would probably not work with my ISP. 19:24:03 ehird, aha! 19:24:04 I'm saying this... very slowly... so you can read it... slowly. 19:24:16 ehird, I didn't know it was a router-modem 19:24:20 Well, right. 19:24:20 but weren't you going to change ISP 19:24:21 anyway 19:24:28 Yes, I am going to. 19:25:23 Incidentally, I command everyone to read http://plan9.bell-labs.com/sources/plan9/. 19:25:28 how to store and modify 2d array of numbers in haskell? 19:25:40 Lawl. There's people who think that there kids will not be better off than they are. ... We're going to have fucking Star Trek replicators here soon. 19:25:47 nooga: You cannot modify anything in HAskell. 19:25:48 pikhq: there kids 19:25:53 nooga: There is no state. 19:25:55 s/there/their/ 19:26:04 their 19:26:05 ? 19:26:16 There are at least three forms of state: IO, ST, and State. 19:26:26 pikhq, I don't believe we will have Star Trek replicators in the foreseeable(sp?) future 19:26:43 `google reprap 19:26:44 A low cost open source rapid prototyping system that is capable of producing its own parts and can therefore be replicated easily. \ reprap.org/ - [14]Cached - [15]Similar 19:26:46 " nooga: Their is no state." 19:26:47 :D 19:26:54 AnMaster: RepRap, foo. 19:26:59 AnMaster: there does not match There. 19:26:59 ehird, link 19:27:03 google.com 19:27:03 ... 19:27:06 `google reprap 19:27:07 A low cost open source rapid prototyping system that is capable of producing its own parts and can therefore be replicated easily. \ reprap.org/ - [14]Cached - [15]Similar 19:27:07 pikhq, meh, but it was funnier 19:27:22 * AnMaster googles 19:27:27 ... 19:27:27 oh hi GregorR-L :P 19:27:28 wtf 19:27:30 We've got freaking rapid prototypers that *print themselves*. 19:27:37 Anyway, that's a far cry from replicators. 19:27:47 ehird: isn't there a make-copy-with-modifications operator in Haskell that gets optimised into modifying variables unless the original's used? 19:27:50 (Neither the Star Trek nor Stargate variety :P ) 19:27:56 oh a 3D printer 19:27:57 ais523: That is not mutation, and that is not an operator. 19:28:01 you can't replicate food that way 19:28:01 GregorR-L: It has similar sociological implications to the Star Trek variety. 19:28:06 AnMaster: a 3d printer THAT CAN PRINT ITSELF. 19:28:07 like a glass of water 19:28:09 A working copy of itself. 19:28:10 ehird, hm ok 19:28:12 Of course, this doesn't rely on applied phlebotinium, though. 19:28:12 ehird: I know it isn't mutation, but I did think it was an operator 19:28:16 ehird, equally large? 19:28:19 AnMaster: Yes. 19:28:29 ehird, already assembled? 19:28:30 AnMaster: Some assembly required. 19:28:34 lawl, it can only replicate smaller ones until you're building an iiiiiiiiiiiiiitty bitty one :P 19:28:46 GregorR-L: :D 19:28:56 It still has freaking insane sociological implications. 19:29:18 I'm thinking we'll hear the term "piracy" apply to physical designs here in 10 years. :P 19:29:22 "make most of the parts to make another 3D printer" 19:29:24 RIIGHT 19:29:25 ehird: then i should build a function obtainPixel'sColor x y 19:29:30 not all I guess 19:29:32 so fail 19:29:38 AnMaster is an idiot. Discuss. 19:29:47 ehird, I meant your description fails 19:29:49 "Lawl it doesn't print *everything*." 19:29:59 and call it immediately writing returned values to a file? 19:30:02 AnMaster will only be happy when it can print a spaceship in 3 seconds. 19:30:02 That's because it's a work in progress. 19:30:04 nooga: IO fail 19:30:05 I don't think *IT* fails 19:30:11 but I think ehird does 19:30:13 pikhq, ^ 19:30:18 It is still a rapid prototyper for a few hundred bucks. 19:30:22 Ah. 19:30:23 pikhq, agreed 19:30:24 ehird: IO fails in haskell? pitty 19:30:31 nooga: Sigh. 19:30:50 AnMaster: It builds every single plastic part of the RepRap. 19:30:59 BTW, IO, ST, and State are no more state than continuation-passing style is state. :P 19:31:41 AnMaster: Also - [[The next version of RepRap will be RepRap Version II "Mendel". Mendel will have multiple write heads for working with a wide range of materials in a single reprapped object, and will have the ability to embed three-dimensional electrical circuitry inside mechanical parts. Mendel is still very much in the early stages of development, but the build instructions are themselves under construction at that link.]] 19:31:43 So there. 19:32:07 O_O 19:32:41 Should with any luck be able to replace PCBs. 19:33:13 There's nothing wrong with an assembler assembling a full-sized copy of itself. 19:33:33 It just has to not do so entirely inside itself. 19:33:57 * pikhq imagines a humanoid robot. 19:34:03 Alternatively, it must be able to change form in such a way that an unchanged version of itself could fit inside it. 19:34:16 TRANSFORMERS 19:34:17 PRINTERS IN DISGUISE 19:34:27 Like a balloon. You can fit a deflated balloon in an inflated balloon. 19:34:41 -!- ais523 has quit (Remote closed the connection). 19:34:41 But, man. We've got freaking *printers of matter* that can *print themselves*. 19:34:42 ehird, ok that is cool 19:34:45 If you have one of those fancy fold-up trash cans, you can fold it up and throw it away inside another of it. 19:34:49 Forward the future! 19:34:58 (Note: I've actually never even heard of a fold-up trash can.) 19:35:13 AnMaster: Also, a few hundred dollars is how much a RepRap costs to make. Other 3D printers? Many thousands. 19:35:19 ehird, agreed 19:35:25 So yes, it is the key to post-scarce electronics and self-replication. 19:35:45 Just a rapid prototyper for a few hundred dollars is a disruptive technology. 19:36:00 I'd quite like a reprap 19:36:05 i'd appreciate semi-conductor ink for my inkjet 19:36:06 I'd make ridiculous shapes with it. 19:36:08 ehird, I'm still waiting for being able to say "Computer, a glass of water please" and have it there in less than 3 seconds 19:36:08 That it can print itself is liable to outmod economics. 19:36:10 ;P 19:36:25 so that i could print electronic circuits on foil 19:36:30 AnMaster: That can be done if you have a water tank 19:36:33 AnMaster: Give it a few hundred years. 19:36:40 ehird, not that speed 19:36:55 AnMaster: What? 19:37:05 Squirting water into a cup in 3 seconds is perfectly possible....... 19:37:16 ehird, BUILDING THE CUP TOO 19:37:27 Uh huh. 19:37:29 ehhhh 19:37:32 idiotic 19:37:43 The reprap can certainly print a cup. 19:37:45 "nooga: idiotic" — my IRC client 19:37:47 and, it should assemble the molecules from raw hydrogen and oxygen of course. (yay! explosions) 19:37:53 pikhq: Yes, but you need to dust it off afterwards and it's not glass :P 19:37:54 pikhq, yep 19:37:59 pikhq, but in 3 seconds? 19:37:59 It can even print a cocktail glass. 19:38:01 I'm not sure i'd drink out of a reprap cup atm. 19:38:01 machine could squirt water right into your mouth 19:38:11 machine could upload your brain 19:38:12 thread over 19:38:14 ehird: Just plastic. 19:38:39 Ooh. You know what I want? 19:38:44 a 3d MISSINGNO. 19:38:56 http://www.trsrockin.com/images/m.jpg but 3d. 19:39:03 Like this: http://www.utdallas.edu/~rxf023000/stuff/missingno.jpg 19:39:06 With holes and stuff in. 19:39:40 use lego 19:39:50 that's not as cool as printing one 19:39:58 I wonder how fast reprap is 19:40:02 slow 19:40:04 Doesn't it self replicate in 90 minutes? 19:40:10 Or something around that time. 19:40:12 Or was it 5 hours 19:40:14 pikhq: ? 19:40:17 ehird : Isn't that M and not Missingno? 19:40:22 Slereah_: Same pic 19:40:30 ehird: Few hours, IIRC. 19:40:33 Iunno 19:40:38 do you know how the Chinese hacked into the Pentagon's site? 19:40:47 nooga: so not slow. 19:41:19 reprap, wait, isn't it that glue gun with guidage ? 19:41:35 nooga: No. 19:41:45 no? 19:41:47 nooga is an ijit. 19:41:56 *eejit 19:42:36 eejit? 19:42:36 don't be stew-pid 19:42:43 eejit -> idiot 19:42:47 err 19:42:52 ok 19:42:59 enterprise edition just in time 19:43:01 I don't see how that transformation make sense 19:43:04 heh 19:43:15 eejit == idiot 19:43:21 AnMaster: irish slang. 19:43:27 ah 19:43:37 eejit → ejit, idiot → idjit 19:43:40 They're pronounced similarly. 19:43:41 id ~= ee 19:44:15 j ~= dzh 19:44:28 (Where "zh" is the voiced version of "sh") 19:44:57 AnMaster: Anyway, the only part RepRap can't print of itself is the circuit board that controls the hardware. 19:45:01 Version 2 will be able to print it. 19:45:07 ehird: And the metal rods. 19:45:11 That too 19:45:27 Oh, and some screws... 19:45:33 Yes but that's trivial 19:45:38 Of those, only the circuit board is pricy. 19:45:59 > let idiot = "idiot" ; eejit = "idiot" in idiot == eejit 19:46:00 True 19:46:00 And it will be significantly less so when you can freaking print PCBs. 19:46:05 Can't make the screws out of plastic? :P 19:46:05 HA! 19:46:18 Prews. 19:46:20 Plastic screws. 19:46:37 GregorR-L: It'll have a Field's metal extruder for version 2, IIRC. 19:46:49 Meaning that it could print metal screws. 19:46:57 also it can't print the element that melts plastic 19:47:04 How about a wood extruder? I want wooden screws. 19:47:13 Well, yes. It can't print all of the extruder. 19:47:19 I should make my totally-encrypted, totally-P2P IM/IRC replacement sometime. 19:47:24 GregorR-L: Close you'll get is a wood *pulp* extruder. 19:47:28 :P 19:47:36 ehird: ... Done? 19:47:37 WHERE'S MY MELTED WOOD DAMN IT 19:47:43 pikhq: O RLY? 19:47:47 i want to grow bonsai wooden screws 19:48:00 `wolfram melting point of wood 19:48:02 GregorR, it turned into that ash over there 19:48:06 it's just a bit of genetic enginieering 19:48:08 melting point of wood \ \ Input interpretation: \ \ wood \ \ melting point \ \ Generated by Wolfram|Alpha (www.wolframalpha.com) on June 25, 2009 from Champaign, IL. © Wolfram Alpha LLC—A Wolfram Research Company \ \ 1 \ \ 19:48:15 1? 19:48:25 AnMaster: So get rid of the oxygen, surely we can accomplish this. 19:48:27 1 melting points of wood, obviously. 19:48:27 1 what? 19:48:35 GregorR, hm, not sure 19:48:43 GregorR, pretty sure wood itself contains some oxygen 19:48:43 Vacuum chamber. 19:48:45 ehird: SILC. 19:48:52 I doubt it contains enough to maintain a fire. 19:49:00 pikhq: SILC sucks 19:49:03 `wolfram 1 dvd in pages 19:49:10 1 dvd in pages \ \ Input interpretation: \ \ convert 1 single layer DVD capacity to pages of information \ Result: \ \ 1.8 107 pages of information \ Additional conversion: 9 \ \ 4.7 10 bytes \ \ Comparisons: \ \ 0.23 \ Interpretation: \ \ 14 \ \ AIT E turbo native capacity 20 GB \ \ information \ Basic unit dimensions: 19:49:17 Too complicated, not awesome enough, etc 19:49:26 Also not really suited to be either an IM or IRC replacement. 19:49:28 So there 19:49:33 Okay, then. 19:49:35 SILC? 19:49:38 SILC. 19:49:41 `google silc 19:49:42 10. [49]Colloquy: IRC, SILC & ICB Client \ An IRC client for Macintosh OS X. Contains screenshots, documentation, support and download area. 19:49:45 Er. 19:49:49 GregorR-L: `google sucks. 19:49:52 Encrypted chat. 19:49:58 ehird: Blame google, not `google :P 19:50:08 oh that silc 19:50:08 right 19:50:09 (The output is hard to parse :P ) 19:50:13 I knew I heard it before 19:50:28 GregorR, what about that google api thingy 19:50:32 ehird: Perhaps you'd prefer DirectNet? 19:50:36 they stopped giving out api keys 19:50:37 No :P 19:50:43 but surely you already have an API key? 19:50:52 GregorR-L: I assume DirectNet is encrypted? 19:50:56 Yes. 19:51:05 -!- nooga has quit ("Leaving..."). 19:51:06 Well there you go. 19:51:23 Channel support is weak, and I haven't worked on DN in years, so *eh* 19:51:45 So, ehird should maintain DirectNet, rather than write his own. :P 19:51:50 Noooooo 19:52:00 Nah, even I'd rewrite it if I was interested. 19:52:23 Alright. Take a cursory look at it and toss it, then. 19:52:31 Oh, and write it in Haskell. :P 19:52:40 Popularity is for chumps anyway. 19:53:10 Of course I would write it in Haskell. 19:53:23 Using gnupg, probably. 19:53:25 GregorR-L: That's why you work on Plof. 19:53:31 Although I'll probably make it generate its own key. 19:53:43 Just to avoid the hassle of system-wide stuff for people who don't know what gpg is. 19:53:50 pikhq: Plof will be compilable to portable C :P 19:54:03 And Haskell is compilable to portable C. 19:54:11 pikhq: Not via ghc, though. 19:54:17 fvia-C is highly platform-dependent 19:54:48 Still... 19:55:11 If you don't care about interacting with the outside world, you could compile Haskell to C++ templates. ^_^ 19:55:29 ............... 19:55:34 Only about as difficult as compiling it to untyped lambda calculus. 19:55:43 (which is to say, you'd have to be fucking mad.) 19:55:43 So, you've come to the obvious conclusion that it is NOT compilable to portable C. Good for you :P 19:56:14 -!- Gracenotes has quit (Read error: 54 (Connection reset by peer)). 19:56:18 Dude. 19:56:20 JHC. 19:56:25 Or LHC, iirc. 19:56:28 Compiles to C. 19:56:30 `google lhc 19:56:32 LHC NEWS Design report LHC Co-ordination schedule and status Golden Hadron Awards ... LHC Safety. LHC Cooldown Status. LHC@ interactions.org ... \ [14]Photos - [15]LHC_Experiments - [16]LHC OP home page 19:56:35 `google lhc haskell 19:56:36 The Luxurious LHC Haskell Optimization System; Installing ... LHC is a backend for the Glorious Glasgow Haskell Compiler, adding low-level, whole-program ... \ lhc.seize.it/ - [14]Cached - [15]Similar 19:56:42 Sweet. 19:56:44 That's not it. 19:56:47 Unsweet 19:56:50 Oh: 19:56:53 `google jhc haskell 19:56:55 jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations. ... \ repetae.net/computer/jhc/ - [14]Cached - [15]Similar 19:56:55 LHC was previously based on John Meacham’s JHC project. That code has since been retired. 19:57:11 -!- Gracenotes has joined. 19:57:13 GHC, IIRC, can compile to portable C--, and intends to use this for its code generation. 19:57:24 pikhq: ... it DOES use it. 19:57:30 pikhq: Simon Peyton Jones invented C--. 19:57:32 Oh. 19:57:34 Does currently. 19:57:35 nobody uses -fvia-C nowadays 19:57:37 well sometimes. 19:57:44 Simon Peyton Jones is awesome, BTW. 19:58:28 There's not yet such a thing as portable C--. 19:58:32 He eats souls[1]. 19:58:34 References: 19:58:35 1. http://upload.wikimedia.org/wikipedia/commons/d/d0/Simon_Peyton_Jones_01.jpg 19:59:44 :-D 20:00:02 What a terrible picture of him 20:00:18 I like how the focus is on the background 20:02:46 idea: write a BF minus IO -> C++ templates compiler 20:03:08 Difficult. 20:03:23 pikhq, not impossible 20:03:30 Of course not. 20:03:42 C++ is Turing complete, after all. 20:03:59 Erm. C++'s type system is. 20:04:29 C++ itself is only an FSA. :P 20:06:03 pikhq, with file IO 20:06:44 potentially infinite external memory that way 20:06:53 That's strapping an infinite tape onto an FSA. 20:06:57 :P 20:07:04 pikhq, doesn't that make it tc? 20:07:10 or is there some other limit 20:07:13 Given the infinite tape, yes. 20:07:37 Means that C++ itself is not Turing-complete, but C++ running on POSIX is. 20:07:59 pikhq, C++ running on windows too potentially 20:08:06 Indeed. 20:08:24 pikhq, C++ running on anything that implements the STL headers with iostreams 20:08:34 (note: some implementations of C++ on POSIX only implement a subset of this system. These implementations are not Turing complete.) 20:08:45 :D 20:09:28 pikhq, it would be a PITA to seek to the offset G64 though 20:09:31 err 20:09:34 g_64 20:09:35 rather 20:10:17 using a POSIX fifo would be easier 20:10:20 or a set of them rather 20:11:59 Indeed. 20:20:34 -!- deveah has quit ("MUHAHAHAH!!!1111"). 20:22:35 Man, Windows 7 Ultimate costs $319 new. ... I could build a decent computer for that. 20:22:53 "Windows -- it costs as much as your computer!" 20:24:35 -!- nooga has joined. 20:24:50 is there a vim gui for leopard? 20:24:56 hard to fund something stable 20:25:36 -!- MigoMipo has joined. 20:31:58 nooga, try the emacs GUI instead 20:32:01 bbl 20:34:32 Sure there is one. Terminal. 20:36:46 huh 20:36:54 then i'm forced to change font 20:37:20 ... You mean you use a different font in your terminal than you'd prefer for coding? 20:48:08 FFFFFFFFUUUUUUUUUU 20:48:15 where's vimball 21:07:12 -!- Slereah has joined. 21:07:26 -!- Slereah has quit (Client Quit). 21:10:12 hah 21:10:13 wtf 21:14:31 gaaaaa 21:14:40 Haskell? 21:14:52 20:22 pikhq: Man, Windows 7 Ultimate costs $319 new. ... I could build a decent computer for that. 21:14:53 $210 21:15:01 20:24 nooga: is there a vim gui for leopard? 21:15:02 20:24 nooga: hard to fund something stable 21:15:04 macvim 21:15:17 find* 21:15:49 http://code.google.com/p/macvim/ 21:16:07 ok 21:16:12 ehird: $210 is for an upgrade. 21:16:17 oh 21:16:18 i compiled vim72 and it does nott want to cooperate 21:16:24 anyway $319 will not get a decent computer 21:16:29 an ok one 21:16:30 but not decent 21:16:33 nooga: don't compile it 21:16:35 nooga: use macvim 21:16:47 ok 21:16:56 i suppose it supports vimballs? 21:16:59 Such a machine is a couple orders of magnitude faster than most people need. 21:17:11 pikhq: Not really 21:18:03 Though to be fair, if people were efficient coders, most people could get by on an 8080. ;P 21:18:44 now that's very fale 21:18:44 false 21:18:47 the web is too complex for that 21:19:37 For video and clever usage of Javascript, sure. 21:19:53 Otherwise, a C64 running Contiki is plenty. 21:19:57 pikhq: get back to me when you write a rendering engine sir 21:20:11 Contiki. 21:22:26 yeah no 21:23:45 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 21:24:41 beh 21:24:47 this whole haskell mode is defunct 21:25:18 what 21:25:55 it can't find ghc and throw errors 21:26:23 that's because it's in /opt/local 21:31:04 -!- asiekierka has quit (Read error: 110 (Connection timed out)). 21:43:46 but 21:48:15 -!- augur_ has joined. 21:48:15 -!- augur has quit (Read error: 104 (Connection reset by peer)). 21:48:44 -!- oerjan has joined. 21:49:26 huh 21:49:36 n! = n ∏ k=1, k ∀n ∈ ℕ ← the closest I can get to http://upload.wikimedia.org/math/0/e/8/0e85eaace43199521530c584b3350444.png with unicode 21:51:47 hard to parse 21:52:00 no it's not 21:52:06 oerjan: isn't ↑ easy to parse 21:52:30 yes ? is easy to parse 21:52:44 * oerjan now checks the logs to find out what that actually was 21:52:49 oerjan: clog mangles unicode :P 21:53:00 oerjan: i'll make a data: url of it 21:53:04 er not that much? 21:53:33 oerjan: data:text/html;charset=utf-8;base64,biEgPSBuIOKIjyBrPTEsIGsg4oiAbiDiiIgg4oSV 21:53:36 representation of http://upload.wikimedia.org/math/0/e/8/0e85eaace43199521530c584b3350444.png 21:53:39 i usually check the logs every time i need to read unicode on the channel... 21:54:01 i need to make sure the browser is set to display as UTF-8 first though 21:54:34 doesn't clog just pass utf-8 straight through? 21:54:44 (and of course my font is not comprehensive) 21:55:05 oerjan: does my url work 21:55:08 data:text/html;charset=utf-8;base64,biEgPSBuIOKIjyBrPTEsIGsg4oiAbiDiiIgg4oSV 21:55:23 what url? 21:55:47 data:text/html;charset=utf-8;base64,biEgPSBuIOKIjyBrPTEsIGsg4oiAbiDiiIgg4oSV 21:55:49 that url 21:56:04 * oerjan tries to paste that into the address line 21:56:35 IE tried to use that as a google search, so no 21:56:42 afk 21:57:00 oerjan: Yes, that's because IE sucks. 21:57:09 Use another thing; data: is standard. 21:57:17 IE 8 does data: anyway 21:58:38 huhuhhm 21:58:46 if haskell does not have state 21:59:03 how to respond to events that happen in time? 21:59:33 nooga: Step 1. Forget everything. 21:59:37 Step 2. Learn functional programming. 22:01:47 there are at least several flavors of functonal paradigm 22:03:20 Chocolate, strawberry and people. 22:04:33 .. 22:10:43 IE 8 does data: anyway <-- i have had IE8 for a few weeks now 22:10:58 nooga: it depends on the kind of event! 22:11:10 oerjan: so why don't you get a decent browser? 22:11:17 hm 22:11:29 if your event is an event that requires IO, then it responds at the moment of the request, using magic monads (IO) 22:11:38 if it doesnt have io, there it doesnt respond at all! 22:11:40 ehird: just to annoy you, my dear 22:12:03 in fact, ehird is a bit annoying 22:12:10 thanks 22:12:20 intentionally 22:13:15 http://notalwaysright.com/he-uses-the-google/1321 22:14:27 so if i get it correctly, if i want to write a raytracer - i just define a bunch of functions that i use in a top-level function that takes scene as an argument and returns an image, so it looks like image is calculated from the scene automagically 22:14:49 but what if i want to write a http server? or interactive game ? 22:15:22 > runState (do modify (+1); x <- get; modify (+1); return x) 4 22:15:24 (5,6) 22:15:31 nooga: ^ State monad example 22:15:36 pikhq: Explain the functional paradigm to nooga; I'm too lazy. 22:16:37 nooga: You apply functions to functions, thereby getting results. Anything more than that, and you're using monads. 22:17:04 And monads let you represent state like you would in an imperative language. 22:17:27 so like in maths, function is a transformation, not a bunck of actions 22:17:31 bunch 22:17:33 !haskell import Control.Monad.State; import Control.Monad; main = runStateT (replicateM 5 $ do modify (+1); x <- get; liftIO (putStr $ show x ++ " ")) 10 22:17:36 11 12 13 14 15 22:17:40 However, these monads let you seperate as much of the state away from your code as possible, allowing you to think clearly about the rest of your code without pesky things like "state" getting in the way. 22:18:06 pikhq has jumped from a tcl fanboy to a haskell fanboy. Ha 22:18:58 ehird: I'm still fond of Tcl. 22:19:02 uh 22:19:04 okay 22:19:09 Tcl's a nice *imperative* language. 22:19:13 Tcl monad! 22:19:51 ehird: That would be... Not necessarily in violation of Tcl's semantics. 22:20:57 nooga: now ignoring state monads (which are just sort of sweeping the real thing under the rug), the way to do state in haskell is to pass the state along as an argument 22:21:03 pikhq: apart from the whole string thing 22:21:40 understood 22:21:46 Yeah. 22:23:00 oerjan: One could almost think of state monads as being a crazy way of doing continuation-passing style code. :P 22:23:13 pikhq: that's how they're implemented 22:23:14 essentially 22:23:23 @src State return 22:23:23 Source not found. That's something I cannot allow to happen. 22:23:27 @src State (>>=) 22:23:27 Source not found. Where did you learn to type? 22:23:32 fuck you lambdabot 22:23:37 @src (State x) return 22:23:37 Source not found. 22:23:45 I think when I realised that is when I realised what the hell monads are and why they're useful. 22:24:05 ehird: the monad transformer library never used to be included in @src, for some reason 22:24:19 afair 22:25:03 pikhq: so how many days now? 22:25:20 4. 22:25:33 pikhq: can you spend a month learning quantum physics sometime? you'll make a theory of everything immediately :P 22:25:44 Tempting. 22:26:46 !help daemons 22:26:46 daemons: !daemons. List running daemons. 22:26:50 !help 22:26:50 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 22:27:02 !help languages 22:27:03 languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 22:27:14 !daemons 22:27:29 GregorR: does the daemon thing work in any way? 22:27:42 Nope. 22:27:51 Whoops, I put haskell under "Esoteric", that ain't right :P 22:27:56 (Well, it's sort of right) 22:28:15 It's only esoteric in the sense that not a lot of peole know it. 22:28:15 perl too :D 22:28:32 Perl belongs there. 22:28:33 Perl is esoteric in the sense that nobody *should* know it. :P 22:28:40 Exactly :P 22:28:58 FOOD TIME 22:29:22 ok so no real way of using EgoBot to demonstrate interactive haskell 22:30:32 Not without having a different script to start interactive Haskell, I guess. 22:30:39 !haskell [0..10] 22:30:41 [0,1,2,3,4,5,6,7,8,9,10] 22:31:08 by interactive i mean something that would respond to lines in an interleaving way 22:31:12 haskell is esoteric in the sense that anything reeeaaally useful requires that you understand category theory and monads and crap 22:31:18 augur_: no it doesn't 22:31:20 which means you're writing in an incomprehensible language 22:31:23 pikhq: do you understand category theory? 22:31:24 shut up ehird yes it does 22:31:25 :| 22:31:27 i doubt it. do you understand monads? 22:31:27 > :t (==) 22:31:28 yes. 22:31:29 : parse error on input `:' 22:31:40 ehird: No, but I probably will. 22:31:42 category theory beyond monads is not that important 22:31:42 ? :E 22:31:53 anyone who thinks category theory is needed for anything in haskell is wrong 22:31:53 I'm *also* a math major, you see... 22:31:56 pikhq: :-) 22:32:05 see?! 22:32:12 :t (==) 22:32:13 YA RLY 22:32:13 forall a. (Eq a) => a -> a -> Bool 22:32:34 pikhq: http://okmij.org/ftp/ Here's Oleg's site. You're probably the only person who can read it without breaking their brain. 22:32:48 *your 22:32:51 hey i know that site 22:32:52 nooga: > is an abbreviation for @run, :t for @type, and :k for @kind. every other command last i checked starts with @ 22:32:58 ok 22:33:32 -!- tombom has quit ("Peace and Protection 4.22.2"). 22:33:41 (last i checked == at least a year ago) 22:34:10 lambdabot: seen mauke 22:34:12 hmm 22:34:15 thought it did that 22:34:27 ehird: I think I've stumbled across that before. 22:34:32 lambdabot: @seen mauke 22:34:32 mauke is in #haskell and #xmonad. I last heard mauke speak 55s ago. 22:35:14 seems to make no difference to the response 22:36:00 lambdabot, @seen lambdabot 22:36:00 Yes, I'm here. I'm in #esoteric, ##hrg, #unicycling, #scannedinavian, #scala, #rosettacode, #perl6, #macosxdev, #jtiger, #jhc, #haskell_ru, #haskell.se, #haskell.ru, #haskell.no, #haskell.jp, # 22:36:00 haskell.it, #haskell.hr, #haskell.fr, #haskell.fi, #haskell.es, #haskell.dut, #haskell.de, #haskell.cz, #haskell-soc, #haskell-books, #haskell-blah, #haskell-iphone, #haskell-in-depth, #haskell- 22:36:00 freebsd, #macosx, ##freebsd, #gentoo-uy, #gentoo-haskell, #friendly-coders, #dreamlinux-es, #concatenative, #arch-haskell, #functionaljava, #bfpg, #novalang, #darcs, #yi, #xmonad, #ghc, ##logic, # 22:36:00 haskell-overflow and #haskell 22:36:05 wow 22:36:10 that's quite a few channels 22:36:16 Yeah. 22:36:22 lambdabot, @seen AnMaster 22:36:22 You are in #haskell, ##freebsd, #friendly-coders and #esoteric. I last heard you speak just now. 22:36:33 http://okmij.org/ftp/Computation/monadic-shell.html 22:36:43 That... Is damned cool. 22:36:46 lol 22:36:55 it is the only one in #scannedinavian 22:36:56 ehird, ^ 22:36:58 I just checked 22:37:02 must be a dead channel 22:37:06 scannedinavian is the name of shapr's site i think. 22:37:07 or used to be. 22:37:12 maybe oerjan know. 22:37:12 s 22:37:16 shapr? 22:37:21 pikhq: yeah it's cool 22:37:26 AnMaster: haskeller, esolanger 22:37:29 mhm 22:38:09 scannedinavian ~ shapr does ring a bell 22:38:09 pikhq: what's really cool about monads is that they're essentially a tool for data dependencies 22:38:22 AnMaster: shapr is almost the founder of #haskell 22:38:26 hm ok 22:38:27 yep 22:38:33 let's say saviour 22:38:41 ScannedInAvian.com 22:38:41 hpaste is hosted here. 22:38:42 Shae's blog has moved. 22:38:44 See Pix of Shae for more excitement. 22:38:46 Shae Matijs Erisson 22:38:48 yah is shapr. 22:39:07 ehird: Monads are pretty damned cool, yeah... 22:39:20 lol 22:39:30 I read it as "Scandinavian" 22:39:36 not "scannedinavian" 22:39:37 you're meant to 22:39:41 it's a pun 22:39:46 "The #haskell channel appeared in the late 90s, and really got going in early 2001, with the help of Shae Erisson (aka shapr)." 22:39:55 ↑ basically it was dead, then shapr made it undead. 22:39:57 but not zombie. 22:40:29 Man, pipes as monads. 22:40:41 are you sure? it does seem to eat a lot of brains >:D 22:41:23 actually pipes are arrows, but monads are an extension of arrows 22:43:21 Okay, I think my brain broke. GNU make is a functional programming language. 22:43:23 or even just category composition 22:44:03 pikhq: declarative, but not functional 22:44:06 (no, you don't NEED to know this, shut up!) 22:45:23 ehird: http://okmij.org/ftp/Scheme/tests/Makefile 22:45:27 There's GNU make being used functionally. 22:45:51 the actual target bodies are -not- pure 22:45:57 but it is declarative 22:46:26 Mmm... Yeah, true. 22:46:27 Still. 22:47:19 ... *He's* the guy that proved Sendmail Turing-complete? 22:47:27 * pikhq bows 22:48:03 pikhq: he pioneered variable argument functions in haskell, too 22:48:22 ... You can do variadic functions in Haskell? 22:48:55 pikhq: It's pretty painful and you should use a list. but yes. 22:48:57 Theoretically. 22:49:09 primitive ptr_to_int "unsafePtrToInt" :: a -> Int 22:49:09 bothtruth2:: Bool -> Bool -> Bool 22:49:10 !haskell import Text.Printf; main = printf "%d %s\n" 15 "dollars" :: IO () 22:49:10 bothtruth2 a b = a `seq` b `seq` (ptr_to_int a - ptr_to_int False) + 22:49:12 (ptr_to_int b - ptr_to_int False) == 22:49:14 2*(ptr_to_int True - ptr_to_int False) 22:49:16 —Oleg, implementing (&&) with pointer arithmetic. 22:49:18 ah right, printf does it a lot 22:49:18 darn 22:49:21 oerjan: no need for :: IO () 22:49:27 !haskell import Text.Printf; main = printf "%d %s\n" 15 "dollars" 22:49:39 pikhq: note that printf is not type-safe, i.e. printf "%d\n" "aa" errors at runtime 22:49:42 so don't use it! 22:49:56 ehird: well it still broke 22:50:03 GregorR: wat 22:50:20 ehird: i would expect it to need :: IO () 22:50:34 oerjan: nope 22:50:39 oerjan: that printf can be of type IO () 22:50:44 oerjan: it's checked whether main is of type IO () 22:50:49 printf hastily decides that of course it is 22:50:52 QED 22:51:08 ehird: i don't think main type is checked until linking, by which time it would be too late 22:51:15 !haskell import Text.Printf; main = printf "%d %s\n" 15 "dollars" 22:51:26 ah 22:51:32 !haskell import Text.Printf; main = printf "%d %s\n" (15::Int) "dollars" 22:51:33 [ehird:~/Junk] % cat>foo.hs 22:51:33 import Text.Printf; main = printf "%d %s\n" 15 "dollars" 22:51:34 [ehird:~/Junk] % ghc foo.hs -o foo 22:51:35 15 dollars 22:51:36 foo.hs:1:27: 22:51:38 Ambiguous type variable `t' in the constraints: 22:51:40 `PrintfArg t' arising from a use of `printf' at foo.hs:1:27-55 22:51:42 `Num t' arising from the literal `15' at foo.hs:1:44-45 22:51:44 Probable fix: add a type signature that fixes these type variable(s) 22:51:46 monomorphim restriction LOL 22:51:50 ehird: no no 22:51:52 !haskell import Text.Printf; main = printf "%i %s\n" 15 "dollars" 22:51:55 oerjan: right sorry 22:52:03 oerjan: anyway, I'm still right. 22:52:04 that is because we forgot (15::Int) 22:52:08 printf just sucks :P 22:52:22 ehird: apparently, since it worked after adding ::Int but not :: IO () 22:52:50 ehird: it works as well as haskell allows 22:52:58 uh 22:53:04 i've written better printfs 22:53:07 although not for breakfast 22:53:11 in haskell? 22:53:17 yes 22:53:17 oerjan: btw with overloadablestrings you can do crazy shit like type-safe printf easily 22:53:27 in fact, I'm gonna do that now for lulz 22:53:43 overloading a string? 22:53:45 fun! 22:53:49 bbl 22:53:53 (pikhq: You know how 3 is of type (Num a) => a? Overloadable strings makes "foo" of type (IsString a) => a.) 22:54:02 instance IsString Integer 22:54:02 → 22:54:05 "3" + 4! 22:54:07 :D 22:54:34 > "3" + 4 22:54:36 No instance for (GHC.Num.Num [GHC.Types.Char]) 22:54:36 arising from the literal ... 22:54:43 I thought so. 22:54:47 apparently michael jackson is dead 22:54:53 pikhq: you haven't used OverloadedStrings or defined an instance :P 22:54:59 pikhq: note that printf is not type-safe, i.e. printf "%d\n" "aa" errors at runtime <-- it's dynamically safe though 22:54:59 Oh. 22:55:05 augur_: not that one :-P 22:55:12 oerjan: dynamically safe is unsafe. 22:55:19 ehird: yes that one! 22:55:23 -!- augur_ has changed nick to augur. 22:55:29 http://en.wikipedia.org/wiki/Mick_Jackson_(singer) 22:55:31 The singer! 22:55:35 http://www.tmz.com/ 22:55:36 Jebus. Haskell seems to have the highest average IQ amongst those who know it that I've seen. :P 22:56:24 pikhq: thats because you need to be a mathematician to understand it 22:56:35 augur: wait, no joke? 22:56:41 no joke man 22:56:47 oh well, the world got a little less creepy and pedophillic today 22:56:48 Nah, nah. No math involved. 22:56:52 ehird: it does not give memory corruption, which is a huge improvement to the opposite 22:56:53 Heavy CS requirements, but... 22:57:08 ehird: want to come to my house and play on the swingset? ;o 22:58:23 pikhq: Disadvantage of OverloadedStrings: every file using them needs {-# LANGUAGE OverloadedStrings #-} 22:58:36 Although you can use -XOverloadedStrings in your Cabal file. 22:58:40 pikhq: Do you know about cabal? 22:58:46 I know *of* it. 22:58:54 It's good. It's a packaging+build system for Haskell. Also Hackage is a collection of cabal packages and is huge and nice. 22:58:58 Kinda like dsss for Haskell? 22:59:09 Also you want to install cabal-install to get cabal(1) which installs hackage packages and also manages local cabal stuff. 22:59:12 pikhq: Yeah, pretty much. 22:59:19 But less of a pain to set up and ubiquitous. 22:59:50 Yeah, Haskell is certainly less bitchy to set up. 23:00:07 -!- MigoMipo has quit ("Changing server..."). 23:00:11 (good *God* it should not take that much effort just to set up a compiler!) 23:00:25 -!- MigoMipo has joined. 23:00:33 pikhq: http://www.haskell.org/haskellwiki/GADT 23:00:34 I just blew your mind. 23:02:14 Turing complete types, huh? 23:02:19 Nope. 23:02:23 GADTs are different. 23:02:34 Funny, I see SK in the type system. 23:02:43 No, you don't 23:02:49 That's not in the type system 23:02:51 No, wait, that's different. 23:03:34 Just the types of SK are in the type system. 23:05:30 -!- ehird_ has joined. 23:05:31 > 1/2 :: CReal 23:05:32 0.5 23:05:39 -!- ehird has quit (Nick collision from services.). 23:05:43 -!- ehird_ has changed nick to ehird. 23:05:52 -!- ehird_ has joined. 23:05:54 ehird, how did the bricking go? 23:06:03 Didn't. 23:06:12 > map (1/) [1..] 23:06:13 [1.0,0.5,0.3333333333333333,0.25,0.2,0.16666666666666666,0.1428571428571428... 23:06:18 > map (1/) [1..] :: [CReal] 23:06:18 ehird, ouch 23:06:19 [1.0,0.5,0.3333333333333333333333333333333333333333,0.25,0.2,0.166666666666... 23:06:23 AnMaster: ouch what 23:06:29 ehird, that it didn't work? 23:06:43 i just gave up :P 23:06:51 It was trying to verify the file was real authentic, which it wasn't, so meh 23:07:46 oerjan: actually type-safe printf with overloadable strings is running into function-returning-multiple-type problems 23:07:58 you can show digits of a computable real just fine as long as you allow a slack of 1 on the number of digits you print 23:08:02 should be possible, though... 23:08:46 ehird: you are aware that haskell _in_ _principle_ does not have dependent types, even with extensions afaik? 23:09:01 so you cannot possibly let the type of a string depend on its value 23:09:01 oerjan: that's fine, because this doesn't require dependent types 23:09:06 OverloadedStrings only works on literals 23:09:38 i doubt it allows the type to depend on the literal, nevertheless 23:09:38 -!- olsner has quit ("Leaving"). 23:09:58 oerjan: i am ~90% sure it's possible 23:10:38 isn't it just some class IsString with a fromString :: String -> a method or the like? 23:10:53 yes 23:11:06 no way to look at the string during type inference 23:11:11 nuh uh, sec 23:11:23 haskell seems complex 23:11:27 I mean, lots of stuff 23:11:27 it's not. 23:11:36 not simple? 23:11:36 mostly extensions. 23:11:39 buts lots and lots of stuff 23:11:40 ehird, ah 23:11:42 > filter (`elem` ['A'..'Z']) "i lauGh At You BecAuse u r aLL the Same" 23:11:43 "GAYBALLS" 23:11:46 O_o 23:11:47 ehird, but those are complex? 23:11:58 nooga: that would be BONUS' warped sense of humour 23:12:00 AnMaster: not really. 23:12:15 a man could fit in most of the haskell you'd ever need in his head 23:12:22 (Women however YUK YUK) 23:12:44 ehird, then where does the apparent complexity exceeding that of perl come from? 23:12:48 AnMaster: Erlang seems complex 23:13:04 nooga, it didn't seem that complex even before I learned it 23:13:44 AnMaster: haskell has quite a bit of syntactic sugar, plus definable operators, so it may seem complex even if the core isn't 23:13:44 it *does* however have a rather large standard library 23:13:53 oerjan, ah 23:14:47 > filter (`elem` ['A'..'Z']) "women however YUK YUK" 23:14:49 "YUKYUK" 23:14:57 > let foo = 1:foo ++ foo in foo 23:14:58 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,... 23:15:03 pikhq: ++ foo? 23:15:06 Will never be executed. 23:15:18 (x ++ y) will only do anything when you get to the end of x. 23:15:19 ... Yeah, didn't think when I typed. 23:15:24 And getting to the end of (1:foo)? Not happening :P 23:15:26 > fix (1:) 23:15:28 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,... 23:15:29 Incidentally, we had some talk about the google + dalvik thing? engadget writes "-- today they've released the Android 1.5 Native Development Kit (NDK) that allows developers to generate C and C++ libraries that run directly on the platform rather than being routed through Dalvik." 23:15:31 > let foo = foo ++ foo in foo 23:15:36 mueval-core: Prelude.read: no parse 23:15:36 mueval: ExitFailure 1 23:15:48 > fix (1:5) 23:15:49 Couldn't match expected type `a -> a' against inferred type `[t]' 23:15:51 meh 23:15:53 It hates me! It really hates me! 23:16:01 > fix (a:) 23:16:02 [a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,... 23:16:09 fizzie: Yay now we can run Haskell on it 23:16:11 ok that guess was correct though 23:16:14 the other one wasn't 23:16:28 pikhq: 23:16:29 *Main> let foo = foo ++ foo in foo 23:16:30 [hang] 23:16:31 :-) 23:16:36 > fix (a:b:) -- annoying 23:16:38 The operator `:' [infixr 5] of a section 23:16:38 must have lower precedence th... 23:16:56 th 23:17:06 I guess than 23:17:10 but what follows that 23:17:26 very accurate error messages 23:18:02 oerjan: grr, it 's suffering from the 23:18:04 No instance for (Format a (t -> t1)) 23:18:05 bullshit 23:18:09 The error messages are exactly correct and also kind of useless. 23:18:17 oerjan: when you do (specifitype→specifictype) 23:18:24 AnMaster: the error messages are very useful 23:18:56 ehird, yes 23:19:04 quite the opposite of the C++ ones 23:21:23 I can't decide whether I should just get a reasonably cheap old G1 thing (even though there's supposedly some connectivity issues, plus I hear the battery life is rather bad, plus lack of direct 3.5mm headphone jack) or wait and see that "before the end of the year" keyboardy Motorola Android phone or the equally keyboardy only-rumours-so-far launching-"like, really soon" Samsung thing; which both will probably not be very cheap to get up here in the wilderne 23:21:23 ss. What with all the polar bears delivery people have to fight past and so on. 23:21:34 oerjan: do you know if thar's a solution? 23:21:48 fizzie: Well, the dev phone is a bit expensive. 23:22:21 Yes, but ebay.co.uk seems to have a couple of rather cheap unlocked T-Mobile G1s. 23:23:04 fizzie: you don't know where they've been. the keys could have virususes on them. 23:23:12 I guess I should read more of them reviews. Quite many seem to mention the battery life thing, though. 23:24:07 fizzie: make your own phone 23:24:10 It is possible they might actually start selling one of those other phones (Samsung, Motorola) in Finland officially and all. A working warranty is probably not a bad thing in a phone. 23:24:12 get a gumstix board 23:24:15 get a small lcd 23:24:20 print a case with a reprap 23:24:29 get the linux kernel 23:24:33 get a text editor and a connection! 23:24:40 yay 23:24:44 for phone calls, hook into skype 23:24:47 emacs for talking in phone 23:24:47 :D 23:24:49 ehird, no no 23:24:54 not skype 23:24:58 use emacs for it duh 23:25:00 AnMaster: since i don't know how the fuck you do things like communicate with a sim, skype it is. 23:25:03 write an emacs interface to skype. 23:25:10 you could just mute its UI sounds and keep its interface hidden 23:25:16 and communicate via it by fake-clicking it. 23:25:19 :p 23:25:24 ehird, meh 23:25:36 good luck using emacs with a 3" screen and a tiny keyboard 23:25:44 ehird, yeah :/ 23:26:10 ehird, I'm waiting for the day when you can print an entire phone with rerap 23:26:15 err 23:26:17 rerape 23:26:17 spelling 23:26:20 v. 23:26:22 to rape again 23:27:04 AnMaster: you could do everything but the actual circuit hardware (use a gumstix board), the screen, the keyboard circuit (you could print the keys and holder), and the mic/camera/speaker 23:27:07 Actually, it's a borrowing from Spanish, where the prefix "re-" means "well-". 23:27:11 but the whole phone chassis could be reprapped. 23:27:16 Warrigal: well raped? 23:27:19 Yep. 23:27:24 "i'ma rape you real good!" 23:27:46 ehird: solution to what? 23:28:12 oerjan: if you have an instance involving (Concrete → Concrete) and try to use it, it'll say there's no instance for (t1 → t2) 23:28:26 since in regular haskell you need to do type variables, not concrete types, in instance declarations 23:28:30 so it can't check it prop'ly 23:28:49 ehird: -fglasgow-exts turns on most extras iirc 23:28:55 ..... 23:28:58 oerjan: i mean a workaround 23:29:02 there isn't an extra to make this work 23:29:12 er of course there is 23:29:20 no, there isn't... 23:29:31 i'm pretty sure ghc allows more than type variables in instance declarations 23:29:37 AnMaster: it seems reprap can make little LED lights 23:29:39 maybe 23:29:42 oerjan: that's not the issue 23:29:51 oerjan: the issue is that when you try and use them it checks for (t1 → t2) generically 23:29:53 and thus fails 23:29:54 you want it to be legal haskell 98? 23:29:59 Possible fix: add an instance declaration for (Format a (t -> t1)) 23:30:01 even though I have 23:30:01 instance Format Bar ([Char] -> [Char]) where 23:30:03 oerjan: no! 23:30:08 there. is. no. extra. for. making. this. work. 23:30:22 oh. 23:30:36 AnMaster: nm 23:30:51 It seems easy enough to make an LED. 23:31:02 Warrigal: with a 3d printer? 23:31:04 have fun with that 23:31:05 A diode is just two pieces of silicon, oppositely-doped, stuck together, isn't it? 23:31:15 So, um, let's figure out how to print silicon. 23:31:19 i was so sure i'd heard it was allowed, ask in #haskell 23:31:57 pikhq: there's a reprap thing to do parametrized lego bricks :-D 23:32:11 ehird: um maybe it is allowed but you have something that forces it to require a more general type than just Bar and [Char] -> [Char] ? 23:32:18 oerjan: no 23:32:20 it really isn't 23:32:23 ehird: paste 23:32:24 i've run into this before 23:32:44 @hoogle Format 23:32:44 module Data.Time.Format 23:32:44 Data.Char Format :: GeneralCategory 23:32:44 Data.Time.Format formatCharacter :: FormatTime t => Char -> Maybe (TimeLocale -> t -> String) 23:32:53 @more 23:32:59 bah 23:33:21 no 23:33:24 format is my type class 23:33:31 ehird: still paste 23:33:51 meh 23:33:54 ehird, link? 23:33:59 From the RepRap home page: 23:34:01 http://www.thingiverse.com/thing:591 23:34:05 "Not counting nuts and bolts RepRap can make 60% of its parts; the other parts are designed to be cheaply available everywhere. This is an interesting coincidence: we can make 60% of our proteins; the other parts are evolved to be cheaply available everywhere..." 23:34:19 60% of our proteins? Do they mean 60% of our amino acids? 23:34:55 ehird, to the diod thingy 23:35:05 AnMaster: i said "nm" 23:35:05 Last time I checked, we could synthesize all the proteins we needed from their amino acids, and we never used proteins we ate without breaking them down first. 23:35:16 ehird, nautical miles? nanometer? 23:35:20 never mind 23:35:24 ah THAT nm 23:35:43 i wanna print a klein bottle 23:35:45 gotta make a reprap 23:35:47 pikhq: let's make a reprap 23:36:13 Tempting. 23:36:50 ehird, *.stl? 23:36:53 what the hell is that 23:36:58 AnMaster: a 3d model of some sort? 23:37:02 ehird: -XFlexibleInstances 23:37:05 pikhq: we plan one, i build it, i use it to make a reprap, I give you that reprap :-P 23:37:09 ehird, I thought it was SuperTux Level :/ 23:37:10 oerjan: IT IS NOT THE INSTANCE THAT IS THE PROBLEM! 23:37:42 A-HA! 23:37:47 Functional dependencies, bitch. 23:37:57 .stl is the most common format for CAD. 23:38:08 pikhq: http://www.haskell.org/haskellwiki/Functional_dependencies ← it's type system prolog! 23:38:10 pikhq, heh, what FOSS exists for it? 23:38:16 AnMaster: RepRap. 23:38:17 I assume. 23:38:19 Quite a bit. 23:38:20 For one. 23:38:26 ehird, I meant, for *modelling* it 23:38:31 Dunno. 23:38:32 or viewing it 23:38:47 I know it's out there, just don't remember what that is. 23:38:55 Aside from Blender, that is. 23:38:58 ehird: since it would be useless to _have_ those instances if they cannot be used, you had to be doing something wrong. since you refuse to paste, i cannot possibly detect what it is. 23:39:07 oerjan: no, they can be used 23:39:10 but with type sig decls 23:39:13 this is definitely a known thing 23:39:18 hmph 23:39:49 pikhq, blender isn't CAD 23:39:55 and blender's interface is horrible 23:39:56 I used it 23:39:58 and I hate it 23:40:11 wings3d is quite nice for "free-form" modelling 23:40:19 but wouldn't work at all for CAD 23:40:22 ehird: was that about functional dependencies you finding the solution? 23:40:26 (wings3d is coded in erlang btw!) 23:40:33 oerjan: i think i have 23:40:47 wings3d is the nicest polygon editor I used 23:40:52 it can't do nurbs or such 23:41:16 ehird: anyway it _still_ belonged to the "no one can possibly see the solution without seeing the code" class, so there! >:) 23:41:39 AnMaster: I just know that Blender can export STL. 23:41:44 *Main> foo (parse "foo") :: Char 23:41:44 'a' 23:41:45 I also know there's other, better editors. 23:41:45 *Main> foo (parse "foo") :: Int 23:41:47 3 23:41:49 Fuck yeah, bitch! 23:41:54 I just don't know which those are. 23:41:57 pikhq blender can export every known 3d format 23:42:00 I bet 23:42:06 Probably. 23:42:16 Uhhhhh, I'm gonna go with "no" :P 23:46:51 pikhq: do you think reprap produced plastic cups are safe to drink from? :P? 23:46:55 s/\?$// 23:47:01 i mean all that plastic and stuff! it just feels wrong. 23:47:22 ehird: ... 23:47:26 :D 23:47:32 lol instinctive irrationality 23:47:41 I live in the land of plastic. 23:48:17 I knowwwwww. 23:49:45 pikhq: "However, the RepRap researchers will work actively to inhibit and to subvert the use of RepRap for weapons production, whether by individuals, companies, or governments" 23:49:47 creepy 23:49:54 "we'll modify our design to stop you using it in a way you want to?>" 23:49:59 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 23:50:01 s/\?>"/"?/ 23:50:04 bullshit 23:50:11 ehird: Who wrote that? 23:50:16 pikhq: reprap people 23:50:24 Dumb. 23:50:31 Not to mention impossible. 23:50:32 The way to make a plastic cup is by punching a sheet of plastic into the shape of a cup. 23:50:40 It's like DRM. 23:50:56 Warrigal: That is correct if you use a miller head. 23:51:12 (someone's been experimenting with a miller RepRap.) 23:51:38 The miller head isn't all that hard to make; create a mount for a Dremel. 23:51:43 anyway, I'd make a klein bottle and use it. 23:51:46 although I'd prefer glass. 23:51:50 we need a glassrap. 23:51:55 put in sand, get out glass. 23:51:59 — shape, that is. 23:52:01 You can get a glass Klein bottle. 23:52:09 i know 23:52:13 but it's not the same as making it yourself. 23:52:42 pikhq: also they generally lack an opening to drink from 23:52:47 i'd punch a hole into the top curve 23:52:51 maybe 23:52:59 http://upload.wikimedia.org/wikipedia/commons/5/5c/Klein_bottle.svg 23:53:02 or just make it like that 23:53:03 The same people make a Klein mug. 23:53:06 i know 23:53:09 but that's lame-ass 23:53:12 K. 23:53:12 pikhq : I have that mug 23:53:30 Note that a klein bottle probably couldn't be printed; too much curviness. 23:53:31 * Warrigal watches How It's Made to find out the *real* way to make a plastic cup. 23:53:36 pikhq: you sure? 23:53:43 http://objects.reprap.org/mediawiki/images/6/6c/Shoe-closed.jpg is curvy too 23:53:47 ehird: 45° overhang? 23:53:52 The Klein bottles I've seen were assembled out of pieces. 23:54:12 Warrigal: http://www.kleinbottle.com/ 23:54:12 blown. 23:54:14 Oh, that shoe. 23:54:14 Take a sheet of plastic, cut it, shape it, glue it. 23:54:22 i wonder if that shoe is any good 23:54:28 i wish reprap's results looked prettier 23:54:28 ehird: yes, but they blow pieces and assemble them, don't they? 23:54:33 well yeah 23:54:49 That's a few pieces stuck together by a soldering iron. 23:55:06 hummm 23:55:22 Yeah, they're punched. 23:55:34 pikhq: hmm really? 23:55:45 ehird: Yeah. 23:55:46 -!- Tidus35 has quit (Read error: 110 (Connection timed out)). 23:55:53 :( 23:56:13 There's work on making the RepRap print support substrate. 23:56:19 So you can print any arbitary overhang. 23:56:25 ^_^ 23:56:30 Arbitrary, too. 23:56:31 plus the circuitry generator! 23:56:49 The substrate printing should make the RepRap design much simpler to do. 23:57:06 i hope the circuitry generator is enough to print a reprap 2 23:57:43 Mendel will probably not be able to print magnets. 23:57:44 Even if it's not, they have another technique up their sleeve. 23:57:53 Reprap channels out. 23:57:55 And, therefore, will probably not be able to print motors. 23:57:59 Melt solder into those channels. 23:58:13 Warrigal: Not without you inserting magnets. 23:58:18 * Warrigal nods 23:58:29 yeah but it could print its circuit 23:58:37 does anyone know how quick reprap is? 23:58:43 it would be something if it could completely print and assemble itself 23:58:45 Not very. 23:58:52 Takes many hours for most everything. 23:59:09 nooga: if you don't think what it already does is fucking amazing you suck 23:59:29 not really 23:59:30 Doesn't need to be exceptionally fast to be revolutionary, though. 23:59:40 A family of RepRap machines would probably be better than a single RepRap machine. 23:59:45 it's like bootstrapping a compiler 23:59:53 nooga: reprap doesn't exist solely to make itself