2011-06-01: 00:03:49 elliott_: how does ghci handle the IO monad? 00:03:54 I cannot remember. 00:05:47 CakeProphet: Whaddya mean? 00:06:02 does it execute IO actions if they're top level? 00:06:23 Yes, it acts like a "do" block in the IO monad. 00:06:27 for instance, will it modify IOrefs if you tell it to. 00:06:29 ah okay. 00:06:35 Except you can also put expressions in. 00:06:42 > x <- ... 00:06:42 gotcha 00:06:42 : parse error on input `...' 00:06:43 works, etc. 00:11:25 hmmm 00:12:02 I was thiking one improvement to these demonstrations would be a way to pass around mutable IOref parameters to these sound generators. 00:12:05 and then change those. 00:12:20 but I think that would greatly complicate the syntax. 00:13:16 @hoogle (:=) 00:13:16 Control.Parallel.Strategies (:=) :: a -> b -> Assoc a b 00:13:28 @hoogle (::=) 00:13:28 No results found 00:13:56 hoogle (~+) 00:15:14 @hoogle (~+) 00:15:14 No results found 00:15:59 CakeProphet: what are you looking for 00:16:11 and what you demonstrated looked totally pure 00:16:15 why force it into the IO monad? 00:18:34 elliott_: no I was referring to yaxu.org 00:18:45 oh 00:18:49 I hope what I just posted to the LSL list wasn't downright stupid 00:19:02 Sgeo: the odds are not on your side. 00:19:05 elliott_: and I was seeing what other operators looked like that, as I was thinking of my own operators to use. 00:20:40 -!- aloril has joined. 00:20:55 http://pastie.org/private/60bknz58chvetmttccch0w 00:21:48 elliott_: though with his emacs interface he really doesn't need to use IOref. He just changes the parameters by hand and reloads it via some black magic. 00:21:59 s/interface/mode/ 00:23:33 I wish Google could search for non-alphanumeric characters better. 00:23:52 "haskell ($)" gives me nothing about ($) 00:24:27 CakeProphet: it's IORef not IOref btw 00:24:29 and use hoogle :P 00:24:36 elliott_: and I was seeing what other operators looked like that, as I was thinking of my own operators to use. 00:24:39 you can't use : 00:24:43 it's reserved for types and type constructors 00:24:46 kind of like Uppercase is 00:24:57 s/type constructors/constructors/ 00:25:01 ah that's right. 00:26:29 elliott_: Hoogle doesn't show the fixity declaration though, which is what I'm looking for. 00:27:10 oh but hey 00:27:11 I foudn it 00:27:15 > (0$0$) 00:27:15 The operator `GHC.Base.$' [infixr 0] of a section 00:27:16 must have lower prec... 00:27:24 the actual hoogle website has it. 00:27:31 oerjan knows the proper trick for that 00:27:33 > (0$0+) 00:27:33 The operator `GHC.Num.+' [infixl 6] of a section 00:27:33 must have lower prece... 00:27:37 hm maybe this is the trick 00:27:37 yeah it is 00:27:39 > (0$0/) 00:27:40 The operator `GHC.Real./' [infixl 7] of a section 00:27:40 must have lower prec... 00:27:48 CakeProphet: also 00:27:52 Prelude> :info ($) 00:27:52 ($) :: (a -> b) -> a -> b -- Defined in GHC.Base 00:27:52 infixr 0 $ 00:28:14 I wonder if Haskell will let me define a negative precedence level. :3 00:28:49 for fancy assignment-like operators 00:29:41 no 00:29:48 actually using 0 is a bad idea... 00:29:53 because it will stop people using $ 00:29:55 use one at the most :P 00:29:58 or... at the least 00:30:13 but I want 00:30:33 "name" := someUngodlyFunction $ someUngodlyParameters ... 00:30:48 replace the := with something else 00:31:06 ah well I guess I'll just have to settle with parenthesis 00:31:13 or, you know, I might not even implement something like that at all. 00:31:14 "name"? 00:31:18 seriously? /strings/? 00:31:30 that's how I roll, dog. 00:31:33 * Sgeo is impatient for a reply 00:31:44 CakeProphet: enjoy creating the worst haskell library of all time :x 00:31:49 type safety, who needs it 00:32:16 don't worry, I haven't created anything yet. 00:32:33 Is Haskell's printf type-safe? I mean, it type-checks just fine, but 00:33:13 Sgeo: no 00:33:16 nobody uses it though :) 00:33:20 and there's a way to do much the same thing safely 00:33:40 it just looks like: printf ("foo " $$ str $$ " bar") "abc" 00:33:42 instead 00:33:42 or e.g. 00:34:00 the thought was that in a live coding environment the less typing you have to do the better. Also, being able to put everything in one line is a place. Anything besides string requires previous setup of some kind. If I can do that and have it not be a pain then I'll use that approach, but otherwise I am using strings and you will hate it. :P 00:34:02 printf ("foo " $$ (int % pad0 9) $$ " bar") "abc" 00:34:04 erm 00:34:06 printf ("foo " $$ (int % pad0 9) $$ " bar") 9 00:34:07 etc. 00:34:10 which is easier to read anyway. 00:34:29 CakeProphet: then don't use haskell 00:34:40 CakeProphet: besides 00:34:43 CakeProphet: variables need initial values 00:34:46 what will you do? 00:34:57 default all integers to 0 and lists to [] and the like with a typeclass? ahahaha 00:35:17 er, no. The idea is that the names refer specifically to one type. a sound generator of some kind. 00:35:26 so what initial value 00:35:39 whatever you set it to initially? 00:35:45 so you need to declare it? 00:35:51 i thought you didn't want that which was why you were using strings. 00:36:52 I just wanted to use strings as names in, perhaps, a mutable map or something, instead of passing around IO refs. It's one option of many. 00:37:12 I'm just saying that strings, apart from being totally type-unsafe and ugly and not even giving you any kind of error for using an undefined variable, 00:37:20 don't absolve you of the need to initialise -- i.e. declare -- variables 00:38:02 right, but they save you effort in that they're effectively global throughout IO, without the need to pass around the reference. I'll probably end up using IORef if anything for mutable parameters. 00:38:08 Man. For coming from the guy who brought us PulseAudio, systemd actually seems like a sane, intelligent design. 00:38:13 pikhq_: it's not 00:38:15 fucking ini files 00:38:18 no sh 00:38:42 elliott_: Are there any non-aesthetic complaints you have? 00:38:52 those are technical complaints 00:38:58 ini files are terrible, especially the way it uses them 00:39:02 How so? 00:39:13 and the only reason it exists is because Poettering hates sh 00:39:32 if Lennart Poettering is behind it, you can basically assume it'll be horrible shit and also, that he'll be a jackass about it 00:39:59 IIRC he responded to a criticism of -- was it systemd? -- at a presentation, by accusing the criticiser of hating disabled people :) 00:40:19 At least how sh is used *currently* in init, sh seems to suck for the purpose. 00:40:31 That is a motherfucking *fuckton* of boilerplate. 00:40:39 when did i say that was a good idea 00:40:53 but his whole goal is "omg sh should never be called during boot" 00:41:00 You seemed to say that "no sh" was a technical complaint against systemd. 00:41:15 yes, because it means you can't do tons of shit easily 00:41:16 i never said 00:41:21 "i want sh exactly like it is in current init omg" 00:41:46 Admittedly, it's probably a good idea to also have a more flexible language in your init system. 00:41:55 By all means, make it so the common case is easily configurable. 00:41:57 like Java. 00:42:02 CakeProphet: lol 00:42:12 all init should be in java. 00:42:18 But you should make the easy bits easy and the hard bits possible. 00:42:18 pikhq_: the people in #musl know more about systemd than me anyway, but i heard enough to make me dislike it 00:42:28 (note: going in to #musl to ask about systemd may not be a good idea :P) 00:42:29 Rather than the easy bits easy and the hard bits akin to getting raped. 00:42:31 pikhq_: so you're saying init should be in Perl? 00:42:45 CakeProphet: No, no, just in *a* flexible language. 00:42:51 sh is not terrible for the purpose. 00:43:05 If you can get rid of the pointless, irritating boilerplate. 00:43:14 -!- Gregorzilla has quit (Quit: Leaving). 00:43:18 how is there any boilerplate in starting e.g. an httpd with sh 00:43:21 it's one line 00:43:32 nobody is advocating /etc/init.d here, that is a strawman 00:43:54 elliott_: Obviously, the means of getting rid of boilerplate is not necessarily getting rid of sh. 00:44:07 there is no boilerplate to get rid of 00:44:17 that's assuming we're all talking from the "systemv init" frame of reference 00:44:19 which guess what, we're not 00:44:36 Just making it so that you literally don't have to stick the basic, barebones logic of the *entire* init system in the configuration files for it. 00:44:42 so, I'm little murky on the differences between sh, bash, and dash. Can someone enlighten me? 00:44:47 elliott_: I have been talking from a systemv init frame of reference. 00:44:56 well that's your problem 00:45:04 If we talk from other frames of reference, there may well be little to no boilerplate. 00:45:13 CakeProphet: sh is too vague to define, be more specific; bash is GNU's shell 00:45:27 dash is the Debian Almquist shell 00:45:29 Certainly, there's no boilerplate to: for /etc/services.d/*;do sh $i;done 00:45:39 as in, is sh just the name for the system's shell program, whatever it may be? 00:45:39 a descendent of NetBSD's version of the Almquist shell 00:45:55 CakeProphet: yes. POSIX defines what sh has to be, but it's a rather minimal specification. 00:45:55 CakeProphet: The system's *Bourne-like* shell. 00:46:05 ah okay. 00:46:21 CakeProphet: There's a few requirements on that beyond "it can spawn processes"... In practice, though, that means "any shell but csh and tcsh". 00:46:26 I notice when I "man sh" I get a page for dash, when originally I thought sh was bash on Ubuntu. 00:46:44 sh is now dash on the Debian family distros. 00:46:54 is there like, a huge difference I should note? 00:47:00 CakeProphet: No. 00:47:08 Unless you use bash's advanced features. 00:47:14 (Hint: You probably don't. Not in your scripts anyway.) 00:47:26 yes I doubt it. I don't even know what those are. 00:47:29 ((I mean really advanced, not "the advanced section of My First Bash Script".) 00:47:30 ) 00:48:00 Yeah, a barebones Bourne shell offers like 99% of what *anyone* uses in shell scripting. 00:48:10 I think the most obscure thing I've used so far is the ${foo%bar} thing 00:48:45 Yeah, that's Bourne, I'm pretty sure. 00:48:46 to rename a file extension 00:49:10 so, bash > dash? 00:49:21 or just... different? 00:49:29 in some tiny ways. 00:49:38 dash is quicker and leaner for scripts 00:49:42 Bash is a superset of the capabilities of the Bourne shell. 00:49:44 and using bash for scripts leads you into the trap of using bash-only features 00:49:47 which makes your scripts non-portable 00:49:52 pikhq_: so is dash. 00:50:07 elliott_: Oh, is it? Hmm. 00:50:14 CakeProphet: basically: obviously you don't want to use dash for interactive use. 00:50:24 but if you are writing scripts then dash will probably do you fine, and will produce more portable scripts. 00:50:29 i say probably 00:50:31 it really will do you fine 00:50:35 you will not notice any difference 00:50:40 when I'm using terminal in Ubuntu I'm using dash right? 00:50:46 um 00:50:47 no 00:50:55 Aaah, the language that dash supports is POSIX *and* a few BSD extensions. 00:50:56 oh, well good. 00:51:18 $ help 00:51:19 GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu) 00:51:31 (which, being extensions that made their way into Korn, are essentially ubiquitous, anyways) 00:51:56 okay, thank you for the enlightenment. 00:52:15 The Bourne shell itself, BTW, is basically the first UNIX shell that was reasonably useful for programming. 00:52:39 And replaced the Thompson shell in V7. 00:53:26 Which itself was the first shell ever, and only really had pipes and file redirection. 00:54:47 Huh. rc and mk were originally written for UNIX. 00:54:54 And part of V10. 00:54:56 yes 00:55:04 Neat. 00:56:19 Shame rc's not ubiquitous; it's got such a better language. 00:57:00 hrm 01:00:50 ?unpl (f . g) x 01:00:50 (f (g x)) 01:01:39 And would you look at that. Sabotage, that distro using musl as its libc, builds with mk. 01:04:34 isn't it a heap of shell scripts mostly :) 01:04:52 /o/ 01:04:52 | 01:04:52 /< 01:05:03 \o/ 01:05:03 | 01:05:04 /'\ 01:05:08 elliott_: Well, yes, probably. 01:05:16 That ' in the middle looks suspicious. 01:05:28 I can't help but laugh when myndzi does that to Perl code. 01:05:38 elliott_, do you think CoffeeScript is a decent language? 01:10:46 elliott_: Inquiry: what do you think is an actually decent init system? 01:10:53 (if anything) 01:11:49 pikhq_: @ :P 01:12:03 But uh, runit is pretty good. 01:18:30 Hey, non-revolting use of sh. 01:19:45 -!- pikhq has joined. 01:23:19 -!- pikhq_ has quit (Ping timeout: 260 seconds). 01:26:39 -!- Mannerisk has joined. 01:27:12 -!- Mannerisk has left. 01:27:32 -!- jwest has joined. 01:28:29 Hi, could anyone give me an idea on how you'd, go backwards in the data list in brainfuck until a counter is 0? 01:28:42 not sure where else to ask 01:30:31 you mean like 01:30:35 n=9 <<<<<<<<< 01:30:40 where n is in a cell? 01:30:54 i.e. "repeat < the number of times as indicated in the current cell" 01:30:59 yep 01:31:02 but n being an input 01:31:04 not constant 01:31:20 that is not possible 01:31:24 oh... 01:31:27 kk 01:31:31 that's a shame 01:31:33 jwest: you may be interested in an array type solution 01:31:39 cells look like 01:31:47 1 | element | 1 | element | 1 | element | 0 01:31:51 starting on the first one 01:31:52 you can do 01:31:53 [>>] 01:31:56 to seek to the end 01:31:57 and things like that 01:32:03 making it very convenient to seek around, etc. 01:32:11 and you can use these "indicator" cells to pass around a counter 01:32:16 letting you move N places in the array, etc. 01:32:29 ooh 01:32:31 right 01:33:01 yeah i'll look into that 01:33:39 http://1.bp.blogspot.com/-HU3XrGrDAZ4/TeVGS5sea-I/AAAAAAAAADk/r4hnr1X5YKQ/s1600/Netflix%2BPerformance%2Bon%2BTop%2BISPs%2B-%2BUSA.png This makes me sad. 01:33:44 thanks elliott_ 01:33:45 Note the units on the graph. 01:34:15 jwest: http://esolangs.org/wiki/Brainfuck_algorithms is sometimes helpful 01:34:33 oh wow, the netfuck saga continues 01:34:49 he can write interpreters in qbasic and has developed simple chats over nullmodem :o 01:35:08 elliott_: ... Wut? 01:35:08 what do the temp1 etc things in the example code mean? 01:35:44 jwest: see top of page 01:35:53 pikhq: "I still don't get your problem. This is so petty and you search every error in my sentense to critisize me... I have already written a full functional interpreter in QBasic and developed simple chats over nullmodem, so I don't really see why NF should be so worse in your opinion. --87.165.166.97 00:34, 1 June 2011 (UTC)" 01:36:14 oh right, sorry 01:36:18 thanks for your help 01:36:24 jwest: :) 01:36:37 elliott_, link? 01:37:31 Lymia: talk:netfuck on the wiki 01:38:13 Hmmm. Maybe I should actually upload all my code somewhere again. 01:38:38 elliott_, link? 01:38:44 I've failed to find it. 01:38:51 see recent changes, i have a headache and closed the tab 01:38:53 pikhq: I have a VPS I'm doing nothing with that runs thttpd :P 01:39:05 (Note: I am an unreliable person.) 01:39:11 pikhq: ooh, do the NetFuck challenge and you'll get 01:39:13 FREE 01:39:13 AD-FREE 01:39:14 WEB 01:39:14 SPACE 01:39:17 the best prize 01:39:22 elliott_: I was thinking more like one of those git hosting sites. 01:39:34 HOW BORING AND MODERN 01:39:51 elliott_, uh. 01:39:51 So. 01:39:52 Be nice to have dimensifuck up somewhere. 01:39:58 And PEBBLE and PFUCK. 01:40:02 This is Brainfuck... with support for two IO channels? 01:40:03 pikhq: I was going to go "GIT :( USE DARCS" but then I realised that the darcs hosting sites suck. 01:40:07 And other random snippets. 01:40:13 Well, darcsden is alright but it's... barebones. 01:40:28 oh hm, it seems to have been made less barebones as of late, nice 01:42:36 Opinions on git hosters? 01:43:17 pikhq: If you're looking to be ais-style obnoxiously legalistic and principled about things, something that isn't GitHub. Otherwise, seriously, just use GitHub. 01:43:45 elliott_: What negatives exist at all? 01:44:37 pikhq: Uhh... their terms of use once disallowed people to block ads on the site (note that GitHub has never even had ads, and this clause is now long-gone). Also, things like issues, the wiki system, and pull requests are "lock-in" features in that they're not implemented with any standard protocol and don't interoperate with non-GitHub sites. 01:44:48 Oh, and the issue system requires JS. 01:45:02 But it's a well-designed, fast site with lots of good functionality, and it's incredibly popular /shrug 01:45:22 And the inability to use the pull request system directly if the person who made the changes doesn't use GitHub is... not the biggest issue ever. 01:45:38 Mmkay, then I suppose GitHub, then. 01:45:46 GitHub is the only host which offers dynamic tarball downloads of the tip too I think, which is nice because you can link to them. 01:45:47 If I don't like it, well, it's not hard to migrate elsewhere with git. 01:46:28 Honestly, in my mcmap development I look at exactly two things on GitHub: 01:46:35 mcmap? 01:46:36 - The commit list (and the commits themselves) 01:46:37 - The issue tracker 01:46:40 coppro: Minecraft thing. 01:46:46 ah 01:47:14 Developed by fizzie; I wrote some parts. 01:47:31 Un momento; time to use ssh-agent again. 01:47:32 -!- pikhq has quit (Quit: leaving). 01:48:11 -!- pikhq has joined. 01:52:49 Hey, just one more question, does the fact that brainfuck is turing complete mean that anything written in another turing complete language can be written in brainfuck? I suspect not. 01:53:01 jwest, it does. 01:53:23 :o 01:53:28 jwest: That is *precisely* what Turing completeness means. 01:53:32 haha, good 01:53:36 it's just hard to believe 01:53:38 Note that Turning Complete only considers computational power. 01:53:48 Things like IO, Networking, etc are not covered. 01:53:52 i guess i should look it up and study it a bit 01:53:52 yeah 01:54:30 jwest, you could, for example, write an x86 emulator in Brainfuck. 01:54:34 This has obvious implications. 01:56:39 finding a well-documented low-level audio playback library in Haskell is proving difficult. 01:56:45 -!- TeruFSX has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.). 01:57:01 portaudio 01:57:08 ohh, kk 01:57:17 Lymia: does the 30000 byte limit stop this at all? 01:57:26 (assuming that is taken as necessary) 01:57:36 elliott_: perfect :) 01:57:37 jwest, yes. 01:57:43 Turning Complete, assuming infinite memory. 01:57:47 ah kk 01:58:04 Actually. 01:58:14 Does the C spec break down with infinite memory, and infinite word size? 01:59:14 break down in what way? 02:00:33 I assume the only problem the C spec would have with infinite memory would be addressing it all. With infinite word size, that wouldn't be a problem. 02:01:16 Infinitely long typecasts would be a problem 02:01:33 Wait. 02:01:36 With infinite word size... 02:01:38 What is sizeof(int) 02:02:27 Lymia: presumably infinity. 02:02:29 If everything is infinitely large then sizeof() is useless 02:02:48 i gotta go, thanks for the help and interesting info, see ya 02:02:51 -!- jwest has quit (Quit: Page closed). 02:03:22 Patashu, but what would sizeof(int) return? 02:03:28 All ones? 02:03:59 How would you express negative numbers? The most infinite bit is set to 1? But infinity has no last bit 02:04:19 You don't use twos compartment. 02:04:31 You could use sign and magnitude, right? 02:04:42 malloc(sizeof(int)) would return the starting address of the infinite memory you just allocated in your infinite memory heap... which I'm pretty sure wouldn't terminate. 02:04:42 Sign could be first, sure 02:05:07 but then again, I don't really know how malloc works. 02:05:07 Would infinite memory C be a Deathstation 9000? 02:05:34 Patashu, wait. 02:05:43 C with infinite memory is possible, provided you address memory with bignums. However, infinite word size makes things difficult, it seems. 02:05:46 What about the various undefined interactions? 02:05:57 undefined behavior, etc. 02:07:54 How are you going to make this work with the guarantee that you are able to touch every bit in memory, e.g. chars are consecutive and leave nothing out 02:08:31 I don't really understand what you mean exactly. 02:08:37 Me or lymia 02:08:42 you 02:09:36 hmmm, well. you could have a floating point addressing scheme. 02:09:46 (I think I understand what you mean now) 02:09:55 Let me see if I can find it 02:11:04 Hmm I don't know where it is, but I know that the C programming language guarantees that chars are consecutive and allow you to touch every bit of memory 02:11:07 ptr+1 points to the next char in the string, and all of the bytes of the infinite width char are represented as decimal points (but then they become uncountable, which is another problem I think) 02:11:14 How do you reconcile this with words being infinitely large? 02:11:24 It doesn't make sense to have an infinity after an infinity, I guess 02:11:30 sure it does. 02:11:42 that's how the real numbers work 02:12:09 Hmmmm. What else should go up? 02:12:26 Question is. 02:12:32 Does C break down when you do crap like that? 02:13:49 Can I address memory in smaller than infinitely large chunks, e.g. 8 bit chunks? 02:14:04 If so, what is the address of the 8 bit chunk at the start of the third infinitely large chunk? 02:14:09 well, yes. as it currently stands, I think every implementation of C would not be able to handle infinite memory. Especially considering that no physical computer can do that. 02:14:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 02:15:21 So. 02:15:28 Basic question is, does the C spec hold up under infinity. 02:15:35 Patashu, I dunno. 02:15:44 The word size is infinitely large, right? 02:17:01 to have infinite memory and word size, the cardinality of our set of memory addresses has to equal that of the real numbers. For finite word size and infinite memory, that would be the same cardinality as the natural numbers. 02:18:13 so basically, if you ask "what's the second bit in the fourth word of our computer memory", there is no answer... 02:18:29 it would be like asking, what's the next real number after 4? 02:18:40 (I think) 02:18:59 Guh. 02:19:01 Brain hurt. 02:19:08 Mmkay, a few bits of code are now up on git. Whooo. 02:19:18 Erm, github. XD 02:20:25 Lymia: but, let's assuming you have a arithmetic processing unit that can handle addition of infinite words. Then you don't need to reference those bits individually, you just have your miraculous device perform basic arithmetic for you. 02:20:57 and to get the next word in memory, you just say char_ptr+1 02:22:11 https://github.com/pikhq A handful of things. 02:22:14 and because you can refer to consecutive words, you can make assertions such as "an integer is 4 words long" 02:23:14 and sizeof(int) would simply be 4 words. 02:23:40 which malloc can happily allocate, most likely. 02:24:10 with its magic algorithm, operating on magical infinite-sized words. 02:24:16 But what do I do if I want to reference memory in smaller chunks than a word 02:24:17 I can't? 02:24:21 I guess I wouldn't really need to 02:24:23 not really no 02:24:26 and yes, no need. 02:24:27 If I needed byte arithmetic I can fake it with modulus 02:24:33 And my copmuter is apparently infinitely fast now 02:24:54 I don't see how it would be possible for bitwise operations, including arithmetic, to ever terminate on an infinite word, however. 02:26:41 well, to contain infinite memory I think a computer would need to occupy infinite space. 02:27:25 so if you have an infinitely large ALU with infinite circuitry to handle infinite bytes, etc... 02:28:02 then we don't have to worry about "terminating" in the algorithmic sense because we have an endless supply of physical space to simultaneously move electrons around. 02:30:08 ...though I can't imagine what that adder circuit would look like. You'd need a "..." in the schematic. 02:31:20 or, of course, an infinite schematic. :P 02:35:05 I think that's enough speculation for me tonight... 02:43:43 For the first time in ages, I actually have a place to shove code at. 02:43:54 Yay. 02:44:02 -!- Patashu has quit (Ping timeout: 240 seconds). 02:49:17 https://github.com/pikhq/pebble Anyone give a fuck? 02:49:22 No? 02:49:24 Didn't think so. 02:50:17 not familiar with what that is. 02:50:43 oh but look, a language spec. 02:52:31 -!- copumpkin has joined. 02:52:47 Something I wrote back in 2006 through 2007, due to boredom with classes in high schoo. 02:52:56 pikhq: so it's a high level brainfuck of sorts? 02:53:06 Macro language for Brainfuck, rather. 02:53:24 It directly targets Brainfuck. 02:54:07 so lastloc is for debugging? 02:54:34 Yeah. 02:54:44 -!- Patashu has joined. 02:55:48 so whatever happened to giving brainfuck better IO capabilities? 02:56:10 Fuck that shit. 02:56:28 heh, bash is brainfucks advanced IO platform? :D 02:57:25 this is cool though. It's like a high-level assembler for BF. :) 02:57:55 Yeah, it was pretty fun to write. 02:58:08 can you mix brainfuck code into the language? 02:58:16 https://github.com/pikhq/pfuck You might be interested in this. 02:58:29 You *could*, but it'd break on non-Brainfuck backends. 02:58:53 er, what do you mean? 02:59:05 oh 02:59:11 it's not intended to be used only for BF? 02:59:37 It also has a C backend, and an interpreter. 02:59:47 ah 03:00:34 I like pebble because I could write complex code, compile it, and then claim I wrote it all in brainfuck. 03:00:37 :) 03:01:49 CakeProphet, does PSOX count for your better IO capabilities purposes? 03:02:38 I'm not sure.. 03:02:51 I still never really learned how it worked. 03:36:29 -!- azaq23 has quit (Ping timeout: 276 seconds). 03:37:17 -!- azaq23 has joined. 03:43:22 -!- comex has quit (Quit: ZNC - http://znc.sourceforge.net). 04:18:39 -!- Sgeo has quit (Ping timeout: 255 seconds). 04:22:03 Wait. 04:22:03 With infinite word size... 04:22:03 What is sizeof(int) 04:22:08 we've been over this a thousand times 04:22:10 Lymia: presumably infinity. 04:22:17 infinity is not a valid value for size_t in any C system 04:22:20 Ah. 04:22:21 and sizeof must return a size_t 04:22:26 well, be typed as 04:22:29 no "returning" 04:22:38 Lymia: Patashu, but what would sizeof(int) return? 04:22:41 it cannot 04:22:55 Lymia: but you can have char be a bignum 04:22:58 then sizeof everything is one 04:23:25 Yeah, that's what we ended up deciding on 04:23:26 So. 04:23:27 Basic question is, does the C spec hold up under infinity. 04:23:28 what? 04:23:30 The minimum word size is (infinity) 04:23:36 This somehow works 04:23:42 im mostly skipping all of this since its a rehash of a discussion we've had about a hundredtimes 04:24:09 oh, and note that you can't have a hosted (= with stdlib) C with bignum char 04:24:10 because of CHAR_BIT 04:24:26 Aha 04:24:50 but file IO lets you be tc 04:25:04 because ftell and the like are explicitly allowed to just fail if you're too far in to the file to represent in an int 04:25:17 so you can just have an infinite disk 04:25:18 voila 04:25:34 Wait, so what do you do in C for managing files over 4GB 04:25:51 For a start, you still use a thirty-two bit computer? 04:25:57 Oh, right 04:25:58 My bad 04:26:04 For a second, it's actually two gigs (int is signed) 04:26:10 For a third, you keep track of your own file position :P 04:26:19 With a bignum or whatever. 04:28:25 aren't things like int defined by word size though? So sizeof(int) would be the same number of words as before. 04:28:41 yeah 04:28:56 CakeProphet: no 04:29:00 CakeProphet: No, things like int simply must be a multiple of char sized. 04:29:07 sizeof(t) is equal to the number of chars you need to store a t, basically 04:29:26 There is absolutely, positively no guarantee that an int is a system word. 04:29:56 In fact, there is at least one system in common use where int isn't a system word. 04:30:11 x86_64 04:30:12 On most x86_64 system, sizeof(int) is 4. 04:30:23 sizeof(void*), however, is 8. 04:30:37 On most 64-bit systems, sizeof(int) is 4, as otherwise there aren't enough type names to cover 1, 2 and 4 :P 04:34:32 happy june 04:35:04 Actually, I should specify. On most x86_64 systems, sizeof(void*) is 4. 04:35:48 There's a set of toolchain patches floating around to give you x86_64 with 32-bit pointers as an ABI on a Linux system. 04:36:23 Lemme see if I can find it again... 04:37:42 https://sites.google.com/site/x32abi/ Thar we go. 04:38:46 what a silly abi :) 04:39:07 you get the extra registers without the extra pointer overhead 04:39:15 oh noes overhead 04:39:16 if you're short on memory, it's not bad 04:39:26 you also don't have to deal with the pesky additional address space <:) 04:39:27 it's very noticeable in certain haskell code I run often 04:39:39 elliott_: in my case, I have 4G of RAM 04:39:39 well yeah but haskell is really pointer-heavy 04:39:46 probably because of []'s unfortunate ubiquity 04:39:46 and my program was getting killed at 3G for allocating more than that 04:39:51 so I recompiled it with the 64-bit GHC 04:40:02 Saving space on pointers can really help with cache. 04:40:07 and now it swaps and exceeds 4 and doesn't terminate in any reasonable amount of time 04:40:20 elliott_: not cause of lists 04:40:30 just cause of enormous terms in memory 04:40:33 copumpkin: to be fair, in that case your only recourse without changing the program is to buy more ram :P 04:40:41 elliott_: macbook air! yay 04:40:50 coppro: macbook air sbuddies /hifive 04:40:54 shittiest laptop ever 04:40:56 ;D 04:41:02 I like it a lot 04:41:16 well it's nice... apart from the fact that the fan is ridiculously noisy and goes on whenever you do anything 04:41:25 and also the terrible linux support although that isn't really apple's fault :) 04:41:33 the new one or the old one? 04:41:34 also the BREAKING NUMBER KEYS, that's the worst feature imo 04:41:36 cause my fan is quiet 04:41:42 copumpkin: it's the newest of the new. 04:41:50 maybe that fan just sucks? 04:41:55 mine isn't noisy at all 04:41:56 copumpkin: I have really obnoxious standards for fan noise. 04:42:15 I can't argue with that, then 04:42:20 It doesn't sound "broken" or anything, but it's a lot louder than the fan on my previous laptop 04:42:27 Which was, admittedly, an ULV processor 04:42:29 anyway, it's great 04:42:42 It probably is great if you use OS X :) 04:42:46 elliott_: There should be at least *some* better support in Linux 3.0. 04:42:54 pikhq: I thought it had no new features :) 04:43:26 elliott_: Bug workarounds are not new features. :P 04:44:25 copumpkin: Really, I got it because (a) the specifications are quite decently above what I had before and (b) it's not a fragile plastic piece of crap like [insert large PC manufacturer here] 04:44:37 If they still made ThinkPads like they used to, the choice would have been obvious :) 04:45:14 There wouldn't have been a choice, really. 04:46:27 meh 04:46:55 people say apple is a a cult :P 04:47:29 I tried to be an Apple fanboy but they were too crap, whoops 04:48:00 I just mean to say that thinkpad-of-olde worshippers aren't much better :P 04:48:38 copumpkin: At least with ThinkPads the reputation is well-deserved >:) 04:48:46 OHHHH SNAPPPPPPPPPPPPPPPPPPPPPPPPPPPP ok that wasn't actually much of a snap 04:48:58 * copumpkin washes hands 04:49:05 I don't really care that much, just commenting :) 04:49:09 impossible ive caught you in my snap now 04:49:23 http://www.thinkwiki.org/wiki/PC110 best thinkpad 04:49:26 Weight 1.3 lbs (630g) 04:49:29 AHEAD OF THE TIME 05:05:37 -!- Zwaarddijk has quit (Ping timeout: 248 seconds). 05:13:07 -!- Zwaarddijk has joined. 05:20:33 "In true academic style they define the problem and exhaustively test its parameters. Let's just build something quick and hacky that usually works :)" 05:20:35 hahahahaha 05:20:54 are advice dog derivatives dead yet? can we make Terrible Programmer? 05:21:02 FIND DETAILED PAPER ON THING YOU'RE TRYING TO IMPLEMENT 05:21:02 05:21:04 WHO CARES 05:26:37 no they're not dead. 05:27:33 -!- oerjan has joined. 05:27:39 CakeProphet: really? damn 05:28:39 I mean, I don't see why they need to be dead in order for you to do that. 05:29:41 CakeProphet: no i'd just like them to be dead because they are terrible 05:29:45 17:10:17 hm maybe this is the trick 05:29:56 I don't know some of Courage Wolf is good. 05:30:52 er wait that was right, or... 05:31:00 yes 05:31:51 17:12:28 actually using 0 is a bad idea... 05:31:51 17:12:33 because it will stop people using $ 05:32:05 indeed that annoyed me about parsec's 05:32:31 admittedly, in this case (a := b) would never be a function, so $ would not be so useful :) 05:32:39 (even that _could_ have worked well if they had switched the arguments of ) 05:33:24 > (0$0 ) -- is it in lambdabot? 05:33:25 Not in scope: `' 05:33:56 :t (0$0 Text.Parsec.) -- is it in lambdabot? 05:33:57 Couldn't find qualified module. 05:34:09 :t (0$0 Text.ParserCombinators.Parsec.) -- is it in lambdabot? 05:34:09 The operator `Text.ParserCombinators.Parsec.Prim.' [infix 0] of a section 05:34:10 must have lower precedence than that of the operand, 05:34:10 namely `$' [infixr 0] 05:34:11 :t (0$0 Text.ParserCombinators.Parsec.) 05:34:11 The operator `Text.ParserCombinators.Parsec.Prim.' [infix 0] of a section 05:34:11 must have lower precedence than that of the operand, 05:34:11 namely `$' [infixr 0] 05:34:13 oerjan: hifive 05:34:58 infixr 0 and switched arguments, and it would have mixed well with $ 05:36:12 elliott_: I chose the thinkpad 05:36:38 coppro: there's no way i'm buying a thinkpad since about the time they went widescreen 05:36:51 are they related? 05:36:56 17:13:13 "name" := someUngodlyFunction $ someUngodlyParameters ... 05:36:59 17:13:28 replace the := with something else 05:37:07 coppro: well, I am not the biggest fan of widescreen formats, but no, that isn't the /reason/ 05:37:16 coppro: that was about the time when Lenovo started making new models of their own, though 05:37:25 that too would also have worked with infixr 0, although := is a constructor not a function 05:37:32 this isn't like "zomg chinese maek bad computar" or anything, they're just not as well-designed or constructed IMO 05:38:08 elliott_: fair 05:38:21 they're still, in my opinion, some of the better constructed ones out there 05:38:24 and they have mouse nibs 05:38:39 oh, they're one of the better-constructed ones, yeah, I just have a pretty low tolerance for this stuff 05:38:49 -!- lambdabot has quit (Read error: Connection reset by peer). 05:39:11 WHAT DID YOU DO TO HER 05:39:24 mwahaha 05:39:45 DO. NOT. WANT. 05:40:13 its hould be illegal to type wrods 05:40:16 17:15:13 Is Haskell's printf type-safe? I mean, it type-checks just fine, but 05:40:17 siduscsss 05:40:20 oerjan: i answered 05:40:20 17:15:53 Sgeo: no 05:40:22 don't answer 05:40:33 was that an answer via quote :D 05:40:46 um it was your answer 05:40:51 which is afair wrong 05:40:59 no, it's correct 05:41:01 unless you have a strange definition of type-safe 05:41:25 Prelude Text.Printf> :t printf "%d" "abc" 05:41:25 printf "%d" "abc" :: PrintfType t => t 05:41:25 Prelude Text.Printf> printf "%d" "abc" 05:41:25 *** Exception: Printf.printf: bad argument 05:41:31 it's not type-safe in the way sgeo means 05:41:36 as he says, "it type-checks just fine" 05:41:40 but it does not ensure type-/safety/ 05:41:49 oh right the type-checking is dynamic 05:41:51 it is easy to commit a type error that is only caught at runtime 05:41:58 which means it's not a type-safe method of doing formatted printing 05:42:47 I should write an ``industrial-strength'' library for the kind I described later, I think Oleg's even done it :P 05:42:57 it would be easy and distract me from the horrors I've been coding lately 05:46:36 elliott_: which reminds me, programming in haskell's type system is essentially dynamic typed >:) 05:46:43 *ally 05:46:50 oerjan: indeed, although if you do 05:46:58 class (Result r) => Blah a b r | ... 05:47:05 then it does some "compile-time" checking 05:47:09 and I think you can apply it to the arguments too 05:47:12 basically you can't say 05:47:13 e.g. 05:47:15 imagine 05:47:19 class (Foo r) => Blah a r | a -> r 05:47:20 you can't say 05:47:27 instance Blah (SpecialThing r) r 05:47:28 you have to say 05:47:31 instance (Foo r) => Blah (SpecialThing r) r 05:47:39 but if you recurse it's all ok and works out 05:47:39 so 05:47:42 there is some sort of typing 05:47:44 but it's kind of weak 05:47:49 heh 05:47:52 but yeah, it is essentially dynamically typed 05:48:38 are there ducks? 05:49:08 a pair of them 05:49:48 ducks are telling me to go to sleep, they are standing here and saying it 05:49:49 ha ha ha 05:49:50 silly ducks 05:49:52 what do THEY know 05:50:06 I'm just glad I'm not a 3 oz. bag anymore. 05:50:24 I digested so it's all harmonized now. 05:51:02 your all doing really badly at telling me to go to bed 05:52:42 this isn't my all. 05:52:53 but I think he's offended now. 05:56:18 offended effendi 05:56:39 ha ha ha 05:56:40 you 05:56:40 fell 05:56:41 in 05:56:41 to 05:56:42 my 05:56:43 trap 05:56:48 youre falling was delightful 05:58:13 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 05:58:43 * oerjan has a cold but is out of iced coffee :( 05:58:57 i read as "is cold" 05:58:58 -!- copumpkin has joined. 05:59:01 ICED COFFEE WARMS MY SOUL 05:59:23 mine too 05:59:26 * pikhq has a glass of wine, and it is pleasant. 05:59:33 i kind of want a http://www.thinkwiki.org/wiki/PC110 now as shitty as it is :D 05:59:35 pikhq: insert trolling 06:02:21 just tried to ?tell someone something 06:02:22 rip lambdabot 06:02:25 :'( 06:02:30 * elliott_ crying 06:03:36 oerjan doesn't appreciate my pain 06:03:42 hes insensitive and bad 06:04:46 and has a runny nose 06:04:53 and is a a bad person 06:05:17 also, memoserv 06:05:24 im not loggged in 06:05:29 http://www.writemypapers.org/examples-and-samples/essay-about-friendship.html oh googling keyboard bashes is productive... this really amuses me 06:05:29 was 06:05:32 this written by a human?? 06:05:44 "I got used to believe that friendship is an everlasting phenomenon and it is truly forever. I stick to the opinion, that true friendship is never-ending. Life is unpredictable and we never know what may happen tomorrow. I’ve a lot of friends but only few of them are real. We’ve gone through many difficulties together and now my heart is aching at the thought that we are living in different countr 06:05:45 ies because of life circumstances." 06:05:47 it doesn't... sound real 06:06:14 oerjan non-human did you write this . . . 06:06:29 elliott_: why the heck don't you register elliott_. or change nick. 06:06:37 oerjan: if i changed nick 06:06:41 id have to type the password for elliott 06:06:44 which 06:06:47 involves a number 06:06:52 which involves googling that number to copy it........ 06:07:00 : ( 06:07:25 when i log in, freenode remembers i logged in even if i change my nick 06:07:57 change your password or fix your keyboard 06:08:15 i guess the initial automated login won't work if i'm not on one my nicks 06:09:02 -!- CakeProphet has changed nick to Kallisti. 06:09:08 -!- Kallisti has changed nick to CakeProphet. 06:09:08 my automated login works even when I'm not on one of my nicks. I'm too lazy to do it properly, though; maybe it wouldn't work, then 06:09:32 -MemoServ- You are not logged in. 06:09:35 ;p[lsordf09gj 06:09:39 well log in 06:09:41 thats my opinoin on swastikas 06:09:46 http://esolangs.org/wiki/Special:Recentchanges 06:09:47 http://esolangs.org/wiki/Special:Recentchanges 06:09:48 woah 06:09:49 Requested Range Not Satisfiable 06:09:58 what range 06:10:04 http://esolangs.org/wiki/Special:Recentchanges 06:10:09 works fine for me 06:10:23 me too in fx 06:10:23 http://esolangs.org/wiki/User_talk:Ian/LARSA_Interpreter 06:10:30 quality wiki comments from Maharba 06:13:37 your moms vast range is also not satisfiable. 06:14:04 range corporations 06:14:08 dfgjofhoifgivnigfjioinogvj fpoohignkjbcfiovncixodnvbjidb fnjhfb nvjhbnjhb uiob uib huib hu 06:14:16 im badass cuz i type without words 06:14:20 i call it avant typing 06:14:34 so step one in signal processing... 06:14:50 no please everybody, please, back off, i cannot serve you all at once 06:14:50 is a sane base structure that can represent any kind of time varying signal. 06:14:55 my awesomeness is rate-limited 06:15:00 CakeProphet: flavours of frp... 06:15:07 CakeProphet: but um, (Time -> Value) IS A PRETTY GOOD STRUCTURE 06:15:14 time can be a double or just any member of fractional or whatever 06:15:22 yes that's what I was going to do. 06:15:36 i mean come on, a sine wave... what's sin... oh yeah a function over the reals :) 06:15:37 and then have derived structures for things like repeating patterns by specifying some kind of period or something. 06:16:08 though it may be unecessary.. actually. 06:16:16 +n 06:16:47 also should probably carry around some information about samplerate. 06:17:27 http://esolangs.org/wiki/Talk:NetFuck oh god this is great 06:17:36 monqy: hes so upset with our insults 06:17:47 monqy: HE HAS A DEGREE IN COMPUTER SCIENCE 06:17:51 monqy: HE HAS WRITTEN A QBASIC CHAT CLIENT 06:17:53 AND HE HAS 06:17:53 oh but wait, if I just specify time -> value then I don't really need to worry about sample rate because all sample rate will do is vary the input numbers... 06:17:55 AD-FREE 06:17:55 WEB 06:17:56 SPACE 06:17:57 TO OFFER 06:18:02 CakeProphet: yeah 06:18:29 CakeProphet: It would be nice if you could use rationals as time for that extra imaginary "precision" and slowness, but 06:18:29 so... that's pretty much it. 06:18:30 :t sin 06:18:33 ugh 06:18:35 lambdabot is gone 06:18:40 Prelude> :t sin 06:18:40 sin :: Floating a => a -> a 06:18:46 CakeProphet: So I'd pretty much just fix it to Double 06:18:59 CakeProphet: hmm, samples are actually fractional too, aren't they? 06:19:06 yes they can be. 06:19:09 You just map a certain range to N bits to actually quantise it 06:19:11 so... yes they are. :P 06:19:14 So you just have (Double -> Double) 06:19:16 Which is nice 06:19:34 right, but not everything is a double necessarily. 06:19:36 maybe for time. 06:19:52 CakeProphet: Well, you want to be able to use sin, right? 06:19:57 sin :: Floating a => a -> a 06:20:01 right, Double -> Double is the usual case. 06:20:02 Rationals aren't an instance of Floating 06:20:06 So I dunno what else you would use 06:20:24 but, for example, if you just have an on/off signal controlling some sample, then that would be Double -> Bool 06:20:34 CakeProphet: ah, but that wouldn't be a signal itself 06:20:46 -!- Vorpal has joined. 06:20:48 (or Double -> Double if you just have the result wave as the amplitude, 0 for off, 1 for full) 06:21:24 well, the Double result would be [0,one] right? 06:21:37 so Bool is just it restricted to 0 and 1 :P 06:21:50 in the case of a volume on/off signal, yes. 06:22:08 CakeProphet: Erm, in the case of a sample result too, no? 06:22:32 Sixteen-bit or whatever is just a way of mapping a reduced range of [0,1] to some bits 06:22:34 well, yes. You could have a [0,1] trigger a sample when it's non-zero, or one, or however you want to do it. 06:22:41 um 06:22:44 I don't think you understand 06:22:45 I mean samples themselves 06:22:51 oh, right. :P 06:22:51 not the volume on/off signal 06:22:52 actual audio 06:23:06 well.... erm. 06:23:07 oh hey nice, scaling is 06:23:09 scale scl f x = f x * scl x 06:23:14 you can just make Signal an instance of Num 06:23:17 if you normalize it, then yes it would be [0,1] 06:23:32 CakeProphet: wouldn't you want to do that, so that programs would be sample size independent? :) 06:23:42 yes, to prevent aliasing. 06:24:58 what worries me conceptually about Double -> Double without a sample rating is that it cannot be serialized in a reasonable time... 06:25:06 for a sampler trigger though multiplying by an on-off signal isn't enough. You would want a True event to trigger the sample to play at that point in time. 06:25:13 CakeProphet: http://sprunge.us/jNQZ 06:25:21 right, a trigger is different 06:25:26 but that's not really related to signals 06:25:33 it, can be. :D 06:25:39 oerjan: um yes it does 06:25:41 csound does shit like that, if I recall. 06:25:52 oerjan: for N khz, just call with sequential values at appropriate precision 06:25:57 scale the resulting doubles to your sample size 06:25:58 done 06:26:13 elliott_: um that's setting a sample rate in order to serialize, surely? 06:26:16 oerjan: well yes 06:26:18 what else do you expect? 06:26:28 oh well 06:26:31 I'm not sure what you would prefer, nothing else would be this flexible 06:26:33 or this pure :P 06:26:47 oerjan: it is kind of like saying the Fran (Coords -> Colour) images are not serialisable in that sense 06:26:53 they're not, but that's where their power comes from 06:27:01 and if you want the "serialisation"... it's the program's source 06:27:27 yeah.. I don't really see why it would be a problem to ignore sample rate until you actually want digital audio. 06:28:49 but... -ahem- I might end up mucking all of this purity up in IO. 06:28:54 we'll see. 06:29:00 what? there is no reason for a signal to have an IO result type 06:29:10 that is terrible, ruins the entire thing, and is completely pointless :) 06:29:55 well, not entirely. Let's say I'm modulating a sound generator with parameters that I want to be able to mutate later on, anywhere else. 06:30:06 IORefs, essentially. 06:30:09 yes but that is an _environment_ thing 06:30:21 you really want the "performance" file format to be something else entirely 06:30:24 like yaxu's emacs mode stuff 06:31:16 I'll have to wait until I get there I guess. I agree it's best to keep a least the basic processing units pure. 06:31:33 and then a more complex "synthesizer" could mess around with IORefs and IO in general. 06:31:38 to do, whatever the hell it needs to do. 06:32:30 i'm tempted to mess around with this now 06:32:34 already did the image version 06:32:59 well, I'll be starting sometime tomorrow maybe. 06:33:09 bah, who cares about _your_ code 06:33:16 I took like 8 mg of melatonin so I should be passing out soon. It's only 2:33 AM here though.. 06:33:28 elliott_: my code will be awesome you don't even KNOW. 06:33:32 8 mg?!?!?!?!?!?! 06:33:39 yep. 06:33:47 CakeProphet: If you're using IO and not interacting with the outside world, you're doing it wrong. 06:33:57 that's a rather insanely excessive dose, dude 06:34:04 also pikhq is right, if you just want references you want ST 06:34:07 elliott_, hi! 06:34:09 and STRefs 06:34:16 but the topic is now you taking way too much melatonin 06:34:18 Vorpal: hi, i'm going to bed 06:34:29 elliott_, oh :( 06:34:35 -!- oerjan has quit (Quit: Argh). 06:34:37 Vorpal: what 06:34:38 elliott_: well, in the future having both mutable references and interaction with the outside world would be a benefit, so, IO I'd say. 06:34:46 CakeProphet: BEAT BEAT BEAT 06:34:50 CakeProphet: DON'T BE STUPID 06:34:55 CakeProphet: my professional opinion is that you don't know what the hell you're talking about :) 06:35:08 ...uh, okay. 06:35:16 elliott_, I finished the last exam before the summer holidays. Now it is time to turn my focus towards 1) driving exam 2) ordering that computer 06:35:17 In Haskell, good style involves IO being minimal. 06:35:21 MY CODE WILL THEREFORE BE BETTER NIH TIME 06:35:23 Ideally, 1 line of code. 06:35:24 elliott_, :) 06:35:34 Vorpal: try driving a lot, driving is great 06:35:38 yes I know all about that. You seem to think I'm just going to fill my code with IO now. 06:35:42 computers are terrible they crash and break a lot 06:35:44 but that's not what I intend. 06:35:48 CakeProphet: you're proposing putting every signal into io :) 06:35:48 elliott_, haha 06:35:57 Vorpal: when do cars break? nevre. 06:36:00 never. 06:36:17 CakeProphet: To a Haskellian, you are. 06:36:25 elliott_, hm I should invite you to planet Earth sometime 06:36:26 "haskellian" 06:36:28 please stop talking 06:36:32 Vorpal: it sounds shit 06:36:32 might be fun to see your reaction 06:36:37 elliott_, yes, it is. 06:36:42 Perhaps I should sleep. 06:36:47 me too 06:36:51 what time is it there pikhq 06:36:59 T00:37 06:37:06 thanks for clarifying with that t 06:37:12 elliott_: no, I propose putting IO around the code that operates on signals. I think that's a bit more reasonable, since, you know, they have to play audio and stuff. And maybe pull data from websites or files, etc. 06:37:14 elliott_, wait what, you are still awake? 06:37:18 id assume you meant the zeroth day of the thirty-seventh month otherwise 06:37:32 Vorpal: no this is just an illusion 06:37:34 wake up 06:37:35 WAKE UP 06:37:36 CakeProphet: NO, NO, NO THEY DO NOT. 06:37:37 elliott_, oh okay 06:37:42 elliott_, carry on then. 06:37:59 pikhq: hey you don't know what I plan to do. 06:38:09 CakeProphet: To play audio, you take the output from them and then interact with it in IO. 06:38:14 correct. 06:38:25 You don't need your signals to be IN IO for that. 06:38:27 I fail to see how we're talking about different things. 06:38:30 that's not what I said. 06:38:32 You just need your signals to be pure functions. 06:38:35 YES IT IS. 06:38:43 If it's not what you mean, say what you mean, please. 06:38:45 IF YOU TALK ANGRILY IN CAPS THAT FUCKWIT WILL LISTEN TO YOU. 06:38:46 RAAAAAAAAAAAARGH 06:38:53 pikhq: I said what I mean, see above. 06:39:04 So, then you claim what you said isn't what you said. 06:39:08 Please, elucidate. 06:39:11 oh god 06:39:13 everyone shut up 06:39:15 as prime minister 06:39:16 of thsi channel 06:39:18 as in, the very most recent lines of text. my attention span is somewhat short since I'm drugged and all. :P 06:39:20 im declaring a ten minute silence 06:39:26 no more talking starting from now 06:39:29 offenders will be murdered 06:40:00 elliott_, you broke it yourself :P 06:40:05 I have infinite health. 06:40:06 Vorpal: goodbye 06:40:10 pikhq: rip 06:40:31 You cannot defeat me, I have Single Player Commands! 06:40:43 are you fucking suicidal you idiot youre going to die 06:40:48 hm 06:41:07 elliott_, this should give you plenty of time to research computer components! 06:41:19 Vorpal: why would i make a computer for a dead man 06:41:20 get real 06:41:40 elliott_: be rational 06:41:43 elliott_, well, since when did that stop anyone? Just look at discworld 06:41:47 CakeProphet: ARE YOU ALL 06:41:48 FUCKING 06:41:49 IDIOTS 06:41:55 I AM GOING TO FUCKING RIP OUT YOUR SKULLS 06:41:58 EVERYONE 06:41:59 WILL 06:42:00 PERISH 06:42:07 !simpleacro 06:42:07 YOU WILL HAVE TO FUCKING CODE IN NETFUCK 06:42:09 FOR THE REST 06:42:10 OF YOUR FUCKING 06:42:11 LIVES 06:42:12 WHICH WILL END 06:42:13 ​QM 06:42:13 SWIFTLY 06:42:16 BUT THE AFTERLIFE TOO 06:42:19 EgoBot: SHUT 06:42:21 THE 06:42:21 FUCK 06:42:23 UP 06:42:30 I AM TAKING CONTROL OF THIS CHANNEL 06:42:31 elliott_, you yourself spoke during this period of silence. 06:42:38 Vorpal: I'M ABOVE THE FUCKING LAW. 06:42:38 so you have to kill yourself. 06:42:47 -!- elliott_ has set topic: TRANSITIONARY MILITARY GOVERNMENT | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:42:49 I'm not entirely sure why elliott is screaming at me right now. 06:42:57 CakeProphet: TALKING IS DISALLOWED 06:43:02 THIS IS A TEN MINUTE SILENCE 06:43:03 k. 06:43:10 CakeProphet, I think it is because he is sleep deprived. 06:43:13 THE LOUDEST TEN MINUTE SILENCE EVER THANKS TO ME 06:43:19 Vorpal: no, you're all just being really stupid right now. 06:43:28 i'm still awake for various complicated reasons 06:43:33 that mostly involve time management 06:43:37 anyway im going to go to bed 06:43:42 and if you 06:43:44 good 06:43:59 we will fill the log for you to read when you wake up 06:44:00 talk 06:44:03 then i will kill you all 06:44:46 elliott_, the supreme court find that this period of silence is unconstitutional! 06:44:53 pikhq: so anyways, perhaps I explained poorly, but I wasn't suggesting that the signal generators themselves have anything to do with IO, just the code that uses it for whatever nefarious purpose. 06:44:59 CakeProphet: ahem 06:45:11 hi 06:45:34 elliott_: you're making lambdabot cry in heaven. 06:45:55 monqy: yo 06:46:26 CakeProphet: If they do IO, they should be in IO. 06:46:33 If they do not do IO, they should not be. 06:46:38 I REIMPOSE THE SILENCE 06:46:48 ok right its like 06:46:49 this time when 06:46:51 i close the laptop 06:46:53 and all the stupid people 06:46:54 hm 06:46:55 disappear 06:46:57 thats a really good time 06:47:00 its going to happen now 06:47:03 can you feel it about to happen 06:47:03 cya 06:47:04 its happening 06:47:06 -!- elliott_ has quit (Quit: now). 06:47:11 phew 06:48:37 Let's not count our chickens before they hatch; if you say something sufficiently outrageous, it's possible he'll be log-snooping and rejoining just to reply. 06:48:47 heh 06:48:52 true 06:49:05 lets see... 06:49:22 what about this one: Haskell would be better with side-effects. 06:49:38 my aliens have run amuck. Good night. 06:49:42 CakeProphet, cya 06:49:57 fizzie, doesn't seem to have worked. Oh well. 06:50:34 Vorpal: In other news, http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg 06:51:12 fizzie, hm needs some vertical control lines 06:51:19 fizzie, otherwise: nice 06:51:29 There's a bit of parallax problems in the chairs nearby, but that's just to be expected. 06:51:31 err... s/otherwise/other than that/ 06:51:59 fizzie, adding some vertical lines on wall features would help a lot 06:52:27 probably 06:52:30 Yes; I'll try that when at home some point. 06:52:42 fizzie, oh where are you now? 06:52:59 At work; it's almost 10am already here. 06:53:07 oh right 06:53:34 fizzie, weird they added an extra chair there, there isn't any lack of free seats 06:53:58 The guy in the chair has a video camera on a tripod in front of him; not very clear from the picture. 06:53:58 or wait, is he recording the thing? 06:54:01 Yes. 06:54:01 ah 06:54:20 They showed the speaker video on that smaller (rightmost) screen. 06:54:27 And probably archived it somewhere too. 06:54:37 fizzie, and what is the thin vertical screen for? 06:55:09 I think that's just a lit-up painted piece of cloth/paper with the conference logo fixed on it. 06:55:18 So that we wouldn't forget where we were. 06:55:19 ah 06:55:23 heh 06:56:06 fizzie, ever played ultima 7? 06:56:44 I tried it out a few days ago... Interesting. Though the interface is annoying to say the least. 06:56:47 Very little; some moments with exult, that's all. 06:56:54 fizzie, yes I used exult too 07:02:17 whoa, lyx has an option "--without-included-boost" 07:02:20 this scares me 07:02:41 that anyone would embed a copy of boost that is. 07:03:08 There's that one site about craziness in Ultima 7; e.g. http://www.it-he.org/ultima7.htm#gambling 07:03:25 (It's an unfortunately messy page.) 07:03:59 ... *Embed a copy of Boost*? 07:04:02 Jesus that's scary. 07:04:19 pikhq, in the source yes... 07:04:44 That is fucking scary. 07:04:55 ~/src/lyx/lyx-2.0.0 $ du -sh boost/ 07:04:55 15M boost/ 07:05:06 not the whole thing I guess 07:05:09 but still 07:06:38 KKK counterprotesting Westboro Baptist. 07:06:49 wait a second.... 07:06:57 pikhq, aren't they roughly on the same side? 07:07:06 Vorpal: Not quite. 07:07:11 pikhq, oh? 07:07:19 Westboro Baptist is convinced that America is horribly evil. 07:07:26 The KKK is hypernationalist. 07:07:44 And Westboro Baptist protests the military quite extensively. 07:07:49 Which the KKK considers almost holy. 07:08:17 ah 07:08:45 Y'know you're bad when a hate group is protesting your hate. :P 07:08:51 heh 07:10:08 * Vorpal wonders how to get data out a RAID-1ed disk of a shut down computer with just one external hd cabinet. Without declaring one disk failed first that is 07:10:25 I'm only interested in read access... I wonder if it is possible 07:10:26 hm 07:10:45 RAID-1? Uh, just treat it like a single drive. 07:11:06 pikhq, yes well it is mdraid 07:11:21 pikhq, I doubt linux will be all that happy to mount it without both disks accessible 07:11:40 You can just mount it directly. 07:11:50 Seriously. 07:11:56 pikhq, how? some device mapper thingy to skip the mdraid metadata block at the start? 07:12:06 or wait, was it at the end 07:12:44 besides it is lvm2 on top of mdraid, and blindly ignoring the metadata block there sounds... dangerous... 07:13:48 Are you going to write to it? 07:13:53 pikhq, nope 07:14:02 Then there is nothing that can possibly go wrong. 07:14:42 pikhq, what about the metadata block for mdraid? Won't you need to somehow map it out 07:15:13 oh hm mdadm has --run to assemble it seems 07:15:17 might do what I need 07:16:02 Eh, just start the RAID up. It'll work just fine off a single disk, since it *is* RAID-1. 07:16:02 wait, wrong mode 07:16:17 pikhq, yes but when I put these back together, won't it complain hm 07:16:34 pikhq, even if I mount read only I'm not sure lvm will not touch anything 07:17:02 LVM will only touch things if you directly modify things. 07:17:19 Say, by creating a new volume. 07:17:37 pikhq, so no updating of last timestamps in metadata blocks or such? 07:18:01 There are no timestamps in the LVM metadata. 07:18:09 ah good 07:18:22 pikhq, well if this doesn't work I know who to blame :P 07:18:25 Nor any means of updating the LVM metadata without directly executing one of the LVM utils, for that matter. 07:19:03 pikhq, well I will need to execute vgscan and vgchange to detect and enable/disable the vg 07:19:44 Yeah, those only read, so... 07:20:11 right 07:21:06 I wonder what use this screwdriver is... the flat head is less than a mm wide 07:21:27 marked as 0.6 mm wide 07:22:31 for driving 0.6mm screws, of course 07:23:08 The metadata block's at the end of the disk, so you can use it "directly" too; it's just that the default lvm.conf sets md_component_detection = 1, so it will ignore partitions that have md superblocks in order to not be confused when it sees the same physical volume three (or more) times. 07:23:08 olsner, yeah but come on, even the screws on glasses aren't that small. They are usually 1 mm 07:23:22 fizzie, heh 07:23:30 fizzie: Oh, that's nice and sane. 07:23:44 pikhq, was that sarcastic? 07:23:49 Vorpal: Nope. 07:23:55 ah 07:24:29 Makes sense with how LVM literally scans all attached volumes for LVM physical volumes... 07:25:24 annoying... I need to remove the AGP card to be able to get the hdd out. Sigh 07:26:04 makes you wonder how they managed to fit those huge old ISA cards... 07:27:05 Well, you could use an IBM XT in lieu of cinderblocks. 07:27:14 hah 07:28:19 If you want to be extra careful, mdadm has a --readonly command that you can use to mark an array read-only, before running any LVM ops. 07:29:03 The md superblock has a timestamp, but as far as I know it isn't touched unless you do a write request on the array. 07:29:09 ah 07:35:10 -!- azaq23 has quit (Quit: Leaving.). 07:36:22 what 07:36:24 the fuck? 07:36:56 I wonder if this external cabinet handles large disks correctly 07:41:34 okay it works now 07:41:35 wtf 08:05:01 fizzie, another thing that annoys me with Ultima 7: The font. 08:05:10 sure it looks all nice. But it *is* hard to read. 08:05:28 I'd much rather have a boring sans-serif 08:08:16 -!- MigoMipo has joined. 08:21:31 why did cdparanoia decide to rip at 1x 08:22:13 It makes the experience more authentic. 08:22:53 fizzie, well, sometimes it rip at 8x 08:23:05 I just don't understand how it decides what speed to use 08:24:49 considering the cd is almost full this is indeed annoying 08:38:12 -!- pikhq_ has joined. 08:38:24 -!- pikhq has quit (Ping timeout: 250 seconds). 08:43:26 -!- monqy has quit (Quit: hello). 09:19:56 -!- Lymia_ has joined. 09:20:00 -!- Lymia has quit (Disconnected by services). 09:20:02 -!- Lymia_ has changed nick to Lymia. 09:20:06 -!- Lymia has quit (Changing host). 09:20:06 -!- Lymia has joined. 09:41:42 -!- Phantom_Hoover has joined. 09:51:21 Sgeo. 09:51:24 No, he is not here. 09:51:27 elliott. 09:51:29 Is also not here. 09:51:30 Dammit. 09:51:49 Who am I meant to discuss the Homestuck update with? 09:52:06 * Phantom_Hoover remembers that he has an exam in a couple of hours with the guy in his school who reads it. 09:53:34 Phantom_Hoover, good luck. Yesterday I finished my last exam for a while. 09:53:42 Well apart from the driving one in a few weeks 09:54:00 I cannot imagine you failing to drivve. 09:54:02 *drive 09:54:27 It is exactly the kind of boring procedural thing you do with an air of infuriating smugness. 09:54:30 Phantom_Hoover, oh? Well I heard that Sweden have amongst the hardest driving exams in the world 09:54:59 You're taking the exam in a few weeks and all you have is international gossip to go on? 09:55:18 Wait have you seen today's Homestuck update. 09:55:26 Phantom_Hoover, well I think I will manage it. The theoretical part should not pose any issue. 09:55:32 Phantom_Hoover, no. 09:56:07 Also: new album out. 09:56:17 Album*s*. 09:56:51 Phantom_Hoover, atm I'm playing Ultima VII. My main issue with that game is that the font used for dialogs and so seems to be "Old English" or such. 09:56:57 rather hard to read anyway 09:57:17 *Olde English 09:57:29 pikhq_ will verify that this is the correct spelling. 09:57:55 Phantom_Hoover, are you sure how that typeface is spelled? 09:58:12 No, that is the name of the language. 09:58:15 Phantom_Hoover, because iirc the typeface I'm referring to is named "Old English" 09:58:25 Phantom_Hoover, I'm referring to the typeface, not the language 09:58:35 They're spelling it wrong. 09:58:43 maybe. 09:58:56 Oh my god this album is so good. 09:59:18 Phantom_Hoover, oh and some signs use god damn runes. And no this isn't just a case of your character doing a lore check like in D&D to decode it... The manual has a mapping table 09:59:23 the rest... is up to you. 09:59:55 Phantom_Hoover, oh and it uses "thou" and so on instead of "you". The language is fake Olde English. 10:01:04 Phantom_Hoover, example of the typeface: http://www.it-he.org/u7/u7_bpot2.gif 10:01:24 -!- MigoMipo has quit (Read error: Connection reset by peer). 10:01:53 while it looks great.... it is harder to read. If it was just the occasional bit of text it wouldn't matter. But every single in game text is either that sort of font, or runes. 10:09:30 http://www.reddit.com/r/todayilearned/comments/hnzwx/til_that_a_majority_of_biologists_believe_earth/c1wxejf 10:09:54 This is getting confusing. 10:15:18 I've heard the same gossip w.r.t. the US/UK driver's license tests, in the sense that the UK is notably more difficult. I don't really know where other countries fall in that spectrum. 10:15:44 At least failing it is not considered especially surprising in Finland; though on the other hand passing it on the first try isn't particularly rare either. 10:16:34 fizzie, sounds like Sweden there 10:16:40 fizzie, the impression from people at my school doing the test isn't one of insurmountable difficulty, but I wasn't really paying attention to the people taking it. 10:17:22 Vorpal: Do you have night-driving/winter-driving sessions in the training part? 10:17:53 fizzie, the latter at least. And you get the former during winter automatically :P 10:18:20 We do it in a special track when it's summer. 10:18:30 fizzie, well, the latter we do on a special track. 10:18:35 Right. 10:18:56 fizzie, I did it during autumn. They put some bio-degradable oil on the track to simulate slippery surface. 10:19:15 I don't know what they used here, some sort of liquid anyway. 10:21:14 fizzie, ah, over here when the roads get slippery we smear them with salt and act like it's unusual. 10:21:36 Phantom_Hoover, well, over here that isn't realistic :P 10:21:36 (There was grit on the path in front of my school until well into spring.) 10:21:49 grit? Not sand? 10:22:07 Yes. 10:22:59 The particles are larger, and there's a lot of salt in it. 10:23:07 Phantom_Hoover, well we do put sand, and salt on roads. Well salt mostly on the highways and other large roads. 10:23:17 The thing they use for "sanding" (which is what it's called if you just translate literally) is quite a coarse mixture too. 10:23:35 I suppose it's just an arbitrary choice. 10:23:40 http://homestuck.bandcamp.com/track/lifdoff 10:23:44 fizzie, where do you live? 10:23:47 I have never looked closely of what it is made of, but it is called "sanda" in Swedish, so I assumed it was indeed sand 10:23:47 Oh my god this needs to be used. 10:23:49 Lymia, Finland. 10:23:53 Land of fins. 10:23:54 Phantom_Hoover, lowers the freezing tempature, right? 10:23:56 Lymia, and Sweden for me 10:24:00 salt lowers* 10:24:06 Lymia, yes. 10:24:14 yes 10:24:19 not nearly enough though 10:24:25 iirc it stops working below -15 C or so 10:24:48 How did I accidentally omit a subjcet? 10:24:50 or was it -20 C? 10:24:51 subject* 10:24:54 well.. anyway 10:24:57 Although according to WP CaCl_2 is preferred since it dissolves exothermically. 10:25:27 hm 10:25:56 "While salt was once a scarce commodity in history, industrialized production has now made salt plentiful. Approximately 51% of world output is now used by cold countries to de-ice roads in winter, both in grit bins and spread by winter service vehicles." <-- heh, 51%... that is quite a bit 10:26:50 * Lymia thinks Japanese is getting to her brain, even though she doesn't really know that much 10:26:54 Guh. What's with my k key. 10:27:21 According to WP it's -21°C theoretically, although you can practically go down to -22°. 10:27:30 ah 10:27:38 Can you make it go lower with other chemicals? 10:27:44 Probably. 10:27:44 Antifreeze? 10:27:48 Phantom_Hoover, that is unusual. Often the theoretically limit is further out than the practical one! 10:28:10 Lymia, antifreeze is toxic as hell though. 10:28:14 Lymia, you mean like glycol? 10:28:18 And difficult to acquire in large quantities. 10:28:38 While salt... I think we get it mostly from a mine in Ireland here. 10:28:50 Phantom_Hoover, yeah you don't need much. 10:30:07 Phantom_Hoover, I mean, aren't there palms in south UK iirc. Not native, but as far as I heard, they survive along the south coast in some places. 10:30:11 not sure if this is true 10:32:57 Phantom_Hoover, btw, they do use antifreeze on runways sometimes. And on the outside of planes 10:33:25 specifically ethylene glycol 10:33:38 Phantom_Hoover, if antifreeze doesn't work, wood + fire will. 10:33:45 Or maybe not. 10:33:54 Lymia, where do /you/ live? 10:34:12 somewhere hot probably 10:34:22 because that idea is outright silly for deicing roads. 10:35:18 Vorpal, it's a joke. 10:35:23 oh okay 10:35:41 Burning stuff on the roads is never a good idea, don't you think? 10:35:42 You know. 10:35:46 Because roads are near houses. 10:36:03 Lymia, only sometimes. Most of the time roads are next to forests rather 10:36:17 That's better? 10:36:21 Lymia, plus of course it would block the road for non-fireproof cars 10:36:32 Vorpal, screw that. 10:36:35 All cars should be fireproof. 10:36:36 Lymia, yes, quickly defrosts a large area. There might be side effects 10:36:43 such as wildfires 10:37:19 but I doubt wildfires are likely during winter. The snow would melt ant quickly put it out. 10:37:29 If fire doesn't work, use bombers. 10:37:38 Lymia, how would that help? 10:37:42 napalm? 10:37:44 By blowing up the ice. 10:37:47 Doh. 10:37:50 oh 10:37:54 Explosions always, help, right. 10:37:58 always help* 10:38:02 Uh.. the road being damaged? 10:38:08 Acceptable collateral damage. 10:38:21 Lymia, what when the ice is the road though? 10:38:43 Lymia, we have some lake roads during winter when the ice is thick enough to drive a car on. 10:39:00 I think Finland have a few of those too 10:40:34 Vorpal, apply napalm. 10:40:50 Lymia, that would make the road non-functional :P 10:42:33 Vorpal, well. 10:42:34 Who cares. 10:42:37 The goal is deicing, right? 10:42:52 hm this one looks like it is in bad condition... http://en.wikipedia.org/wiki/File:Ice_road_saimaa.JPG 10:43:18 Hah. 10:43:26 People actually use shortcuts like that often? 10:43:39 Vorpal, the solution to that is a sander. 10:43:39 :) 10:43:41 Lymia, mostly they go to islands that have ferry services during summer. 10:43:56 So during winter... 10:44:07 Lymia, I heard they use hovercrafts during the periods neither cars nor boats can pass them. 10:44:17 Lymia, coolest school bus ever. 10:44:20 (hovercraft that is) 10:44:24 Technology to the rescue.. 10:44:33 Why don't they use hovercrafts when boats work? 10:44:55 you mean, even during the periods when cars work? 10:45:12 expensive I think 10:45:19 Vorpal, no. 10:45:24 Even during the periods when the boats work. 10:45:40 How much more expensive is it? 10:45:49 Lymia, more expensive. Besides I don't we have many gigantic hovercrafts in Sweden. While there are quite a lot of ships. 10:46:09 and there are always the ubiquitous yellow public service free ferries. 10:48:09 Why don't they use hovercrafts when boats work? 10:48:18 Yeah, expense. 10:48:19 Lymia, typical Swedish ferry: http://sv.wikipedia.org/wiki/Fil:MSFredrika.jpg 10:48:36 You need to run the fans on the bottom, and they can't be very fuel-efficient. 10:49:02 Phantom_Hoover, I know for a fact that they use hovercraft for schoolbus service during the period neither boats nor cars work on an island some 30-40 km from here. 10:49:11 Although we did have one going across the Firth of Forth for 12 days, apparently. 10:49:50 Which is odder still, since there are not one but two perfectly functional bridges going across it already at about the same place. 10:49:53 Phantom_Hoover, for 12 days? Not a long term investment there 10:50:46 (Well, OK, it cut out a large U-turn between Portobello and Kirkaldy, so it was probably faster.) 10:50:52 Vorpal, experiment. 10:51:03 http://sv.wikipedia.org/wiki/Fil:By%C3%A4lvan1.JPG< 10:51:05 err 10:51:06 s/ WHY 10:51:15 come a bridge there would be cheap 10:52:26 We do have ice roads, too; though only four official ones, and they're all pretty short. 10:52:39 fizzie, I think we have some 8-12 or so 10:53:10 We have 0. 10:53:10 :< 10:53:26 Lymia, which country? You never told me when I asked above. 10:53:31 The Vuonislahti/Koli one is quite a shortcut, though; it drops the Lieksa-Koli trip from 92 km to 41 km, even though the road itself is short. 10:53:36 US. 10:53:52 Lymia, really? I would have expected some in Alaska 10:54:05 Lymia, wikipedia claims Canada have a few though 10:54:05 I'm currently in China on a visit to family. 10:54:27 Aw, Google Maps doesn't show the ice roads. 10:54:39 fizzie, does it use it in instructions? 10:54:57 No; at least not now. 10:55:03 Maybe they alter the maps when it's open. 10:55:03 heh 10:55:18 OpenStreetMap has a line for it. 10:55:30 http://osm.org/go/02NwdNs-- 10:56:22 Sounds like university entrace exams out there. 10:56:24 fizzie, no ferry service during summer? 10:56:38 There's a ferry service directly to Lieksa. 10:56:45 For some reason it's only shown one zoom-level deeper. 10:57:07 Or maybe that dashed line is something else. 10:57:08 Lymia, did *you* read the latest Homestuck update? 10:57:11 There's a ferry, anyway. 10:57:21 Homestuckは何? 10:57:27 the island named "Vinön" on here http://osm.org/go/0ZoOVcB has a winter road 10:57:32 not marked though 10:58:02 Vorpal: http://p.zem.fi/mzt7 -- Google Maps has the ferry line. 10:58:14 Did you mean: 10:58:14 10:58:14 Vuonislahti, 81590 Lieksa, Finland to Koli 10:58:14 Lieksa, Vuonislahti, Finland to Koli 10:58:15 err 10:58:34 * Phantom_Hoover → exam 10:58:35 Oh, it must not know all the context in the link or something. 10:58:35 weird, worked when I retried it 10:58:43 Does Google still tell you to swim to China? 10:58:53 no idea 10:59:11 Actually. 10:59:18 They removed the "swim across the Atlantic Ocean" one, but I think they left the "kayak across the Pacific" in. 10:59:32 fizzie, so. 10:59:37 fizzie, the link for the ferry line prefers the line route 10:59:58 Does it path things that would have been "swim across the Atlantic" across the Pacific now? 11:00:05 "We could not calculate directioWe could not calculate directions between Westminster, London, UK and Beijing, China.ns between Westminster, London, UK and Beijing, China." <--- aww 11:00:24 wtf 11:00:27 at the copy and paste 11:00:42 hm "We could not calculate directions between Westminster, London, UK and Beijing, China." now it worked 11:00:56 why did it not work properly first time, and no I didn't double paste 11:01:21 Lymia: I think it does say "can't route" to some. But if you ask for driving directions from, say, San Francisco to somewhere in Japan, it'll say "Kayak across the Pacific Ocean (6243 km)" as one step. 11:01:57 "We could not calculate directions between New York, NY and Helsinki, Finland." :/ 11:02:03 hm 11:02:37 I wonder if the 'swim across the ocean' thing is a google joke 11:02:47 It must be. 11:02:48 San Francisco, CA, United States → Nagoya, Aichi Prefecture, Japan gives you a nice 35-day trip, though. 11:02:57 It was giving directions that made you go across the ocean, or it was found that it could 11:03:00 And so it was written in 11:03:04 fizzie, Alaska->Daiichi? 11:03:15 It also does "Kayak across the Pacific Ocean" twice; first to Hawaii, then from there on. 11:03:24 fizzie, gah you beat me to that. 11:04:07 fizzie, it doesn't seem to follow great-circle paths though hm 11:04:37 I assume they've added single ferry-line style "kayak across" links there. 11:04:44 heh 11:04:47 Instead of being able to just kayak everywhere. 11:04:54 fizzie, dunno. 11:04:58 It doesn't route me from Anchorage, Alaska to Japan at all. 11:05:02 If I was a programmer, I would add in code for that just for the lulz. 11:05:14 Cacluate a few roads of minimum kayak distance. 11:05:16 Route to them. 11:05:23 Add paths. 11:05:26 fizzie, since it doesn't go from SF directly out, but first up to Seattle, I think you are right 11:05:47 It also doesn't route you through the Bering Strait at all. 11:05:51 http://maps.google.com/maps?f=q&source=s_q&hl=sv&geocode=FVJmQAIdKAe0-CkhAGkAbZqFgDH_rXbwZxNQSg%3BFRCUIAIduoZTCCnnVy7whxtdYDGJG1cii2EBLg&q=San+Francisco,+Kalifornien,+USA+till+Tokyo,+Japan&aq=&sll=37.714245,-122.500305&sspn=0.646385,1.466675&ie=UTF8&ll=47.6468,-122.341089&spn=0.017203,0.045834&z=15&saddr=San+Francisco,+Kalifornien,+USA&daddr=Tokyo,+Japan 11:05:54 nice loop 11:06:41 You sometimes get ridiculous-looking walking directions since it considers taking a ferry "walking", and those don't count in the distance. I think I had a screenshot and/or link somewhere. 11:07:39 fizzie, wait it suggested water scooter from Japan to china!! 11:07:52 Yes, I thought there was some third one like that. 11:08:16 http://zem.fi/~fis/google-walk.png -- from Copenhagen to Amsterdam, the best way to walk is via two cities in Norway and one in the UK. 11:08:27 fizzie, :D 11:08:45 At least you'll see the sights. 11:09:07 fizzie, did you actually want those walking directions= 11:09:09 s/=/?/ 11:09:32 I wanted train routes, but it didn't do trains at that point. 11:09:33 Why does Google not have a warning asking "are you sure you want walking directions?" 11:09:40 fizzie, does it now? 11:09:44 The driving directions were a better approximation, though. 11:10:18 It does public transit, but only in a very limited set of locations. 11:10:22 "Your search for transit directions from Copenhagen, Denmark to Amsterdam, Netherlands appears to be outside our current coverage area. Please consult our list of participating public transit agencies." 11:10:49 heh 11:11:13 I think it only does intra-city public transportation, mostly. 11:11:21 ah 11:11:57 Helsinki and Oslo have "transit layer" maps, but no schedules; nothing in Sweden. 11:14:29 The "transit layer" for Helsinki seems pretty pointless, too. From what I can tell, it has our single subway line, and then a map of the tram network but not even the routes designated, just the tracks in single color. 11:14:51 heh 11:15:10 Oh, if you zoom in enough it shows the tram stops too. 11:15:15 But the tooltips are in Japanese. 11:15:21 fizzie, what?! 11:15:38 fizzie, link? 11:15:51 I wonder if that's because the first thing I did this session was the driving directions from Nagoya, Japan to the US. 11:15:57 Maybe it remembers that. 11:16:24 could be... 11:16:49 http://maps.google.com/maps?f=d&source=s_d&hl=en&mra=ls&noexp=0&noal=0&sort=def&sll=51.628248,-0.241699&sspn=1.239506,2.458191&ie=UTF8&ll=60.161593,24.945188&spn=0.007762,0.019205&z=16&lci=transit_comp&start=0 11:17:02 I think that should open Helsinki and the transit layer too after a moment. 11:17:19 Japanse busstop tooltips for me yea 11:17:21 yeah* 11:17:24 Heh. 11:17:27 That's the weird. 11:17:39 Opening them gives the proper (Finnish) name of the stop, as well as list of trams that stop there. 11:17:51 fizzie, report the bug? 11:18:38 -!- FireFly has joined. 11:18:46 One tooltip is with the Cyrillic alphabet. 11:18:52 One's in Finnish. 11:19:41 Too amusing to report. 11:19:58 fizzie, cyrillic too? heh 11:20:35 -!- Sgeo has joined. 11:20:58 Lymia, wikipedia says there is an ice road in mainland US 11:21:09 on Lake Superior. 11:22:14 What an egoistic name for a lake. 11:22:17 and at least two in Alaska 11:22:24 What, it's better than all the other lakes, huh? 11:22:46 fizzie, http://en.wikipedia.org/wiki/Lake_Superior#Name 11:22:56 short answer: yes 11:23:04 or at least that is the reason for the name 11:25:12 Admittedly it's quite big. 11:25:24 Something like three times the surface area of the Gulf of Finland; and something like 20% of the Baltic Sea. 11:25:32 yes 11:25:36 To put it in more familiar context as seen from this end of the world. 11:26:06 yes 11:27:18 (18.7 times the size of the largest lake in Finland.) 11:29:07 "Lake Superior is the largest freshwater lake in the world by surface area" 11:29:11 Well. 11:29:17 At least it isn't a misleading name. 11:29:54 -!- BeholdMyGlory has joined. 11:31:52 It's not the size of the lake, it's... uh, how you... use it? Anyway. It's still a pompous name. 11:35:33 -!- Sgeo has quit (Read error: Connection reset by peer). 11:36:03 -!- Sgeo has joined. 11:36:14 -!- cheater_ has quit (Ping timeout: 258 seconds). 11:36:20 Why _shouldn't_ I randomly lose my Internet connection? 11:36:27 Lymia, what about volume? 11:36:34 Dunno. 11:36:40 How deep is it? 11:36:44 no clue 11:36:54 "Water volume 2,900 cu mi (12,000 km3)" 11:36:55 Lymia, besides you can't model a lake as a rectangular box. 11:36:59 Wigibedia knows. 11:37:05 Sounds like a bit rounded figure. 11:37:20 fizzie, slipped on the keyboard? 11:37:39 Vorpal, no, but it is a good estimation. 11:37:44 As long as they provide average depth. 11:38:10 Actually, isn't average depth*surface area equal to the total volume 11:38:11 hm 11:38:39 Lymia, how do you define average depth? sampling lots of points on a regular grid and taking the mean value? 11:39:02 Integrating over the lake, obviously. 11:39:23 fizzie, hm... was that a joke? 11:39:29 Vorpal, I was talking more mathematically, but that works as an approximation, I guess. 11:39:53 That's funny; the Lake Superior article is inconsistent. In the intro paragraph it says "It is the second largest freshwater lake in the world by surface area, after Lake Michigan-Huron (which though traditionally considered two lakes is hydrologically one lake),[2][3][4] and is the world's third-largest freshwater lake by volume.[5]"; while inside the article it says: "Lake Superior is the largest freshwater lake in the world by surface area, and empties into 11:39:53 Lake Huron via the St. Marys River and the Soo Locks. Lake Baikal in Russia is larger by volume, as is Lake Tanganyika." 11:40:11 ah 11:40:56 By surface area vs volume. 11:41:05 Lymia, even so they manage to confuse that 11:41:14 what if I want to go 1D and compare them by perimeter 11:41:42 The "by volume" part is consistent -- "third largest" and lists two larger ones in the article itself. 11:41:57 Patashu, you have a fractal issue then 11:42:05 But the "by surface area" part is not; it can't be both the second largest and the largest by surface area. 11:42:27 (which though traditionally considered two lakes is hydrologically one lake) 11:42:30 Dunno. 11:43:39 The data table has a "Shore length is not a well-defined measure" footnote for the perimeter, though it does list a number there. 11:43:42 Patashu, basically depending on if you follow the contour of every stone along the lake's edge or measure it as a number of straight line segments of longer length you will get different results. 11:43:57 Patashu, the latter is what measuring it on a map would give you 11:44:01 That's the joke 11:45:23 fizzie, it is if you give the algorithm used for it. Say, the perimeter of inscribed polygon that encloses the largest surface area where the length of each polygonal segment is 10 meters. 11:45:34 I *think* that should be well defined 11:45:41 how useful it is is another matter 11:46:21 oh and you should be able to give upper and lower bound by listing the same value but with minimal area and the lake inscribed in the polygon 11:46:42 I'm not sure how tricky this would be to calculate though... 11:47:21 That wouldn't give you an upper bound for the perimeter. 11:47:31 hm true 11:47:35 it wouldn't 11:47:40 would just give me lower bounds 11:47:51 You can have a lower bound by taking the straight-line segments of any arbitrary subset of points on the boundary. 11:48:23 The exact boundary gets a bit ambiguous down there, though; especially if you have rivers that flow in/out the lake. 11:48:30 people would argue lividly about which length for polygon segments should be used, because they want their lake to be longer 11:48:32 fizzie, true 11:48:33 (That's a problem for the surface area/volume measures too.) 11:48:45 Patashu, well sure 1 cm works fine 11:48:58 but if you lower it to 1mm my country's lake will be bigger than yours 11:49:02 and I want that spot in the record books 11:49:12 so we get tourism for 'lake with the biggest perimeter in the world' 11:49:22 not catchy but we'll work on it 11:49:24 Patashu, all lakes would have to use the same length for the values to be comparable 11:49:25 "Lake with the least amount of sense". 11:49:47 what I'm saying is that lake X might have perimeter > Y for 1 cm, but the opposite might be true for 1mm 11:49:56 fizzie, upper bound isn't infinite though, is it? After all the universe is not infinitely dividable 11:49:57 e.g. if you remeasured both this way 11:50:11 true 11:50:22 Patashu, they are only lower bounds though 11:50:48 Vorpal: It's probably even harder to say where exactly the boundary of the lake goes when you start shuffling single particles, I would assume. 11:52:46 heh 11:54:04 Sweden has the third largest lake in Europe, and the 29th in the world. http://sv.wikipedia.org/wiki/V%C3%A4nern It is unclear if it is volume or surface area. 11:55:16 Surface area is my guess; it's the most usual measurement. 11:55:49 Our Saimaa is the fourth largest; a bit less than 80% of Vänern. 11:55:53 it says it is Sweden's largest lake both when it comes to surface and when it comes to volume 11:55:58 (Fourth largest in Europe.) 11:56:08 (80% of surface area.) 11:56:14 (More clarifications.) 11:56:57 fizzie, it seems the top two lakes in Sweden get the same ordering for volume and for surface 11:57:13 Your lake is more single-blob-ish[1] though. [1] Single-blob-ish is not a well-defined measure. 11:57:29 link to photo of your one from above 11:57:31 or map 11:57:37 http://en.wikipedia.org/wiki/File:GreaterSaimaa.gif 11:57:42 That's a highlighted satellite photo. 11:58:03 yeah that looks like two ones at least 11:58:11 are you sure they are connected there in the middle? 11:58:23 Officially it's one. 11:58:27 hm 11:58:56 It's connected, though the connections are pretty narrow at points. 11:59:14 "Most of the lake is spotted with islands, and narrow canals divide the lake in many parts, each having their own names (major basins include Suur-Saimaa, Orivesi, Puruvesi, Haukivesi, Yövesi, Pihlajavesi, and Pyhäselkä)." 11:59:29 fizzie, this one is tricky, it is connected (through central Stockholm) to the sea: http://sv.wikipedia.org/wiki/M%C3%A4laren 12:00:14 it is fresh water however 12:00:23 "Finland is known as The Land of the Thousand Lakes, (actually there are 187,888 lakes in Finland, of which 60,000 are large),[7] and the U.S. state of Minnesota is known as The Land of Ten Thousand Lakes. The license plates of the Canadian province of Manitoba used to claim 100,000 lakes[8] as one-upmanship on Minnesota, whose license plates boast of its 10,000 lakes.[9]" 12:00:31 Everyone wants a piece of the "most lakes" action. 12:00:46 fizzie, is "large" well defined there? 12:01:31 There is a rather arbitrary threshold that's often used; it's not mentioned there, but maybe [7] itself mentions it. 12:02:12 Heh, [7] just links to the front page of Statistics Finland, the national institution of statistics and stuff. 12:02:30 Anyway, I've heard that number earlier; can't recall what constituted "large" there. 12:02:34 fizzie, check the link, maybe they moved things around and it redirects everything to the front page 12:02:35 that happens 12:02:56 Nope, it's directly to /index_en.html in the Wiki side too. 12:03:01 huh 12:03:16 hm an image that is 24,576×24,576 pixels. I don't think I will open that one in a browser 12:03:17 The Lake page does already talk of the vagueness between lake and pond, though. 12:05:11 http://en.wikipedia.org/wiki/Lake#Notable_lakes sorts by coastline length too, without mentioning how it was measured. 12:05:19 I told you guys that there was big money in lakes 12:05:30 "Lake Manitou, located on Manitoulin Island, is the largest lake on an island in a freshwater lake." 12:05:44 How about the largest lake on an island in a lake on an island in a freshwater lake? 12:05:53 Is that even possible? 12:05:56 Hmm, I guess it is 12:06:11 Except to have an island with a lake on it wouldn't it then be surrounded by a -sea- 12:06:22 -!- wareya has quit (Read error: Connection reset by peer). 12:07:17 -!- wareya has joined. 12:07:39 I guess that depends on the definition; many would insist on saline water for seas. 12:08:20 Ah, that's true 12:08:57 what about semi-saline ones? 12:09:02 There's at least one recursive island -- an island in a lake (probably pretty small one) on an island, which in this case I think is in the sea -- somewhere here nearby, though I've forgotten where. 12:09:10 That's either a "lea" or a "sake". 12:09:19 (Okay, not really.) 12:09:24 heh 12:10:03 http://blog.toddstadler.com/entry/711 -- related. 12:10:12 That's the same Manitoulin island mentioned above. 12:11:32 fizzie, recursive islands? 12:12:06 Fun 12:12:59 Hah, that's cool 12:13:00 Okay, I submit 12:15:41 Google's zoomed-in satellite photo of Suvisaaristo (a group of islands near the cost here) is... subpar: http://maps.google.com/?ie=UTF8&ll=60.102339,24.711342&spn=0.124411,0.307274&t=h&z=12 12:16:02 fizzie, just clouds? 12:16:28 Yes; if you zoom one level out it uses a different, cloudless photo. 12:16:55 what is the difference between continents and islands 12:17:18 I know australia is a continent and greenland an island 12:17:28 "They [continents] are generally identified by convention rather than any strict criteria, with seven regions commonly regarded as continents --" 12:17:38 ah 12:25:10 I'm a bit weirded out by Europe and Asia being considered separate continents 12:29:52 -!- azaq23 has joined. 12:31:25 -!- aloril has quit (Ping timeout: 246 seconds). 12:31:47 Sgeo, generally they aren't 12:32:25 Sgeo, Eurasia is quite common name on it. Sometimes even Africa is considered part of it (and would be except for a channel) 12:32:41 same as North and South America is really one single continent 12:44:42 -!- aloril has joined. 12:58:49 -!- cheater_ has joined. 13:06:54 -!- azaq23 has quit (Quit: Leaving.). 13:23:57 -!- MigoMipo has joined. 13:55:15 -!- ralc has joined. 14:04:52 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:05:41 -!- Ycros has quit (Quit: No Ping reply in 180 seconds.). 14:05:47 -!- Ycros has joined. 14:10:04 -!- ais523 has joined. 14:10:47 -!- TOGoS has joined. 14:10:57 -!- TOGoS has left. 14:14:43 -!- MigoMipo_ has joined. 14:14:44 -!- MigoMipo_ has quit (Client Quit). 14:17:37 -!- MigoMipo has quit (Ping timeout: 248 seconds). 14:22:14 -!- ais523 has quit (Remote host closed the connection). 14:24:48 -!- ais523 has joined. 14:27:01 -!- ais523 has quit (Excess Flood). 14:29:12 -!- copumpkin has joined. 14:30:35 -!- ais523 has joined. 14:34:36 -!- ais523 has quit (Excess Flood). 14:37:03 -!- ais523 has joined. 14:37:06 -!- ais523 has quit (Client Quit). 14:39:30 -!- ais523 has joined. 14:39:33 -!- ais523 has quit (Client Quit). 14:40:58 -!- ais523 has joined. 14:41:59 -!- esowiki has joined. 14:42:50 -!- esowiki has joined. 14:44:30 -!- glogbot has joined. 14:44:31 -!- ais523 has quit (Excess Flood). 14:45:55 -!- ais523 has joined. 14:45:56 -!- ais523 has quit (Remote host closed the connection). 14:46:51 -!- cheater_ has quit (Ping timeout: 252 seconds). 14:48:08 -!- cheater_ has joined. 14:48:41 -!- lambdabot has joined. 14:54:15 -!- ais523 has joined. 14:54:26 Is this working yet? 14:54:42 wHAT IS THIS? 14:55:09 There seems something rather wrong with my connection 14:55:20 wow this is laggy 14:55:27 I'm on a connection that's normally very reliable 14:57:56 and the only connection I'm making is this IRC one via telnet, together with some standard stuff like NTP 14:57:56 I've seen no response for over a minute from a simple PING command 14:59:02 ah, there it is 15:03:38 -!- ais523 has quit (Ping timeout: 250 seconds). 15:03:39 wHAT IS THIS? 15:03:49 Sgeo has finally accepted that he is Tavros. 15:15:01 -!- ais523 has joined. 15:15:16 that's better, I think 15:15:26 it seems that the wireless router here had decided to give both me, and someone else here, the same IP 15:15:29 for reasons I don't fully understand 15:16:10 ais523: maybe IPv4 ran out of address space. 15:16:19 CakeProphet: it's on 192.168 15:16:26 and that has plenty enough space for two computers 15:16:26 SO? 15:16:29 (it's actually being NATted) 15:16:34 YOU DON'T KNOW 15:16:38 THERE ARE LOTS OF COMPUTERS MAAAN 15:17:32 IRC and email are being sane now, at least 15:17:35 let's see if HTTP is too 15:17:44 ais523, what happened before then? 15:18:05 ais523, also you should probably file a bug about that dupe ip thingy 15:18:16 Vorpal: well, it was like the network was being really buggy 15:18:27 it was full of duplicate packets, out-of-order packets, connections dropping, lag... 15:18:35 heh 15:18:37 and there was a huge spate of stuff being blocked by the firewall 15:18:46 ais523, was there a MAC collision? 15:18:52 I traced the IP in the end, it was HTTP responses from Facebook that were being sent to my computer 15:18:54 and I doubt it 15:18:54 they aren't actually that unique in practise 15:19:01 I could check the MAC at the other side to make sure 15:19:26 well if there was a MAC collision it would explain it all 15:20:01 I don't think there's one 15:20:05 hm 15:20:08 also, this doesn't explain why the same thing happened after rebooting the router 15:20:17 ais523, uh indeed. File a bug. 15:20:22 ais523, is this at university? 15:20:30 I fixed it by repeatedly bringing my own network interface down and up until it got a different IP over DHCP 15:20:33 and no, it's at a friend's house 15:20:38 ais523, ah 15:20:55 ais523, well... maybe the other computer is configured for static ip 15:20:55 and the router is just a supplied one with default settings (other than password because we're not that stupid) 15:21:05 the other computer is dynamic IP too 15:21:09 huh 15:21:17 ais523, report a bug definitely then 15:21:27 ais523, unless there is a MAC collision that is 15:21:28 and complained about an IP collision for a bit, then decided everything was fine when we clicked the more-info button (it runs Windows) 15:21:41 ais523, heh 15:22:16 ais523, well checking MAC should be a high priority, and if no collision report a bug 15:29:17 how do you check MAC under Windows? 15:29:39 also, can you just "report a bug" against a commercial home router that's completely uncustomized? it's not like it's one of those crazy DD-WRT things 15:39:17 if you have WINDOWS it's not MAC 16:12:37 We have free deluxe soda here at Mozilla. The brand is "Natural Brew". It's easily the worst soda I have ever had the displeasure of trying. 16:13:59 Gregor: you work for both Microsoft and Mozilla now? 16:14:13 ais523: Yup. Gonna get Google in there and have the trifecta. 16:14:18 -!- cheater_ has quit (Ping timeout: 244 seconds). 16:14:58 Huh, 'diamond' has the same origin as 'adamantine'. 16:15:24 Gregor, well yeah, but your judgement can't be trusted, other than on matters of fnarf. 16:17:11 -!- cheater_ has joined. 16:17:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 16:30:48 how do you check MAC under Windows? <-- network interface details iirc 16:31:01 I was trying just ipconfig, but it didn't show up there 16:31:36 ais523, well if it is xp go to network iirc, find the interface, click status. Should get you a dialog with two tabs and some buttons. iirc there is a button on the second tab for it 16:32:06 ais523, if you have the network card interface symbol in the corner next to the clock you can click on that iirc 16:32:10 again, this is for XP 16:32:16 no idea for later versions 16:37:04 * Phantom_Hoover wonders which of the new tracks will be the end of act flash. 16:37:57 One of them probably will. 16:39:13 Oh god another Doctor remix. 16:40:43 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 16:43:01 XD 16:43:12 One of the songs is the music from *http://mspaintadventures.com/?s=6&p=002655* 16:43:48 That's at *least* a year and around 11 albums until it was released. 16:44:30 -!- FireFly has quit (Quit: swatted to death). 16:55:11 -!- cheater_ has quit (Ping timeout: 252 seconds). 16:56:57 -!- cheater_ has joined. 17:03:41 Phantom_Hoover, funnily enough, guess what part of the year I was born 17:08:20 hm 17:08:27 would a 1V5 tube deliver 300V? 17:13:21 so is irssi what all the cool kids use? 17:15:00 no 17:18:49 aw, so I'm not a cool kid? damn.. 17:20:19 -!- cheater_ has quit (Ping timeout: 240 seconds). 17:20:42 -!- ralc has quit (Remote host closed the connection). 17:31:50 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 17:37:04 -!- cheater_ has joined. 18:06:24 -!- oerjan has joined. 18:12:16 -!- monqy has joined. 18:20:03 so is irssi what all the cool kids use? 18:20:06 ABSOLUTELY 18:24:22 zeus, lan a canal, suez 18:24:29 SO CLOSE 18:29:17 * oerjan laughs at today's http://www.mezzacotta.net/postcard/ 18:53:22 -!- wareya has quit (Ping timeout: 260 seconds). 18:54:00 -!- TeruFSX has joined. 19:10:19 -!- wareya has joined. 19:16:21 *Gaaah*, libtool. 19:16:26 It actually installs .la files. 19:17:00 Which, BTW, do something vaguely similar to pkgconfig --libs. ... If you link all your programs with libtool. 19:20:58 -!- Phantom_Hoover has joined. 19:27:33 -!- elliott has joined. 19:35:46 07:02:17: whoa, lyx has an option "--without-included-boost" 19:35:54 Vorpal: you're _meant_ to use boost by including the header files in your source tree 19:36:17 elliott, about 15 MB of boost included. plus some library parts of it 19:36:25 headers plus* 19:37:05 templates for disaster 19:38:40 elliott: GAG 19:39:22 I *despise* embedding libraries in a package's source tree. 19:39:30 In UNIX land, it is always the Wrong Thing. 19:39:45 pikhq_: Yeah but this is Boost, it doesn't even have object files. :p 19:39:51 It is literally composed of headers. 19:40:07 ... Which makes that even more pointless, TBH. 19:42:40 elliott, wait, I thought that was a cardinal sin? 19:43:44 Phantom_Hoover: It is a cardinal sin many people are guilty of. 19:43:51 pikhq_, ...why? 19:44:01 Some packages even go out of their way to make it difficult to do otherwise. 19:44:06 (looking at *you*, ffmpeg) 19:44:26 Phantom_Hoover: I think in part because it's standard practice in Windows development. 19:49:35 -!- pikhq has joined. 19:52:35 -!- pikhq_ has quit (Ping timeout: 252 seconds). 20:01:18 http://pedrocr.net/text/how-much-gnu-in-gnu-linux 20:01:20 WHAT'S THIS 20:01:26 DESKTOP LINUX SYSTEMS CONTAIN NOT ACTUALLY THAT MUCH GNU??? 20:01:28 OMFG 20:01:42 Clearly Stallman will now change his nomenclature to KDE/Linux. 20:03:02 "/Some/ of Linux code can be built with toolchains other than GCC (e.g. clang). But surely, other portions of it depend on nonstandard GCC extensions and are useless (or require rewrite) without GCC." 20:03:04 pikhq: hehehehehehehehe 20:03:06 reddit sure is stupid 20:09:22 elliott: Yeah, nowadays I'm of the opinion that there's just no good way of referring to various distributions of a conglomeration of various bits and pieces into an OS, with Linux as the kernel. 20:10:20 Just "Linux" is a misnomer, and GNU really isn't a more important part, and, uh... Yeah. 20:10:26 There's just no good nomenclature for it. 20:11:10 "Linux system" is good enough :P 20:11:23 It's common and not entirely inaccurate, so. 20:11:37 I dislike that nomenclature, too, though it at least has common use in favor of it. 20:12:48 It's particularly confusing to the ignorant, as Linux really isn't The Defining Feature in the various Unix-likes built on top of Linux. 20:13:05 It can be replaced, just like every other piece. 20:13:22 Yeah but nobody really gives a shit about that. :p 20:13:46 I mean, most people who use "Linux" don't even know what Linux is or what a kernel is, so it's fairly irrelevant to them. 20:14:03 pikhq: But really, "Unix-alike" is... ugly and inaccurate, but decent. 20:14:30 Only useful for the technical-minded, but then the non-technical-minded don't give a shit, just say "Ubuntu" or whatever you're installing for them :P 20:14:57 Yeah, if a specific distro is being discussed, then nomenclature gets really, really easy. 20:15:05 elliott: I thought both clang and icc had implemented enough gcc extensions that they could do huge amounts of linux, possibly even the whole thing 20:15:21 clang can't do the whole thing, at least 20:15:24 ais523: Obviously I quoted that and then commented on the ignorance of redditors to show that I agreed with them :P 20:15:31 ais523: I think there's one or two bits that prevent it still. 20:15:31 Oh right, it's icc that got a bootable kernel. 20:15:40 didn't clang compile the linux kernel already? or was that just a BSD kernel? 20:15:43 bsd 20:15:55 Something to do with clang not supporting *all* of the embedded ASM that Linux uses. 20:17:38 Ah, it's possible to build most of Linux with clang, but there's still a few bits broken. 20:17:51 http://llvm.org/bugs/show_bug.cgi?id=9254 is a WONTFIX that Linux depends on 20:18:05 Module loading straight-up doesn't work, and the VDSO and boot stuff don't build right. 20:18:40 Building the VDSO and boot with GCC gets you a booting Linux kernel, though some non-essential subsystems won't work. 20:18:51 Source: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-October/011711.html 20:19:00 'variable length 20:19:00 array in structure' extension will never be supported 20:19:02 really? 20:19:05 oh wait 20:19:06 right 20:19:09 I thought e.g. 20:19:11 int foo[]; 20:19:14 was WONTFIX 20:19:39 "I agree. This an nested functions are two things we really really don't want 20:19:39 to implement." 20:19:44 Deewiant: clang isn't implementing nested functions? 20:19:47 x_X 20:19:56 Sounds like it, don't ask me 20:20:15 Nested functions are a total bitch to support right, and GCC's support for it is an epic hack, TBH. 20:21:46 hey um 20:22:06 this might be the wrong place to ask but do you know where I could find somebody who can use CDC Cyber BASIC 20:26:55 ?pl \f g x -> f x + g x 20:26:55 liftM2 (+) 20:32:55 ?hoogle RealFrac 20:32:55 Prelude class (Real a, Fractional a) => RealFrac a 20:33:13 does anything actually use RealFrac... 20:33:25 oh wait, RealFloat requires it, ugh 20:36:27 hmm 20:36:42 isIEEE seems like it should be a constant 20:39:35 I seem to remember that Algol 68's standard prelude defines + in terms of - 20:41:09 ais523: weird 20:41:28 http://hackage.haskell.org/package/portaudio-0.0.1 ;; bleh, this is rather incomplete 20:41:46 * elliott looks at the other bindings 20:42:34 *Main> length (second (sin :: Signal Double)) 20:42:35 44001 20:42:38 hmm, that's an off-by-one, isn't it? 20:45:03 :t floor 20:45:04 forall a b. (RealFrac a, Integral b) => a -> b 20:45:28 oerjan: I'm defining instances for functions, so all my RealFrac functions are const (error "...") :P 20:46:22 > isIEEE (undefined :: Double) -- as close to constant as you can get 20:46:23 True 20:47:07 I've just done 20:47:07 isIEEE f = isIEEE (f 0) -- ??? 20:47:25 ?pl \f -> isIEEE (f 0) 20:47:25 isIEEE . ($ 0) 20:47:31 i believe not looking at the argument is a requirement for that function 20:47:36 Now all my instance functions are point-free ;D 20:47:50 oerjan: Hmm 20:48:01 oerjan: So I should do "isIEEE _ = isIEEE (undefined :: a)"? 20:48:04 With ScopedTypeVariables. 20:48:15 heh 20:48:22 Oh, don't even need ScopedTypeVariables. 20:50:18 @hoogle range 20:50:18 Data.Ix range :: Ix a => (a, a) -> [a] 20:50:19 Language.Haskell.TH data Range 20:50:19 Language.Haskell.TH.Syntax data Range 20:50:35 @hoogle genRange 20:50:35 System.Random genRange :: RandomGen g => g -> (Int, Int) 20:50:49 > genRange (undefined :: StdGen) 20:50:50 (0,2147483562) 20:50:58 I wish they used Tagged instead 20:51:36 i guess that wasn't invented 20:52:08 It's an obvious invention :P 21:10:43 -!- Tritonio has joined. 21:14:16 http://www.mspaintadventures.com/?s=6&p=002015 21:14:30 Esolangs just asking to be invented. 21:14:53 Disasterisk sounds like a metal band. 21:15:00 DISASTER + RISK = DISASTERISK 21:15:20 disasterix the gaol 21:20:50 http://www.reddit.com/r/haskell/comments/hoxbo/how_do_i_apply_to_join_the_haskell_cult_yes_i/c1x80kt it's all clear now 21:22:46 oerjan, are you a member. 21:25:27 > oerjan `elem` REDACTED 21:25:28 Not in scope: `oerjan'Not in scope: data constructor `REDACTED' 21:25:38 difficult to say 21:26:37 "was that it was to be a" <-- greatest fragment of English ever. 21:26:45 Gregor, no it isn't. 21:26:53 That's a perfectly normal fragment. 21:27:23 The greatest flaw of C++ was that it was to be an OO language based on C, which is just idiotic. 21:27:41 -!- FireFly has joined. 21:27:43 -!- NihilistDandy has joined. 21:32:46 -!- BeholdMyGlory has joined. 21:42:44 -!- pikhq_ has joined. 21:43:00 -!- pikhq has quit (Ping timeout: 260 seconds). 21:43:55 Phantom_Hoover: Consistent type system -> strong termination -> not Turing complete 21:44:02 (In the context of typed LCs.) 21:44:05 Is that true? 21:44:29 Yes. 21:44:34 Erm. 21:44:40 It's true that the type system has to be sub-TC. 21:44:55 Phantom_Hoover: consider that Haskell's type system is inconsistent 21:44:58 when viewed as a logic 21:44:58 because 21:45:00 undefined :: a 21:45:01 undefined = undefined 21:45:11 So yes, a TC language has an inconsistent logic as its type system. 21:45:20 oerjan can nitpick me :) 21:45:38 But in terms of the actual _type system_, not in terms of the logic it represents. 21:46:06 -!- oerjan has quit (Quit: Good night). 21:46:12 Phantom_Hoover: define consistent 21:59:39 elliott: hey kiddo 22:23:30 -!- ais523 has quit (Remote host closed the connection). 22:28:46 -!- Tritonio has quit (Quit: Leaving). 22:29:49 > concatMap (replicate 9) [0,9,0,9] 22:29:49 [0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,9] 22:29:51 great 22:45:46 -!- FireFly has quit (Quit: swatted to death). 22:54:27 -!- cheater_ has quit (Ping timeout: 252 seconds). 22:58:39 -!- copumpkin has quit (Remote host closed the connection). 23:06:51 -!- cheater_ has joined. 23:25:22 -!- Vorpal has quit (Ping timeout: 248 seconds). 23:42:26 this is by far the most active channel I frequent that isn't a programming language channel. 23:48:11 But it IS a programming-language channel! 23:48:23 CakeProphet: thanks to MEEE 23:55:32 -!- TeruFSX has quit (Remote host closed the connection). 23:58:11 -!- pikhq has joined. 23:58:23 -!- pikhq_ has quit (Ping timeout: 250 seconds). 2011-06-02: 00:26:03 -!- NihilistDandy has quit (Ping timeout: 240 seconds). 00:28:08 -!- NihilistDandy has joined. 00:30:52 -!- fizzie has quit (Ping timeout: 240 seconds). 00:36:59 -!- fizzie has joined. 00:41:20 * pikhq is convinced that automotive engineers are assholes. 00:42:01 Why the hell should it be even slightly difficult to do maintainence on an engine? 00:42:33 And why the fuck do I need to jack my car up to get to the battery? 00:42:46 And why should it be a time-consuming affair to replace a headlight? 00:42:49 Assholes, I tell you. 00:43:17 Holy shit, Bitcoins have exploded in value. 00:43:34 FML for not predicting this 00:43:37 congratulations investors 00:43:47 I could have eightfolded my money :( 00:43:49 PAH 00:43:57 Although it might be the dollar decreasing in value instead >:) 00:44:12 bitcoins the good and stable currency 00:44:22 except when it deflates 00:44:30 invest always 00:45:22 -!- zzo38 has joined. 00:46:07 Someone on another IRC told me that all IRC clients and all IRC servers follow the standards/RFC. However, I think on this channel, someone told me that mine is the only one that does, and that you hate it for that reason? 00:47:00 I thought that very *few* IRC servers actually followed a strict reading of the RFC. 00:47:25 And no clients even give a fuck. 00:47:51 -!- TeruFSX has joined. 00:48:13 -!- elliott has quit (Ping timeout: 250 seconds). 00:48:21 pikhq: Really? I think someone on this channel, has, in the past, told me that my client follows the RFC closer than others (and that they hate my client for those reasons). I think it has to do with embedding commands inside of messages, or something like that? I don't remember exactly 00:49:15 Like ACTION this, for example. 00:51:03 Are you sure??? 00:58:31 *sigh* 00:58:40 People actually ship code with -Werror enabled. 00:58:54 The stupid is palpable. 01:01:26 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:03:41 pikhq: Yes I have seen that. Unfortunately, the warnings that I do want to make into errors (I don't want all warnings to be errors), I cannot control separately from the other warnings/errors. 01:04:06 (What I do is I just keep them as warnings.) 01:04:33 I think the code I have seen with the -Werror is something to do with PXELINUX if I have remembered correctly. 01:04:46 -Werror is just fine when you're developing software. 01:05:21 However, it is positively broken and wrong when you ship the source code with -Werror plugged into your build system. 01:05:38 -Werror? 01:05:41 You never know when a GCC version is going to come along and add a new warning. 01:05:51 Phantom_Hoover: It makes all warnings into errors. 01:06:19 There are some warnings I do not want to make into errors. There are also some warnings I want to suppress. However, not all warnings are controllable. 01:06:51 That *includes* things like a function being made deprecated... 01:11:20 Do you know about what I have done in the past the Icosahedral RPG (where a "mana" is a mathematical kind of thing)? I think that WotC should copy it (as long as they do not violate my license) and call it Advanced D&D. 01:18:10 What is your opinion on this matter? 01:24:43 -!- Patashu has joined. 01:24:51 -!- elliott has joined. 01:29:11 oh man, a homestuck update that Sgeo hasn't even bugged me about yet 01:29:19 that gives me the opportunity to! 01:29:23 lol 01:29:24 an opportunity which i will waste oops 01:32:40 I have no idea what's going on in the last panel 01:33:05 That's because you didn't pay attention for a single second of your binge and, as such, have no recollection of prior panels of any sort. 01:34:45 Sgeo: http://www.mspaintadventures.com/?s=6&p=005508 01:34:55 Everyone else: Don't click that unless you've read Homestuck or are completely sure you never will. 01:35:51 Ah 01:36:14 Someone got a syntax error and posted the message to some public forum. Someone else answered by saying that their problem is that the software they were using was not designed to help, it was designed to teach you arbitrary "syntax". 01:36:25 Sgeo: It basically all ties in with the "circumstantial simultaneity" shit. 01:40:19 Sgeo: I assume you've been keeping track of the events in the banner of the page. 01:40:30 Yes 01:40:37 I suspect you have not so, in my thoughtfulness, I have prepared a face to pal-- damn. 01:46:39 -!- copumpkin has joined. 01:48:18 Someone claimed he was the fastest computer programmer, and the reason is that he tosses anything that interferes with productive programming, with apparently includes *all* language and *all* programming tools. 01:48:43 -!- SimonRC has quit (Ping timeout: 260 seconds). 01:55:56 And zzo38. 02:00:42 how do you program without syntax 02:01:00 I don't know. 02:01:29 it could always be like scratch 02:01:36 where you plug statements/expressions/functions together like jigsaw pieces 02:02:09 There are other systems, too, that you connect commands together to program. 02:03:05 that's the only thing I can think of - because the GUI controls what input is valid, you cannot give invalid input 02:03:16 But he meant I think, apparently, one where you can think at the highest level and program at the lowest level; and that you have no arbitrary keyboard, because you can configure all the keys to suit you; and I don't know what else. But it involves machine codes. 02:06:17 -!- Phantom_Hoover has quit (Quit: Leaving). 02:16:28 -!- azaq23 has joined. 02:18:58 -!- comex_ has changed nick to comex. 02:25:28 comex: you forgot the ico 02:25:47 shadow of the colossus? 02:26:00 comexico 02:37:42 -!- pikhq has quit (Ping timeout: 240 seconds). 02:38:03 -!- pikhq has joined. 02:41:19 -!- Ycros has quit (Quit: No Ping reply in 180 seconds.). 02:41:29 -!- Ycros has joined. 02:50:23 -!- TOGoS has joined. 02:51:17 -!- TOGoS has left. 02:53:08 -!- pikhq has quit (Read error: No route to host). 02:53:33 -!- pikhq has joined. 02:53:43 That was... Strange. 02:57:47 -!- elliott has quit (Read error: Connection reset by peer). 03:02:07 jesus, I get so frustrated while talking to people on #perl... 03:02:23 or any programming language channel.. 03:08:06 -!- elliott has joined. 03:08:22 argon situation 03:09:49 * Sgeo floods #esoteric with Halon 03:10:10 Hmm, that's not actually unambiguous, is it 03:12:22 Halon 1301 03:13:31 Hmm, darn, from what I'm reading, Halon flooding isn't actually that dangerous 03:14:49 * elliott reads The Dionaea House 03:19:31 That was... less scary than I was expecting. 03:26:34 -!- poiuy_qwert has joined. 03:30:47 -!- poiuy_qwert has quit (Client Quit). 03:33:35 -!- azaq23 has quit (Ping timeout: 252 seconds). 03:34:44 -!- azaq23 has joined. 03:34:55 " 03:34:55 Ever wondered who is "on top of the Pyramid?" He gives us a clue. The bloodline he represents is well 03:34:55 above the Rothschild's in power and in the hierarchy and is extra-terrestrial in origin. The 13 bloodlines 03:34:55 we have been talking about thus far on this website and others, with the Rothschild's in a top position 03:34:55 together with the Merovingian Nobility, are quite low rank in the Big Pyramid Structure, and are the 03:34:57 ones playing a power game here on Earth, only aware of parts of the Big Game (a need to know basis). 03:34:59 The bloodline "Hidden Hand" is supposedly belonging to is way more advanced and higher rank." 03:35:01 I'M LEARNING TODAY 03:38:19 says atlantis is real within paragraphs, this is great 03:40:02 paranoid schizophrenic? 03:40:12 Homestuck Music Team <3 Walk Smash Walk 03:40:38 Patashu: Or troll -- what kind of Illuminati member would decide to engage people on /Above Top Secret/ of all places? 03:40:39 http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf 03:40:50 but this is interesting in its insaity :) 03:40:53 [asterisk]insanity 03:41:03 You'd have to be a really dedicated troll to obsessively come up with complex conspiracy theorieds 03:41:17 Patashu: they don't -- they just have to make up consistent bullshit in reply to questions 03:41:31 and these guys lap it up so it certainly paid off 03:41:41 But that's tedious if you don't actually believe it 03:41:43 Why bother 03:41:55 Patashu: Why troll in the first place? 03:42:04 Schadenfreude. 03:43:07 " Still, even then, you are choosing the Negative 03:43:08 Polarity with your own Free Will decisions, with a little 'help' and direction from us. Souls are 03:43:08 Harvestable in either 'extreme' of the Polarities, one could say." 03:43:11 Aaah, schadenfreude. Best kind of freude. 03:43:51 apart from insurance fraud 03:43:57 [asterisk]freude 03:44:15 [[ 03:44:15 ATS: Is the Messiah alive today? 03:44:15 HH: There is no "Messiah". Stop looking outside of yourself for 'salvation'. 03:44:15 Is there what you might call a 'Christ Consciousness' alive, then yes, in a manner of speaking. Though 03:44:15 not in your 3rd Density (dimensional) awareness.]] 03:44:15 YES 03:44:20 straight to the fourth-dimension bullshit 03:44:24 this ticks all the fucking boxes 03:45:23 HH: Who says it is the 'true' line? There were Ruling-Bloodlines long before your 'Yahweh' and his 03:45:23 'Christianity' arrived on this planet. Yahweh is 'a' Creator, not 'The' One Infinite Creator. There 03:45:24 are other and Higher 'gods' than him. Ultimately, All, are a part of The One, and either consciously, 03:45:24 or unconsciously, exercising their Free Will to Create. Begin to study 'outside of the box' for a True 03:45:24 understanding of the Creation. 03:46:13 -!- pikhq_ has joined. 03:46:19 STOP SUCKING DAMMIT 03:46:23 no 03:46:30 fuk u 03:46:32 OK, does this have a purpose? 03:46:37 zzo38: does what 03:46:57 Is it anything at all like gnosticism? 03:47:05 dunno, ask http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf :P 03:48:00 -!- pikhq has quit (Ping timeout: 258 seconds). 03:48:14 I think that "gods" and "Gods" are different and therefore you have to tell them apart to possibly understand what it means. 03:48:30 So far, doesn't seem very gnostic. 03:48:47 [[ATS: Surely if ruling elite families exist and your a member of one then you must be controlling global 03:48:48 events through world governments - tell us 1 major government action from any country that going to 03:48:48 occur in the next 5 days. 03:48:48 I won't be surprised when you refuse to do so. 03:48:48 HH: [on Sept. 10, 2008]: I am not at liberty to discuss such intimate immediate detail, [...]]] 03:48:50 LOOK AT MY SURPRISE 03:48:52 LOOK AT IT 03:49:10 Yes, I know, doesn't seem very gnostic. 03:49:20 O, it is Spanish, too? 03:49:26 oh, apparently the stock markets should have imploded? 03:49:34 zzo38: ? 03:49:40 I am not good at reading Spanish, sorry. So I will read English file. 03:49:48 zzo38: http://www.bibliotecapleyades.net/archivos_pdf/dialogue_hh.pdf is not Spanish 03:50:13 The primary property of gnosticism is the belief in some form of secret knowledge that can be imparted upon you via some divine intermediate (commonly, Jesus, but others are claimed), thereby gaining you salvation. 03:50:25 pikhq_: naw, you just have to be born into 03:50:25 THE 03:50:26 FAMILY 03:50:27 This is just crazy. 03:50:34 elliott: As I said, not very gnostic. 03:50:37 "San Francisco and Damascus, will be uninhabitable by the end of 2010" 03:50:38 hehehehe 03:50:40 that happened 03:50:54 I didn't know San Francisco ever became inhabitable. 03:50:55 :P 03:50:59 arf 03:51:10 if you just Put Random Words in Uppercase then you can be Just Like This Guy 03:51:17 " 03:51:17 That is all I have time for at present. I have a Sacrifice I must attend now. 03:51:17 No, not really." 03:51:25 ILLUMINATI GUY MAKES SUCH FUNNY JOKES HA HA 03:51:37 meh, http://973-eht-namuh-973.com/ looks vaguely more interesting than this 03:51:46 crappy reddit post, none of this stuff is mysterious or scary 03:51:56 http://973-eht-namuh-973.com/coloured%20site/start/2.jpg oh what 03:51:57 My Preference is to capitalise Nouns, as such is the proper Practice in our Language. 03:52:23 Why Not Just Capitalize Every Word? 03:52:47 http://973-eht-namuh-973.com/coloured%20site/start/4.jpg oh cool 03:52:59 I don't see the relevance of anything they wrote in this document, so far. 03:53:02 Sgeo: We All Have An Important Job To Do 03:53:10 darn, I butchered that 03:53:12 Sgeo: Such is improper. The historical Practice is to only capitalise Nouns, much as German does now. 03:53:21 lets just capitalise nothing 03:54:05 ACTVALLY, LET'S DO THIS PROPERLY. THERE ARE NO LOVVER-CASE LETTERS. AND ONLY THE LETTERS THAT THE ROMANS VSED ARE PERMISSIBLE. 03:54:13 * Sgeo counts 3 trolls who have said that 03:54:16 http://973-eht-namuh-973.com/coloured%20site/start/10.gif 03:54:23 hey its an aeroplane 03:55:18 http://973-eht-namuh-973.com/coloured%20site/start/evokation/the_evocation_first.htm 03:55:19 jesus 03:55:39 "JUPITER EQUALS 99 AND 99 EQUALS JUPITER" 03:55:42 ok 03:56:01 I can see what they might say about people being traded by governments, although it is probably only true to a small extent. What what does Polarity have to do with it? 03:56:16 elliott: Jupiter? 99? What...? 03:56:43 zzo38: god knows 03:58:00 Is it inappropriate to say <3< Vriska? 03:58:17 One day I will lock myself into a cupboard and it will be the best cupboard because Sgeo won't be in it. 04:04:00 OK, you are never free because you are stuck on this planet (and to a greater extent, the universe), but I think you can be free in different ways, isn't it? They also seem to believe in some version of the Apocalypse??? The Biblical reference is correct, and it is just metaphorical. And it doesn't mean that now is this time? 04:04:36 I like to write statements and then append a question mark? 04:04:45 I am not sure what a "Christ Consciousness" is, here. 04:04:53 CakeProphet: I think the pdf may have broken zzo38's brain 04:04:58 Eh, they've already denied empiricism and logic; useless to attempt to reason with them. 04:05:03 Do you like to use a lot of question marks???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/ 04:05:13 says the ex-christian (that's your role forever now) 04:05:15 No. But I think that's grand? 04:05:16 zzo38: no i prefer slashes/////// 04:05:47 > 'test' 04:05:47 : 04:05:48 lexical error in string/character literal at chara... 04:05:49 elliott: Ah, fuck you. 04:06:02 oh right 04:06:05 Haskell has C-style strings. 04:06:07 pikhq_: >:) 04:06:12 CakeProphet: C-style? :P 04:06:14 too. much. Perl. 04:06:18 that's hardly something unique to C 04:06:20 > 't' 04:06:20 't' 04:06:22 > ['t'] 04:06:22 "t" 04:06:35 And I don't really think you can call Haskell's String to be C-style. 04:06:36 haskell couldn't really use '' for strings, because String = [Char] 04:06:37 elliott: as in, '' is character literal. All of the languages I've been using lately (read: Perl, bash) don't work like that. 04:06:42 pikhq_: yeah, a better word is "retarded" 04:06:48 LINKED LIST OF MACHINE WORDS HERP DERP 04:06:59 oh wait 04:07:01 A linked list of Char is *not* the same as a null-terminated chunk of memory. 04:07:02 it isn't even an unboxed list 04:07:09 "Yahweh is 'a' Creator, not 'The' One Infinite Creator. There are other and Higher 'gods' than him." Does that mean there are an infinite number of levels? 04:07:18 so each char is an allocation NICE 04:07:18 pikhq_: its arguably the only thing worse 04:07:26 zzo38: god over djinn eh 04:07:34 pikhq_: I was referring to syntax not implementation. 04:07:38 pikhq_: Text really needs to become the new String :) 04:07:46 pikhq_: as soon as we get some kind of generic container typeclass story going 04:07:53 CakeProphet: Syntax is merely aesthetic. 04:07:54 so that we won't lose all list operations because of it 04:07:59 pikhq_: doesn't mean it's irrelevant 04:08:03 pikhq_: ...okay? 04:08:13 Are Javascript's problem syntactic or ... something else? 04:08:28 I'm thinking that my language will have a Javascript reminiscent syntax 04:08:31 javasctipt has a pretty unoffensive syntax in my mind. 04:08:34 Sgeo: Just a large number of poor decisions. 04:08:42 elliott: Can it have some kind of command to tell it what to do, if ' ' and " " and so on is found in a source file, then? 04:08:44 Entirely *understandable*, considering the circumstances, but still. 04:08:47 Hmm, such as? 04:08:58 * Sgeo wants to avoid making poor decisions 04:08:58 zzo38: well, there is the OverloadedStrings extension... 04:09:04 Sgeo: no block scope 04:09:15 idiotic object system that's half-class, half-prototype 04:09:19 Sgeo: One problem is some Javascript systems will do wrong thing when you add line breaks inside of commands can have doing wrong thing. 04:09:20 bad syntax 04:10:06 -!- pikhq has joined. 04:10:10 What if I convert blocks to lambdas, do I avoid neglecting block scope? 04:10:18 Or am I misunderstanding you 04:10:37 Or what you mean by "block" for that matter 04:10:39 > "I like to end my sentences with INFINITE QUESTION MARKS" ++ (repeat '?') 04:10:40 "I like to end my sentences with INFINITE QUESTION MARKS???????????????????... 04:10:41 Uhh, yes, you could wrap the body of every if statement in a (function(){...})() 04:10:43 But that would be insane 04:10:46 Sgeo: block = {} 04:10:48 js only has function scope 04:10:53 if you declare a variable three blocks nested in 04:10:56 it's there for the rest of the function 04:10:56 I don't think the object system is too bad, prototype-based is not bad to me. And the Mozilla extensions to Javascript have some new thing such as __proto__ to access *and change* the prototype of an object, often useful. However you cannot do multiple inheritance. There is other thing too. 04:10:57 elliott, is that insane for CSP? 04:11:08 Sgeo: i don't think you actually know what you're doing, what are you doing 04:11:14 elliott: If you use "let", it is local to the block. If you use "var", it is function scope. 04:11:23 zzo38: let is not widely supported afaik 04:11:32 that is a mozilla extension, or at least from one of the newer badly-supported standards. 04:11:45 I thought CSP woud entail having a lot of lambdas after being converted to CSP 04:11:53 Sgeo: don't you mean cps 04:11:58 Yes 04:12:03 what are you actually doing 04:12:18 Ultimately, though, the problems with Javascript all spring from how Brendan Eich was forced to design and implement it in 10 days and make it superficially similar to Java. 04:12:27 Making a language to convert into a pseudobytecode that will be read by an interpreter in LSL 04:12:33 Sgeo: you said javascript 04:12:57 My current thoughts are leading this language to have a syntax reminiscent of Javascript 04:13:04 you mean a terrible syntax 04:13:07 elliott: so I'm going to make a language that is somehow a cross between Perl and Haskell. WATCH. 04:13:08 awesome great 04:13:11 There are, however, problems with Javascript. 04:13:17 CakeProphet: vomiting 04:13:22 CakeProphet: btw i wrote a signal thing that can play audio 04:13:23 What are the problems with Javascript syntax? 04:13:30 Sgeo: it sucks 04:13:44 elliott: you should let me see that so I can figure out how to play audio in Haskell sensibly. :D 04:13:57 -!- pikhq_ has quit (Ping timeout: 276 seconds). 04:13:58 *clap* *clap* *clap* that's not useful to me! 04:14:02 CakeProphet: but you'll just steal it and use it to make an inferior codebase :) 04:14:06 Sgeo: yep, but i don't really give a shit 04:14:08 Sgeo: The rule about semicolons. And that lambda functions require the long word "function" which if used a lot, will make a lot of long text. 04:14:20 elliott: nope. I will analyze and determine if I can make a superior system, and if not, use yours. :D 04:14:24 Well, I think my lambdas will be more like Fancy's lambdas 04:14:38 |string somestring| { ...code here... } 04:14:43 CakeProphet: well mine is currently one file. :) 04:15:08 elliott: is that your metric of good code? I've heard there are lot of Perl programs that are one file. 04:15:15 CakeProphet: but here it is: http://sprunge.us/ZGhA 04:15:19 and no, I mean it's literally less than a hundred lines 04:15:27 and the vast majority is trivial instances 04:15:32 Maybe like this is OK: (y,x=x;x*y) means to take the current value of "x" and take one parameter "y" to return their product. 04:16:04 CakeProphet: btw, I used Float rather than Double because otherwise i would have to do conversion 04:16:10 CakeProphet: this way i can output as thirtytwo-bit directly 04:16:10 And if you want statements then you use {} instead of () 04:16:14 and pulseaudio handles the conversion 04:16:16 and yeah pulseaudio sucks 04:16:21 lame. 04:16:31 CakeProphet: well there is no point using more precision if you will just throw it away 04:16:36 nobody uses >thirtytwobit pcm files :) 04:16:38 yeah I know. But why not use alsa? 04:16:45 CakeProphet: because the alsa binding looked ten times as painful 04:16:50 ...well, right. 04:16:52 the portaudio one is bitrottent and would not even compile 04:16:54 and undocumented as fuck. 04:16:56 [asterisk]bitrotten 04:17:05 I can always make it "pluggable" later, if you look you will see how trivial the pulse-using code is :P 04:17:06 it's just main 04:18:10 elliott: why are there all of these instances that generate errors? 04:18:41 CakeProphet: because they are impossible to implement 04:18:43 :t properFraction 04:18:44 forall a b. (RealFrac a, Integral b) => a -> (b, a) 04:18:46 so 04:18:57 (Float -> a) -> (b, (Float -> a)) 04:19:00 given properFraction on a 04:19:02 protip 04:19:03 you can't do it 04:19:05 same for (==) 04:19:08 can't compare functions 04:19:10 Another thing is the way the "new" command works in Javascript, I do not like it so much. 04:19:11 can't convert a function to a rational 04:19:13 etc. etc. etc. 04:19:21 the numeric typeclass hierarchy in prelude sucks 04:19:24 but it's what we have to work with, so 04:19:34 elliott: but you needed to implement those typeclasses to implement more useful ones basically? 04:19:42 yeah 04:19:47 hmmm, okay. 04:19:55 RealFloat is a real doozy, but it gets us atan2 :D 04:20:12 CakeProphet: anyway, "cabal install pulse-simple" and you can run that program 04:20:27 sin = (sin .) --...what? 04:20:37 oh... nevermind :P 04:20:51 sin f = \x -> sin (f x) 04:20:53 sin = (sin .) 04:20:57 yes I see now. 04:21:15 similarly, (liftA2 f) in this context is sugar for the obvious 04:21:20 i.e. a "fork" 04:21:29 Perhaps helped to make BookRecord={title,author;this.title=title;this.author=author;}.makeClass({toString:(;this.title+" by "+this.author)}); 04:21:36 ...I must get back into my Haskell brain. 04:21:47 ?unpl liftA2 (+) 04:21:48 liftA2 (+) 04:21:50 would be a slightly better system than what Javascript currently has. 04:21:50 grr 04:21:53 ?unpl liftM2 (+) 04:21:53 (\ d e -> d >>= \ b -> e >>= \ a -> return (b + a)) 04:21:56 gah 04:22:00 CakeProphet: basically 04:22:05 foo = liftA2 op 04:22:06 in this context 04:22:07 is 04:22:14 foo f g = \x -> f x `op` g x 04:22:46 kind of like `on` but with two functions instead of one it seems. 04:23:07 :t liftA2 04:23:08 forall a b c (f :: * -> *). (Applicative f) => (a -> b -> c) -> f a -> f b -> f c 04:23:13 specialised to the function instance of applicative functors :) 04:24:01 :t on 04:24:02 forall b c a. (b -> b -> c) -> (a -> b) -> a -> a -> c 04:24:13 also this works 04:24:15 let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . fromEnum . (== 0) . (`mod` 2) . truncate)) 04:24:19 makes it turn off/on every second 04:25:26 there seemed to be a function to do something like that called every in yaxu's library 04:25:42 but it took a function parameter and I'm not entirely sure what that function did 04:26:01 let foo = seconds 9 ((sinew 440 + sinew 554 + sinew 659) * (fromIntegral . (`mod` 900) . truncate . (* 900))) 04:26:02 pleasing noise 04:26:02 but he would often do something like every 3 (<~ 4) ... 04:26:08 CakeProphet: it's not quite the same here 04:26:12 in that there's no "triggering" 04:26:14 just filtering a signal off 04:26:19 right. 04:26:25 that sort of stuff can be built on top 04:26:50 now, time to do fourier transforms :D 04:26:55 well, 04:26:59 not yet. eventually. 04:27:11 what do you need fourier for? 04:27:23 I think you need to use FFT to do a filter? 04:27:26 maybe not. 04:27:55 I'll go through my notes and see if there's a way to implement filters in time-domain. 04:28:18 http://hackage.haskell.org/package/fft 04:28:20 there's yer binding 04:28:36 there's also http://hackage.haskell.org/package/pure-fft but it's pure-haskell and older 04:28:41 with a binding the age doesn't matter so much if it compiles 04:28:44 since you can still use the newer library... 04:28:59 http://hackage.haskell.org/packages/archive/fft/0.1.6/doc/html/Math-FFT.html 04:29:13 Also, you could just write your own damned FFT, it's not *that* hard. 04:29:18 pikhq: but slow :) 04:29:26 CakeProphet: I kind of wish there was "standard" music production software that worked like this 04:29:33 elliott: Well, yes, the efficiency bit is the only hard bit. :P 04:29:41 CakeProphet: Well, I suppose Max/MSP /is/ really quite similar to the Text thing yaxu did. 04:29:45 elliott: plenty exist, but none are really what I would call standard. 04:29:45 But still. 04:29:50 CakeProphet: I mean something people actually used ;) 04:30:10 some people actually use stuff like Reaktor and Max/MSP 04:30:21 Or maybe, is better having "this" to be an actual argument to the function, similar how Python has it. And then, .makeClass should take two parameters, one is the methods, and the other is properties. And then when making object, add all properties to object with the same name as the properties of "methods", that call them with that object as its first parameter. 04:30:23 but that's more in the visual programming domain. 04:30:24 CakeProphet: I wouldn't say Reaktor is similar. 04:30:50 As a programmer, the only thing I've been able to open up and actually produce some simple sounds with before tearing my hair out is Max/MSP. 04:31:03 I have work with PureData. 04:31:15 Everything else, my patience stops, uhh, anywhere beyond a boring trivial piano roll. 04:31:15 csound is similar I'd say, minus the functional programming aspect. 04:31:27 PureData is like Max/MSP but less usable :D 04:31:31 ...yes. 04:32:34 -!- Kustas has joined. 04:32:44 there might be a way to calculate a bandpass filter without using fft though... 04:33:12 but you really need filters to produce anything interesting. additive synthesis takes forever and isn't anywhere as natural sounding. 04:33:39 what are you talking about, 04:33:40 well, there are other methods of course... but subtractive synthesis (aka use filters on pulse waves and white noise and whatnot) works very well. 04:33:41 let foo = seconds 9 . sum $ [ 04:33:41 sinew 900 * (fromIntegral . (`mod` 2) . truncate . (* 90)), 04:33:41 sinew 659 * (fromIntegral . (`mod` 4) . truncate . (* 80)), 04:33:41 sinew 440 04:33:41 ] 04:33:43 sounds awesome ;D 04:33:48 -!- sebbu2 has joined. 04:33:48 -!- sebbu2 has quit (Changing host). 04:33:48 -!- sebbu2 has joined. 04:33:49 heh, okay. 04:33:57 by awesome, I mean it sounds like noise 04:33:58 but it's nice noise 04:34:01 good luck producing music people will listen to on that. 04:34:11 I'm genuinely impressed that I'm actually able to grok the examples I'm seeing here. 04:34:19 CakeProphet: who cares what other people would listen to 04:34:38 pikhq: spoiler: i have no idea what i'm doing either 04:34:43 CakeProphet: "Noise" is a legit musical genre. Need I say more? 04:34:48 sinew :: Float -> Signal Sample 04:34:48 sinew hz = sin . ((2 * pi * hz) *) 04:34:48 in case anyone was confused 04:34:49 I'm aware. :P 04:34:56 pikhq: Depends how you define legit ;) 04:35:05 I'm just saying, filters are pretty essential tools of electronic music. 04:35:12 elliott: "People actually make and listen to it". 04:35:30 "Music" is, of course, harder to define. 04:35:37 pikhq: I am sure by that standard, there is a musical genre called baby-fucking vomitcore. 04:35:42 (Best genre??) 04:36:15 But I'm going to go out on a limb and call it "sounds made for aesthetic purposes". 04:36:32 Seems sufficiently broad. 04:36:33 -!- sebbu has quit (Ping timeout: 252 seconds). 04:36:36 "well that isn't vague at all" 04:37:08 Hey, "music" is quite a broad topic. 04:37:20 elliott: so 90 and 80 are sufficient amplitude values? 04:37:30 Hmm. Minor issue... 4'33" might not count. 04:37:38 CakeProphet: you're reading it backwards 04:37:42 I remember in csound I had to use numbers that were somewhat larger. 04:37:48 it timeses the time (in seconds) by 90 04:37:50 truncates it 04:37:52 modulos it 04:37:54 and then takes the result 04:37:58 so the result is like 0 or one 04:37:59 oh 04:38:01 or 0 or one or two or three or four 04:38:05 and it timeses the sine wave by that 04:38:05 well, what do you do to get an audible result? 04:38:09 CakeProphet: use a sine wave :) 04:38:17 remember that "one" is a perfectly good value 04:38:22 that would just give the sine wave back untouched 04:38:37 uh... I mean 04:38:56 1 is not going to audible. 04:39:19 at what point do you add an amplitude value to get an audible result? 04:39:22 Is 4'33" not counting as "music" an actual fault in the definition, though? 04:39:38 pikhq: I would say yes, actually. 04:39:51 CakeProphet: nothing is going to be audible if you don't have some kind of wave 04:39:56 Well, fuck. Music is undefinable. 04:40:07 elliott: ...I'm not even talking about the inclusion or exclusion of a wave. 04:40:14 CakeProphet: then i do not know what you are talking about 04:40:19 I'm saying, at what point do you amplify the signal to produce a sound that can be heard? where is the volume? 04:40:19 Fuck you, John Cage! 04:40:19 if we didn't work with aristolean logic this wouldn't be a problem 04:40:20 :P 04:40:53 CakeProphet: erm, depends how loud the signal is 04:42:23 elliott: so how and at what point do you specify how loud the signal is? 04:42:37 i do not understand the question. 04:42:43 in my experience it would be amp*sinew(440) 04:42:54 ...written in Haskell notation :P 04:43:11 i do not understand 04:43:14 sry 04:43:36 -!- Ycros has quit (Read error: Connection reset by peer). 04:43:38 so the amplitude of all of your sign waves is 1, and you get audible playback? 04:43:40 -!- Ycros has joined. 04:43:42 *sine 04:43:54 ?hoogle openBinaryFile 04:43:54 System.IO openBinaryFile :: FilePath -> IOMode -> IO Handle 04:43:59 CakeProphet: yeah 04:44:38 pikhq: what's an easy way to chuck a bunch of Floats to a file in little-endian thirty-two bit format 04:44:42 in haskell 04:45:11 :t fromIntegral 04:45:12 forall a b. (Integral a, Num b) => a -> b 04:47:29 elliott: I'm assuming you know how amplitude works right? 04:47:51 I just... don't see how you don't understand my question. 04:48:03 well, it's almost six am and i need sleep. 04:48:05 so that is probably how. 04:48:38 ...oh, yes, most likely. 04:51:35 ".ress is not a TLD, http://ip.add.ress is not a possible address. tldr, fake EDIT: not fake, i misunderstood" 04:51:36 oh reddit 04:51:39 never change 04:53:55 http://www.reddit.com/r/AskReddit/comments/hp3vr/whats_the_scariest_wierdest_most_mysterious_web/c1x9so1 04:53:59 HOUSE OF LEAVES LEADS TO HOUSE PURIFICATION 04:54:19 "If you consider yourself sensitive in a... Spiritual... Manner" has to be the best opening to anything ever 04:55:30 Perhaps that "dialogue_hh.pdf" can be taken metaphorically and with possible errors in the same way the Bible can be taken in this way. 04:55:37 man, I have that book 04:55:40 it's odd 04:56:03 copumpkin: House of Leaves? 04:56:07 yep 04:56:08 i keep meaning to read it sometime. 04:56:16 but there are a lot of books on that list. 04:56:37 I haven't read it, but have leafed through it 04:56:48 rimshot 04:56:58 the only thing that could make it better is 04:57:00 WERE YOU IN A HOUSE AT THE TIME 04:57:39 http://www.reddit.com/r/todayilearned/comments/hpduk/til_about_the_deep_web_what_it_contains_and_how/c1xa5l1 I hate everyone 04:58:21 Sgeo: funny. that's how i feel sometimes. sometimes because of you 04:58:24 but why that comment in particular 04:58:30 the whole thread is idiocy 04:58:35 elliott: YES 04:58:45 copumpkin: OMFLAUGH 04:58:55 COPUMpkITS TOO MUCH FOR MY VEINS 04:59:08 elliott: if the highest absolute value that you're outputting to PulseAudio is 1, that's an inaudible signal in 32-bit signed floating point LPCM.. 04:59:22 CakeProphet: no, its not 04:59:25 CakeProphet: im outputting floats in general 04:59:28 http://upload.wikimedia.org/wikipedia/commons/d/d1/IAO-logo.png 04:59:29 i have a tip 04:59:31 for the us govt 04:59:36 when youre making your freaky spy-on-everything operatinos 04:59:41 don't use the fucking all-seeing eye 04:59:41 just 04:59:43 don't 04:59:45 why do you even do that any more 04:59:49 are you TRYING to get conspiracies 04:59:52 elliott: yes, but in your example you're only outputting sinew, which has an amplitude of 1. 05:00:00 you don't multiply it by anything. 05:00:31 CakeProphet: dunno then :) 05:00:40 CakeProphet: maybe because it goes negative 05:00:44 its interpreted as a wraparound 05:00:59 ..no I don't think so. 05:01:05 i'm just thinking wildly 05:01:18 negative values are quite common in an audio signal represented by floating points with a centerpoint at 0 05:01:25 yeah 05:01:48 hmmm, weird. 05:01:56 I will have to play with this some other time. 05:02:13 and MAKE A MORE AWESOME signal processing library than you 05:02:32 though with shittier Haskell code, most likely. 05:02:45 and /way/ less point-free style. 05:03:45 oh come on 05:03:50 theres no point free style apart from in the instances 05:03:52 which are just boilerplate code 05:03:54 this isn't even a library 05:03:56 this is a five second hack 05:04:29 well, I assumed you were going to work on it more. 05:05:12 also, for some reason I've seen cos instead of sin used more often in signal processing... I have no idea why though. 05:05:25 it shouldn't matter as long as you use one or the other. 05:10:01 i love internet arcana. 05:10:46 I guess I should read House of Leaves, I haven't read anything in physical book form in a while. 05:11:01 elliott: so do you "implement" RealFrac because you want Floating, or..? I don't really know the numeric typeclass hierarchy. 05:11:14 CakeProphet: yeah 05:11:22 I basically just implemented everything Double has 05:11:35 so that everything worked as long as you didn't try and do the impossible :) 05:11:38 CakeProphet: really, all of this is just nicety 05:11:44 you can easily write it without these instances 05:11:46 they are just syntactic convenience 05:11:49 right. 05:11:51 would you ever take the sin of a signal itself? 05:11:53 i'm not sure but I doubt it. 05:12:04 but this way you can say pi*signal 05:12:05 and it works 05:12:05 the only thing somewhat useful in Floating would be ** 05:12:06 maybe. 05:12:12 but really even division is rare. 05:12:17 yeah 05:12:48 where is ^ defined actually? 05:12:56 ^ is Integral right? 05:13:06 and ** is the floating point version. 05:14:00 ^ is 05:14:03 (^) :: (Num a, Integral b) => a -> b -> a 05:14:07 it'll just be defined recursively 05:14:15 with * 05:14:17 so it's not in any typeclass 05:16:45 it seems using FFT will require an actual sampled signal unfortunately. 05:18:11 so there will be the pure functional approach and then another module for working with a sampled signal. 05:18:24 CakeProphet: erm, a function + the sample rate == sampled signal 05:18:29 just only call at the relevant multiples 05:19:07 but either way the result of a FFT will have to be represented by [Float] or [Complex] 05:19:29 no, it could easily be a signal 05:19:47 (\x -> resultList !! truncate (x*samplerate)) 05:19:55 I was about ask... are you suggesting I use !!? 05:20:00 (or even interpolated) 05:20:10 CakeProphet: Well, I mean, you want something to load a PCM file into a Signal anyway 05:20:19 Which would be effectively the same idea as this 05:20:29 that's not very efficient at all though. 05:21:09 How is it less efficient than a list 05:22:37 because when you convert Signal back into a list for playback you're calling that function for each sample increment, which is O(n**2) 05:22:44 I think. 05:24:20 CakeProphet: you could easily memoise it :) 05:24:24 oh wait 05:24:25 you mean 05:24:29 (\x -> fft foo !! truncate (x*samplerate)) 05:24:30 fuck no 05:24:31 I mean 05:24:35 let xs = fft foo in (\x -> xs !! truncate (x*samplerate)) 05:24:40 that way it'll cache results as they're computed 05:25:04 so if you only access it at reciprocal of samplerate increments, it'll be exactly the same as a list 05:25:11 CakeProphet: or do you mean that it'll have to do "tail" x times? 05:25:13 well right 05:25:16 you could use a non-list type as the result 05:25:19 lists suck anyway :) 05:25:42 I just think the !! would incur performance overhead. 05:26:26 whereas manipulating it directly as a list would be more efficient. 05:26:28 right, so use a non-list type :) 05:26:34 or, yes. 05:27:34 but what could replace list? 05:27:35 CakeProphet: you could instead do a continuous fourier transform :D 05:27:40 also, an array would work fine 05:27:45 ...lol, continuous? 05:27:45 that's probably what FFTW and the like operate on natively 05:27:50 CakeProphet: yeah :D 05:27:53 can Haskell do calculus? 05:27:54 CakeProphet: then it's a function already, not a list ;D 05:28:00 um as much as anything 05:28:04 numerically approximated, of course 05:28:11 i don't think Automatic Differentiation with dual numbers would apply here 05:28:17 and certainly not symbolic 05:28:24 All these things that HH said is about as good as any religion in general. It should not be considered different to that. HH has some insanity but that is what helps him to come up with these perspectives! And it is not all bad, either. Yet, like any religious text, you should not take everything literally. It should be questioned, and so can everything be questioned. 05:28:25 i'm joking btw :) 05:28:41 elliott: I had hoped so. 05:29:19 CakeProphet: who knows though -- maybe it would work :D 05:29:45 hmm, I wonder whether this caving story thing will get scary soon 05:31:52 elliott: it seems that Math.FFT mostly uses CArray 05:31:52 zzo38: Like all religious texts, it should be taken as 100% bullshit unless shown otherwise. 05:33:01 pikhq: In the same way that other religious texts can be taken as 100% bullshit, yes, so should this one, of course. 05:35:08 elliott: actually, do you think CArray would be a good type to use throughout instead of lists? I don't think so because I need signals to be possibly infinite. 05:35:57 CakeProphet: you realise haskell has arrays, right? you do not have to use CArray unless you are interfacing with c code manually 05:36:04 see data.array. 05:36:14 the same problem applies though. 05:36:35 I think lists are fairly decent for discrete things, and functions are good for continuous things... and usually it's more comfortable to work in the land of the continuous 05:36:56 additionally: I wouldn't worry about performance at this stage. 05:38:05 As always, premature optimisation is the root of all evil. 05:38:44 the main problem I'd have with fft is that it uses CArray, so I'd need to partition my signal into "chunks" of some sensible length. 05:39:26 CakeProphet: right... Well, you know, it may be better to write your own FFI to start with. 05:39:33 Get the interface you want then work on optimising it. 05:39:38 I mean, see http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/Numeric-FFT.html 05:39:48 I dunno whether it is lazy though 05:39:49 Probably not 05:39:55 Can't tell from glancing at http://hackage.haskell.org/packages/archive/pure-fft/0.2.0/doc/html/src/Numeric-FFT.html#fft 05:41:13 hmm, this story may be starting to get a little frekay 05:41:14 [asterisk]freaky 05:42:32 HH claims to be working in other solar systems... that is complete nonsense. However, I suppose it works because of higher "Densities", whatever that means. Obviously that is also nonsense. (See? It is the same kind of nonsense and metaphorical and other qualities like other religious texts, just more modern.) 05:42:57 :) 05:44:46 zzo38: http://xkcd.com/386/ 05:44:49 "I still harbor the fantasy that there is a hidden entrance to the other side of the passage and years ago Spanish explorers hid their treasures in the cave and sealed up the entrance. And it has remained untouched until we find it! B has a more realistic, although more mundane theory. He figures there is more cave on the other side. We'll see who is right." 05:46:12 ooh, this is starting to get spooky :) 05:46:43 elliott: I do suppose B does have a more likely and more realistic theory. However, looking is still the correct way to see who is right (or maybe you are both wrong). 05:47:38 zzo38: i'm pretty sure this story is fiction in the horror genre, so more realistic probably means less likely :) 05:48:39 -!- oerjan has joined. 05:48:46 elliott: O, well, I was not answering the question from that perspective. But from that perspective, perhaps you are right about that. (It still doesn't necessarily mean either of those two theories are correct, though>0 05:49:06 s/>0/)/ 05:49:14 zzo38: I think a bunch of treasure left my explorers would be a rather crappy ending to a horror story :) 05:49:17 [asterisk]left by 05:49:22 hi oerjan 05:49:49 grmbl morning 05:50:26 oerjan: aha, a decent measurement of your wake-up time >:) 05:50:32 unless you just mean morning as in time of day... 05:50:42 definitely morning 05:50:53 "We immediately noted the presence of the breeze blowing out of the hole, and the rumbling." 05:50:56 brr ;_; 05:50:59 oerjan: wat 05:51:01 elliott: I suppose you might be correct about that. Which could mean both theories are incorrect, in the context of this story. 05:51:20 * oerjan eats breakfast 05:51:29 oerjan: aha, so you DID just wake up 05:51:29 probably 05:51:40 zzo38: I suspect B is right in that there's more cave, but I imagine it's No Normal Cave(tm) :-P 05:51:44 I'm just reading everything linked from that reddit thread. 05:51:51 the prior just keeps getting adjusted 05:52:04 I seem to be a lot harder to scare than I used to be though I'm sure it'll come back to haunt me next time it's dark. 05:53:01 great, now it's triggering my latent claustrophobia with a narrow cave passage :) 05:53:31 Perhaps they are *infinite* caves!!! Now you cannot find the way out... too bad!!! 05:55:25 (Note that the HH document also contains some bad typography in some places) 05:58:07 infinite caves with exits in other dimensions 06:03:30 * CakeProphet is reading about how to implement a digital filter... fun. 06:04:13 mathematically it's recursive, but I suspect to avoid massive performance overhead I should cache results in a data structure. 06:04:22 just beware of the places where the wind is blowing harder and harder... they lead to vacuum. 06:04:58 .. 06:05:25 sort of. 06:05:27 s/places/tunnels/ 06:05:45 CakeProphet: just do it naively. 06:05:47 seriously. 06:06:00 if you do it naively, it will be a small enough body of code to throw away. 06:06:14 you can worry about performance once you've proved it will work :P 06:07:23 uh, okay. But I'll be recursively pulling the value of every previous calculation twice to compute each new value. It's Fibonacci-esque. 06:07:53 oh 06:07:57 then yeah, just memoise :P 06:08:01 I'm almost positively the naive code will be thrown away. 06:08:05 s/ly// 06:08:22 right, I am just saying that writing something you know you will throw away is not a bad thing 06:08:36 CakeProphet: http://www.haskell.org/haskellwiki/Memoization 06:08:38 true, it will give me an idea of how to write the memoised version. 06:08:40 has some nice techniques 06:08:46 writing a memoised version? 06:08:47 there's nothing to it 06:08:53 just use a memoisation function 06:09:11 Yeah, memoisation is a trivial transform in Haskell. 06:09:31 And why is it that I use the UK spelling of ise/ize? 06:09:49 how should i know, old chap? 06:10:08 And for that matter, why do no UK programmers use "programme"? 06:10:20 because it's a horrid way to write program. 06:10:32 Well, yes, I meant "aside from the obvious". 06:10:33 they know that their limey ways are filthy. 06:11:02 And why is it that I use the UK spelling of ise/ize? 06:11:07 it's not really UK 06:11:10 OED uses ize after all :) 06:11:14 elliott: It's very distinctly non-US. 06:11:15 pragmatic programmer pogroms 06:11:19 well yes 06:11:21 also this story is starting to get scary finally, yay 06:11:28 And, right, OED *does* use it. 06:12:07 OED saw the light, I guess. 06:12:10 Hmm. I'm not sure which country's variant of gray/grey I use. Rather, I'm not sure which country it belongs to. 06:12:19 well etymologically, and pronounci...olity, -ize is correct 06:12:24 i use ise though as of late, dunno why 06:12:31 ^limey 06:12:51 CakeProphet: libertarian slave-owner 06:13:02 anyway, time to dive in to probably the last chapter of this cave story, i guess for ~~immersion~~ purposes ircing is not a good idea 06:13:06 gulp 06:13:12 At least I'm not using "colour". 06:13:45 what terrour 06:13:54 colour is nice 06:14:06 I prefer to use the old school form of 'an' 06:14:10 brightens up your day 06:14:15 where you take the n and put it at the beginning of the next word. 06:14:31 a norage. a napple. 06:14:31 CakeProphet: that's a noutrage 06:14:40 a niditioc custom 06:14:42 anyway, everybody shut up and stop me ircing, i need to spook myself 06:14:46 *nidiotic 06:14:58 -!- elliott has set topic: order of the niditioc programmers | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:15:14 oerjan: apparently "apron" was originally "napron" 06:15:22 but once we switched over to using an the 'n' disappeared 06:15:23 in ow 06:17:44 oh jesus this is starting to scare me 06:18:07 I've never been scared by a written work. 06:18:27 I am quite easily sared. the SCP foundation has given me cold sweats at night many a time 06:18:33 [asterisk]scared 06:18:45 > repeat 'a' 06:18:46 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 06:18:48 The SCP has some legitimately scary stuff, so... 06:18:53 I like this story, though -- it's well-written even apart from the fear. 06:19:04 http://www.angelfire.com/trek/caver/ 06:19:30 > fix ('a':) 06:19:31 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 06:21:00 @source repeat 06:21:01 repeat not available 06:21:02 for some reason a list without a [] scares me. 06:21:13 CakeProphet: Why should it? 06:21:21 @src repeat 06:21:21 repeat x = xs where xs = x : xs 06:21:24 XD 06:21:36 I make no normative claim about my vague fear. 06:21:43 > repeat 'aeiou ' 06:21:44 : 06:21:44 lexical error in string/character literal at chara... 06:21:49 purely existential claims. 06:21:49 oh right 06:21:55 CakeProphet: And it's not like that's a uniquely Haskell thing, either. 06:21:55 Patashu: try cycle 06:22:01 > cycle "aeiou " 06:22:02 "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae... 06:22:03 > cycle "aeiou " 06:22:04 "aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou aeiou ae... 06:22:12 pikhq: oh I know. No need to give me a lecture on circular linked lists. 06:22:19 @src cycle 06:22:19 cycle [] = undefined 06:22:20 cycle xs = xs' where xs' = xs ++ xs' 06:22:27 Pffft, I can do lazy infinite lists in C. 06:22:36 is anything in haskell -not- written in haskell? 06:22:40 the language interprets itself O_O 06:22:59 Patashu: a few things are, of course. 06:23:05 Patashu: it goes fairly deep 06:23:08 @src IO 06:23:08 Source not found. Maybe you made a typo? 06:23:11 oh jesus christ this is starting to fuck with my head 06:23:11 argh 06:23:18 Patashu: GHC's runtime system isn't entirely in Haskell, as far as I know. 06:23:19 Patashu: for a start, GHC is a /compiler/ 06:23:24 i'm sure that _used_ to be there :( 06:23:34 Patashu: for a second, a lot of GHC's internal implementations of things are Haskell 06:23:38 for instance the IO monad type itself and operations on it, etc. 06:23:43 but there is C code that makes up the runtime system, of course. 06:23:47 yeah 06:23:49 it's just for clarity 06:23:52 like oerjan says, it goes fairly deep :) 06:24:00 it's pretty cool though 06:24:08 Patashu: of course there are conventional interpreters like Hugs; I don't know how its IO monad is defined, but probably in Haskell too I would wager 06:24:12 Sadly, GHC's code is pretty poor. 06:24:25 Though, doesn't it predate Haskell 98? 06:24:57 well, it's not _poor_ 06:25:04 lots of parts predate just about everything :) 06:25:09 but they're working on cleaning it up 06:25:13 and new parts are of course well-written 06:25:24 but yeah, there is a lot of recursive functions when combinators would do, etc. 06:25:25 I seem to recall it having multiple implementations of Monad floating around, though. 06:25:40 i recall hearing that too 06:25:41 But, eh, old code base predating modern niceties has that shit happen. 06:25:59 You can see rather a lot of the same in GCC. 06:26:28 Man. It freaking predates C90. 06:26:37 ohh jesus this is frekaing me out 06:27:01 @hoogle IO 06:27:01 module Data.Array.IO 06:27:01 module System.IO 06:27:01 Prelude data IO a 06:28:03 -!- Kustas has quit (Quit: gone). 06:28:21 @hoogle hoogle 06:28:21 Can't think of anything more interesting to search for? 06:28:22 No results found 06:28:36 lol 06:29:27 @perl fork while fork #grrr... 06:29:27 Maybe you meant: keal part pl spell tell url vera 06:30:14 CakeProphet: try exclamation mark in place of @ 06:30:16 and 06:30:17 jesus 06:30:18 this is scary 06:31:31 -!- Sgeo has quit (Ping timeout: 248 seconds). 06:32:16 fucking hell there's more 06:33:33 what are you up to? 06:33:33 What is? 06:34:57 BUT WAIT, THERE'S MORE! WE THROW IN A FREE DECAPITATION FOR JUST _FIVE_ DOLLARS 06:35:11 coppro: reading a story linked on thatreddit thread of creepy stuff 06:36:01 oh great, go back to the cave, that's the best fucking idea you've had all story 06:36:13 you get the award for not doing stupid fucking shit 06:38:06 oh, lovely 06:38:11 the last page loops back to itself. 06:41:41 -!- Ycros has quit (Ping timeout: 260 seconds). 06:43:50 recursive cave 06:44:22 -!- Ycros has joined. 06:58:12 -!- NihilistDandy has quit (Quit: leaving). 07:00:39 -!- Ycros has quit (Remote host closed the connection). 07:00:43 -!- Kustas has joined. 07:01:17 -!- Ycros has joined. 07:03:22 http://areyoutargeted.com/ 07:08:14 elliott: using ! wouldn't allow me to enact my vengence upon lambdabot for insulting my creativity. 07:08:21 !help addinterp 07:08:22 ​addinterp: !addinterp . Add a new interpreter to EgoBot. This interpreter will be run once every time you type ! , and receive the program code as input. 07:09:08 CakeProphet: it's probably because you mistype vengeance 07:09:30 -!- Kustas has changed nick to Kostas. 07:09:34 oh hey thisman.org, this is a fun one 07:09:43 -!- Kostas has changed nick to Kustas. 07:09:55 Kustas: you mistype Kustas 07:10:19 that other nick is taken.. i must think of something different 07:10:29 or enact my vengeance on the original nick-bearer 07:10:40 !addinterp elmer perl for (<>) {s/wr\B/w/i; s/r\B/w/i; print} 07:10:41 ​Interpreter elmer installed. 07:10:43 "I have never had homosexual relationships or even fantasies. But I dream about having sexing with this man all the time." having sexing with this man all the time 07:10:55 CakeProphet: who needs elmer when you have 07:10:59 !swedish bork bork bork 07:11:01 ​burk bork bork 07:11:05 !elmer screwy rabbit 07:11:06 ​scwewy rabbit 07:11:15 ...? 07:11:23 oh right 07:11:25 !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print} 07:11:26 ​There is already an interpreter for elmer! 07:11:31 elliott: damn you. 07:11:33 !delinterp elmer 07:11:33 ​Interpreter elmer deleted. 07:11:34 !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/r\B/w/gi; print} 07:11:34 ​Interpreter elmer installed. 07:11:39 !elmer rabbit season 07:11:39 ​wabbit season 07:11:55 !swedish rabbit season 07:11:56 ​rebbeet seesun 07:12:06 amazing 07:12:18 haha 07:12:24 !swedish wabbit season 07:12:24 ​vebbeet seesun 07:12:30 swedish elmer fudd 07:12:41 "It is the most interesting theory and the one that has the greatest implications, but it has also the lowest scientific credibility." --thisman 07:12:42 herp derp 07:13:01 his face is slightly spooky though. 07:13:57 -!- SimonRC has joined. 07:14:19 Catherine Kinsbergen, Email, Web Site 07:14:19 I've dreamed of this man since i was 5 yesrs old as a vampire which try to kill me. I'm now 18 and I still dream about him.. Can't beleive i'm not alone to see him 07:14:19 Linda Borgman, Email, Web Site 07:14:19 OMG! I do dream of this man too! I punch him in face but I try to run and cant! He catch me and tell me to do naughty things with him 07:14:21 quality guestbook 07:14:41 !elmer it's been a long time since I've been wrong about screwy rabbits. Even longer now. 07:14:42 ​it's been a long time since I've been wong about scwewy wabbits. Even longer now. 07:14:50 !swedish it's been a long time since I've been wong about scwewy wabbits. Even longer now. 07:14:50 ...interesting 07:14:51 ​it's beee a lung teeme-a seence-a I'fe-a beee vung ebuoot scvooy vebbeets. Ifee lunger noo. Bork Bork Bork! 07:14:55 swedish elmer fudd is a thing of beauty 07:15:28 for some reason "long" is not become "wong" 07:15:41 *becoming 07:16:52 it'd need another regex for that 07:17:31 does r\B not match at the beginning of a word? 07:18:07 \B means 'not word boundary' 07:18:07 I believe 07:18:08 oh wait 07:18:10 l isn't an r 07:18:11 btw 07:18:18 you want \br 07:18:19 lol, I'm apparently stupid. :P 07:18:36 or my brain is currently thinking in engrish. 07:18:44 weiwd 07:21:43 !delinterp elmer 07:21:44 ​Interpreter elmer deleted. 07:21:44 !addinterp elmer perl for (<>) {s/wr\B/w/gi; s/(? ​Interpreter elmer installed. 07:21:48 simple regexp won't ever do the trick 07:21:52 !elmer weird 07:21:53 ​weird 07:22:01 english spelling sux 07:22:12 also counts for words like wire 07:22:17 so hey hi Kustas who are you 07:22:22 weren't you here a few days ago too 07:22:44 the day before yesterday, maybe 07:23:47 my principle of life: regex is adequate to solve every problem. 07:23:55 obviously I have gotten very far with this principle. 07:24:07 I think I solved a maze using a regex once 07:24:29 Kustas: hmm i've already asked you if you were from the wiki haven't i :D 07:24:48 maybe you have 07:25:26 but this is the first time my attention is on this channel 07:25:41 !elmer Wright Brothers read ripe literature 07:25:42 ​wight Bwothews wead wipe litewatuwe 07:25:51 lol 07:26:42 it would be far cooler if it would convert based on the pronunciation instead of the spelling 07:26:48 yes. 07:26:48 !swedish wight Bwothews wead wipe litewatuwe 07:26:49 ​veeght Bvuzeevs veed veepe-a leetooetoove-a 07:26:55 !elmer veeght Bvuzeevs veed veepe-a leetooetoove-a 07:26:56 ​veeght Bvuzeevs veed veepe-a leetooetoove-a 07:27:00 :( 07:27:03 it should distort forever 07:27:08 until it's just vwwvwvwvw bork bork bork 07:28:18 wundaful 07:30:35 !delinterp elmer 07:30:35 ​Interpreter elmer deleted. 07:30:35 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​Interpreter elmer installed. 07:30:49 !elmer Wright Brothers read ripe literature 07:30:50 ​Wight Bwothews wead wipe litewature 07:31:03 oh right, one other thing 07:31:43 CakeProphet: there's a special way you can maintain the case, I think 07:31:51 elliott: that would be quite swell. 07:31:56 it'll be in perlre :P 07:32:17 looking in perlmonks right now 07:32:39 no doesn't exist. 07:33:00 !delinterp elmer 07:33:00 ​Interpreter elmer deleted. 07:33:01 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​Interpreter elmer installed. 07:33:11 !elmer brothers 07:33:11 ​bwothews 07:33:19 grrr 07:34:06 !addinterp blowup perl fork while fork 07:34:07 ​Interpreter blowup installed. 07:34:09 !blowup 07:34:12 * Lymia runs 07:34:16 !delinterp blowup 07:34:18 ​Interpreter blowup deleted. 07:35:28 http://www.catnipples.com/ what 07:35:55 Intro by Lloyd Pye: We at the Starchild Project have repeatedly tried to correct the outdated and incorrect information about the Starchild Skull presented in the article on Wikipedia (which I refer to by the more appropriate name “Wackypedia”). Virtually no one realizes that Wikipedia’s stated mission isn’t actually to provide the truth about selected subjects, it is to determine the consensus opinion of what they think most people belie 07:35:55 ve to be the truth (Wikipedia, 2010a). In fact, Wikipedia rejects any form of original research (Wikipedia, 2010b). The astounding fact is that current Wikipedia “quality standards” would prevent Darwin, Einstein, Edison, and many other geniuses from contributing their original research. This is why we call them Wackypedia, and it’s why that name is so apt for the entire organization. 07:35:55 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​There is already an interpreter for elmer! 07:35:57 oh 07:35:58 this will be good 07:36:01 !delinterp elmer 07:36:02 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​Interpreter elmer deleted. 07:36:04 ​Interpreter elmer installed. 07:36:10 this will be very good 07:36:12 !elmer brothers 07:36:14 ​bwothews 07:36:19 ...nope. ?? is useless. 07:36:23 "Pye's "Starchild Project" supporters claim that the skull is that of an extraterrestrial infant, or the hybrid offspring of an extraterrestrial and a human female." 07:36:24 hehehehehehehe 07:36:38 how bout that original research 07:36:57 i'm learning something really comforting from this thread 07:37:16 it's actually pretty impressive that Wikipedia works so well 07:37:24 humanity is in exactly equal amounts depraved, idiotic and confused as i thought it was 07:37:27 you'd think it would collapse under its bureaucratic weight 07:37:49 nothing has shocked me, nothing has scared me more than anything has scared me before 07:37:55 it's a wonderful feeling 07:38:00 Patashu: It is in a continuous state of collapse. 07:38:17 Patashu: not a second goes by without drama somewhere in metaspace on Wikipedia :) 07:38:22 of course 07:38:24 yet wikipedia goes on 07:38:28 so not too bad all in all 07:38:47 they do a very good job of not having metapollution 07:38:55 Unfortunately the systematic bias extends to the administrative body not realising that there's a huge long tail distribution with editors, and so proposals to seriously restrict or disable anonymous editing even get serious consideration... 07:39:05 Patashu: Yes, it's true that it doesn't often leak out significantly into article-space. 07:39:39 Still, the bad management will start to have an effect sometime. Or maybe it won't, that would be the most comical thing, because it'd prove that the metaspace is completely ineffective. 07:39:59 "Linux has a bunch of different ways to reset an x86. Some of them are 32-bit only and so I'm just going to ignore them because honestly just what are you doing with your life. Also, they're horrible. So, that leaves us with five of them." 07:40:19 I once saw an article that claimed wikipedia was failing because less people were editing it over time. But of course less people are editing it, most topics are filled out adequately by now and only experts would have things to add 07:40:40 http://www.aaronsw.com/weblog/whowriteswikipedia is a "classic" on the subject. 07:40:45 But yeah, Wikipedia is by no means failing. 07:40:51 It's certainly mismanaged though. 07:40:57 !delinterp elmer 07:40:57 ​Interpreter elmer deleted. 07:40:59 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​Interpreter elmer installed. 07:41:07 !elmer my brothers 07:41:08 ​my bwothews 07:41:17 well, I'm done trying. :P 07:41:34 "Now, I'll admit that this all sounds pretty depressing. But people clearly sell computers with the expectation that they'll reboot correctly, so what's going on here?" 07:41:58 !elmer Everybody jump 07:41:59 ​Evewybody jump 07:42:12 Elliot, what are you quoting? 07:42:17 Patashu: http://mjg59.dreamwidth.org/3561.html 07:42:25 also: don't you have tab completion? :) 07:42:52 I have tab completion (mIRC), what I lack is a tab completion instinct 07:42:56 I just type out however much of a person's name is enough 07:43:03 elliott: his computer maybe does not reboot correctly 07:43:09 Patashu: Clearly not enough, you missed a letter :-) 07:43:21 Kustas: I rather think it does :P 07:43:44 It was still uniquely addressing you so i'm down with that 07:43:45 "Default until 3.0 has been to try to use the keyboard controller, and if we're still awake after a few seconds then to force a triple fault. This does work on most machines, but since this isn't what modern Windows does there's an increasing number of systems that don't behave." 07:43:46 Ugh. 07:43:56 Wow, I knew wikipedia started out with only a core group of editors, I didn't know it was so tight 07:44:04 Pat-a-cake pat-a-cake baker's man: Sure thing bro. 07:44:10 lol 07:44:34 Patashu: btw aaron directly contradicts what jimbo says later 07:44:48 oh wait no 07:44:49 sorry 07:44:51 i am tired :) 07:45:08 ' But that’s not at all what I found. Almost every time I saw a substantive edit, I found the user who had contributed it was not an active user of the site.' 07:45:11 no wait 07:45:13 right 07:45:14 yeah 07:45:14 how's that not contradictory? still reading though 07:45:16 aaron contradicts 07:45:19 yeah 07:45:20 it is 07:45:21 sorry 07:45:23 i'm tired :) 07:45:57 Ah, that's interesting 07:46:00 I understand now 07:46:21 -!- zzo38 has quit (Remote host closed the connection). 07:46:28 it also provides quite an explanation for how so many high-profile wikipedia editors essentially just do meta-twiddling 07:46:39 not that there's anything wrong with meta-twiddling, but looking at active users you wouldn't think anything would ever get written at all 07:48:03 it's all mostly written already, so meta-twiddling is the only thing left to do 07:48:08 Wow, I had no idea rebooting a computer was so hard 07:48:47 Kustas: There is always more to write about :) 07:49:20 elliott: i used to think so too.. but then i learned to read 07:49:22 although the notability policy's current interpretation seems to be "whatever we currently have an article on is notable, everything else isn't", so maybe as far as wikipedia is concerned there isn't 07:50:50 !delinterp elmer 07:50:51 ​Interpreter elmer deleted. 07:50:51 !addinterp elmer perl for (<>) {s/(w)r\B/$1/gi; s/(? ​Interpreter elmer installed. 07:51:02 !elmer yo brothers you dig my jive? 07:51:02 ​yo bwothers you dig my jive? 07:51:41 negative look-around for the win. 07:51:58 So how does it work now? 07:51:59 but apparently zero-width assertions within a look-around mess up. 07:53:34 now quickly, find a situation in which an r proceeds an i, o, or u but needs to be converted to a w. 07:53:56 and don't cheat. 07:54:34 o/~ Double fault all the way across kernel space... o/~ 07:58:31 !delinterps elmer 07:58:31 !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(? ​There is already an interpreter for elmer! 07:58:38 !delinterp elmer 07:58:38 ​Interpreter elmer deleted. 07:58:39 !addinterp elmer perl for (<>) {s/l/w/gi; s/L/W/gi; s/(w)r\B/$1/gi; s/(? ​Interpreter elmer installed. 07:58:49 !elmer kill the rabbit, kill the rabbit 07:58:49 ​kiww the wabbit, kiww the wabbit 08:03:57 -!- pikhq has quit (Remote host closed the connection). 08:04:14 elliott, so, wait. 08:04:18 -!- pikhq has joined. 08:04:25 Systems should have a way to reboot. 08:04:37 they do, it's just stupid 08:04:40 Linux uses at least one that should be standard. 08:04:56 Because Windows uses a slightly different behavior... the standard way doesn't work. 08:05:16 Linux is forced to be bug-compatible... with the hardware. 08:05:28 http://www.planecrashinfo.com/lastwords.htm oh this is interesting 08:05:35 Do they not test other operating systems, or... 08:05:36 I don't know. 08:05:40 Follow the standard? 08:05:43 Write test code? 08:06:03 !delinterp elmer 08:06:03 ​Interpreter elmer deleted. 08:06:04 !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/wr\B/w/g; s/(? ​Interpreter elmer installed. 08:06:05 Lymia: nope 08:06:19 !elmer brothers and sisters 08:06:20 ​bwothuhs and sistuhs 08:09:39 -!- pikhq_ has joined. 08:09:55 pikhq: you soifj a ozjidf oniwef 08:13:19 http://marineparade.net/wewantyoursoul/ oh sweet 08:13:33 -!- pikhq has quit (Ping timeout: 260 seconds). 08:18:27 !swedish ou soifj a ozjidf oniwef 08:18:28 ​ooo sueeffj a oozjeedff ooneeveff 08:19:17 !delinterp elmer 08:19:17 !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/or(e\b)?/owuh/; s/ire\b/iyuh/; s/wr\B/w/g; s/(? ​Interpreter elmer deleted. 08:19:18 ​Interpreter elmer installed. 08:21:01 !elmer porcelain 08:21:02 ​powuhcewain 08:22:18 lol, I don't even know. 08:22:49 elliott: check out my point-free Perl. :D 08:23:16 -!- Kustas has quit (Quit: rejoin). 08:23:29 lol 08:23:31 !elmer horrible traitor 08:23:32 ​howuhwibwe twaitor 08:23:43 -!- Kustas has joined. 08:24:04 ...wht doesn't that become twaitowuh 08:24:18 oh, missing /g 08:24:21 CakeProphet: ^ 08:24:34 *wth 08:24:46 I'm on it 08:24:56 I should probably take out the or(e\b) case :P 08:25:14 you'd think. 08:27:46 !delinterp elmer 08:27:46 ​Interpreter elmer deleted. 08:27:47 !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/; s/wr\B/w/g; s/(? ​Interpreter elmer installed. 08:27:57 I need a magical english2IPA function 08:28:14 and then IPA2english, which is probably even more impossible. 08:28:38 english2IPA isn't out of the question with a huge dictionary database. 08:30:23 CakeProphet, English2IPA isn't that difficult if you maintain an exception list. 08:30:31 The other way around? 08:30:31 sdsgfg 08:30:54 -!- Kustas has quit (Ping timeout: 258 seconds). 08:31:01 Yeahhhhhhhh 08:31:03 Uh 08:31:36 !delinterp elmer 08:31:37 ​Interpreter elmer deleted. 08:31:42 !addinterp elmer perl for (<>) {lc; s/l/w/g; s/er/uh/g; s/ire\b/iyuh/g; s/wr\B/w/g; s/(? ​Interpreter elmer installed. 08:31:48 -!- Kustas has joined. 08:31:49 !elmer terrible errors 08:31:49 ​tuhwibwe uhwors 08:33:01 tuhwibwe exceptional words. 08:33:09 !elmer horrible tourists 08:33:10 ​horwibwe tourists 08:33:57 oerjan: fine, I promote you to lead designer of elmer. 08:34:02 lol 08:34:06 I QUIT 08:34:46 oerjan: I now conscript you into indentured servitude to be lead designer of elmer. 08:34:58 in exchange 08:35:01 you get to come to America. 08:35:30 what luck 08:35:37 but i'm trying to stay away from the place 08:35:39 http://stackoverflow.com/questions/3956478/understanding-randomness 08:35:41 HERP DERP DERP 08:35:58 how can one not understand randomness... 08:36:39 easily 08:37:28 by statistical accident 08:38:20 -!- pikhq has joined. 08:39:04 hi pikhq pikhq pikhq Patashu iamcal p iamcal p iamcal Patashu ip pk pikhq Kustas pikhq p 08:39:09 -!- pikhq_ has quit (Ping timeout: 276 seconds). 08:39:45 amazing 08:39:52 yes 08:39:54 itsmodern art 08:40:19 pikhq is Patashu iamcal Kustas HackEgo quintopia 08:40:22 and that's 08:40:42 !delinterp elmer 08:40:42 ​Interpreter elmer deleted. 08:40:44 !addinterp elmer perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(? ​Interpreter elmer installed. 08:40:49 !elmer terrible errors 08:40:49 ​tuhwible ewwors 08:40:58 waw 08:41:08 Patashu aloril TeruFSX aloril sebbu2 HackEgo u iamcal aloril malorie CakeProphet lambdabot Kustas u sebbu2 TeruFSX aloril sebbu2 HackEgo aloril CakeProphet Kustas EgoBot glogbot oerjan quintopia u iamcal n TeruFSX oerjan Patashu iamcal aloril 08:41:11 so u and n are uncolonised 08:43:31 ? 08:43:39 CakeProphet: nicktabbing 08:43:42 for instance 08:43:43 you are: 08:43:53 CakeProphet aloril Kustas EgoBot Patashu rodgort oerjan Patashu HackEgo EgoBot TeruFSX 08:44:01 -!- Sgeo has joined. 08:44:07 sebbu2 glogbot EgoBot oerjan 08:44:11 u and n the letters don't have colons? 08:44:17 no, as in 08:44:21 nobody has a nick starting with u or n in here 08:44:27 oh. 08:44:29 gotcha. 08:44:44 `run echo 'test' 08:44:47 ​test 08:44:52 !addinterp !loop perl print '`run echo "!loop"' 08:44:52 ​Interpreter _loop installed. 08:45:00 ... 08:45:05 why the _ 08:45:24 terp !loop 08:45:52 So, I think my official bedtime is now noon 08:45:53 :/ 08:46:05 !userinterps 08:46:05 ​Installed user interpreters: _loop aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak w 08:46:18 ah. 08:46:29 !delinterp _loop 08:46:29 ​Interpreter _loop deleted. 08:46:34 !addinterp loop perl print '`run echo "!loop"' 08:46:34 ​Interpreter loop installed. 08:46:35 aol aeiou 08:46:41 okay, now no one ever use that command. 08:46:41 oh 08:46:44 !aol aeiou 08:46:44 ​AE1OU 08:46:48 ah 08:47:04 !aol The quick brown fox jumps over the lazy dog. 08:47:05 ​THE QU1CK BROWN FOX JUMPS UV R THE LAZY DOG!! 08:47:17 CakeProphet, you're not going to test it? 08:47:23 Sgeo: I am afraid to 08:47:31 but there might be an ignore list for egobot 08:47:43 to ignore hackego 08:47:54 !pi 3 08:47:55 ​3.140 08:47:56 `run echo !ao The quick brown fox 08:47:57 ​!ao The quick brown fox 08:47:58 How handy 08:48:01 `run echo !aol The quick brown fox 08:48:02 ​!aol The quick brown fox 08:48:10 !loop 08:48:11 ​`run echo "!loop" 08:48:15 Lol 08:48:17 they do ignore. 08:48:18 don't bother. 08:48:27 besides, they use that stupid character in front to stop it 08:48:29 !delinterp loop 08:48:30 and also break urlification 08:48:30 ​Interpreter loop deleted. 08:48:52 I only tested it after knowing it wouldn't work 08:49:41 !simplename 08:49:48 ​JAPPAUT. 08:49:54 !show simplename 08:49:55 ​haskell import System.Random; import Control.Monad; pick a = randomRIO (0, length a - 1) >>= return . (a !!); main = putStrLn . (++".") =<< word; word = join . pick $ replicate 3 (liftM2 (:) vowel word) ++ replicate 2 (liftM2 (:) consonant word) ++ [return ""]; vowel = pick "AEIOUY"; consonant = pick "BCDFGHJKLMNPQRSTVWXZ" 08:50:19 oerjan's doing? 08:50:20 -!- Phantom_Hoover has joined. 08:50:28 !simplename 08:50:31 CakeProphet: that's a roleplaying name generator zzo38 mentioned, so i made it 08:50:33 ​O. 08:50:35 LOL 08:50:38 that is simple 08:50:47 how fitting for zzo 08:50:50 -!- Kustas has quit (Ping timeout: 258 seconds). 08:50:53 oerjan: why the .? 08:50:58 zzo38 likes to play roleplaying games? Awesome. I should ask him if he wants to play Shadowrun. 08:51:01 or is it some character that EgoBot is filtering out 08:51:15 it's in the code 08:51:17 I made simpleacro. it is superior at its purpose. 08:51:18 putStrLn . (++".") 08:51:24 Patashu: yes but it would filter it out on show too 08:51:25 though I need to weight the uncommon starting letters 08:51:25 elliott: it sometimes makes an empty string, so zzo38 suggested adding a period 08:51:36 I just don't have data on the most common starting letters for English. 08:52:03 so I will probably just continue not caring as I have been. 08:52:13 Inglip's death is canon now 08:53:48 -!- Kustas has joined. 08:53:56 !simpleacro 08:54:00 ​HI 08:54:04 haha. 08:54:14 I love how long it takes to compute. it's like a moment of suspense. 08:54:19 !simpleacro 08:54:22 well obviously !simplename is based on !simpleacro 08:54:22 ​BMEAOF 08:54:28 !show simpleacro 08:54:28 ​haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 08:54:40 !simpleacro aeiou 08:54:44 oerjan: I think you actually helped me with some bugs on it. 08:54:45 ​IA 08:55:04 probably 08:57:33 !show swedish 08:57:33 ​sh chef | fmt -w500 08:57:43 !show chef 08:57:43 ​sh chef 08:58:35 !redneck 08:58:42 !show redneck 08:58:42 ​sh redneck 08:58:56 such let downs... 08:59:08 !redneck We don't take lightly to your kind of people here. 08:59:08 ​We don't take lightly tuh yer kinda folks here. 08:59:51 CakeProphet: it's probably from some funny linux package 09:00:01 it's valspeak 09:00:06 !userinterps 09:00:06 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor he hello id jethro kraut num ook pansy pi pirate plot postmodern postmodern_aoler prefixes redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez y 09:00:08 !sh which redneck 09:00:09 ​/usr/bin/redneck 09:00:20 !show gregor 09:00:20 ​sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g' 09:00:51 how uſeful 09:01:15 !show postmodern 09:01:15 ​sh postmodern 09:01:20 !sh uname -a 09:01:21 ​Linux codu.org 2.6.32-5-xen-amd64 #1 SMP Tue Mar 8 00:01:30 UTC 2011 x86_64 GNU/Linux 09:01:41 !show ehird 09:01:41 ​sh funetak 09:01:51 !show dubya 09:01:52 ​sh dubya 09:02:03 !show bypass_ignore 09:02:03 ​sh cat 09:02:07 ...whut. 09:02:10 !ehird cobbles of phantom fuck whats 09:02:11 ​cobbles of phantom fuck whats 09:02:15 good 09:02:52 !sfedeesh what is this I don't even 09:02:52 ​vhet is thees I dun't ifee 09:02:57 somehow i doubt bypass_ignore works, if it ever did 09:03:02 yeah same. 09:03:08 of course it does 09:03:16 !bypass_ignore do not 09:03:16 ​do not 09:03:28 oh wait that kind of ignores 09:03:37 !bypass_ignore ha ha vorpal is a fag 09:03:37 ha ha vorpal is a fag 09:03:41 see, perfect 09:03:50 !elmer perfect 09:03:50 !sffedeesh what is this I don't even 09:03:50 ​puhfect 09:03:51 ​vhet is thees I dun't ifee 09:04:03 !swedish swedish 09:04:04 ​svedeesh 09:04:05 !ehird what is this I don't even 09:04:06 ​wut is this I don't even 09:04:10 !swedish svedeesh 09:04:10 ​sfedeesh 09:04:18 !sffedeesh vhet is thees I dun't ifee 09:04:18 ​fhet is zeees I doon't iffee-a 09:04:23 !sffedeesh fhet is zeees I doon't iffee-a 09:04:23 !swedish sfedeesh 09:04:23 ​fhet is zeees I duun't iffffee-a-a 09:04:24 ​sffedeesh 09:04:30 !sffedeesh fhet is zeees I duun't iffffee-a-a 09:04:30 ​fhet is zeees I doooon't iffffffffee-a-a-a 09:04:35 !sffedeesh fhet is zeees I doooon't iffffffffee-a-a-a 09:04:35 ​fhet is zeees I duuuun't iffffffffffffffffee-a-a-a-a 09:04:41 :D 09:04:53 elliott: why don't these other interpreters evoke swedish x number of times? 09:04:54 !swedish hey what's this OH SNAP IT'S A FUCKING TIGET 09:04:54 ​hey vhet's thees OoH SNEP IT'S A FOoCKING TIGET 09:04:56 !swedish hey what's this OH SNAP IT'S A FUCKING TIGER 09:04:57 ​hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER 09:05:01 CakeProphet: hm... 09:05:03 FOoCKING 09:05:08 !swedish hey vhet's thees OoH SNEP IT'S A FOoCKING TIGER 09:05:08 ​hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER 09:05:12 !show svedeesh 09:05:12 ​sh chef | fmt -w500 09:05:17 !swedish ​hey fhet's zeees OouH SNEP IT'S A FOuCKING TIGER 09:05:18 ​​hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 09:05:21 !delinterp svedeesh 09:05:21 ​Interpreter svedeesh deleted. 09:05:28 oerjan: NOOOOOOOOO 09:05:31 !show swedish 09:05:31 ​sh chef | fmt -w500 09:05:33 `addquote hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 09:05:35 ​433) hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 09:05:38 oerjan: those are our valuable aliases 09:05:41 !addinterp svedeesh sh chef | chef | fmt -w500 09:05:41 ​Interpreter svedeesh installed. 09:05:49 !addinterp svedeesh sh chef | fmt -w500 09:05:49 ​There is already an interpreter for svedeesh! 09:05:55 !delinterp svedeesh 09:05:55 elliott: I'M JUST MAKING IT MORE LOGICAL 09:05:56 ​Interpreter svedeesh deleted. 09:06:00 oerjan: ... 09:06:01 WELL FINE 09:06:05 !addinterp svedeesh sh chef | chef | fmt -w500 09:06:06 ​Interpreter svedeesh installed. 09:06:13 !svedeesh svedeesh 09:06:13 ​sffedeesh 09:06:16 `quote 09:06:17 `quote 09:06:17 ​41) kaelis: yes kaelis, but however will get the horses to wear knickers? 09:06:18 `quote 09:06:18 `quote 09:06:18 `quote 09:06:18 ​343) 00:07 Sgeo has quit (IRC is taking up too much of my time. I need time to study the Bible and find Christ.) 00:12 Sgeo has joined #esoteric. 09:06:19 `quote 09:06:19 ​274) ah yes, indeed, alan turing was gay and stupid 09:06:20 ​365) elliott, it was an artful robbery! wait, murder 09:06:20 `quote 09:06:21 ​139) alise: nobody is allowed to fnord me in soviet russia 09:06:21 `quote 09:06:22 ​8) TODO: sex life 09:06:23 `quote 09:06:24 ​176) Never ever use a quote which contains both the words "aloofness" and "gel" (verb). 09:06:24 ​23) IN AN ALTERNATE UNIVERSE: there is plenty of room to get head twice at once 09:06:25 `quote 09:06:26 ​189) Why do you use random acronyms you know we don't know the expansions of? alise: TLAAW 09:06:27 ​60) What is there to talk about besides gay slang? 09:06:41 ​365) elliott, it was an artful robbery! wait, murder 09:06:42 wat 09:06:46 `quote alise 09:06:47 ​128) use "grep --crazy" \ 129) * augur rubs alise's bum [...] what? she said square ped :| \ 131) alise: why internet is like wtf \ 135) like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English alise: that's great filler ais523: 09:06:58 "why internet is like wtf" 09:07:03 definitely fungot's proudest moment 09:07:12 it finally realises that this human internet is like wtf 09:07:14 and it wants to know why 09:07:19 `quote CakeProphet 09:07:20 ​155) how does a "DNA computer" work. von neumann machines? CakeProphet, that's boring in the context of DNA. It's just stealing the universe's work and passing it off as our own. \ 156) CakeProphet: reading herbert might be enlightening in one hand he held a 09:07:41 ...? 09:07:46 `pastequotes CakeProphet 09:07:47 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198 09:07:57 they'll all be from like 4 years ago 09:08:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18198 09:08:11 CakeProphet: uh no 09:08:15 the quote system is not that old... 09:08:23 those are from a year ago at most 09:08:46 `run sed -i 's///g' quotes 09:08:48 No output. 09:08:50 `pastequotes CakeProphet 09:08:50 all pretty recent actually. 09:08:51 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24384 09:09:00 yay 09:09:02 fixed the downloading 09:09:09 for some reason I thought we had quotes that long ago. 09:09:55 @quote 09:09:55 ari says: The problem I have with grues is that although I know that currently, if it is very dark I am likely to be eaten by one... but how can I tell if grue suddenly became benign at, say, the 09:09:55 year 2010? The evidence I've gathered so far can't support the idea that that *wouldn't* happen.~ 09:10:07 * sebbu2 slaps elliott around a bit with a very large trout 09:10:36 sebbu2: yw 09:10:49 oerjan: wow that was the least funny quote ever 09:10:53 troutally reasonable 09:10:57 apart from all of ours 09:10:58 `quote 09:10:58 `quote 09:10:59 ​78) I want to read about Paris in the period 1900-1914 not about the sexual preferences of a bunch of writers >.> 09:10:59 `quote 09:11:00 `quote 09:11:00 `quote 09:11:00 ​56) no Deewiant No?! I've been living a lie yep. Excuse me while I jump out of the window -> 09:11:01 ​133) Hooray! I'm an idiot. 09:11:02 ​46) Seconds. 30 of them. Did I forget the word? 09:11:02 ​161) cpressey: I have actually done a waterfall-model project that almost worked That's where you have a flexible kayak that bobs and weaves between the rocks as it plummets off the cliff 09:11:04 oh my 09:12:25 `run echo $(yes) 09:12:27 No output. 09:17:23 -!- CakeProphet has quit (Ping timeout: 248 seconds). 09:18:05 hey don't run away before i can explain why that was stupid 09:18:43 :D 09:18:50 hm imagine if linux _did_ support lazy argument lists 09:19:38 -!- CakeProphet has joined. 09:19:39 -!- CakeProphet has quit (Changing host). 09:19:39 -!- CakeProphet has joined. 09:20:07 `run echo $(yes | head -5) 09:20:08 ​y y y y y 09:20:39 CakeProphet: yours probably never finished making the argument list 09:20:48 I somehow thought it would be a good idea to run echo $(yes) on my computer... 09:20:55 not realizing that I wouldn't be able to ctrl+c 09:21:02 ... 09:21:09 as it very rapidly filled all of my mempory. 09:21:16 huh 09:21:21 hey Sgeo homestuck update :-P 09:21:28 it's the yes bomb! 09:23:06 -!- monqy has quit (Quit: hello). 09:23:19 oerjan: I wonder what would be the most effective anti-yes bomb 09:23:59 killall sh && killall bash && ... :P 09:24:09 nothing could go wrong... 09:25:20 !which killall 09:25:30 `which killall 09:25:31 oerjan: forgot sh 09:25:32 No output. 09:25:36 CakeProphet: forgot `run 09:25:41 !sh which killall 09:25:41 ​/usr/bin/killall 09:25:46 `run which killall 09:25:48 No output. 09:26:13 !sh killall $(yes) 09:26:20 ​/tmp/input.18804: xrealloc: ../bash/subst.c:4757: cannot reallocate 33554432 bytes (0 bytes allocated) 09:26:27 lol 09:27:30 ty 09:27:33 a convenient memory exploder for the whole family. 09:30:33 so when code golfing bash can you only assume that only the bare minimum in external programs are available in $PATH? 09:31:11 -!- ais523 has joined. 09:31:39 typically yeah 09:31:45 -!- MigoMipo has joined. 09:32:03 Where is my reddit thread 09:32:09 what 09:32:26 I've taken to reading the reddit thread after the update 09:33:07 its hardly big enough to warrant another post... 09:33:20 -!- pikhq has quit (Ping timeout: 244 seconds). 09:33:27 -!- pikhq has joined. 09:33:48 !show sffedeesh 09:33:49 ​sh chef | fmt -w500 09:34:28 !delinterp sffedeesh 09:34:28 ​Interpreter sffedeesh deleted. 09:34:43 !addinterp sffedeesh chef | chef | chef | fm -w500 09:34:43 ​Interpreter sffedeesh installed. 09:34:48 ?_? 09:34:56 !sffedeesh The quick brown fox jumps over the lazy dog. 09:34:57 ​| cheff | cheff | fm -v500 09:35:00 o 09:35:03 fail 09:35:04 ... 09:35:05 lol 09:35:09 !delinterp 09:35:09 ​ is not a user interpreter. 09:35:16 !delinterp sffedeesh 09:35:16 ​Interpreter sffedeesh deleted. 09:35:24 !addinterp sffedeesh sh chef | chef | chef | fm -w500 09:35:24 ​Interpreter sffedeesh installed. 09:35:38 !sffedeesh I love being swedish. 09:35:39 ​/tmp/input.19806: line 1: fm: command not found 09:35:43 ...lol 09:35:48 !delinterp sffedeesh 09:35:49 ​Interpreter sffedeesh deleted. 09:35:53 !addinterp sffedeesh sh chef | chef | chef | fmt -w500 09:35:53 ​Interpreter sffedeesh installed. 09:35:56 !sffedeesh I love being swedish. 09:35:57 ​I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:36:04 lol 09:36:05 X-D 09:36:06 Impressive. 09:36:13 !sffedeesh I luuffffe-a-a-a beeeng sffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:36:13 ​I looooooooffffffffffffffffffffffffffffffffe-a-a-a-a-a-a beeeng sffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:36:21 Combinatorial explosion of borks. 09:36:59 !sffedeesh The quick brown fox jumps over the lazy dog. 09:37:00 ​Zee-a-a qooooeeck broooon fuux joooomps oouooffffer zee-a-a lezy duug. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:37:05 Lol wtf 09:37:53 !show swedish 09:37:54 ​sh chef | fmt -w500 09:37:59 !show svedeesh 09:37:59 ​sh chef | chef | fmt -w500 09:38:03 !show sfedeesh 09:38:04 ​sh chef | fmt -w500 09:38:08 !show sffedeesh 09:38:08 ​sh chef | chef | chef | fmt -w500 09:38:11 !svedish I am a slightly more reserved swede. 09:38:19 !svedeesh I am a slightly more reserved swede. 09:38:19 ​I im a sleeghtly moore-a-a reserffed sfede-a-a. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:38:27 !delinterp sfedeesh 09:38:27 ​Interpreter sfedeesh deleted. 09:38:37 !addinterp sfedeesh sh chef | chef | chef | fmt -w500 09:38:38 ​Interpreter sfedeesh installed. 09:38:45 !delinterp sffedeesh 09:38:46 ​Interpreter sffedeesh deleted. 09:38:57 !addinterp sffedeesh sh chef | chef | chef | chef | fmt -w500 09:38:57 ​Interpreter sffedeesh installed. 09:39:13 oerjan is setting the record straight in sffedeen. 09:39:20 !svedeesh The quick brown fox jumps over the lazy dog 09:39:20 -!- ais523 has quit (Read error: Connection reset by peer). 09:39:20 ​Zee-a quueeck bruun foox juumps oouffer zee-a lezy doog 09:39:31 !sffedeesh I love sffedeesh. 09:39:31 ​I looooffffffffe-a-a-a-a sffffffffffffffffffffffffffffffffedeesh. Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! Bork Bork Bork! 09:40:25 !help languages 09:40:25 ​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. 09:40:35 !show chef 09:40:35 ​sh chef 09:40:49 magic box. 09:41:02 !delinterp chef 09:41:02 ​Interpreter chef deleted. 09:41:07 !addinterp chef chef 09:41:07 ​Interpreter chef does not exist! 09:41:17 !addinterp chef sh chef 09:41:17 ​Interpreter chef installed. 09:41:21 perl is esoteric? 09:41:27 !delinterp swedish 09:41:27 ​Interpreter swedish deleted. 09:41:27 haskell too, lol 09:41:34 !addinterp swedish chef 09:41:35 ​Interpreter swedish installed. 09:41:41 Patashu: don't forget c 09:41:55 Gregor has implemented working interpreter recursion? 09:42:14 how unforgivable 09:42:26 !swedish Ho hum. 09:42:36 ...apparently not. 09:42:42 !delinterp swedish 09:42:42 ​Interpreter swedish deleted. 09:42:56 !addinterp swedish sh chef | fmt -w500 09:42:56 ​Interpreter swedish installed. 09:43:01 !swedish Ho hum. 09:43:01 ​Hu hoom. Bork Bork Bork! 09:43:04 Patashu: I guess both Haskell and Perl are a little esoteric. So is C. 09:43:22 I imagine Perl is there for usefulness more so than esotericness 09:43:26 same with Haskell. 09:43:34 is any programming language NOT esoteric 09:43:48 Python 09:44:26 actually I tak it back, C is not esoteric in any way. 09:44:27 -!- ais523 has joined. 09:45:01 seriously? 09:45:06 c has two conflicting ways to be TC 09:45:10 C is like what you use to judge normalness, for some reason. 09:45:12 you're telling me that's not esoteric? 09:45:32 hi ais523 09:46:03 hi 09:46:48 also, I thought C's TCness options, other than ones based on files and the standard library, all required you to omit details like the value of CHAR_BIT (because it isn't a finite integer) 09:46:58 Ruby can be a little strange. 99.downto(1) {|x| print "#{x} bottles of beer on the wall."} 09:47:17 but that's not.... too strange. 09:47:45 ais523: exactly; freestanding, you don't have CHAR_BIT, so you can have bignum chars 09:47:48 hosted, you can use files 09:47:59 mutually exclusive 09:48:03 are you sure you don't have CHAR_BIT in freestanding? 09:48:04 I thought limits.h was one of the headers that had to be in freestanding too 09:48:14 ais523: ooh 09:48:17 that would be bad 09:48:23 it'd mean that freestanding C might not actually be TC at all 09:48:31 it's not like there's anything in it but #defines 09:48:44 * elliott greps http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf 09:49:42 what is 'freestanding C' 09:49:51 5.2.4.2 Numerical limits 09:49:51 1 An implementation is required to document all the limits specified in this subclause, 09:49:51 which are specified in the headers and . Additional limits are 09:49:51 specified in . 09:49:51 Forward references: integer types (7.18). 09:50:01 Patashu: it's a subset of C that doesn't have to have the library support that C impls normally do 09:50:02 5.2.4.2.1 Sizes of integer types 09:50:02 1 The values given below shall be replaced by constant expressions suitable for use in #if 09:50:03 preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the 09:50:03 following shall be replaced by expressions that have the same type as would an 09:50:06 expression that is an object of the corresponding type converted according to the integer 09:50:08 promotions. Their implementation-defined values shall be equal or greater in magnitude 09:50:10 (absolute value) to those shown, with the same sign. 09:50:12 — number of bits for smallest object that is not a bit-field (byte) 09:50:14 CHAR_BIT 09:50:16 designed for things like embedded systems 09:50:19 ais523: oh dear, you must have a number of bits in a char in a freestanding implementation too 09:50:19 > [99, 98..1] >>= (++ " bottles of beer on the wall.\n").show 09:50:21 "99 bottles of beer on the wall.\n98 bottles of beer on the wall.\n97 bottl... 09:50:24 RIP freestanding tcness 09:50:31 elliott: unless you had a type that was smaller than a char 09:50:32 unless you can do something with the stack 09:50:34 and could create objects of it 09:50:39 and register variables 09:50:40 I saw a loophole in that definition 09:50:49 ais523: yes, but I suspect char is defined to be that smallest object 09:50:50 anyway 09:50:55 register variables you aren't allowed to take the address of 09:50:59 yep 09:50:59 so there's nothing forcing them to be limited 09:51:08 you can still sizeof them 09:51:11 combined with the stack... maybe you could do something? 09:51:16 there's nothing forcing you to have a limited /quantity/ of them 09:51:16 ais523: yes, but if you recurse 09:51:26 normally, recursion doesn't let you have "infinite variables" 09:51:29 because you can take their address 09:51:32 but there's no way to reference them outside their own stack frame, precisely because you can't take their address 09:51:36 but the conceptual stack frame can take up no address spcae here 09:51:38 [asterisk]space 09:51:41 so you end up with a PDA, not a TC language 09:51:49 ais523: yeah, it's probably true 09:51:54 I was thinking you could combine other things to make it work somehow 09:51:56 but I don't know 09:52:06 > :t map (map (map (map ($map)))) [[[[map]]]] 09:52:07 -!- Kustas has quit (Quit: left). 09:52:07 : parse error on input `:' 09:52:13 :t map (map (map (map ($map)))) [[[[map]]]] 09:52:14 forall a b. [[[[[a -> b] -> [[a] -> [b]]]]]] 09:52:32 nice. 09:52:37 looks uh 09:52:38 useful 09:52:41 > map (map (map (map ($map)))) [[[[map]]]] 09:52:42 Overlapping instances for GHC.Show.Show ([a -> b] -> [[a] -> [b]]) 09:52:42 arisi... 09:52:50 bleh 09:52:54 > length (map (map (map (map ($map)))) [[[[map]]]]) 09:52:55 1 09:53:03 > length (head (map (map (map (map ($map)))) [[[[map]]]])) 09:53:04 1 09:53:08 > length (head (head (map (map (map (map ($map)))) [[[[map]]]]))) 09:53:09 1 09:53:12 > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]])))) 09:53:12 1 09:53:15 > length (head (head (head (head (map (map (map (map ($map)))) [[[[map]]]]))))) 09:53:15 Couldn't match expected type `[a]' 09:53:16 against inferred type `[a1 -> b]... 09:53:19 > length (head (head (head (map (map (map (map ($map)))) [[[[map]]]])))) 09:53:19 1 09:53:23 :t head (head (head (head (map (map (map (map ($map)))) [[[[map]]]])))) 09:53:24 forall a b. [a -> b] -> [[a] -> [b]] 09:53:37 :t map map 09:53:37 forall a b. [a -> b] -> [[a] -> [b]] 09:53:38 :t map (map (map (map ($map)))) [map] 09:53:39 Couldn't match expected type `[[[((a -> b1) -> [a] -> [b1]) 09:53:39 -> b]]]' 09:53:39 against inferred type `(a1 -> b2) -> [a1] -> [b2]' 09:53:43 what 09:53:44 :t map (map (map (map ($map)))) [[map]] 09:53:44 Couldn't match expected type `[[((a -> b1) -> [a] -> [b1]) -> b]]' 09:53:45 against inferred type `(a1 -> b2) -> [a1] -> [b2]' 09:53:45 In the expression: map 09:53:46 :t map (map (map (map ($map)))) [[[map]]] 09:53:47 Couldn't match expected type `[((a -> b1) -> [a] -> [b1]) -> b]' 09:53:47 against inferred type `(a1 -> b2) -> [a1] -> [b2]' 09:53:47 In the expression: map 09:53:48 :t map (map (map (map ($map)))) [[[pmap]]]] 09:53:50 parse error on input `]' 09:53:51 heh 09:53:57 ... 09:54:00 :t map map [succ,succ] 09:54:00 forall a. (Enum a) => [[a] -> [a]] 09:54:04 > map map [succ,succ] 09:54:05 Overlapping instances for GHC.Show.Show ([a] -> [a]) 09:54:05 arising from a use ... 09:54:08 > length (map map [succ,succ]) 09:54:09 Ambiguous type variable `a' in the constraint: 09:54:09 `GHC.Enum.Enum a' 09:54:09 ar... 09:54:18 > length (map map [(9+),(9+)]) 09:54:18 2 09:54:36 > head (map map [(9+),(9+)]) [0,0,0,9] 09:54:37 [9,9,9,18] 09:55:49 > (map map [(9+),(9+)]) [0,0,0,9] 09:55:50 Couldn't match expected type `t1 -> t' 09:55:50 against inferred type `[[a] ... 09:56:08 > id (map map [(9+),(9+)]) [0,0,0,9] 09:56:09 Couldn't match expected type `[t1] -> t' 09:56:10 against inferred type `[[a... 09:56:15 why do you need head? 09:56:26 I lol'd 09:56:28 I guess to make it not evaluate further 09:56:32 Patashu: um no 09:56:37 :t head 09:56:38 forall a. [a] -> a 09:56:39 :t map map [(9+),(9+)] 09:56:40 forall a. (Num a) => [[a] -> [a]] 09:56:53 i'll let you figure out the rest yourself :P 09:57:03 ma... oh 09:57:04 I get it now 09:57:07 > succ 5 09:57:08 6 09:57:10 was looking at the order of operations wrong 09:57:19 head happens before [0,0,0,9] is applied correct? 09:57:34 :t map map (map map [(9+),(9+)]) 09:57:35 forall a. (Num a) => [[[a]] -> [[a]]] 09:57:41 -!- aloril has quit (Ping timeout: 246 seconds). 09:58:20 > map map [(9+),(9+)] <$ 1 09:58:20 No instance for (GHC.Show.Show (f [[a] -> [a]])) 09:58:21 arising from a use of `... 09:58:44 > map map [(9+),(9+)] <$ [1] 09:58:45 Overlapping instances for GHC.Show.Show ([a] -> [a]) 09:58:45 arising from a use ... 09:58:51 Patashu: there's no "ordering" 09:58:51 :t map map [(9+),(9+)] <$ [1] 09:58:52 forall a. (Num a) => [[[a] -> [a]]] 09:58:54 f x y = (f x) y 09:58:56 that's all you need to know 09:58:59 :t (<$) 09:59:00 forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a 09:59:08 doh 09:59:15 :t (<*) 09:59:16 forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f a 09:59:43 head (map map [(9+),(9+)]) [0,0,0,9] == (head (map map [(9+),(9+)])) [0,0,0,9] == (head [map (9+), map (9+)]) [0,0,0,9] == (map (9+)) [0,0,0,9] == [9,9,9,eighteen] 09:59:46 Patashu: see above 09:59:47 :t map map [(9+),(9+)] `sequence` [1] 09:59:48 forall a. (Num a) => [[a]] 09:59:54 > map map [(9+),(9+)] `sequence` [1] 09:59:55 [[10],[10]] 09:59:58 -!- MigoMipo_ has joined. 10:01:07 > map map [(9+),abs,(`mod` 10)] `sequence` [1,-1] 10:01:08 [[10,8],[1,1],[1,9]] 10:01:11 @hoogle f (a -> b) -> a -> f b 10:01:12 Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b 10:01:12 Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b 10:01:12 Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b 10:01:18 productive today i see 10:02:24 !addinterp map perl for(<>){s/\b.*?\b/map/;print} 10:02:24 ​Interpreter map installed. 10:02:25 !map quite 10:02:26 ​mapquite 10:02:40 !map er what 10:02:40 ​maper what 10:02:46 !delinterp map 10:02:47 ​Interpreter map deleted. 10:02:50 idgi 10:03:18 !addinterp map perl for(<>){s/\b.+?\b/map/g;print} 10:03:18 ​Interpreter map installed. 10:03:29 !map I love chaining together maps in Haskell 10:03:30 ​mapmapmapmapmapmapmapmapmapmapmapmapmap 10:04:06 -!- MigoMipo has quit (Ping timeout: 276 seconds). 10:04:13 and this wonderful addition to egobot 10:04:18 I think I'm going to go to sleep. 10:04:37 s/and this #FFFFFFFFF/and with this/x 10:05:00 doesnt work 10:05:03 the spaces get stripped out 10:05:07 even if they didn't you'd have removed the space 10:05:08 TERRIBLE PERSON 10:08:24 -!- FireFly has joined. 10:08:37 -!- tarpad has joined. 10:09:45 tarpad: daprat 10:11:09 -!- aloril has joined. 10:14:38 -!- tarpad has left. 10:16:59 rip dapper rat 10:17:27 * Sgeo fails at technical communication 10:18:07 https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006227.html this confusion should not have occured. 10:20:24 yes, everything is gibberish until the example function at the end 10:21:35 :/ 10:22:19 -!- oerjan has quit (Quit: Reboot). 10:22:37 that function calls for a hashmap 10:23:09 Patashu: that would require first-class functions 10:23:13 Sgeo: does lsl have eval 10:23:17 elliott, nope! 10:23:22 Sgeo: what does it have 10:23:38 oh, quaternions 10:23:39 nice 10:24:31 Sgeo: is there any way to call a function in any way other than function_name(...) 10:24:39 elliott, nope 10:24:45 could you make an in-game object edit its own script while it runs? 10:24:51 to do self-modifying code 10:24:56 there's no arrays of function pointers? 10:25:07 Nope, although I can get it to retrieve another compiled script and run that instead 10:25:25 There is something I can do, but it's crappy: Put each native function in a separate script, and send a message to all scripts 10:25:32 Sgeo: can you create a compiled script programmatically 10:25:44 Not within LSL, although a bot could do it 10:26:06 then you can dynamically construct a compiled script for every native function that ends up getting called 10:26:07 and call that 10:26:13 massive overhead the first time though i would assume :) 10:27:14 elliott, involving bots would kind of be a bad idea. Statically constructing the scripts would be possible. But I don't think having a lot of scripts and constantly sending messages to them is a pleasant idea 10:27:43 Sgeo: why not restructure the language instea 10:27:44 d 10:27:50 instead of native_call(string, ...) 10:27:56 have some kind of "inline lsl assembly" thing 10:28:00 and some predeclaration macro 10:28:01 so that 10:28:04 native llWhatever(...) 10:28:06 expands to 10:28:08 function blah() { 10:28:15 lsl { llWhatever(...) } 10:28:15 } 10:28:17 or whatever 10:28:18 that wraps it 10:28:19 i dunno 10:28:33 elliott, that's for syntax of the language 10:28:44 Not for how the VM would run. Unless I'm misunderstanding 10:28:53 Sgeo: it means you don't have to handle a generic native call 10:29:23 If I'm understanding correctly, that would be abandoning the "pseudobytecode with surrounding VM" idea 10:29:32 sure 10:29:37 sounds like a terrible idea for a language this limited anyway 10:29:46 just straight compile it 10:30:01 The size of the LSL code is a premium... 10:30:32 well 10:30:36 the bytecode still counts as code right 10:30:44 I mean you could still do most things with one-letter function calls 10:31:06 -!- cheater_ has quit (Ping timeout: 246 seconds). 10:31:36 In theory, with the VM though, some of the bytecode could be put outside the script and onto a notecard. Although I don't know if that idea's that great. 10:32:51 Also: How do I go about calling _non_native functions without O(n) complexity for amount of existing non-native functions? 10:33:25 By making the language better 10:33:37 elliott: I just realised something beautiful that was possible with sg 10:33:38 Um, assuming that I'm trampolining and CPSing 10:33:51 all that's needed to send a commit to someone is that the commit is somewhere in the world at large, and to send them the hash 10:34:17 ais523: haha 10:34:20 and then you could go off and look for a commit with that hash through a search engine or something 10:34:29 ais523: doesn't that apply to every VCS? 10:34:33 well, every DVCS 10:34:35 only the ones with unique hashes 10:34:49 ais523: every DVCS has unique hashes up to collisions, pretty much 10:34:50 and where the hash itself is enough to pull into a repo 10:34:57 well, do they all use hashes? 10:34:59 I suppose so 10:35:33 git does, darcs does IIRC 10:35:36 hg does 10:37:12 darcs does have hashes involved, but they're hidden from the user unless you know how to ask for them 10:38:49 hey pikhq 10:38:53 rage material for you http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem 10:38:57 wrt libraries in source trees 10:39:02 elliott, am I mistaken in thinking that CPS will result in a lot of functions? 10:40:41 Sgeo: that's pretty much the definition of cps 10:40:54 also, call/cc is not useful at all in your situation afaik, so i don't know why on earth you want it 10:40:55 elliott: though it does point out somewhere that it might not be appropriate for *every* project, so it's not quite as crazy as it looks (only very close) 10:41:01 especially as you don't actually have first-class functions 10:41:18 elliott, there's a lot of event stuff in LSL 10:41:49 Hold on 10:42:49 -!- oerjan has joined. 10:42:54 http://lslwiki.net/lslwiki/wakka.php?wakka=llGetNotecardLine see this example? I want to make it not quite so painful, just a call to ccGetNotecardLine() which uses continuations to deal with a nice function evtDataserver that accepts a pretty callback 10:42:59 Instead of this present BS 10:43:09 -!- cheater_ has joined. 10:43:41 Maybe continuations are overkill for doing this 10:45:33 And incidentally, the point of making a new language is to give the new language features like first-class functions and continuations, so I don't know where you're getting "no first-class functions" from, that's the host language. 10:47:41 elliott: "itrsquos"? 10:47:50 smart quotes are one thing, smart quotes in URLs are another 10:48:04 or am I meant to rage at the page accessed via the URL, rather than the URL itself? 10:48:07 ais523: don't ask me, microsoft brain damage is obviously in effect on that site 10:48:11 and yes, yes you are 10:48:23 if you respond affirming that you don't plan to open the link, ... well please just preemptively don't respond 10:48:47 I want to know what's wrong with the link's content *ducks* 10:49:02 -!- BeholdMyGlory has joined. 10:49:25 Sgeo: re where did you get it from, well the overhead on function representation in sodfjsioghodghg will probably be large but yeah whatever doigjfdjgidgjfodjgi 10:50:10 Maybe there's a simpler way to get what I want 10:50:22 Just break the code into two at, say, ccGetNotecardLine 10:50:42 No CPS needed. But this requires much more thought 10:51:26 -!- MigoMipo_ has quit (Quit: Lämnar). 10:51:30 This also assumes that I know what's best 10:52:11 ais523: what's itrsquos? 10:52:16 olsner: it's 10:52:22 with the ' replaced with ’ 10:52:25 and then the punctuation removed 10:53:14 im gonna say itrsquos instead of it's in future now 10:53:16 itrsquos the future 10:53:25 but "it's" written with an apostrophe, not with accents or quotes :/ 10:53:41 elliott: anyway, about the actual content of the article, what it's suggesting is a bad idea if libraries don't lose features or break when upgraded, and a good idea otherwise 10:54:12 I tend to trust libraries not to do that (except in the case of certain CPAN modules...), but in industry, especially with proprietary libraries, I'd be less likely to 10:54:49 likewise, build tools that aren't libraries, it's much the same argument 10:56:55 meanwhile, the article accessed via the current top link on proggit (http://mjg59.dreamwidth.org/3561.html about rebooting PCs) is actually quite interesting 10:57:20 already linked :) 10:57:30 ("accessed via" -- seriously?) 10:58:21 elliott: would "at" be enough for you? 10:58:34 I'd say "at the top of proggit" at most 10:58:44 Nobody's going to think the article is literally embedded there :) 10:58:46 -!- elliott has left ("Leaving"). 10:58:51 -!- elliott has joined. 10:58:52 oops 10:59:11 gasp 10:59:13 elliott left 10:59:18 yeah\ 10:59:21 that never happens 10:59:32 * Sgeo wonders what yeahthat means 10:59:57 do leading spaces show up in most IRC clients? 11:00:01 apparently they do in mine 11:00:02 ais523: yes 11:00:09 yeses 11:00:10 not oklopol's prolly :D 11:00:22 it folds adjacent spaces after all 11:00:32 test 11:00:35 does it for mine 11:00:39 yes 11:00:49 $ yes yes 11:01:08 so if I use multiple spaces between words? 11:01:14 that shows up literally on mine too 11:01:18 which doesn't surprise me at all 11:01:25 it's useful for ascii art 11:01:40 `yes yes 11:01:41 ​yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes \ yes 11:01:45 lol 11:01:48 `yes \ 11:01:49 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:01:51 `yes \ 11:01:52 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:01:55 `yes \ 11:01:56 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:02:00 `yes \ 11:02:02 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:02:08 `run yes ' \' 11:02:09 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:02:13 pretty 11:02:23 it looks like rain 11:02:45 * Sgeo adjusts a bit 11:02:46 `run yes '\ \ \ \' 11:02:47 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:02:49 `yes | fmt -80 11:02:51 ​| fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | fmt -80 \ | 11:02:53 lol 11:02:56 `run yes '\ \ \' 11:02:58 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:02:59 err, that was weird parsing 11:03:03 `run yes | fmt -80 11:03:04 ​y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y \ y y y y y y y y y y y y y 11:03:13 `run yes '\ \ ' 11:03:15 ​\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 11:03:16 So many lights! 11:03:18 that looks good 11:03:44 `run yes ' \ \\ \ \ ' | yes '\ \\' 11:03:45 ​\ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ 11:03:48 `run printf '\x1b#8' 11:03:50 ​.#8 11:03:51 `run yes '\ \\' 11:03:53 ​\ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ \ \ \\ 11:03:54 boring 11:03:58 try that one in an actual terminal sometime 11:04:01 `run yes ' \ \\ \ \ ' 11:04:02 ​\ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ \ \ \ \ \\ 11:04:03 why is there an infinite loop in posix anyway 11:04:04 gnome-terminal will do 11:04:11 Patashu: ? 11:04:13 yes 11:04:14 Patashu: because it wouldn't be TC otherwise? 11:04:15 ais523: how did you even 11:04:18 lol 11:04:21 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 11:04:29 What, is it bell? 11:04:33 no its 11:04:33 no 11:04:34 E 11:04:44 ? 11:04:50 I just happened to know that there was a VT100 escape code for filling the screen with copies of the letter E 11:05:05 nice 11:05:18 there.. 11:05:19 is? 11:05:36 Will it work with putty? 11:05:41 it's apparently intended to allow you to make sure the terminal's centred on the screen 11:05:44 and it wouldn't surprise me if it did 11:05:57 even though in graphical terminals, it serves pretty much no purpose whatsoever 11:06:05 Worked 11:06:09 just in case someone thinks up a use for it, I usppose 11:06:13 *suppose 11:06:16 With the prompt in the middle of those Es, but a bit below 11:06:23 it doesn't move the cursor 11:06:27 it works on putty? I gotta try this 11:06:30 so the prompt just turns up where it would have turned up anyyway 11:06:32 *anyway 11:06:56 backspace does nothing, space and backspace clears the line of E 11:07:08 im so glad Sgeo is here to do science on the es 11:07:14 hmmm darn 11:07:16 doesn't do anything for me 11:07:43 OH 11:07:44 got it to work 11:07:45 now I'm wondering if it works on jettyplay 11:07:45 LOL 11:07:48 that's hilarious 11:07:59 I don't remember implementing it, but one of the libraries I use might do it 11:08:10 you must implement it 11:08:11 its vital 11:08:17 omg 11:08:21 i could use it in vagrant 11:08:26 if E was like floor 11:08:28 except that 11:08:34 the screen is already spaces by default... 11:08:38 maybe i could use it as a win screen :D 11:09:05 oh wow, it does work in jettyplay as well 11:09:08 that is so beautifully pointless 11:09:11 \o/ 11:09:13 | 11:09:14 |\ 11:09:37 hmm, it might be fun to put that code in a fruitname in NetHack 11:09:43 hahaha 11:09:47 -!- aloril has quit (Ping timeout: 246 seconds). 11:09:48 LOL 11:18:43 the big applEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEe 11:19:47 would that actually work though? 11:21:05 yes in vanilla, due to a bug 11:21:11 I'm not sure if it's fixed on NAO 11:21:20 interesting 11:21:28 that sounds totally worth doing 11:21:34 [asterisk]no spae 11:22:09 Maybe we should all take a different character to mean a correction from elliott 11:22:18 -!- aloril has joined. 11:22:56 no i like [asterisk] 11:24:41 elliott: have you decided to stick with your current keyboard, then, rather than get one with working numbers? 11:24:53 or are the keyboard replacement people just being slow? 11:24:58 ais523: well no i plan to get it fixed but it means sending in the entire laptop 11:25:12 which means making a full backup and wiping it to something that... doesn't boot into an unsupported OS by default 11:25:19 which means i'm a bit... lazy... 11:26:03 Would they really not fix it or ask for money if it boots into a different OS? It's a hardware issue, isn't it? 11:26:13 i dunno what the warranty has to say about that 11:26:25 and they might try and see if the number keys work first, maybe? 11:26:32 which they couldn't do on ubuntu because lol policy 11:26:42 oh, "a stitch in time saves nine" is not actually referring to... a stitch in time 11:26:42 like 11:26:45 time getting stitched 11:26:51 i always thought that was like... weirdly time-warpy 11:26:55 you are not actually a surgeon 11:27:01 for an aphorismsims 11:27:03 Patashu: what 11:27:13 oh wait I'm exlcuding the wrong part of the saying 11:27:24 elliott: hey, that statement would have been perfectly sane from zzo38 11:27:36 the only issue with it is the non sequiturism 11:27:42 ais523: no it wouldn't, nothing zzo says is sane 11:27:56 it would be /expected/, insofar as you can expect inane non-sequiturs at every turn 11:27:59 but it wouldn't be /sane/ 11:28:12 hey elliott 11:28:22 well, you can expect a non-sequitur even if you don't know what precisely it'll be, given the general nature of non sequiturs 11:28:23 a stitch in time flies like an arrow 11:28:23 you know anything about program derivation? 11:28:39 its when you antiintegrate a program 11:28:40 yw 11:28:48 hmm, Vorpal isn't here, I wanted to tell him about the new bridge that was being built here 11:28:54 elliott: :P 11:28:58 ill take that as a no 11:29:01 because it was apparently cheaper to build a new bridge than figure out who owned the old one 11:29:12 even though the bridges are right next to each other and cross the same canal/railway combination 11:29:14 ais523: why do you want to tell ol' vorpy that 11:29:22 because I think it would amuse him 11:29:36 there are easier ways 11:29:52 it surprises me a bit that building a bridge is cheaper nowadays than figuring out ownership of an existing bridge 11:30:01 all they actually wanted to do was run a network cable along it... 11:30:08 -!- aloril has quit (Ping timeout: 260 seconds). 11:30:32 -!- ralc has joined. 11:31:02 i assume the ownership was at least _somewhat_ disputed... 11:32:15 not quite, it's more that the bridge was built so long ago that nobody can remember 11:32:19 and there are several plausible options 11:34:17 * oerjan is reminded of http://www.jnto.go.jp/eng/indepth/history/traditionalevents/a05_fes_yamayaki.html 11:35:47 summary: "we burn this mountain every year because it happened before" 11:36:03 -!- Ycros has quit (Ping timeout: 248 seconds). 11:36:09 it was more the disputed ownership part 11:36:21 shaddap :D 11:37:43 -!- Ycros has joined. 11:38:04 18:10:30: actually i think i learned haskell _after_ unlambda. i don't quite remember. 11:38:04 oh, suddenly everything makes sense 11:40:07 especially the "how did you have _no_ problem with monads?" part 11:40:26 well i didn't either... 11:40:58 but then, my learning of haskell consisted of slogging through yaht, giving up out of sheer boredom, ignoring haskell for several months, then popping in the irc channel regularly just because it was a nice interesting place 11:41:08 then i took a glance at RWH and LYAH, and suddenly I knew Haskell 11:41:26 wait LYAH existed back then? 11:41:50 oerjan: my serious use of haskell started roughly when lyah started being a thing 11:41:54 which was like a few years ago? 11:41:57 hm 11:42:03 when I read YAHT it didn't exist 11:42:04 neither did RWH 11:42:11 I didn't have much trouble picking up monads 11:42:19 it was a case of starting with simple uses and working up 11:42:28 (and I learnt from YAHT, I think) 11:42:42 YAHT is really quite a bad tutorial... 11:42:50 ...better than Gentle Introduction :) 11:43:09 back then there were only those, and Haskell for C Programmers 11:43:10 the world needs a good INTERCAL tutorial 11:43:25 or what was it called 11:43:41 -!- aloril has joined. 11:45:00 01:25:32: The canonical BF CAT program suffers from it 11:45:01 01:26:05: +[>,.<] 11:45:01 01:26:48: Slereah-, that stops on NUL 11:45:03 argh 11:45:07 01:26:39: +[,.] 11:45:09 before the last line there 11:45:11 * elliott facepalm 11:46:01 Are you facepalming at me? 11:46:19 possible 11:46:37 Haskell 98 was conceived as a relatively minor tidy-up of Haskell 1.4, 11:46:38 making some simplifications, and removing some pitfalls for the unwary 11:46:40 oerjan: sing it with me 11:46:41 booooooooooooooooooooooooooo 11:46:50 having only 256 possible results from a , _does_ lead to the impossibility of implementing cat correctly 11:47:18 yes but sgeo's is obviously worse because it doesn't stop on /EOF/ :D 11:47:19 no matter what convention you use for EOF within that 11:48:05 a 16-bit bf with -1 or no change convention could work, though 11:48:43 +[,.+] 11:49:29 what about a 9-bit bf with an eof=99 conveiont 11:49:33 er wait 11:49:37 whWHat WNOW 11:49:40 NOT SO GOOD 11:50:06 what ascii is 99s anyway 11:50:09 hmm, "nice", on to finding a register assignment that keeps ebx intact from boot to a couple of hundred lines later when I'm ready to start using the data it points to 11:50:12 > chr 99 11:50:13 'c' 11:50:52 -!- azaq23 has quit (Quit: Leaving.). 11:51:13 olsner: you are still working on that os? :D 11:51:16 -!- azaq23 has joined. 11:51:26 like, bootloader stages 11:51:43 -,+[-.[-]-,+] 11:51:51 oerjan: a thing of beauty surely 11:51:53 elliott: yes, rewriting it to boot from multiboot and build to an elf image 11:52:02 olsner: but multiboot is shit? 11:52:06 probably yes 11:52:08 as is elf? so boring? 11:52:19 elliott: that works with either -1 or no change, i hope 11:52:39 with a bit redundancy for the former 11:52:44 ,[-.,] 11:52:46 guess the convention 11:52:57 -!- MigoMipo has joined. 11:53:02 EOF 0, others shifted 11:53:08 elliott: well, I figured that writing *everything* in assembler was starting to become boring, so I might want to make it possible to write some things in C and link it together using somewhat standard tools 11:53:51 olsner: so basically...... you figured out the only way you could make it a more boring snooze of an endeavour... 11:54:01 oerjan: yes you get pounds of money 11:59:50 elliott: EOF 0, others shifted is what I use for new languages I design nowadays 11:59:52 except I shift on output too 12:00:02 I sometimes call it "incremented ASCII" 12:01:08 it's kind of ugly 12:01:26 ASCII with null pointer 12:01:38 why not set an instruction to jump to when you reach EOF? or something like that 12:01:46 I blame ASCII/Unicode for not putting EOF at 0 in the first place 12:01:48 'on eof blah blah blah' 12:02:01 Patashu: because that assumes you have something remotely resembling standard flow control 12:02:04 ais523: um that would _still_ not help with binary format 12:02:06 in many esolangs you don't 12:02:24 oerjan: it's not like esolangs handle binaries well anyway 12:03:02 unlambda _does_ have an instruction to jump to when you reach EOF. if you look at it the right insane way 12:03:16 oerjan: c 12:03:27 do you have to use it twice to manage that? or can it all be done with one use of c? 12:03:41 (I seem to remember that Unlambda's I/O conventions are deliberately designed to be awkward to use) 12:03:55 i believe you can actually do unlambda IO programming without c entirely, but i haven't put my idea into practice 12:04:08 That is why you should use Lazy Bird 12:04:14 it will leak memory though 12:04:14 Which is TOTALLY AWESOME 12:04:20 oerjan: seriously? 12:04:46 a v kills your program if you ever try to determine its value, so you'd have to, umm, duplicate the entire rest of the program 12:05:03 ais523: yes. the c is normally only for escaping from a v you apply. but if you use CPS _explicitly_ you don't _have_ to return. and you can still use e to end the program. 12:05:32 how do you get the v to obey CPS, though? 12:06:17 elliott: I don't think so, more like moving on to making other things fun while finding boring but convenient solutions to some other parts 12:06:17 you don't. it's just that if you do ``vA B or ``iA B where A and B are your branches but A _never_ returns, then you can make it work 12:06:17 what does v do? consume your program? 12:06:44 Patashu: it ignores its argument and returns v 12:07:02 it's pretty much dynamite for any pure-functional language (in the Unlambda sense), as it's very hard to recover from an errant v 12:07:05 ok B cannot return either 12:07:19 yeah, it blows your program up 12:07:25 olsner: you're a fuselage. 12:07:37 elliott: what do you mean? 12:07:48 oerjan: do you mean ``v`dAB? 12:07:53 PATACHU 12:07:54 otherwise I don't see how it can work 12:07:55 IS THAT YOU 12:08:07 no, it's an s 12:08:10 heh, v is like an unlambda virus 12:08:19 as ``vAB = `vB = v 12:08:26 and either evaluates both of A and B, or neither 12:08:28 I know a Patachu 12:08:32 I can't quite remember how unlambda evaluation order works 12:08:56 ais523: strict by default 12:09:02 but if A and B don't return 12:09:04 then the result is irrelevant 12:09:08 only the evaluation matters 12:09:15 yep, that's why I added the `d 12:09:27 otherwise, if A doesn't return, `vA will do the same thing as A 12:09:27 do you have to use it twice to manage that? or can it all be done with one use of c? <-- just one, i think, your branches can share their continuation 12:10:21 -!- FireFly has quit (Ping timeout: 240 seconds). 12:10:37 boo, unlambda(1) is no longer in the Ubuntu repos 12:11:00 * ais523 uses locally compiled version 12:11:09 oerjan: do you mean ``v`dAB? <-- um i'm not being precise here 12:13:37 ```v`d`kAiB is one way, i think 12:13:38 hmm, I've been testing 12:13:39 No output. 12:13:47 and am trying to figure out why ``i`d``.tei``.fei is an infinite loop 12:13:55 that makes no sense at all 12:13:58 it is? 12:14:09 apparently 12:14:11 not with c? 12:14:13 -!- FireFly has joined. 12:14:20 yep, I just copy-pasted from my terminal 12:14:25 it prints infinite copies of t 12:14:26 !unlambda ``i`d``.tei``.fei 12:14:26 ​f 12:14:32 perhaps this is a buggy interp 12:14:35 that wouldn't surprise me 12:14:39 probably 12:14:49 I get ftttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt... 12:15:05 i recall that superfast C interpreter didn't do d right 12:15:18 !unlambda ```i`d``.teii``.fei 12:15:19 ​t 12:15:23 !unlambda ```v`d``.teii``.fei 12:15:24 ​f 12:15:24 (mandelson's iirc?) 12:15:26 there we go 12:15:41 $ ./unlambda --version 12:15:42 Can't open input file: No such file or directory 12:15:47 looks like it's Can't's 12:15:54 essentially e acts as a top continuation for your CPS use 12:16:04 more seriously, though, /* Copyright (C) 1999 by David A. Madore */ 12:16:08 maybe i'll write an unlambda interpreter 12:16:10 ah. 12:16:17 ais523: what's it written in? 12:16:21 C 12:16:26 although, what was the subtlety of d again? 12:16:38 it follows different evaluation rules from everything else 12:16:47 it doesn't evaluate its argument 12:16:55 until that is again applied 12:17:06 if you do `XY, the correct way to process that is to evaluate X, then if X isn't d, evaluate Y, then apply X to Y 12:17:20 right, I mean 12:17:25 if X is d, though, you just return `dY, and don't evaluate that until it ends up as the first argument to something 12:17:25 how on earth could you implement it wrongly? :) 12:17:41 by not understanding it? 12:17:51 fair enough I suppose 12:18:00 I imagine it's quite easy to screw up 12:18:04 is unlambda ul or unl? latter, right? 12:18:06 file extensions and the like 12:18:10 !unlambda is also a C interpreter though iirc 12:18:12 unl 12:18:29 anyway, what confuses me is that, with the impossibility of comparing functions, how do you know if the first argument is d or not 12:18:47 ais523: by representing it symbolically and forcing it 12:18:48 !unlambda ``d.xi 12:18:48 ​x 12:19:00 yeah 12:19:01 ais523: it is impossible to construct a function with identical semantics to d that is not syntactically d in unlambda 12:19:04 that is, in normal form 12:19:12 !unlambda ``i`d.xi 12:19:12 ​x 12:19:17 !unlambda `i`d.x 12:19:26 !unlambda ``i`d.xi 12:19:26 ​x 12:19:30 what about ``s`kdi? 12:19:41 or does that not have identical semantics to d? 12:19:46 ask oerjan ;D 12:19:48 well, I know it doesn't 12:19:53 well then 12:19:54 but mathematically it "ought" to 12:19:59 assuming I've calculated it correctly 12:20:07 there's no ought 12:20:10 there's only the reduction rules 12:20:13 putting any other function /but/ d there, it would work identically 12:20:22 d isn't a function 12:20:25 it isn't applied like functions 12:20:28 it's a special token/form 12:20:35 implemented in the reduction rules for ` 12:21:01 !unlambda `i`d`.xi 12:21:01 ais523: ``s`kdi is not d, no 12:21:08 !unlambda ``id`.xi 12:21:13 hmm, is ((a b) c) legal in Lisp? 12:21:14 no eta reduction 12:21:26 not common lisp, i think 12:21:30 hmm, you basically have to thunk everything in an unlambda compiler, right? 12:21:34 unless you did fancy strictness analysis, ofc 12:21:47 oerjan: I'm not sure if you can call it eta reduction if it's based on combinators rather than lambdas, but it's the same principle 12:22:20 What's the proper name for the code part without the scope of a closure? 12:22:25 hmm, Wikipedia says *eta-conversion 12:22:28 oerjan: does unlambda have, erm, "tail-recursion"? 12:22:33 ais523: i believe it is possible to write a function in unlambda which detects whether its argument is d without applying it :) 12:22:34 hmm 12:22:37 that's a really stupid question 12:22:53 Sgeo: code 12:22:53 elliott: well any decent interpreter should 12:23:21 elliott: it is possible to write an Unlambda interp that runs out of stack space on ```sii``sii using a plausible algorithm 12:23:30 so it's not inherently tail-recursive in that sense 12:23:47 but decent interps should definitely try to optimise tail-recursion 12:24:30 hmm 12:24:34 / ```i`d.xii 12:24:34 i have had some thoughts on optimizing things like `eX (by throwing away the original continuation _before_ evaluating X), which would make that c-less style not leak memory, i think 12:24:34 unl thka(unl x) { return (*prim_output_x(prim_i))(x); } 12:24:34 unl thkb(unl x) { return (*prim_d(thka))(x); } 12:24:34 unl thkc(unl x) { return (*prim_i(thkb))(x); } 12:24:34 unl thkd(unl x) { return (*thkc(prim_i))(x); } 12:24:38 unfortunately this fails at the top level 12:24:42 because you don't want to apply the final result of a program 12:24:45 (consider the program .x) 12:24:59 OTOH, I could have a special dummy value, which all the primitives just recognise and return immediately on, to call the whole program with :) 12:25:00 the final result can just be discarded 12:25:06 here unl is just a function from unl -> unl 12:25:09 ais523: yep, but I mean 12:25:13 if the whole program is a thunk like this 12:25:27 then you have to apply the final result to make anything happen 12:25:31 GODDAMN IT REDDIT STOP EQUATING "DEEP WEB" WITH TOR HIDDEN SERVICES 12:25:31 ah, are you writing a compiler rather than an interp? 12:25:35 oh wait hmm 12:25:38 ais523: yes, just had a breakthrough sort of 12:25:55 12:26:02 hmm wait no, ga 12:26:03 h 12:27:28 deep web just means you have your robots.txt set to prevent search engine indexing, right? 12:28:25 elliott: in unlambda, evaluation and application are separate operations, and you need both. 12:28:40 oerjan: but that destroys my beautiful nice fast evaluation model :( 12:28:55 i think it actually doubles the number of required jumps 12:28:57 Or you use AJAX in a really braindead way. Or I guess Tor Hidden Services are technically a part, but people are talking as though "deep web" is something scary and mysterious 12:29:10 oerjan: it even made the whole thunk thing transparent :( 12:29:16 When they mean to refer to Tor hidden services 12:39:39 oerjan: basically i was trying to unify thunks and functions... 12:39:54 oerjan: by just making thunks pretend they're the function they evaluate to, by forcing themselves and then passing that argument on 12:42:10 About to take a Tylenol 12:43:05 Done 12:43:19 Sgeo: you know you can just /msg yourself? 12:43:27 or does your client not have local logs? 12:43:34 It has local logs 12:43:48 Hmm, am I actually bothering people here 12:43:49 ? 12:44:36 I guess I just felt more comfortable with the log on the web, but it's really unnecessary, sorry 12:44:37 only in the cosmic microwave background radiation sense. 12:44:58 Sgeo: it's not really bothersome, it just looks weird 12:45:09 I suppose I'm hoping for you to make less of a fool of yourself in public 12:45:21 elliott, which CMBR sense? 12:45:34 Phantom_Hoover: its always there and vaguely annoying 12:45:45 although mostly in a cringe-on-behalf way 12:45:50 sorry what do you mean cmbr isnt like that it totally is 12:46:00 Yeah, it's the worst. 12:46:07 !addinterp utest unlambda ```sii````@i|i 12:46:07 ​Interpreter utest installed. 12:46:12 !utest lessee... 12:46:13 ​./interps/unlambda/unlambda.bin: file /tmp/input.2987: parse error 12:46:20 oops duh 12:46:35 !delinterp utest 12:46:35 ​Interpreter utest deleted. 12:46:41 !addinterp utest unlambda ```sii````@i|i`ci 12:46:41 why is that c in angle brackets? 12:46:42 ​Interpreter utest installed. 12:46:53 because i copied the wrong line :D 12:46:57 !utest lessee... 12:47:06 well that didn't work 12:48:00 !delinterp utest 12:48:00 ​Interpreter utest deleted. 12:48:58 !addinterp utest unlambda ```sii``d``@i|`ci 12:48:58 ​Interpreter utest installed. 12:49:01 !utest lessee... 12:49:01 ​le 12:49:16 ..._somewhat_ disappointing 12:49:57 oerjan: thunks are ugly :( 12:50:06 !delinterp utest 12:50:06 ​Interpreter utest deleted. 12:50:42 ah of course 12:51:05 !addinterp utest unlambda ```sii``d```@i|i`ci 12:51:06 ​Interpreter utest installed. 12:51:10 !utest lessee... 12:51:10 ​lessee... 12:51:48 elliott: any opinion on OO.o being donated to Apache? 12:52:13 * ais523 guesses no, but isn't sure 12:52:55 ais523: does anyone care, now that LibreOffice has taken over? 12:52:58 I didn't even know it was donated 12:53:11 the only people who still use OO.o are, I guess, Windows users who don't have the kind of transition Linux distros are doing 12:53:15 elliott: well, LO care, because it's under a license that lets them copy code back out 12:53:27 so it saves them having to reimplement features 12:53:37 ais523: I sort of doubt openoffice will get much active development now that libreoffice exists 12:53:42 and the trademark was donated too, so it's possible that LO will get to call themselves OpenOffice.org again after all 12:53:52 hmm, I actually prefer LibreOffice as a name 12:53:55 the .org necessity was always ugly 12:54:01 if Apache decides to give them the trademark 12:54:01 admittedly, OpenOffice (no .org) has brand recognitino 12:54:06 [asterisk]recognition 12:54:27 OOo is a great acronym 12:54:36 and pretty recognisable 12:54:37 ais523: anyway, OO.o and LibreOffice are both very ugly, slow programs with lots of bad design and kludginess 12:54:41 yep 12:54:47 I avoid them at pretty much all costs, personally 12:54:56 If I really want a WYSIWYG word processor for some reason, AbiWord is usually OK 12:54:57 aren't all WYSIWYG word processors, though? 12:55:04 To varying degrees, yes 12:55:19 I'd say AbiWord is much better than OO.o/LO's word processor as far as UI goes 12:55:21 I have other alternatives for word processing 12:55:24 And speed/hogginess 12:55:25 Me too 12:55:28 and for spreadsheets, too 12:55:31 but not really for presentations 12:55:44 so I still need to use the office suite for something 12:55:46 Well, there's always latex with beamer :) 12:56:00 Or one of them fancy ~~semantickal~~ HTML-based things. 12:56:11 I use html and opera for all my presentations 12:56:24 lol, opera users 12:56:42 there's a css media query you can use to check if you're in full screen (which is either opera-specific or only works in opera, but whatever :D) 12:57:06 implying there's a standard that only opera implements correctly 12:57:20 hmm, apparently Windows 8 has done a Gnome Shell/Unity, and come up with a new crazy tile-based "start screen" 12:57:22 (implying that opera implements any standard correctly) 12:57:35 so we won't even be able to use Windows either to get away from the UI reinvention nonsense 12:57:35 ais523: it looks exactly like Windows Phone, to be honest 12:57:38 yep 12:57:50 and Unity was stolen from UNR 12:57:50 ais523: It looks fairly decent for tablets 12:57:55 not so much for desktops 12:57:56 I think this part just isn't in the standard 12:58:13 ais523: I'm sort of thinking desktops are on the road to extinction, though 12:58:26 olsner: you can't rely on opera to be present on another computer 12:58:44 Netbooks are wildly popular, tablets are probably going to be once they get down to a lower pricepoint (without being saddled with ridiculously inappropriate software like Android) 12:58:44 read something about a proposal to add something similar with a different name to CSS last week though 12:58:51 Even laptops have desktop-esque specs nowadays 12:58:59 I think desktops may be marginalised relatively soon 12:59:03 when I take a really important presentation with me, I save it as .odp, .ppt, and .pdf, and take a live-executable for Windows for both Sumatra and OOo 12:59:05 ais523: I can if my presentation requires opera, or if I bring my own laptop 12:59:15 and then normally, at least one will work 12:59:33 I think desktops may be marginalised relatively soon 12:59:40 What about for high-end machines? 12:59:43 (i.e. assuming X, X is in fact true) 12:59:46 (typically I use the .pdf with Adobe Reader; Sumatra has issues rendering thin lines, in that it draws them as thin as the PDF suggests rather than widening them to 1 pixel) 12:59:46 Phantom_Hoover: those are marginal 12:59:55 Phantom_Hoover: come on, you answered that one yourself 12:59:57 Phantom_Hoover, yeah. 13:00:09 Laptops are a little too convenient. =p 13:00:42 Though I do want a desktop machine to host a ssh server on for tunneling. 13:00:44 !delinterp utest 13:00:44 ​Interpreter utest deleted. 13:01:30 !addinterp utest unlambda ```sii``d`@|`ci 13:01:31 ​Interpreter utest installed. 13:01:33 !utest lessee... 13:01:34 ​lessee... 13:01:48 !utest aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 13:01:49 ​aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 13:01:49 * oerjan cackles evilly 13:02:29 !utest here comes another chinese earthquake brbrbrbrbr 13:02:29 ​here comes another chinese earthquake brbrbrbrbr 13:02:41 all that for cat? 13:03:22 !delinterp utest 13:03:22 ​Interpreter utest deleted. 13:04:00 !addinterp utest unlambda ```s`d`@|i`ci 13:04:00 ​Interpreter utest installed. 13:04:03 !utest lessee... 13:04:04 ​lessee... 13:04:12 BETTER? 13:04:40 oerjan: hmm, does unlambda's `dX ever execute X more than once? 13:04:46 yes 13:04:48 i.e. is it like call-by-name or just lazy evaluation? 13:04:53 call-by-name 13:05:08 oerjan: so I don't have to do the Haskellian "thunks stub themselves out with {return value;} upon evaluation"? 13:05:08 cool 13:05:32 ooh, what if I combined forcing and evaluation with a parameter... 13:06:22 erm 13:06:25 applying and evaluating 13:09:15 !delinterp utest 13:09:15 ​Interpreter utest deleted. 13:09:24 !addinterp ucat unlambda ```s`d`@|i`ci 13:09:24 ​Interpreter ucat installed. 13:10:03 don't see any further improvement on the spot 13:10:31 and it is nicely incomprehensible 13:10:47 !ucat here comes another chinese earthquake brbrbrbrbr 13:10:47 ​here comes another chinese earthquake brbrbrbrbr 13:19:39 how many damn chinese earthquakes are ther 13:19:39 e 13:21:49 !ucat @#$%^&*() 13:21:49 ​@#$%^&*() 13:21:56 !ucat I am a mouse 13:21:57 ​I am a mouse 13:29:49 oerjan: gah, I feel like I could get unlambda evaluation steps down to a few instructions, but the c compiler is getting in my way 13:30:14 !unlambda ``.a`cd`.c`c.b 13:30:22 bah 13:30:36 !unlambda ``r`cd`.c`c.b 13:31:19 wtf 13:31:23 !unlambda ``r`cd`.c`c.b 13:32:19 !echo hello 13:32:29 wonderful 13:32:30 -!- EgoBot has quit (Remote host closed the connection). 13:32:41 -!- EgoBot has joined. 13:32:44 hmm, but this is an extra branch each time... 13:33:04 that DCC output was something insane (it contained _control_ characters!) 13:33:09 !unlambda ``r`cd`.c`c.b 13:33:11 !echo hello 13:33:28 ah 13:35:25 you broke egobot 13:35:43 i may suspect someone of having done +[[.+]+] in a privmsg 13:35:47 um what 13:35:50 well 13:35:51 someone did 13:35:58 !echo hello 13:35:59 ​hello 13:36:17 because that's what the DCC output i got before it quit looked like 13:36:40 and there's a bug that sometimes causes long output to be sent to the wrong place 13:38:27 oerjan: what is the semantics of .x again? 13:38:33 i forget how `.xX is defined 13:38:37 it outputs x, then...? 13:39:08 returns X 13:39:26 oerjan: so X is evaluated before x is output? 13:39:29 yes 13:39:57 unl prim_out_x(unl _, unl k) { 13:39:58 if (!k) return prim_out_x; 13:39:58 unl r = FORCE(k); 13:39:58 putchar('x'); 13:39:58 return r; 13:39:58 } 13:40:00 easy 13:41:15 oerjan: http://sprunge.us/UcGh 13:41:21 oerjan: what do you think about this for an evaluation model? 13:41:30 assume that the C implementation does tail-call optimisation 13:41:46 the whole program would be evaluated with FORCE(thk_d) 13:41:55 oh wait hm 13:42:00 prim_i needs wrapping in a closure structure 13:42:03 with NULL data 13:42:04 but that's obvious 13:42:46 i don't think my brain can manage the context switch at the moment 13:45:42 http://sprunge.us/JaYP there... hmm 13:45:48 i guess it should pass the pointer to the whole closure 13:51:10 this is C++? what does 'closure' do? 13:51:14 oh 13:51:38 !python ''.join(chr((x%255)+1) for x in range(200)) 13:51:47 * Lymia hides 13:51:59 i don't think there is python in egobot 13:52:01 !addinterp recursion recursion2 13:52:01 ​Interpreter recursion2 does not exist! 13:52:04 !sh which python 13:52:06 ​/usr/bin/python 13:52:11 !addinterp recursion python 13:52:11 ​Interpreter python does not exist! 13:52:11 ok there's that 13:52:21 !addinterp recursion unlambda 13:52:22 ​Interpreter recursion installed. 13:52:28 !addinterp recursion2 recursion 13:52:28 ​Interpreter recursion2 installed. 13:52:32 !addinterp recursion recursion2 13:52:32 ​There is already an interpreter for recursion! 13:52:41 !delinterp recursion 13:52:44 ​Interpreter recursion deleted. 13:52:46 !addinterp recursion recursion2 13:52:46 ​Interpreter recursion installed. 13:52:50 !recursion 13:52:51 this is C++? what does 'closure' do? 13:52:53 it is C 13:52:56 and it is the name of the struct. 13:53:01 !echo I'm alive. 13:53:03 ​I'm alive. 13:53:06 :< 13:53:26 !recursion2 13:53:37 yeah, took me a moment 13:53:42 !python print ''.join(chr((x%255)+1) for x in range(2000)) 13:54:02 !haskell putStr ['\001'..'\201'] 13:54:13 argh 13:54:15 !echo hi 13:54:29 !haskell putStr '\000' 13:54:31 ​hi 13:54:44 * Received a DCC CHAT offer from EgoBot 13:54:45 `-` 13:54:49 No output. 13:54:57 Lymia: python is not an interpreter, you cannot use it that way, but since it's in /usr/bin you might be able to run it with sh 13:55:06 !echo hi 13:55:07 ​hi 13:55:15 !haskell putStr ['\001'..'\201'] 13:55:17 ​........ 13:55:40 ah right it sends a newline before anything interesting 13:55:46 so the rest is in DCC 13:55:58 !haskell putStr ['\014'..'\201'] 13:56:00 ​.................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 13:58:05 !sh python -c 'print "Hello"' 13:58:06 ​Hello 13:58:40 -!- Sgeo has quit (Ping timeout: 252 seconds). 13:58:48 !addinterp python sh python 13:58:49 ​Interpreter python installed. 13:58:57 !python print "Hello" 13:58:58 ​Hello 13:59:34 !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')+1)) 13:59:34 ​........ 13:59:42 !python print ''.join(chr((x%255)+1) for x in range(2000) if (x%255)!=(ord('\n')-1)) 14:00:30 !python import random;print ''.join(chr(random.randint(0,255)) in range(100)) 14:00:31 ​.............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.............................. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 14:00:39 nice 14:00:39 !python import random;print ''.join(chr(random.randint(0,255)) in range(100)) 14:00:40 ​Traceback (most recent call last): 14:00:54 !python import random;print ''.join(chr(random.randint(0,255)) in range(100)) 14:00:55 ​Traceback (most recent call last): 14:00:57 lol 14:01:11 !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100)) 14:01:11 ​<*.w)}.. 14:01:22 !python import random;print ''.join(chr(random.randint(0,255)) for x in range(100)) 14:01:23 ​NUs2.&./x(F.LP.}.=.z@~{D7Q..Hg.Q.ۂO0Na{.'.I.. 14:01:34 !python import random;print ''.join(chr(random.randint(0,255)) for x in range(10000)) 14:01:35 ​.I..~zdRT [l7.9a5(^.0 14:01:51 !python a=[None];a[0]=a;print a 14:01:52 ​[[...]] 14:01:55 :< 14:01:59 y u so clever 14:02:25 !python a=[None];a[0]=a;flatten(a) 14:02:25 ​Traceback (most recent call last): 14:06:37 !python print '\nQUIT :This better not work' 14:06:49 !python print '\r\nQUIT :This better not work' 14:06:49 ​. 14:07:03 !python print "So much DCC Chat" 14:07:04 ​So much DCC Chat 14:11:26 (Pop-11 has most of the virtues of python, [...] 14:11:37 wow he was brave to say that on a relatively widely read internal mailing list 14:11:42 I wonder if there will be flames in response 14:12:45 ais523: It's computer science/software engineering, we're hardly known for being quiet and reserved with our opinions 14:12:50 indeed 14:13:08 but I never thought I'd see POP-11 compared with Python 14:13:26 (POP-11's a domain-specific language designed for writing ELIZA-like AI bots, as far as I can tell) 14:13:31 POP-11 was pretty advanced, I gather 14:13:41 ais523: Er, no? 14:13:53 "An online version of ELIZA using Pop-11 is available at Birmingham." is the only thing Wikipedia says that would make me think that. 14:13:57 hmm 14:14:11 perhaps I just saw a biased subset of it from someone who was really an ELIZA freak 14:14:23 POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, [...] POP-11 is an evolution of the language POP-2, developed in Edinburgh University and features an open stack model (like Forth). It is mainly procedural, but supports declarative language constructs, including a 14:14:23 pattern matcher and is mostly used for research and teaching in Artificial Intelligence, although it has features sufficient for many other classes of problems. It is often used to introduce symbolic programming techniques to programmers of more conventional languages like Pascal, who find POP syntax more familiar than that of Lisp. One of POP-11's features is that it supports first-class functions. 14:14:28 Pop-11 is the core language of the Poplog system. The fact that the compiler and compiler subroutines are available at run-time (a requirement for incremental compilation) gives it the ability to support a far wider range of extensions than would be possible using only a macro facility. 14:14:32 it actually sounds quite expressive and advanced to me 14:14:34 far moreso than Python 14:14:42 ais523: there exist ELIZA freaks? 14:14:50 I assume so 14:15:50 the language seems based on pattern-matching lists, anyway 14:16:11 you end up with lots of deeply nested lists writing it 14:18:25 wow, ghc does really terribly at small functions 14:18:32 the prologue and epilogue are just so long 14:23:35 -!- oerjan has quit (Quit: *COUGH* *HACK*). 14:24:08 erm 14:24:09 gcc not ghc 14:24:37 the prologue/epilogue are pretty much hard coded in gcc 14:25:03 I think they're literally hard coded in gcc-bf, there's a string that's spit out at the beginning and end of each function that's quite long 14:25:14 with even the newlines and tabs embedded 14:27:59 yep; unfortunately, I have a lot of really tiny functions, so I really suffer for it 14:30:14 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:38:43 -!- augur has quit (Remote host closed the connection). 14:50:58 -!- Vorpal has joined. 14:51:12 stanislav rapidly reaching levels of smugness even i cannot stand 14:52:40 what's stanislav? 14:52:54 elliott, HI! 14:53:01 elliott, what is the spec like so far? 14:53:11 Vorpal: perfect 14:53:17 olsner: guy who writes loper-os.org 14:53:21 elliott, ah, may I see it? 14:53:53 -!- copumpkin has joined. 14:54:10 Vorpal: 9f0jer0g9jrtmreor09.onion 14:54:25 the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental. 14:58:03 http://mspaintadventures.com/sweetbroandhellajeff/?cid=031.jpg new abahj 15:00:52 Patashu: that's weeks old 15:01:09 really? hm 15:01:16 also, arabian bartender and hasidic juice-drinker? 15:03:38 Patashu: http://twitter.com/#!/andrewhussie/status/68546368226066432 15:03:40 twelfth may 15:06:32 -!- augur has joined. 15:12:33 -!- ais523 has quit (Remote host closed the connection). 15:14:30 -!- azaq23 has quit (Quit: Leaving.). 15:15:37 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:18:35 where's oerjan when you need him 15:21:24 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 16:09:41 -!- Phantom_Hoover has joined. 16:16:58 -!- elliott_ has joined. 16:16:59 -!- elliott has quit (Read error: Connection reset by peer). 16:29:36 -!- ais523 has joined. 16:30:50 -!- copumpkin has quit (Ping timeout: 252 seconds). 16:43:35 -!- copumpkin has joined. 16:47:32 -!- pikhq has quit (Ping timeout: 240 seconds). 16:47:33 -!- pikhq_ has joined. 16:57:21 wait 16:57:25 ais523: unlambda question 16:57:32 ais523: `i`dX doesn't evaluate X does it... 16:57:41 no 16:57:44 but ``i`dXi does 16:57:59 `dX doesn't evaluate X until it's on the LHS of an application 16:58:00 No output. 16:58:10 then it evaluates X, then the RHS of the application, then applies them to each other 16:58:25 ais523: this really complicates my evaluation model :( 16:58:34 it might even completely break it 16:58:37 it's definitely nontrivial 16:58:41 hmm 16:58:43 ah, wait, no it doesn't 16:58:47 in fact, I think d is in the language mostly /because/ it's a pain to implement 16:58:50 just requires some Fancy Tricks 17:00:03 PRIM(d) { 17:00:04 if (!x) return me; 17:00:04 unl thk = new(); 17:00:04 thk->code = prim_d_2; 17:00:04 thk->data = x; 17:00:04 return x; 17:00:06 } 17:00:08 unl prim_d_2(unl me, unl x) { 17:00:10 if (!x) return me; 17:00:12 return APPLY(me->data, x); 17:00:14 } 17:00:16 tada 17:03:19 lol, this phishing scam claims to be "ACCOUNT VERIFICATION" 17:03:30 Apparently they have a trademark on the word "account 17:03:31 " 17:06:42 Impressive. 17:07:32 I'm going to trademark "account[\n]" 17:08:55 elliott_: ITYM "account\n" 17:14:18 man 17:14:19 sharing sucks 17:28:50 Oh, wow. ext filesystems on Linux do not normalize filenames. 17:29:15 They just store the byte sequence handed to them as the filename. 17:29:37 You can have two different filenames that are, as far as Unicode is considered, identical. 17:29:58 s/considered/concerned/ 17:29:59 (though quite distinct as far as a more naive strcmp() is concerned) 17:31:38 I have a feeling OS X normalizes to NFD or NFKD, I think; at least on some level, since I haven't managed to get an "ä" in a file name that wouldn't have been decomposed into a and combining-diaeresis. 17:32:25 It doesn't matter that much what *form* you normalise to, what matters is that you actually apply Unicode normalisation... 17:32:34 To do otherwise is broken. 17:32:58 -!- monqy has joined. 17:34:58 I don't think the filesystem level (at least for ext*) defines the character set at all; it's just defined in terms of octet sequences. So the normalization would either have to happen on a higher level; or you would need to mandate Unicode and, say, UTF-8. 17:37:24 Perhaps on the VFS level or something. I think some filesystems do respect the "iocharset" option for doing some character-set conversions. 17:39:42 It certainly needs to be somewhere in there, though. 17:43:10 Well, now; if your primary interface (the C runtime) is specified in terms of char*s with no inherent character set... 17:51:48 -!- augur has changed nick to codjahandarie. 17:52:48 -!- pikhq_ has quit (Ping timeout: 241 seconds). 17:52:53 -!- pikhq has joined. 17:53:04 -!- codjahandarie has changed nick to augur. 17:58:58 -!- TOGoS has joined. 17:59:04 -!- TOGoS has left. 18:00:25 "You have the ultimate responsibility for moving your old e-mails to the new inbox." -- I don't know, somehow I find this very funnily said. The ultimate responsibility! 18:13:34 Possibly the most onerous task you will ever be asked to undertake :P 18:16:42 Vorpal: 9f0jer0g9jrtmreor09.onion 18:16:43 the distinct lack of numbers i cannot type in this Tor domain is entirely coincidental. 18:16:45 eh? 18:16:56 I don't have tor on this computer 18:16:57 what is it 18:19:45 Gregor: It got funnier. "Staff e-mails will be moved by IT Services in cooperation with the staff members, while students may ask for advice but move the e-mails themselves." See, students are assumed to be able to handle such a complicated thing, while us staff obviously will just mess it up. 18:20:05 -!- zzo38 has joined. 18:26:26 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 18:30:57 -!- Phantom_Hoover has joined. 18:35:08 -!- TeruFSX has quit (Ping timeout: 252 seconds). 18:39:19 Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image. 18:39:44 The wavy version also for some reason perceptually speaking seems to make the room larger. 18:46:07 -!- ais523 has quit (Remote host closed the connection). 18:48:31 -!- ralc has quit (Quit: Leaving). 18:53:01 -!- sebbu2 has quit (Read error: Connection reset by peer). 18:54:37 -!- sebbu has joined. 18:54:37 -!- sebbu has quit (Changing host). 18:54:37 -!- sebbu has joined. 19:02:52 -!- calamari has joined. 19:05:34 fizzie, cool. 19:06:49 *sigh* 19:07:00 There are no decent torrents for the 4th series of Futurama. 19:07:01 Phantom_Hoover: It was a sort of "so I woke up to walk here before 08am, I guess I should be doing something so that I won't fall asleep before the talk begins" situation. 19:08:32 http://torrentz.eu/d04ca09c3e18a77ea650708a708be7911edac5f6 19:08:47 'Complete'; WP lists at least 5 more episodes on the series. 19:14:50 -!- oerjan has joined. 19:15:47 -!- cheater_ has quit (Ping timeout: 248 seconds). 19:17:48 !!! 19:17:52 !h 19:18:00 hmmm, alright. 19:18:19 09:39:42 `dX doesn't evaluate X until it's on the LHS of an application 19:18:25 09:39:53 then it evaluates X, then the RHS of the application, then applies them to each other 19:18:38 incorrect, the RHS is evaluated first 19:19:40 elliott_: ^ 19:34:33 `sh lspci | grep -P 'graphic|video' 19:34:35 No output. 19:35:56 `sh lspci | grep VGA 19:35:58 No output. 19:36:10 `sh lspci 19:36:12 No output. 19:38:06 back 19:38:16 oerjan: oh really? 19:38:19 oerjan: that's /really/ bad 19:38:25 it completely breaks my model :( 19:38:28 `run lspci | grep -P 'graphic|video' 19:38:30 No output. 19:38:34 because functions handle frocing their arguments 19:38:35 forcing 19:38:41 `run which sh 19:38:42 oh hm wait 19:38:43 ​/bin/sh 19:38:46 actually i can fix that 19:39:30 elliott_: the main problem I see with this approach is that it's NOT a hybrid of Perl and Haskell. 19:39:34 oerjan: can i have expanation mark 19:39:38 ! 19:40:06 maybe you could if i had any idea what it was. 19:40:14 !haskell ``dd`.xi 19:40:19 erm 19:40:26 !unlambda ``dd`.xi 19:40:27 ​x 19:40:28 poor haskell 19:40:31 ugh, what 19:40:33 oh 19:40:35 right 19:40:40 `dd ~ i 19:40:41 No output. 19:41:58 elliott_: my ocaml model also made functions handle forcing their arguments 19:42:18 so it definitely can work 19:42:18 oerjan: i sure hope you are not with the stealing of my model bastard :/ 19:42:42 yeah, stealing it, inventing a time machine and going back to 2002 19:43:05 is yours a compiler though 19:43:10 or possibly 2001 19:43:25 in a very liberal sense, yes. 19:43:40 how liberal are we talking 19:44:13 it generates an ocaml program in which the unlambda functions are ocaml functions 19:44:20 ah 19:44:22 oerjan: also my model doesn't handle call/cc... yet 19:44:23 but it does so simply by composing parts 19:44:31 well 19:44:32 oh 19:44:35 my compiler is kind of like that too 19:44:37 THUNK(a, APPLY(&prim_out_x, &prim_i)) 19:44:37 THUNK(b, APPLY(&prim_d, &thk_a)) 19:44:37 THUNK(c, APPLY(&prim_i, &thk_b)) 19:44:37 THUNK(d, APPLY(&thk_c, &prim_i)) 19:44:41 but my idea is that 19:44:50 you could do analysis to find that d could not be possibly applied in some application 19:44:54 and so fold a bunch of thunks into one 19:45:03 mhm 19:45:21 !addinterp keys haskell putStrLn $ map toEnum ([33..64]++[91..96]++[123..126]) 19:45:22 ​Interpreter keys installed. 19:45:24 !keys 19:45:26 ​!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~ 19:46:59 CakeProphet: um the problem is none of the bots have a prefix elliott_ can type, except lambdabot whose @let definitions tend to get wiped out 19:47:33 wrong 19:47:33 ` 19:47:34 (a rather direct consequence of the fact the only command to remove @let definitions removes all of them) 19:47:35 No output. 19:47:37 `eb test 19:47:38 No output. 19:47:39 oh wait 19:47:41 that was the other way around 19:47:54 elliott_: oh you can type ` without problems? 19:47:59 one second 19:48:06 `help 19:48:07 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/ 19:48:45 `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >bin/k 19:48:46 No output. 19:48:47 `run chmod +x bin/k 19:48:49 No output. 19:48:49 `url bin/k 19:48:51 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k 19:48:57 `k 19:48:59 No output. 19:49:03 oh 19:49:08 `cat bin/k 19:49:09 ​echo '!"#$%^&* 0123456789' 19:49:11 can someone prepend a shebang to that 19:49:11 thx 19:49:25 sure. 19:49:41 without using perl 19:49:44 ...aw 19:49:54 but I don't know any other useful commands for that. 19:49:59 THAT'S NOT A REASONABLE RESTRICTION 19:50:38 -!- cheater_ has joined. 19:51:08 `run which echo 19:51:09 ​/bin/echo 19:51:17 `run perl -pie '"#!/bin/sh\n" . <>' /bin/k 19:51:19 No output. 19:51:32 `cat /bin/k 19:51:34 No output. 19:51:36 :) 19:51:46 CakeProphet: wtf, that was perl, we all saw it 19:51:48 CakeProphet: it's bin/k with no / 19:51:51 looks like it failed too 19:52:00 `run perl -pie '"#!/bin/sh\n" . <>' bin/k 19:52:02 No output. 19:52:06 `cat bin/k 19:52:08 ​echo '!"#$%^&* 0123456789' 19:52:10 lol 19:52:16 WRRRRRYYY 19:52:27 oh wait I remember 19:52:33 `run perl -pi -e '"#!/bin/sh\n" . <>' bin/k 19:52:35 ​echo '!"#$%^&* 0123456789' 19:52:55 for some reason you have to put the -e seperately with this one. 19:53:00 `url bin/k 19:53:02 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/k 19:53:11 looks like you destroyed it. 19:53:14 rofl 19:53:15 `cat bin/k 19:53:15 nonsense. 19:53:17 No output. 19:53:27 `run echo '#!/bin/sh' >bin/k 19:53:29 No output. 19:53:39 `run echo 'echo '"'"'!"#$%^&* 0123456789'"'" >>bin/k 19:53:41 No output. 19:53:42 `run chmod +x bin/k 19:53:43 No output. 19:53:44 `k 19:53:46 ​!"#$%^&* 0123456789 19:53:49 ah I should have either taken off the -p or changed <> to $_ 19:53:54 excellent :3 19:54:05 !delinterp keys 19:54:06 ​Interpreter keys deleted. 19:54:31 :_( 19:54:34 `run echo '!"#$%^&* 0123456789' | sed 's,^,#!/usr/bin/perl\n,' 19:54:36 ​#!/usr/bin/perl \ !"#$%^&* 0123456789 19:55:01 `ls /bin/*unl* 19:55:03 No output. 19:55:20 lifthrasiir: no wildcards without `run 19:55:27 `run ls /bin/*unl* 19:55:29 No output. 19:55:34 or that. 19:55:39 lifthrasiir: you want egobot 19:55:43 also 19:55:44 "/bin" 19:55:47 you mean ./bin :P 19:56:02 elliott_: hackego has plenty in /bin too... 19:56:10 elliott_, no, i want to add `k, `sk (and so on) commands that can be used as an unlambda interpreter 19:56:20 !unlambda 19:56:20 ​./interps/unlambda/unlambda.bin: file /tmp/input.12483: parse error 19:56:27 wha. 19:56:39 lifthrasiir: ah :) 19:56:42 but `k is mine :( 19:57:07 `run mv bin/k bin/LIMEY 19:57:09 No output. 19:57:09 it's rather useless to start an unlambda program with anyhow 19:57:29 `echo `ls` 19:57:31 ​`ls` 19:57:36 elliott_: ... :) 19:57:42 lifthrasiir: use run 19:57:43 `run mv bin/LIMEY bin/k 19:57:44 No output. 19:57:47 ` is taken literally, so i think it's just fine 19:57:49 No output. 19:58:07 oerjan: obviously they have to work by calling each other, duh 19:58:08 ;D 19:58:53 | (“reprint character read”) only in Unlambda version 2 and greater 19:58:54 The | function takes an argument X. It returns the evaluation of `X.x, where x is the current character (the one read by the last application of @) or of `Xv if there is no current character (i.e. if @ has not yet been applied or if it has encountered an EOF). 19:58:58 this is a really ugly instruction imo 19:59:25 oerjan: can you write something that tests the corner-cases of d and its interaction with things like s >_> 19:59:26 `run (echo '#!/bin/sh'; echo "(echo '``'; cat) | interps/unlambda/unlambda.bin") > bin/'`' && chmod +x bin/'`' 19:59:28 No output. 19:59:29 without using c 19:59:41 lifthrasiir: interps/ is egobot. 19:59:42 not hackego 19:59:44 !show ucat 19:59:44 ​unlambda ```s`d`@|i`ci 19:59:45 ugh. 19:59:49 LIKE THAT? 19:59:53 lifthrasiir: you can use addinterp 19:59:56 oerjan: uses io 19:59:57 oerjan: erm 19:59:58 oerjan: rather 20:00:00 uses input 20:00:05 indeed 20:00:06 which i havent bothered to implement yet 20:03:07 oerjan: ok i will struggle on my own >_> 20:03:11 there is the famous ``r`cd`.*`cd hack, although that really just uses d in ways that are equivalent to i 20:03:14 -!- pikhq has quit (Ping timeout: 240 seconds). 20:03:16 -!- pikhq_ has joined. 20:03:31 uses c 20:03:39 sheesh 20:04:01 !​unlambda `s`d`.xv 20:04:14 !​unlambda ``s`d`.xvi 20:04:18 !​unlambda ```s`d`.xvii 20:04:22 what 20:04:30 EgoBot? 20:04:32 You have wrong character at the start 20:04:38 !echo hi 20:04:38 ​hi 20:04:39 oh 20:04:47 !​​unlambda `s`d`.xv 20:04:51 better? 20:04:53 Still wrong! 20:04:56 !unlambda ```s`kd`k.x.y 20:04:57 :( 20:05:03 fucking broken bots 20:05:08 !unlambda `s`d`.xv 20:05:14 right now? 20:05:22 Yes, but it still doesn't seem to work. 20:05:26 !unlambda ``s`d`.xvi 20:05:28 !unlambda ```s`d`.xvii 20:05:29 ​x 20:05:31 ok 20:05:34 good enough test program for me 20:05:35 oh wait 20:05:38 Now it works. 20:05:42 !unlambda ```s`d`.xv`.yvi 20:05:42 ​yx 20:05:51 !unlambda ```s`d`.xv`.yv`d`.zv 20:05:52 ​yx 20:05:52 !unlambda ```sd`k.x.y 20:05:53 ​y 20:05:56 !unlambda ```s`d`.xv`d`.yv`d`.zv 20:05:57 ​xy 20:06:01 there you go 20:06:08 oerjan: yours looks simpler than mine :D 20:06:16 you don't say 20:06:57 oh hm 20:07:10 !unlambda ````sd`k.x.yi 20:07:10 ​yx 20:08:01 yay, it outputs y for me 20:08:04 Could someone please output a quine in IRC? 20:08:06 oerjan: argh, do i have to manually convert again? 20:08:07 CakeProphet: no 20:08:37 man, fucking IRC programming, finnicky shit. 20:08:41 CakeProphet: my status line doesn't say "#irp" 20:09:09 oerjan: is your old program ok 20:09:12 or do i have to try that one too 20:09:14 hm 20:09:58 !unlambda ````sd.x.yi 20:09:58 ​xyy 20:10:15 !unlambda ```sd.x.y 20:10:16 ​xy 20:10:54 what old program? 20:15:39 ?????????????????????????????????????????????????????????????/ 20:15:48 > repeat '?' 20:15:49 "??????????????????????????????????????????????????????????????????????????... 20:16:50 what old program? 20:16:55 / ```sd`k.x.y 20:17:20 oh _that_ ancient crap 20:18:00 i'd imagine you'd want to try as many of them as possible 20:18:26 oerjan: i have to convert these by _hand_ you know :D 20:18:31 THUNK(a, APPLY(&prim_s, &prim_d)) 20:18:32 THUNK(b, APPLY(&prim_k, &prim_out_x)) 20:18:34 THUNK(c, APPLY(&thk_a, &thk_b)) 20:18:36 THUNK(d, APPLY(&thk_c, &prim_out_y)) 20:18:38 that's tangible work[EXCLAMATION MARK] 20:18:53 ...i see. i suggest writing a compiler to do it, or something. 20:20:08 oerjan: yeah yeah :D 20:20:19 elliott_: Why, that looks *suspiciously* like clambda.h stuff. 20:20:36 pikhq_: its not similar really, the thunks are pretty different 20:20:46 Oh? 20:20:56 http://forums.silverlight.net/forums/p/230502/562113.aspx As Windows 8 dawns, Silverlight developers begin to dwell -- if only for seconds -- on the possibility that their platform may be an abandoned pile of shit. 20:21:07 pikhq_: #define FORCE(x) (x)->code((x), 0) 20:21:07 #define APPLY(f, x) (f)->code((f), (x)) 20:21:15 pikhq_: basically its lazy evaluation where every function acts like the function it evaluates to 20:21:19 but if you pass a NULL argument 20:21:21 it just forces instead 20:21:26 it is actually a decent system imo... 20:21:32 albeit hard to understand 20:21:32 Oh, hey, a smarter design. 20:21:38 well um no 20:21:41 yours is for general lambdas 20:21:48 this is just for an unlambda compiler 20:21:53 Bah. 20:22:53 I still can't believe I actually did that shit... 20:22:59 X-D 20:23:13 What's worst is that it's not too revolting. 20:23:30 -!- muaddib1 has joined. 20:24:43 muaddib1: you appear to be missing your l and t 20:24:47 i've got spares, would you like them? 20:25:56 muaddib1: they're free. 20:26:15 ok 20:26:31 oerjan: http://esolangs.org/w/index.php?title=Talk:This%3DThat&curid=2951&diff=23195&oldid=18848 can you handle {{unsigned}} duties :D 20:26:33 muaddib1: here you go. 20:26:46 -!- muaddib1 has left. 20:26:53 an excellent transaction 20:27:29 erm i saw that and it annoyed me, but technically it _is_ signed, i think he may have used the wrong number of ~'s? 20:27:41 Vorpal: Incidentally, I re-optimized that congress hall picture with some vertical lines (based on the walls) in place; now it's less wavy, but some seams are worse: http://users.ics.tkk.fi/htkallas/prague-congress-hall.jpg → http://users.ics.tkk.fi/htkallas/prague-congress-hall-2.jpg -- not sure if I can be bothered to try getting a both-okay image. 20:27:43 nice 20:27:51 * oerjan just clicks the signing button himself... 20:28:04 I believe that by "incidentally" you meant "apropos of nothing" X-P 20:28:19 The wavy version also for some reason perceptually speaking seems to make the room larger. <-- indeed 20:29:06 oerjan: But that'll produce the wrong date/time >_> 20:29:20 what? how so? 20:29:27 oerjan: because you're signing it later 20:29:30 than the edit was 20:29:42 um i mean when i sign my own messages 20:29:47 oh 20:29:56 well it isn't signed _properly_ :( 20:39:37 lisp's semantics annoy me 20:56:46 -!- Sgeo has joined. 21:14:39 -!- wareya has quit (Read error: Connection reset by peer). 21:15:15 wtf that's a big comment thread http://www.reddit.com/r/AskReddit/comments/hpx98/what_pisses_you_off_but_really_shouldnt/ 21:15:23 -!- wareya has joined. 21:17:50 oerjan, which one? 21:17:59 Oh, right the whole thing. 21:18:16 ugh this thread 21:18:21 right from the first post 21:18:24 its like reddit circlejerk heaven 21:18:27 http://spritesmods.com/?art=avrcpm 21:18:41 curiously it doesn't have that many _upvotes_ 21:18:53 oerjan: hmm, well we know the counters are fudged 21:18:57 maybe there's a spambot 21:18:59 right at the bottom 21:19:00 naw 21:19:01 dunno 21:19:14 elliott_: only the up/down tallies, not the difference 21:19:23 oerjan: erm no 21:19:35 oerjan: you get posts that are like sixty/thirty which in reality only got like a dozen downvote 21:19:36 s 21:20:10 elliott_: um i've read reddit admins saying that while up and down are fudged, the _difference_ is accurate. 21:20:38 oerjan: hmm 22:07:15 -!- pikhq has joined. 22:08:17 -!- pikhq_ has quit (Ping timeout: 240 seconds). 22:18:21 -!- MigoMipo has quit (Remote host closed the connection). 22:36:22 -!- Patashu has joined. 22:36:52 -!- calamari has quit (Quit: Leaving). 22:40:24 -!- oerjan has quit (Quit: Good night). 22:42:32 -!- Vorpal has quit (Ping timeout: 255 seconds). 22:44:16 -!- augur has quit (Remote host closed the connection). 22:49:31 https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 22:49:36 APT GUY STRIKES AGAIN 22:52:09 APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY 22:52:49 `addquote https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 APT GUY STRIKES AGAIN APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY 22:52:50 ​434) https://bugs.launchpad.net/ubuntu/+source/pam/+bug/790538 APT GUY STRIKES AGAIN APT GUUUUUUUY NANANANANANANANANANANANANANANANA APT GUUUUUUUUUUUUUY 22:52:52 never have enough inanity 22:52:59 Phantom_Hoover: wait which one is apt guy again :D 22:53:07 The idio. 22:53:12 *idiot 22:53:14 which one is that 22:53:21 wait 22:53:25 none of these are apt guy 22:53:26 you scoundrel 22:53:27 Although he did appear to be reforming to the extent of at least learning Haskell. 22:53:30 lying scum :| 22:53:32 i mean 22:53:32 t 22:53:35 which one in the bug report 22:53:47 That was, in fact, a joke. 22:54:27 now 22:54:29 i gather this 22:54:30 but jokes 22:54:31 are also 22:54:32 known 22:54:32 as 22:54:33 LIES 22:54:35 FILTHY SCUMMY LIES 22:54:47 your niditism is at all all time low 22:55:01 What is niditism. 22:56:03 see topic 23:02:43 elliott_ is a major nidiot. 23:02:54 thx 23:02:56 u too 23:16:18 -!- augur has joined. 23:18:42 -!- elliott_ has quit (Ping timeout: 252 seconds). 23:29:40 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 23:31:02 -!- pikhq_ has joined. 23:33:52 -!- pikhq has quit (Ping timeout: 240 seconds). 2011-06-03: 00:00:13 -!- CakeProphet has quit (Ping timeout: 276 seconds). 00:01:55 -!- CakeProphet has joined. 00:01:55 -!- CakeProphet has quit (Changing host). 00:01:55 -!- CakeProphet has joined. 00:13:03 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:17:53 I think I just figured out how to give my native function calling O(log n) complexity 00:18:10 Highly inspired by a sleep-deprived misreading of something someone else wrote 00:22:36 -!- FireFly has quit (Quit: swatted to death). 00:26:55 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:26:57 -!- Phantom__Hoover has joined. 00:27:13 Sgeo, ah, so that's why you all do that. 00:29:48 Hm? 00:30:02 I just need to do a hard-coded binary search 00:30:16 I mean get sleep deprived. 00:31:23 wear down your defences until weird ideas attack you, hoping some of those ideas end up being useful 00:31:38 Exactly. 00:53:00 * Phantom__Hoover → sleep 00:53:19 -!- Phantom__Hoover has quit (Quit: Leaving). 00:55:55 It's impossible to do CPS without TCO, right? 00:58:30 http://en.wikipedia.org/wiki/Continuation-passing_style#CPS_and_tail_calls 01:00:43 Maybe I should read up on what Chicken Scheme does 01:13:01 Why can't I do first-class continuations without CPS? 01:22:33 LSL does, in fact, have a goto 01:22:38 This would have been good to remember. 01:22:47 Actually, it's more that CPS completely and utterly eliminates the need for a call stack at all. 01:23:40 That's not the only reason for going CPS, is it? 01:25:31 If I don't take the bytecode approach, I can use GOTOs as a sort of call, since there's no need to return from it in CPS 01:26:40 It is a compelling argument if doing TCO would be a pain but just doing a jump would be easy. 01:27:13 Still have to manage your closures, but eh, you'd have to do that in most languages. 01:27:47 Thing is, the jump itself is hardcoded I think 01:28:05 Not sure if that affects anything, I don't know what C gotos are like 01:28:28 http://lslwiki.net/lslwiki/wakka.php?wakka=jump 01:28:54 "Note: Please see the comments, you can only have a single jump statement going to a label." 01:28:56 The fuck? 01:30:30 Which means, you need two labels in one place if you want to jump twice? 01:30:47 Yes 01:31:17 Well, no, if you call the same jump statement twice 01:32:56 Sgeo: Give up now. 01:33:28 If you *really* feel nice, become a Linden and get them to start using ECMAScript or Lua or something else non-revolting. 01:33:32 Otherwise, give up now. 01:34:12 If I were to do the jump thing, I'd still have to deal with making them first-class somehow 01:35:36 pikhq_, which part means I should give up? 01:35:42 Sgeo: All of it. 01:37:40 I think I'm going to read up on how Chicken compiles to C 02:01:39 Why am I so scared to read http://home.pipeline.com/~hbaker1/CheneyMTA.html 02:02:13 Also, LSL does not have malloc, but its lists can hold items of arbitrary types and lists allocated on the "stack" can be reassigned to with larger lists 02:02:27 Don't know if that's proper terminology 02:03:15 Appel's method is boring 02:06:37 Ugh, this paper uses some sort of archaic C syntax 02:08:24 Is it just me, or does this require being able to see the stack prior to the most recent function call? 02:08:32 I don't think LSL is that powerful 02:08:53 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 02:42:00 -!- TeruFSX has joined. 02:47:44 -!- copumpkin has joined. 02:53:26 -!- pingveno has quit (Ping timeout: 252 seconds). 02:55:28 -!- pingveno has joined. 03:02:40 so could there be a way to set up a language to do CPS under the hood? 03:03:06 -!- TeruFSX has quit (Read error: Connection reset by peer). 03:12:30 -!- dnm_ has quit (Ping timeout: 250 seconds). 03:12:48 -!- dnm_ has joined. 03:15:39 -!- Kustas has joined. 03:24:11 -!- Kustas has quit (Ping timeout: 240 seconds). 03:25:07 -!- azaq23 has joined. 03:25:20 -!- Kustas_ has joined. 03:25:25 -!- Kustas_ has changed nick to Kustas. 03:29:08 Memes, a regular expression guide. 03:29:20 (.*?) .*? is \1 03:30:19 (?i)longcat is lo+ng([.!])+ 03:31:11 (?i)yo dawg, I heard you like (.*?) so we put a \1 in your .*? so you can .*? while you .*?[.!]? 03:31:30 correction: 03:31:43 -!- azaq23 has quit (Ping timeout: 252 seconds). 03:31:44 (?i)yo dawg, I heard you like (.*?)(e?s)? so we put a \1 in your .*? so you can .*? while you .*?[.!]? 03:31:47 -!- Kustas has quit (Ping timeout: 240 seconds). 03:32:28 Yo dawg, I heard you like ZALGO HE WHO WAITS BEHIND THE WALL!!! 03:32:37 03:38:45 -!- azaq23 has joined. 03:43:47 Jeeze. Is... Microsoft getting rid of WIMP? 03:44:39 -!- Kustas has joined. 03:47:29 but 03:47:30 but 03:47:36 my weakly interacting massive particles :( 03:48:15 Window Icon Menu Pointing device. 03:49:04 what the hell is that? 03:49:21 The traditional UI paradigm. 03:51:22 define specifically 03:52:49 Any UI with windows, icons, menus, and a pointing device as the primary features. Examples include Xerox Alto, Mac OS 1-present, Windows 1-7, KDE, GNOME, XFCE, etc. 03:53:44 ah ok 03:53:59 what's microsoft trying to introduce instead? 03:54:02 I dislike wimp. is their replacement any good? 03:54:08 The Windows Phone 7 UI. 03:54:18 Oo 03:54:27 link? 03:54:33 http://www.youtube.com/watch?v=p92QfWOw88I 03:55:35 hmm... interesting 03:55:44 can't say I'll use it much 03:56:24 And WINE is, no doubt, hating them so much. 04:00:35 I really do wonder if they're dogfooding that. 04:00:51 Actually, no, pretty sure they're not. 04:01:25 You'd probably see more concessions to not fucking sticking your fingers in your vision if they were. 04:06:41 microsoft? dogfood? that doesn't sound right :P 04:06:58 They dogfood more than you'd expect. 04:07:23 If it's good and from them, they probably dogfood it. :P 04:07:55 so they dogfood nothing :P 04:11:02 http://en.wikipedia.org/wiki/Eating_your_own_dog_food#Criticism_and_alternatives 04:12:22 worst part about dogfooding is not having a clue what's public 04:13:26 e.g. search by subject was released at some point in the last month, and I haven't a clue when 06:08:35 -!- pikhq_ has quit (Ping timeout: 240 seconds). 06:08:52 -!- pikhq has joined. 06:15:41 I mostly dislike WIMP interface (one reason most of my programs do not use it!) 06:17:29 Why do you think Pokemon de Panepon was designed so that BY DEFAULT THE SCORE ONLY GOES UP TO 99999 (you can push SELECT+A on the option menu to reveal more options, one of which allows the score to go up to 999999)? 06:23:51 -!- Kustas has quit (Ping timeout: 258 seconds). 06:25:47 zzo38: Yes, but you don't replace it with something which is *strictly worse* in a desktop environment. 06:26:06 pikhq: I agree, that Microsoft is in fact making it worse. 06:27:56 I agree too 06:28:21 touchscreens themselves strike me as gimmicky, as well 06:28:46 I prefer keyboard control, rather than touchscreens (there is more than one reason for this) 06:28:59 keyboards always forever 06:30:17 don't have to cover screen with hand, don't have to smear screen, faster to hit keys than drag hand, less awkward to hit keys than touch screen 06:30:20 what else 06:31:31 I thought of all those reasons. One more is that there can be room on screen for all text/graphics while typing the keys, instead of having mode-switching on-screen keyboards or other similar things to that. 06:32:33 onscreen keyboards suffer from acute awkward 06:33:42 And even another, is that if you have a separate keyboard then you can connect other devices there, such as separate number pad if you prefer it separate rather than joined; that you can build keyboard separately from the user interface; you can (except on some old terminals) physically move the keyboard differently than how the display is (allowing you to set viewing/typing angles)... 06:34:24 And, that in cases where mouse is also useful, sometimes it is useful to use some keys at the same time as that. 06:34:37 I think the thing that annoyed me most about the windows 8 video was the fast and fluid app switching 06:35:16 cycling through everything until hitting the right one, was it 06:48:34 -!- jcp has quit (Ping timeout: 240 seconds). 06:49:57 -!- pikhq has quit (Ping timeout: 252 seconds). 06:52:07 touchscreens are not gimmicky 06:52:31 they can be used in a gimmicky fashion 06:53:03 but they have a wider range of input than a mouse and a well-designed interface can take advantage of this 06:53:47 -!- zzo38 has quit (Quit: Am I strictly worse than a desktop environment?). 06:54:00 -!- jcp has joined. 06:56:09 -!- myndzi has quit (Ping timeout: 260 seconds). 06:57:07 -!- myndzi has joined. 06:57:54 -!- pikhq has joined. 07:18:29 -!- pikhq_ has joined. 07:18:34 -!- pikhq has quit (Ping timeout: 260 seconds). 07:44:37 -!- azaq231 has joined. 07:45:20 -!- azaq23 has quit (Ping timeout: 244 seconds). 07:48:59 -!- azaq231 has quit (Ping timeout: 250 seconds). 07:49:20 -!- Kustas has joined. 07:51:29 -!- azaq23 has joined. 07:56:42 -!- oerjan has joined. 08:04:24 If you *really* feel nice, become a Linden and get them to start using ECMAScript or Lua or something else non-revolting. 08:05:02 why do i get the feeling that this LSL thing you keep talking about is kept retarded precisely to _keep_ people from writing such stuff as Sgeo is trying to? 08:05:28 (i'm sure general TC computation is pretty resource intensive, after all) 08:05:42 LSL is TC 08:05:59 yes but not in a convenient way, it seems 08:06:33 I mean, except for bounds on how much memory is accessible, but that's like any real computer 08:06:43 hm 08:06:59 Well, it has non-fixed-sze lists, loops, if statements, etc. 08:07:36 somelist += [morestuff]; probably works in the crappy way it looks like, but it still works 08:09:14 Is it just me, or does this require being able to see the stack prior to the most recent function call? 08:09:32 iiuc you need to be able to follow pointers into the stack to move content to the heap 08:09:47 although you don't need to know the stack format 08:10:13 LSL doesn't have pointers.. 08:10:24 bit of a problem right there 08:10:38 what about mutable lists? 08:10:40 Hmm, if I replace function calls with gotos, maybe I could deal with it that way 08:10:53 oerjan, does something += [stuff] count as mutable? 08:11:09 We have mutable triplets and quadruplets of floats! (Useless) 08:12:11 There is also a goto. It's a bit broken. 08:12:42 oh hm i think the pointer following is essentially a GC 08:13:05 I was thinking I'd just store all the data and scope stuff in a few globally accessible lists 08:13:16 And supply functions to get to those 08:13:25 make your own heap, check 08:13:37 Isn't Java technically Turing Complete even though C++, etc arn't? 08:14:03 Sgeo: so lists are immutable then? 08:14:10 Yes 08:14:14 As far as I can tell 08:14:32 oh well 08:15:00 Lymia: could well be, C/C++ are non-TC for rather stupid pointer-size reasons 08:15:15 Do I actually need a heap, can I just have a stack? 08:15:22 oerjan, can anything that low level be TC? 08:15:33 * oerjan swats Lymia -----### 08:16:25 have you even _looked_ at some of the formalisms that _are_ TC? :D 08:17:17 mmmm 08:17:23 SUBLEQ is TC, and far lower level than C. it achieves this by simply not having stupid size bounds on its cell contents. 08:17:35 I was about to mention subleq too 08:17:44 I see. 08:18:02 is bct low-level at all? 08:18:04 (i mention SUBLEQ because it's also essentially interchangeable int/pointer based) 08:18:27 monqy: i'd say so 08:18:39 horribly few abstractions there... 08:19:41 I should really, really figure out why I'm under the impression that my language doesn't need a heap 08:20:09 under an impression and you don't know why? ouch 08:20:09 Sgeo: i am pretty sure i've read several times that general functional programming requires memory layouts which support GC 08:20:47 (basically once you start throwing higher-order functions around, it becomes frequently impossible to know object lifetimes statically) 08:20:47 oerjan, is that in relation to my heap issue? 08:21:14 I think my confusion is because I wasn't sure that I'd be GCing anything 08:21:18 Or that I'd... hmm 08:21:26 Sgeo: yeah. unless you have a very controllable stack (which means you can essentially _use_ it as a heap) 08:21:54 I should really read up on this 08:22:24 I'm not even sure why it's called a stack. The way I'm imagining it, it would be a stack, but that's only because of nested... scope.. ish 08:22:30 Sgeo: there have been experiments on using so-called region inference to determine object lifetime in ML variants to avoid heap. however it's an advanced algorithm to achieve _and_ you sometimes need parts to be in a GC-able heap anyway.) 08:22:35 *-) 08:22:40 -!- Le_Aragorn has joined. 08:23:10 -!- Le_Aragorn has quit (Remote host closed the connection). 08:23:28 Sgeo: what 08:24:14 isn't it because you traditionally store call frames in a stack 08:24:33 and "stack variables", or whatever they're called, go in the call frames 08:24:38 Oh 08:24:40 pardon me if I'm nonsense 08:24:53 sounds reasonable to me 08:25:06 That makes sense 08:25:20 scheme, because of call/cc, sometimes needs to put call frames on the heap 08:25:43 Wouldn't a CPS thing not have call frames as such? 08:25:51 Or am I now misunderstanding "call frame" 08:26:01 I think it still would. 08:26:05 it would have closures instead, which essentially contained the same information 08:26:28 def a(v0,v1,continuation): continuation(v0); continuation(v1) 08:26:49 Lymia: some dead code at the end there 08:27:19 I mean in CPS, that is 08:27:32 Lymia: still dead code 08:27:38 Ah. 08:27:45 continuations not returning is pretty much their _definition_ 08:27:46 Does CPS not allow continuations that return? 08:27:50 I see. 08:27:52 hehehehh 08:28:09 if you want it to "return", give it a continuation to which to return 08:28:16 yeah 08:28:20 :) 08:29:33 take a look at http://c2.com/cgi/wiki?OriginalIoLanguage 08:30:55 argh the amalthea page is gone :( 08:32:01 ooh someone's made a new implementation in haskell 08:32:19 http://hackage.haskell.org/packages/archive/Ganymede/0.0.0.5/Ganymede.cabal 08:38:28 (?i)yo dawg, I heard you like (.*?)(e?s)? so we put a \1 in your .*? so you can .*? while you .*?[.!]? 08:38:58 i think that e? is a bit tricky since you sometimes want it captured and sometimes not 08:39:51 20:13:57 Yo dawg, I heard you like ZALGO HE WHO WAITS BEHIND THE WALL!!! 08:39:54 20:14:05 08:40:06 insufficient unicode 08:53:37 -!- Vorpal has joined. 09:00:40 -!- Wiz126 has quit (Read error: Connection reset by peer). 09:02:56 -!- MigoMipo has joined. 09:11:04 -!- azaq23 has quit (Read error: Operation timed out). 09:14:37 -!- azaq23 has joined. 09:32:16 So. 09:32:23 We have a person with a script that does this: \o/ 09:32:24 | 09:32:24 |\ 09:32:29 I now have a quesion. 09:32:31 question* 09:32:37 What percentage of golfed perl code triggers that? 09:34:53 there was some triggering during the recent deadfish golfing 09:36:58 -!- aloril has quit (Ping timeout: 246 seconds). 09:38:54 -!- pikhq_ has quit (Ping timeout: 240 seconds). 09:39:01 -!- pikhq has joined. 09:49:13 -!- aloril has joined. 09:56:58 -!- aloril has quit (Read error: Operation timed out). 10:05:10 -!- Patashu has joined. 10:11:33 -!- aloril has joined. 10:16:54 -!- cheater__ has joined. 10:22:08 -!- Phantom_Hoover has joined. 10:23:05 Blancmange. 10:23:53 Are we gonna do a Monty Python bit? 10:26:31 A Monty Python once bit my sister 10:27:45 -!- monqy has quit (Quit: hello). 10:27:53 Who needs Monty Python when we have oerjan. 10:28:34 INDEED 10:29:00 What have Monty Python ever done for us? 10:30:37 -!- Vorpal has quit (Ping timeout: 250 seconds). 10:36:03 NOTHING 10:58:08 Ooooooooh http://www.irregularwebcomic.net/special/educational.html 10:58:30 <3 11:05:23 -!- BeholdMyGlory has joined. 11:19:07 -!- sebbu has quit (Read error: Connection reset by peer). 11:19:38 -!- sebbu has joined. 11:20:12 http://www.irregularwebcomic.net/2391.html how I feel about my project 11:20:39 -!- SimonRC has quit (Ping timeout: 260 seconds). 11:22:22 -!- SimonRC has joined. 11:25:08 Sgeo, suggest you flip a coin. 11:41:05 -!- SimonRC has quit (Ping timeout: 252 seconds). 11:41:11 -!- SimonRC has joined. 11:54:10 > 2281-324 11:54:11 1957 11:55:38 -!- Vorpal has joined. 12:03:37 -!- pikhq_ has joined. 12:03:52 -!- pikhq has quit (Ping timeout: 258 seconds). 12:16:14 -!- azaq23 has quit (Ping timeout: 240 seconds). 12:22:14 -!- azaq23 has joined. 12:25:37 oerjan, I just heard that the Norwegian for 'kth' sounds like the Norwegian for 'horny'. 12:25:51 How did you ever learn maths over the giggles. 12:28:24 Phantom_Hoover, maybe they used "nth" instead of "kth"? 12:28:57 Vorpal, doing that is almost certainly more trouble than it's worth. 12:29:40 bbl 12:37:36 -!- oerjan has quit (Quit: Yes, kåte ~ horny). 12:54:02 -!- FireFly has joined. 13:04:41 !@#$ how did I miss this email? https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006229.html 13:18:10 -!- MigoMipo_ has joined. 13:21:35 -!- MigoMipo has quit (Ping timeout: 240 seconds). 13:23:31 Actually, I don't think that's split properly 13:43:35 -!- SimonRC has quit (Ping timeout: 260 seconds). 13:43:42 -!- SimonRC has joined. 13:51:15 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 13:52:14 -!- Phantom_Hoover has joined. 14:12:48 -!- Kustas has quit (Quit: back in a few). 14:17:38 Why is Twittch in my feeds? 14:17:42 It's a stupid comic 14:17:57 I think maybe I saw one in a presentation somewhere 14:27:52 Who knows. 14:28:17 -!- SimonRC has quit (Ping timeout: 252 seconds). 14:28:36 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:28:58 -!- SimonRC has joined. 14:29:14 -!- pikhq_ has quit (Ping timeout: 240 seconds). 14:29:19 -!- pikhq has joined. 14:54:48 Just got back from a job interview at Wal-Mart. I think I give them a pretty impression. Mainly because I'm not a meth addict. 14:57:50 -!- copumpkin has joined. 15:09:28 lol pretty impression 15:09:33 yes, I was very cute. 15:14:01 -!- ais523 has joined. 15:18:26 which you wouldn't have been if you were a meth addict 15:21:43 -!- copumpkin has quit (Remote host closed the connection). 15:22:10 -!- copumpkin has joined. 15:23:05 -!- pumpkin has joined. 15:24:10 -!- Plazma has left ("Leaving"). 15:27:08 -!- copumpkin has quit (Ping timeout: 276 seconds). 15:40:59 I'm all for going against the mainstream, but that should NOT be a language's main pitch 15:41:02 http://www.eiffel.com/general/awareness/try_eiffel.html 15:41:42 Eiffel: the language of hipsters. 15:41:56 Named, of course, after the tower in the city of hipsters. 15:41:58 how is eiffel? I heard it had more sensical types than java 15:42:35 -!- Tritonio has joined. 15:53:55 I can't helped but be overwhelmed by the buzz buzz buzz BS on the Eiffel site 15:54:02 And yet, I know I'm going to look into it 15:54:06 Again 15:55:36 wow, that site ... does not look like the site of anything good 15:56:41 those developers have the most :colbert: expression 15:57:07 http://i.somethingawful.com/forumsystem/emoticons/emot-colbert.gif 15:57:31 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:59:31 -!- pumpkin has changed nick to copumpkin. 16:04:13 Completely object-oriented approach. Eiffel is a full-fledged application of object technology, not a "hybrid" of O-O and traditional concepts. 16:04:16 yeah, no thanks. 16:05:04 we wouldn't want those nasty functions and top-level non-object things messing up our "object technology." 16:07:34 The name of the class is HELLO. Any class may contain "features"; HELLO has just one, called make. The create clause indicates that make is a "creation procedure", that is to say an operation to be executed at class instantiation time. The class could have any number of creation procedures. 16:07:42 cool, so now I get to memorize non-standard constructor names. 16:12:09 In modeling terms, client roughly represents the relation "has" and heir roughly represents "is". For example we may use Eiffel classes to model a certain system and express that every child has a birth date (client relation) and is a person (inheritance). 16:12:18 "roughly" as in "exactly the same thing" 16:33:24 ...oh god 16:33:27 I've run out of Futurama. 16:33:59 Wait, no, there's a season 6. 16:47:38 -!- cheater__ has quit (Quit: Leaving). 16:56:20 bleh, Slashdot is down, except for the homepage 16:56:27 when logged in, at least 17:09:06 -!- pikhq has quit (Ping timeout: 240 seconds). 17:09:10 -!- pikhq has joined. 17:40:03 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 17:54:49 -!- Kustas has joined. 17:55:20 -!- Tritonio has quit (Quit: Leaving). 18:05:44 -!- oerjan has joined. 18:19:12 -!- monqy has joined. 18:19:21 08:35:06 I can't helped but be overwhelmed by the buzz buzz buzz BS on the Eiffel site 18:19:25 08:35:13 And yet, I know I'm going to look into it 18:19:36 and thus we realized that Sgeo is a moth 18:33:56 -!- oklopol has joined. 19:05:01 elliott i need you 19:24:37 -!- sebbu has quit (Read error: Connection reset by peer). 19:25:03 -!- sebbu has joined. 19:25:03 -!- sebbu has quit (Changing host). 19:25:03 -!- sebbu has joined. 19:27:52 -!- Phantom_Hoover has joined. 19:32:01 "people need to stop miss-using the concept of double standard. 19:32:01 Boys and girls are different. Treating them differently is NOT a double standard." — Reddit commentor. 19:33:03 i'm sure everyone has a fascinating opinion on this 19:33:10 let's hear them ppl? 19:33:43 i ate too much cheese 19:33:57 I did *not* eat too much cheese 19:34:15 oklopol, you should probably talk to Gregor about that. 19:35:56 -!- Kustas has quit (Quit: continue some other time). 19:45:40 house is... operating on himself 19:46:13 i've been waiting for this for years 19:46:34 Houses all the way down. 19:52:54 the new season is prolly the best sofar 19:53:15 then again that's how series always work 20:00:06 -!- TeruFSX has joined. 20:07:41 oklopol, yes, of course. 20:14:51 oklopol: Nobody sane is arguing for complete and utter ignorance of real distinctions. 20:15:12 oklopol: Just calling out real double standards that exist in our culture. 20:16:19 pikhq: i don't doubt that everyone here (except me) has a very nice and neat opinion. i'm just currently extremely bored with this topic family. 20:16:34 so any opinion irks me to some extent. 20:16:36 well not really 20:17:02 oklopol, I wasn't really looking for opinions beyond "what an idiot". 20:17:23 Phantom_Hoover: well i'm scared easily! 20:17:48 oklopol, don't look behind you, then. 20:18:01 please don't do that :D 20:18:05 Phantom_Hoover: That person is a moron. 20:18:13 Phantom_Hoover: Happy? 20:18:17 pikhq, yep. 20:18:18 Phantom_Hoover is always happy 20:18:30 well, content enough. 20:18:31 oklopol, except for when sshc is around. 20:18:50 i'm not that familiar with sshc 20:18:57 where the fuck is that elliott BITCH 20:19:05 * oklopol tries new approach 20:19:23 called the classic oklopol approach 20:21:46 Wow. E17 is still in development? I think it's trying to beat DNF or something. 20:22:09 E17? 20:23:49 Enlightenment, version 17. 20:24:06 Began development in 2000. 20:24:12 Still not released. 20:24:16 Not as bad as Project Xanadu. 20:24:23 That's older than my parents. 20:25:33 Though at least it's not complete vaporware; SVN snapshots are readily available... 20:25:47 Along the way, it's gotten severe feature-creep. 20:26:14 Last I checked, it managed to turn into a full DE with its own widget library. 20:27:48 -!- azaq23 has quit (Quit: Leaving.). 20:44:22 -!- TOGoS has joined. 20:44:33 -!- TOGoS has left. 20:48:06 -!- augur has quit (Remote host closed the connection). 21:04:09 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 21:08:26 -!- augur has joined. 21:08:48 -!- zzo38 has joined. 21:13:44 What is a Nexuiz controversy? (It is mentioned in the logs, but now I don't know a lot about it) 21:17:58 Yesterday I quit when sleeping, after coppro wrote "[touch screens] have a wider range of input than a mouse [...]" and no answer yet. I can say, yes it may have sometimesm multitouch (and maybe even pressure-sensitive), but I think in most cases that would not be so useful (there are cases where it helps). 21:18:39 i have a LOT of fingers so it's nice to be able to use them all. 21:18:52 How many fingers do you have oko. 21:19:02 oklopol: Ten? Or more? 21:19:10 dude i don't spend my days counting fingers 21:19:27 But what if you want to count things. 21:19:30 but let's just say one digit is not enough to count my digits. 21:20:15 How much total do you think you get if you multiply together the number of fingers on each person's left hand in the world? 21:20:19 ... it is rumored that none have yet seen all of any oklo's fingers 21:20:36 ^ 21:20:56 The number of oko's fingers is not computable. 21:21:09 nor is it comprehensible 21:21:12 With keyboard/mouse, you can do most things with keyboard (especially if you can type fast), and even push multiple keys at once, and you can have some things that can be operated by keyboard or mouse, depending on what you are doing; you can use multiple mouse buttons (and even hover), and you can use keys and mouse at same time 21:21:14 zzo38: good one lololol 21:21:19 i get it 21:21:36 oklopol: You get what? 21:22:32 well you know that 0 joke 21:22:51 it was funny because it was true 21:26:10 -!- SimonRC has quit (Ping timeout: 260 seconds). 21:31:43 Where is elliott. 21:31:49 Perhaps he has been kidnapped by aliens. 21:32:17 -!- SimonRC has joined. 21:33:01 Perhaps elliott was kidnapped by elliott. 21:36:35 i.e. by aliens 21:37:39 Are you sure? 21:37:56 no 21:38:01 Good. 21:38:12 the aliens don't want us to know 21:38:21 That isn't the reason. 21:43:22 Yes. 21:43:55 The reason is that I am an alien and my alien intel tells me that he was kidnapped by werewolves. 21:55:42 I don't think so. I think elliott was kidnapped by elliott. 21:57:09 * Phantom_Hoover checks the phase of the moon. 21:57:22 maybe elliott is a werewolf hivemind that staged its own kidnapping 21:57:34 It's very slightly past new. 21:57:42 He's clearly a cowerewolf. 21:58:04 Or wait, the phase is shifted by pi, so he's a -werewolf. 22:00:09 those pesky antiwerewolves 22:00:59 Not as bad as the tanwerewolves. 22:01:11 wat 22:02:06 They go from normal to infinitely wolfy as the moon approaches the first quarter, then turn infinitely antiwolfy and increase to normality. 22:04:09 a cosecantwolf otoh is a very pathetic creature. 22:04:57 *-were- 22:05:51 It's nothing compared to the 1/werewolf. 22:06:42 Alpha's alternate form for cosec: -(2 sin(x))/(cos(2 x)-1) 22:08:21 if you bite a cowerewolf, it turns permanently into a cohuman 22:11:24 -!- MigoMipo_ has quit (Read error: Connection reset by peer). 22:11:28 anyone not have a Dropbox account and want one? 22:15:32 -!- ais523 has quit (Remote host closed the connection). 22:17:46 I don't have a Dropbox account and I want one inasmuch as I have no reason not to want one. 22:34:38 I don't need one 22:37:20 -!- TeruFSX has quit (Ping timeout: 260 seconds). 22:46:42 <3 /r/askscience 22:52:09 Finally, something Sgeo said that I can agree with. 22:55:02 is that kind of like /r/ on 4chan? 22:55:12 ...no. 22:55:16 It's a subreddit. 22:55:23 Dedicated to questions about science. 22:56:31 CakeProphet: All subreddits are of form www.reddit.com/r/subreddit 22:57:22 ah okay. 22:57:44 so there's no porn involved? Suddenly I lost interest. 22:58:08 Sgeo, FWIW, conservation laws arise from fundamental symmetries of models, so I am highly suspect of RobotRollCall's claim. 22:58:16 *suspicious 22:58:56 I can't trust RobotRollCall? 22:58:58 * Sgeo has a sad 22:59:33 Well, she's definitely been wrong at least once before, but that was on a rather minor point. 23:01:28 * Sgeo wikipedias time-translation symmetry 23:01:30 son, I am disappoint. 23:03:11 * Sgeo still doesn't understand 23:03:39 I don't understand Noether's whole symmetry stuff, although it's firmly on my list of Science I Need To Understand Some Day. 23:05:18 I don't know whether to tell RRC that I still don't understand, or just wikipedia 23:06:28 http://en.wikipedia.org/wiki/Conservation_of_energy#Noether.27s_theorem 23:06:50 -!- elliott_ has joined. 23:07:03 Hello elliott_ what is it like being a -werewolf. 23:07:21 what 23:08:12 elliott_: Read the logs if you wonder what these things means please 23:08:25 01:13:01: Why can't I do first-class continuations without CPS? 23:08:25 01:22:33: LSL does, in fact, have a goto 23:08:25 01:22:38: This would have been good to remember. 23:08:27 uhh 23:08:30 fail 23:09:31 elliott_, it was just a matter of having more options and not forgetting about them. I had to vaguely wonder if goto was useful, but since I didn't remember that they were present, that option, which I now don't consider likely to be useful, was closed off to me. 23:09:44 zzo38: he'll work his way down I'm sure. :) 23:17:30 If you take the sine harmonics that make up a triangle wave, and do them with square waves instead of sine waves 23:17:37 woah wrong window 23:18:03 why am I even in here anymore 23:18:04 -!- wareya has left. 23:18:29 the.... sine harmonics? oh... right. 23:21:19 I'm pretty sure if you took the harmonics of a triangle wave and turned them into square waves you would end up with a really awful tone.. 23:21:35 Triangle wavewerewolf. 23:21:52 but hey, it would be spectrally dense. Which is useful. 23:25:28 Clearly wareya left to avoid this biting criticism. 23:26:30 um would it actually? 23:27:10 well, it depends on what he meant by "do them with square waves" 23:27:41 i assumed he meant replacing every sine component with a square component of the same frequency 23:28:03 but I assume he means substitute the sine component with a square wave in time domain. A triangle wave has all odd harmonics that roll off as the multiple increases. Square wave also has odd harmonics but with less rolloff 23:28:36 yes, so wouldn't the combination have m*n harmonics for m, n odd 23:28:49 yes. 23:29:29 each odd harmonic would be transformed into all of the odd multiples of itself. 23:29:39 which, I'm guessing, has a very noisy quality to it overall. 23:30:12 oerjan: well, there might be so overlap on the m*n actually. 23:30:15 *some 23:30:49 :t odd 23:30:49 um yes but you still get only odd ones 23:30:49 forall a. (Integral a) => a -> Bool 23:31:56 oerjan: hmm... well, do you? You're taking odd multiples of each odd triangle harmonic. So it would be "shifted" in relation to the odd harmonics of the original triangle wave. Is that still "all odd harmonics" then? 23:32:28 ..forgive me if that's a dumb question. :P 23:32:54 :t (>>=) 23:32:55 forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b 23:32:55 um shifting doesn't change the frequency 23:33:21 or erm 23:33:33 multiples of odd numbers are odd 23:33:42 ah, right. 23:33:54 so basically you would get.... a really loud square wave I think? 23:33:54 *products 23:34:00 or pseudo-square wave. 23:34:01 i dunno 23:36:41 > odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds) where odds = filter odd [1..] 23:36:42 : parse error on input `where' 23:37:03 > let odds = filter odd [1..] in odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds) 23:37:04 : parse error (possibly incorrect indentation) 23:37:07 lol. 23:37:16 I should never try to program Haskell on the fly. 23:37:22 well, right now anyways. 23:37:30 missing ) 23:37:41 > let odds = filter odd [1..] in odds >>= (\x -> foldl1 (*) (repeat x) (take 5 odds)) 23:37:42 also, odds = [1,3 ..] 23:37:42 No instance for (GHC.Real.Integral ([a] -> [b])) 23:37:42 arising from a use of `... 23:37:48 oerjan: ah yes. 23:38:03 bleh, I need to go. 23:38:18 I WILL INVESTIGATE THIS FURTHER WHEN I HAVE MADE A SIGNAL PROCESSING LIBRARY IN HASKELL. 23:38:28 -!- wareya has joined. 23:38:39 WAREYA HAS RETURNED TO STAND TRIAL 23:40:29 wareya: so what kind of waveform do you get when you substitute the harmonics of a triangle wave with all of its odd harmonics (a.k.a. turn the sine wave into a square wave) 23:41:36 I would think it's an amplified triangle-like or square-like wave, since it still has odd components. 23:42:10 Hungary, I have decided, is unfairly cool. 23:42:10 the same kind of waveform as when you do the other way around, with substituting the harmonics that make up a square wave with triangles 23:43:24 Try it, see what happen, then!! 23:43:41 Make both the mathematical formulas, the graph, and the sound. 23:46:15 Phantom_Hoover: wat. 23:47:54 wareya: it would have a kind of reverse roll-off effect, where higher harmonics are louder than the lower onces. 23:49:09 Actually, many of the higher ones end up canceling eachother out 23:49:50 how does that happen? 23:50:19 they're out of phase 23:50:42 aaah. 23:52:21 well, now that my curiosity is abated. I must go now. Bye. 23:56:37 -!- CakeProphet has quit (Ping timeout: 250 seconds). 2011-06-04: 00:05:37 -!- CakeProphet has joined. 00:05:37 -!- CakeProphet has quit (Changing host). 00:05:37 -!- CakeProphet has joined. 00:10:57 http://www.reddit.com/r/videos/comments/hqw18/people_of_earth/c1xm35t 00:10:59 XD 00:14:04 -!- augur has quit (Remote host closed the connection). 00:18:06 -!- CakeProphet has quit (Ping timeout: 240 seconds). 00:19:40 -!- oerjan has quit (Quit: Good night). 00:39:42 I'm going to give http://www.drchinese.com/David/EPR_Bell_Aspect.htm a read, on the recommendation of someone in /r/sciencefaqs 00:40:19 WOT distrusts the site for some reason 00:45:23 just went there its got viruses dont go 00:45:27 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:46:49 ? 00:47:20 I assume you're being sarcastic 00:49:34 -!- Vorpal has quit (Read error: Operation timed out). 00:50:56 no 00:50:57 its really bad 00:50:58 -!- wareya has quit (Read error: Connection reset by peer). 00:51:00 theyre all over my computer 00:51:40 -!- wareya has joined. 00:55:05 "(it must be simple because I did it!" 00:58:22 http://www.reddit.com/r/math/comments/hqwhh/steven_wolfram_is_extremely_smart_but_kind_of_a/ 00:58:35 This is possibly the greatest understatement ever made. 00:58:52 Oh my god Feynman sent a letter to him. 00:58:58 yeah its amazing 00:59:07 hitler is extremely charismastic but kind of a jerk 00:59:20 http://www.lettersofnote.com/2010/06/you-dont-understand-ordinary-people.html 00:59:34 Feynman: now my favourite person. 00:59:44 -!- CakeProphet has joined. 00:59:45 -!- CakeProphet has quit (Changing host). 00:59:45 -!- CakeProphet has joined. 00:59:59 CakeProphet, behold http://www.lettersofnote.com/2010/06/you-dont-understand-ordinary-people.html 01:00:13 RPF;ht is the best signature. 01:00:32 I wonder if I should point out ais' experience with him. 01:01:31 has ais actually met Wolfram? 01:01:48 Hmm, some people in the comments are implying that Feynman's letter insinuates that women are non-technical, but I can't actually see that in the letter. 01:01:50 Am I missing something? 01:02:17 "Find a way to do your research with as little contact with non-technical people as possible, with one exception, fall madly in love!" 01:02:33 Oh, I see, people are assuming that when Feynman says "fall madly in love", he means with a female, and that his "exception" doesn't mean "don't /limit/ yourself to technical people" but "/only/ consider non-technical people". 01:02:35 I suppose you could read it that way. 01:02:49 So heterosexism + reading comprehension failure. 01:02:50 Awesome. 01:05:24 -!- CakeProphet has quit (Ping timeout: 244 seconds). 01:07:05 -!- CakeProphet has joined. 01:07:05 -!- CakeProphet has quit (Changing host). 01:07:05 -!- CakeProphet has joined. 01:20:24 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:23:29 * pikhq builds sabotage... 01:24:35 Which, incidentally, has a pretty awesome build setup. 01:25:37 I have no idea what an eigenfunction or eigenvalue is 01:25:43 EPR refers pretty heavily to those 01:34:37 Eigenfunction? Context? 01:41:19 -!- augur has joined. 01:43:20 -!- CakeProphet has quit (Ping timeout: 252 seconds). 01:44:51 pikhq, http://www.drchinese.com/David/EPR.pdf 01:44:56 -!- CakeProphet has joined. 01:44:56 -!- CakeProphet has quit (Changing host). 01:44:56 -!- CakeProphet has joined. 01:45:00 Einstein et. al's paper 01:46:18 *Aaaah*, it's a generalisation of the concept of eigenvector. 01:46:58 -!- augur has quit (Remote host closed the connection). 01:47:02 Sgeo: Long story short: you should have gone to a better college and took linear algebra. 01:47:19 I think I'm going to gloss over the math in these papers 01:52:19 Do I understand EPR right: If you have two previously interacting systems, and measure, say, position of one, and velocity of the other, you could use the math from the former to get the position of the other as well, therefore.... something? 01:54:20 pikhq: good joke 01:54:58 elliott_: Okay, okay, *real answer*. 01:55:04 Sgeo: You should learn linear algebra. 01:57:22 * Sgeo wikis EPR paradox 01:57:48 Ooh, I vaguely got my understanding correct 02:08:04 https://secure.wikimedia.org/wikipedia/en/wiki/Vactrain 02:08:06 * pikhq wants 02:09:36 https lol 02:09:41 How much would a vactrain ride cost? 02:09:41 SECRET WIKIPEDIA BROWSING 02:09:46 Sgeo: five thousand nines 02:09:58 pikhq: BUT WHAT IF THE WINDOW BREAKS AND THE VACUUM GETS INTO THE TRAIN 02:09:59 WE'LL ALL DIE 02:11:14 * Sgeo has no idea how long it currently takes to get from NY to London 02:11:17 Nor what the cost is 02:11:24 I don't travel much 02:11:29 -!- pikhq_ has joined. 02:14:23 Sgeo: it takes 9 time intervals 02:14:39 * Sgeo slaps elliott 02:14:54 q 02:15:00 -!- pikhq has quit (Ping timeout: 276 seconds). 02:22:51 -!- augur has joined. 02:35:09 -!- augur has quit (Remote host closed the connection). 02:37:12 -!- Patashu has joined. 02:37:46 -!- elliott_ has quit (Remote host closed the connection). 02:38:12 -!- elliott has joined. 02:40:09 -!- elliott has quit (Remote host closed the connection). 02:40:14 -!- elliott_ has joined. 02:44:15 -!- CakeProphet has quit (Ping timeout: 240 seconds). 02:51:58 -!- monqy has quit (Quit: cant see a thing). 02:55:05 -!- monqy has joined. 03:09:26 -!- zzo38 has quit (Quit: zzo38). 03:22:36 "Manually updated up to strip #2800." 03:22:37 Booooo 03:24:19 ? 03:24:25 oh, iwc 03:24:40 well there's only two hundred and fifty more strips than that... 03:26:16 wow, i was going to note that http://www.irregularwebcomic.net/2000.html missed MSPA, but I remember /reading/ this iwc strip and it predates the beginning of problem sleuth by two months :) 03:59:38 Sgeo: I don't get it 04:05:22 its sgeo 04:05:40 coppro, Irregular Webcomic's list of educational strips 04:18:36 ah... okay? 04:18:43 http://irregularwebcomic.net/special/educational.html 04:39:21 -!- CakeProphet has joined. 04:39:28 -!- CakeProphet has quit (Changing host). 04:39:28 -!- CakeProphet has joined. 04:40:29 -!- zzo38 has joined. 04:41:36 The [[Talk:Condit]] article probably ought to be corrected some more 04:43:32 comex: why did you vote against your own proposals 04:43:43 you pay attention to Agora? 04:43:55 because I'm in an anti-legislation mood 04:44:03 comex: i vote occasionally 04:44:10 also because everyone's votes are probably invalid, since they don't specify two options 04:44:21 comex: that's inevitably going to be ratified away 04:44:26 why haven't we fixed that yet? 04:44:36 coppro: cuz we're all lazy fucks 04:44:43 make a proposal that fixes it and ratifies everything as working :P 04:44:55 and we can all vote PRESENT/FOR on it 04:44:57 because I didn't distribute the proposal until today 04:44:58 actually 04:45:00 because I forgot about it 04:45:03 just ratify that it all works after the proposal 04:45:10 because if you actually can't vote at all 04:45:10 liek I said in ##nomic, Wooble should take over promotor 04:45:13 i.e. the worst case 04:45:14 then... 04:45:16 then I have no chance of being speaker :( 04:45:17 oh well 04:45:26 I'll take over 04:45:26 comex: ill be promoter ill be the best promotorwe 04:45:37 ill format every distribution differently 04:45:43 ascii art always 04:45:43 Murphy will love that 04:45:47 yes 04:45:48 it will be the best 04:46:04 i think murphy probably has a paste-in-reasonably-formatted-votes script for assessor stuff 04:46:10 which is partially why i'm voting in lunatic formats 04:46:17 im a huge big stinky jerk 04:53:54 I should start voting 05:03:30 I STILL FEEL AWKWARD 05:04:16 Sgeo: about waht... 05:04:28 Same thing I was talking about May 21st 05:04:40 you are expecting me to logread for a simple answer 05:04:40 -!- augur has joined. 05:04:46 i mean obviously i will but 05:05:01 Talking to someone about a girl he recently broke up with 05:05:11 suddenly i don't want to know any more 05:05:26 actually i never did to start with, but i had a bit of morbid curiosity that has just become sort of morbid dread so never mind 05:10:33 -!- Kustas has joined. 05:11:15 -!- CakeProphet has quit (Ping timeout: 240 seconds). 05:11:18 Does it help if I say that he seems to be encouraging me to talk to her? 05:11:56 nothing helps the pain 05:11:59 NOTHINGGGGGGGGG 05:13:09 -!- CakeProphet has joined. 05:14:36 Why can't I find the page I was just looking at? 05:15:40 if you have a history list, you can find it 05:16:58 I meant find which tab it was open it 05:17:00 *open in 05:22:29 I think the concept of photon polarization is confusing me 05:23:15 Oh, hmm 05:25:24 I think the example doesn't actually matter whether it's possible that a case can occur or not, just that 05:30:05 LYAH is now available as a hardcover book? 05:30:06 o.O 05:30:16 no its only available in wool-bound form 05:30:19 sheepcover 05:30:35 why is this surprising 05:30:47 I thought it was online-only 05:30:57 yes then it got published 05:33:51 -!- qwerty has joined. 05:34:05 qwerty azerty 05:34:27 -!- qwerty has changed nick to Guest97961. 05:36:09 anyone on who knows pl/sql? 05:37:30 p 05:37:34 -!- sebbu has quit (Ping timeout: 260 seconds). 05:37:35 oops 05:37:37 I meant no 05:51:26 http://digitallife.today.com/_news/2011/06/03/6778320-nsfw-zomg-and-twittersphere-added-to-dictionary 05:52:22 so? 05:52:45 "Twittersphere" seems a bit objectionable as it's more of a brand name term, but... 05:52:59 breadcrumb trail - (on a website) a series of hyperlinks displayed at the top of a web page, indicating the page's position in the overall structure of the site 05:52:59 this wasn't already in? huh 05:53:01 gosh, neither was infographic 05:53:08 "nekkid- (of a person) naked: some of the oldest photos in existence are of nekkid women" 05:53:09 best example 05:53:15 ok yeah this isn't actually that interesting 05:53:36 -!- Guest97961 has quit (Ping timeout: 240 seconds). 05:53:43 -!- sebbu has joined. 05:53:43 -!- sebbu has quit (Changing host). 05:53:43 -!- sebbu has joined. 06:29:50 -!- elliott_ has quit (Ping timeout: 260 seconds). 06:54:51 * Sgeo finds Benadryl pills from 2006 06:57:14 -!- azaq23 has joined. 06:59:14 Everything I'm reading says that at worst, it's likely to be useless 07:00:31 If you need Benadryl pills, then you should purchase more, then. That way it won't be useless. 07:01:04 I think I'll just take a melatonin 07:01:41 Use that if it helps, then 07:40:53 -!- Patashu has quit (Ping timeout: 248 seconds). 07:48:34 -!- Kustas has quit (Quit: outing). 07:54:19 -!- pikhq has joined. 07:54:24 -!- pikhq_ has quit (Ping timeout: 252 seconds). 08:06:34 -!- MigoMipo has joined. 08:16:15 -!- monqy has quit (Quit: hello). 08:39:55 I made a GameBoy game fitting in less than 4 KB (still more than that 1 KB breakout game, however). It has 256 levels, which can be played in any order. 08:41:53 Maybe the file can still be shortened, though, while still keeping the same rules and levels of the game 09:10:48 -!- oerjan has joined. 09:12:06 -!- MigoMipo has quit (Read error: Connection reset by peer). 09:52:55 -!- sebbu2 has joined. 09:52:55 -!- sebbu2 has quit (Changing host). 09:52:55 -!- sebbu2 has joined. 09:55:59 -!- sebbu has quit (Ping timeout: 260 seconds). 10:01:03 -!- Slereah has joined. 10:02:44 -!- Slereah_ has quit (Ping timeout: 252 seconds). 10:03:35 -!- pikhq has quit (Ping timeout: 240 seconds). 10:03:40 -!- pikhq has joined. 10:32:13 -!- oerjan has quit (Quit: leaving). 10:35:24 -!- BeholdMyGlory has joined. 10:51:45 -!- azaq23 has quit (Ping timeout: 240 seconds). 10:56:40 -!- azaq23 has joined. 11:12:38 -!- CakeProphet has quit (Ping timeout: 250 seconds). 11:14:33 -!- Vorpal has joined. 11:21:48 -!- showstopper has joined. 11:45:15 -!- MigoMipo has joined. 11:53:13 -!- showstopper has quit (Remote host closed the connection). 11:56:07 -!- Phantom_Hoover has joined. 12:01:36 -!- azaq23 has quit (Ping timeout: 250 seconds). 12:11:49 -!- copumpkin has joined. 12:15:02 -!- copumpkin has quit (Client Quit). 12:19:44 -!- kidpoker82 has joined. 12:20:06 -!- kidpoker82 has left. 12:26:16 -!- SimonRC has quit (Ping timeout: 260 seconds). 12:27:45 -!- SimonRC has joined. 12:35:06 -!- Sgeo_ has joined. 12:36:42 -!- Sgeo has quit (Ping timeout: 250 seconds). 12:39:16 Sgeo_, RRC's point was essentially that time-translation symmetry doesn't hold because the universe is expanding. 12:39:16 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 12:39:53 -!- Patashu has joined. 12:53:26 http://i.imgur.com/O32j1.png 12:53:33 Wolfram, you continue to outdo yourself. 12:54:40 lol 12:55:44 I don't get that when I put that into WA 12:55:55 http://www.wolframalpha.com/input/?i=how+smart+is+stephen+wolfram%3F 13:13:26 Yeah, me neither. 13:15:37 OK I am sliding over the boredom event horizon. 13:18:55 Phantom_Hoover, go code something! 13:18:57 XD 13:19:18 WHY DO YOU MOCK MY DISABILITY 13:20:35 Phantom_Hoover, oh I didn't know it was a disability. I thought it was a blessing 13:21:04 Phantom_Hoover, I wish had the power to NOT implement all the things I think of 13:21:41 Disability? 13:22:01 Sgeo_: *lack of ability 13:22:26 Phantom_Hoover: haha, I mock you 13:23:21 http://i.imgur.com/O32j1.png <-- pretty sure that one is faked yeah 13:23:23 Sgeo_, the way my perfectionism and my inability to pay attention to anything for any length of time makes me incapable of writing a program that takes more than around an hour. 13:23:25 fun though 13:38:20 Ooh, Eiffel does the ... is there a formal name for not having idiotic nulls? 13:38:42 -!- SimonRC has quit (Ping timeout: 252 seconds). 13:41:39 Or not, I actually haven't read the thing 13:43:02 -!- SimonRC has joined. 13:43:13 Sgeo_, "idiotic nulls"? 13:43:17 Sgeo_, what do you mean 13:43:30 I just mean null references as opposed to Maybe/option 13:43:32 >.> 13:43:50 ah 13:44:27 Sgeo_, I could you could argue that all pointers in C are implicitly of a Maybe-like type 13:46:00 if I made an imperative CPU architecture I would probably make access to virtual page 0 "hard-wired" to cause an exception/trap. 13:46:32 * Sgeo_ has to see if there's an Eiffel web framework 13:47:22 Sgeo_, what paradigm is Eiffel now again? imperative OOP? 13:47:41 Vorpal, not sure, that sounds about right though 13:48:10 Sgeo_, which sort of OOP? C++/java/C#-style? smalltalk/objc-style? Something else? 13:49:44 Define "style". I'm not that familiar with Eiffel, but I think it's single-dispatch (which afaik all of the ones you listed are), statically typed *(which doesn't make sense to me as an "OOP" style, but is un-Smalltalk-like) 13:50:22 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 13:52:08 Sgeo_, well from what I understood, smalltalk and objc uses the concept of sending objects messages, while C++, java and so on treats it as calling functions of a object. Of course they are pretty much equivalent on a lower level. 13:52:30 however I should point out I don't know much smalltalk or objc, so I may be misinformed about this 13:52:31 Ah. Not sure which one Eiffel is. 13:53:43 -!- pikhq has quit (Ping timeout: 258 seconds). 13:53:45 -!- pikhq_ has joined. 13:54:19 Sgeo_, you mentioned "single-dispatch", what other options are there? 13:54:50 Something like CLOS or Slate, where the method called depends on several of the arguments 13:55:16 http://en.wikipedia.org/wiki/Multiple_dispatch ? 13:55:18 ah sounds interesting. I mostly used scheme, not so much common lisp 13:55:36 Patashu, yes 13:55:58 http://lee.fov120.com/ecoop.pdf a paper advocating for "prototype multiple dispatch" 14:00:20 "How simple is SCOOP? It requires only a single new keyword: separate." 14:00:34 Um... I don't think you can measure simplicity by amount of new keywords 14:00:46 you beat me to that remark 14:00:48 http://www.kuro5hin.org/story/2006/10/31/20640/115 14:01:12 -!- oerjan has joined. 14:02:29 Sgeo_, RRC's point was essentially that time-translation symmetry doesn't hold because the universe is expanding. 14:03:02 iirc put another way, general relativity does not have a concept of globally conserved energy 14:03:20 * Sgeo_ downloads EiffelStudio 14:03:41 -!- SimonRC has quit (Ping timeout: 260 seconds). 14:04:57 "If you only want to evaluate EiffelStudio for future projects please download our Evaluation Edition. 14:04:58 " 14:04:59 Huh? 14:05:07 (looking at the GPL download page) 14:05:30 Wolfram, you continue to outdo yourself. 14:06:17 there might be a _teeny_ chance he is exaggerating his own personality for marketing purposes 14:08:00 I don't get that when I put that into WA 14:08:01 darn 14:08:08 -!- Phantom_Hoover has joined. 14:08:31 Vorpal, Pointer = Null | Pointer Integer? 14:09:32 Why is this thing about to install EiffelStudio 6.7? 14:09:59 Ok, that's the latest release 14:10:06 Am I allowed to be sad by it not having SCOOPS? 14:11:18 ok obviously it's fake, wolfram would never settle for having 20 million above him... 14:11:44 -!- Kustas has joined. 14:11:44 er wait 14:11:56 -!- SimonRC has joined. 14:12:02 * oerjan swats his reading comprehension -----### 14:13:00 oerjan, yeah, he'd never settle having over 300 above him. 14:23:48 Eiffel's "Why use Eiffel" stuff is a very good example of how much marketingspeak you can fit into a few documents 14:23:57 http://docs.eiffel.com/book/why-eiffel/eiffel-two-minute-fact-sheet 14:24:27 "The platforms covered range from Unix (all of Unix, the famous and the arcane) and Linux to OpenVMS, OS/2, Windows 3. 1, Windows NT, Windows 95/98. 14:24:27 " http://docs.eiffel.com/book/why-eiffel/why-your-next-project-should-use-eiffel 14:24:33 I think this may be a little old 14:26:33 so basically it's about why your _previous_ project should have used eiffel 14:26:37 http://www.jvoegele.com/software/langcomp.html based on the given answer for C# Higher Order Functions, I'm going to guesss that this page is obsolete 14:26:51 oerjan, heh 14:30:52 o.O 14:31:03 Eiffel is contrasting itself with Smalltalk 14:31:25 I want to say I think it has a point, but I'm pretty sure it will reveal a failure of mine to really grasp Smalltalk 14:31:42 "In contrast with, say, Smalltalk, you do not read the source code of a class when you want to use it. This may be fine for a couple dozen classes, but not for a large, powerful library." 14:31:48 http://docs.eiffel.com/book/why-eiffel/why-your-next-project-should-use-eiffel#Reusability 14:34:16 Why do I feel so much animosity towards Eiffel? 14:41:16 how fun, i slept for something like 15h 14:41:22 -!- oerjan has quit (Quit: Later). 14:42:31 anyway wolfram's iq led me here: http://www.wolframalpha.com/input/?i=penis+length, how are those quantities corresponding exactly? 14:44:13 ? 14:44:26 did you read the page 14:47:48 Is penis length being 504 light-picoseconds unreasonable? 14:48:14 * Sgeo_ puts 504 light-picoseconds into WA 14:48:41 http://www.wolframalpha.com/input/?i=504+light-picoseconds 14:48:48 Looks fine to me 14:49:02 In a close enough sense 14:49:44 EiffelStudio installer compiling libraries takes an eternity 14:53:52 oh yeah i rather misunderstood what those picoseconds were about 14:58:23 WHY am I still holding out hope that Eiffel has continuations? It's a profoundly stupid hope 14:59:27 -!- Kustas has quit (Quit: sauna). 14:59:42 You are a profoundly stupid man, clearly. 15:02:46 I think the reason that I'm about to play with Eiffel is that EiffelStudio sounds like it could be a fun IDE 15:03:17 The installer is _still_ compiling stuff 15:03:18 does eiffel have towers :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 15:04:52 you know, like the one in the beautiful town of eiffel 15:04:57 where is elliott :\ 15:05:24 If Eiffel gets me to be able to write software with GUIs, it will be worth it 15:05:40 Unless it's crap, of course 15:05:40 why would you want to write a gui 15:06:08 when you can just write inputs in the source code and recompile 15:09:29 Woo, EiffelStudio installed 15:13:04 -!- oklopol has quit (Ping timeout: 258 seconds). 15:13:21 where is elliott :\ 15:13:23 Werewolves. 15:17:25 -!- oklopol has joined. 15:20:16 -!- oddod has joined. 15:20:30 where is elliott :\ 15:20:31 Werewolves. 15:21:56 -!- oklopol has quit (Ping timeout: 252 seconds). 15:29:26 -!- pikhq_ has quit (Ping timeout: 246 seconds). 15:29:36 -!- pikhq has joined. 15:48:14 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 15:48:37 -!- Phantom_Hoover has joined. 15:56:34 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 16:16:06 -!- SimonRC has quit (Ping timeout: 260 seconds). 16:17:49 -!- SimonRC has joined. 16:18:40 Wait, SimonRC is still here? 16:35:02 Good *God* gnulib does nasty things. 16:35:20 It has special-cased code for poking around in the internals of the libc's FILE. 16:35:28 For every known libc. 16:40:42 -!- augur has quit (Remote host closed the connection). 16:41:05 Bahaha 16:41:06 Great 16:41:13 For what function? 16:44:36 Freadahead, among other things. 16:50:38 Vorpal, Pointer = Null | Pointer Integer? <-- yes kind of, except that Null is not a separate value from the other range for C 16:50:51 unless you define that address (often 0) to be invalid 16:59:29 Freadahead, among other things. 16:59:41 Is this not doable with the Way You're Meant To Do It? 17:06:26 Not with POSIX. 17:15:10 -!- ais523 has joined. 17:19:36 -!- monqy has joined. 17:20:14 What does it do? 17:24:48 -!- augur has joined. 17:28:09 What /doesn't/ it do? It slices, it dices, it purees and it resolidifies, breaking the laws of thermodynamics. 17:34:03 pikhq, I have no man page for freadahead, what on earth does it do? I looked at gnulib source and that didn't help much at all 17:34:38 it doesn't seem to load more stuff ahead 17:34:49 hm, does it return size of IO buffers? 17:44:13 -!- CakeProphet has joined. 17:44:13 -!- CakeProphet has quit (Changing host). 17:44:13 -!- CakeProphet has joined. 17:46:33 hey, remember when everyone here mocked me for saying I was entering a Pokémon championship, and saying I had no chance? 17:46:44 the UK national Pokémon (video game) championships was today, and I came top 8 17:47:15 /usr/include/stdlib.h:96:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__BEGIN_NAMESPACE_STD’ 17:47:18 Wut. 17:49:41 ais523: Nice. 17:52:06 Vorpal: It looks to me like it'd return the amount of stuff there are in the buffers that you can fread without having to actually do IO. 17:56:03 the UK national Pokémon (video game) championships was today, and I came top 8 17:56:08 See, we told you so. 17:56:27 top 8 in a nationals is enough to qualify for the world championships, but I don't plan to go 17:56:52 See? 17:57:15 Phantom_Hoover: I don't understand 17:58:14 ais523: nice! 17:58:34 thanks 17:58:47 Top 8 means you didn't win, in accordance with our (well, not my) prediction, and your opting out of the world championships demonstrates that you subconsciously agree. 17:59:01 * coppro swats Phantom_Hoover 18:00:59 yeah, if you're not #1, you might just as well kill yourself, or alternatively everyone above you in the ranking. 18:01:03 -!- oddod has changed nick to oklopol. 18:01:05 whoops 18:01:20 mirc sucks 18:03:12 Fucking hell, it should not be this difficult to get an i686 cross-compiler. 18:10:52 Phantom_Hoover, foton 18:11:00 Fotons! 18:11:27 First demonstrated experimentally by the fotoelectric effect. 18:11:57 Mind you, what the question is talking about is a bit beyond me 18:12:02 But still 18:16:07 Yup, much easier to just go ahead and build a native i686 PCC. 18:28:16 i wonder how many people i'd have to kill to be the best at everything 18:28:51 hmm 18:28:59 oh dear 18:29:00 languages 18:29:07 It might be impossible regardless of how many 18:29:26 well ignoring that stupid point 18:29:36 that THEY'RE THE BEST AT BEING THEMSELVES or whatever 18:29:52 skills i consider worth skillin' 18:29:56 if you kill them 18:29:59 they'd be better than you 18:30:01 at being dead 18:30:24 that 18:30:35 Yes, one thing is that. 18:31:03 -!- TOGoS has joined. 18:31:05 -!- TOGoS has left. 18:31:16 but yeah ignoring your silliness, i'd have to kill pretty much everyone outside finland and american right away, and most americans too, due to language 18:31:24 *america 18:32:11 You're saying everyone in Finland is mediocre at everything? 18:32:28 i'm saying most finnish people don't know a language better than me 18:32:51 many know swedish better than me, but the point is i wouldn't have to kill more than say 50% based solely on that 18:33:09 whereas i'd certainly have to kill EVERY CHINESE PERSON 18:33:23 each and every one of them, except a few retards 18:33:29 Learn to be Chinese and kill yourself 18:33:36 oklopol: probably everyone but you 18:33:43 i doubt that 18:33:50 i know many people who are worse than me at everything 18:34:21 that is, measuring only skills i consider worth skillin' 18:34:23 as i specified 18:35:08 ah, I see 18:35:13 ais523: Which pokemon generation was it? And which games belonging to that generation? What other rules? 18:35:48 but yeah it's true there probably aren't many people who are worse than me at everything someone would call a skill 18:36:01 and those people are probably literally braindead 18:36:26 if, for instance, knowing a single fact is considered a skill :P 18:36:52 zzo38: 5th, and Black and White; the rules were no Pokémon that aren't in the Unova Pokédex (i.e. new in Black/White), no Victini/Resihram/Kyurem/Zekrom, double battle, no duplicate items or species, no using Sky Drop (because it's glitched), you take 6 pokémon in your team, you see the species/level/gender of the opponent's 6 then pick 4 of your 6 to battle with 18:37:26 Hrrrm. 18:37:57 amusingly, people have been banning sky drop in single battles too, even though there's no known way to trigger the glitch there 18:37:57 Seems that configure doesn't coöperate with busybox. 18:38:03 ais523: OK. (I don't know the Black and White rules) Any rules having to do with items? 18:38:12 zzo38: no duplicate items, that's it 18:38:19 also, as usual in competitive battles, you can't use battles from your bag 18:38:29 what 18:38:31 you have to give the items to Pokémon and have their AI use them automatically, and not all items work like that 18:38:32 Do you mean, items from your bag? 18:38:33 can you put a battle in a bag? 18:38:36 *can't use items from your bag 18:38:49 It doesn't make its way through the sanity check. 18:39:09 pikhq: wow that's a fast failure 18:39:12 Anyone got sufficient autoconf foo to tell me why I get this? 18:39:14 checking whether build environment is sane... configure: error: newly created file is older than distributed files! 18:39:20 pikhq: timestamps 18:39:30 the build system has to have timestamps before the current time 18:39:43 or else make gets fatally confused 18:39:54 and autoconf is checking for that 18:40:33 The timestamps of the source are the UNIX epoch. 18:40:39 i dreamt that my balls were tiny, and that my guitar string snapped and that i downloaded a program 18:40:56 oklopol: Are these three things related? 18:41:19 well all of them are related to what i've been doing irl, masturbating, changing my guitar strings, and planning to download the program in question 18:41:24 but i doubt they are related to each other 18:41:27 pikhq: and I take it the current time isn't before the epoch? 18:41:37 perhaps busybox test doesn't implement time comparisons, or something 18:42:03 Configure doesn't do time comparisons. It does ls -t. 18:42:21 ah 18:42:36 ... Whiiich seems to be unimplemented. 18:44:59 It sounds annoying to code with the Command-Query Separation stuff 18:45:16 Although I guess it does make functions pure 18:53:22 -!- clog has quit (Ping timeout: 240 seconds). 18:55:50 Ah, I'd just fucked it up a little bit. 19:03:41 -!- azaq23 has joined. 19:04:23 -!- pikhq_ has joined. 19:04:38 -!- pikhq has quit (Ping timeout: 248 seconds). 19:08:11 Very obnoxiously hard to bootstrap with pcc. 19:09:56 -!- copumpkin has joined. 19:10:12 Scratch that, "mother-fucking impossible". 19:12:21 Scracth that again, "mother-fucking impossible with GNU utils". 19:14:43 -!- copumpkin has quit (Client Quit). 19:19:17 Scratch that again, "mother-fucking impossible, and why the hell does heirloom need a C++ compiler". 19:19:23 Also "fuck you all". 19:20:02 -!- atrapado has joined. 19:30:42 Everybody and everything sucks, and everybody should be ashamed of themselves. 19:31:44 k 19:31:59 -!- pingveno has quit (Ping timeout: 246 seconds). 19:32:31 Especially GNU. 19:34:05 -!- pingveno has joined. 19:36:23 yup 19:36:32 GNU is a bunch of assholes 19:37:58 LibreOffice's changelog frightens me. 19:39:13 hmm? 19:39:48 "We brought the build down from 15 hours to 30 minutes". 19:39:50 This frightens me. 19:41:00 O_o 19:41:48 And apparently they cut out giant swaths of *dead code*. 19:41:58 that's to be expected 19:41:58 wow 19:42:02 OOo was a very legacy codebase 19:42:04 I'm impressed 19:42:34 Glad that they're taking the effort to cut out a bunch of bullshit, though. 19:48:16 Who has a bigger ego, the Abrahamic God or Stephen Wolfram? 20:02:31 Wolfram. 20:02:57 God doesn't need a big ego, he can just smite anyone who doesn't worship him. 20:07:45 ^ 20:22:11 Wolfram. 20:22:21 The Abrahamic deity does not exist, and hence has no ego. 20:23:47 If we consider the fictional character, though, I'd say that deity has a gigantic ego. Making all of everything simply to praise him? That's a feat of ego Wolfram only wishes he'd have thought up. 20:25:59 -!- norman256394 has joined. 20:26:04 Hey everyone! 20:26:34 Hellote. 20:26:55 So what is this chat room about? 20:27:01 norman256394: esoteric programming langages 20:27:08 Everything with a side helping of esoteric programming languages 20:27:10 as in, programming languages not often used because they're stupid or impractical 20:27:21 oh... 20:27:24 often deliberately so 20:27:30 *thinking if I came to the right place 20:27:34 we also talk about other esoterica 20:27:50 so if you're just a curious type, you might want to hang around to learn 20:27:56 coppro: no we don't 20:28:02 we just troll people who come in here wanting to talk about it 20:28:02 ais523: yes we do 20:28:05 until they get bored and go away 20:28:09 41sup all 20:28:10 :( 20:28:10 15:48 < Sgeo_> Who has a bigger ego, the Abrahamic God or Stephen Wolfram? 20:28:12 I'm not really sure what the point is 20:28:26 this is sort of typical discussion 20:28:39 norman256394, this channel is about Eric the Esot 20:28:39 in fact, arguing about whether we argue about esoterica is very #esoteric 20:28:53 Pretty sure that's not what's generally considered esoterica... 20:29:09 Well, yes 20:29:11 norman256394: I suspect you're in the wrong place, anyway 20:29:18 And in any case, our actual discussions of esoterica are by no means what someone who's interested in it would desire. 20:29:18 and unfortunately, I don't know what the right place is 20:29:25 yeah...looks like it. :) 20:29:29 hah 20:29:32 if you find out, why not let me know so that I can direct other people there so you can chat with them? 20:29:36 see ya, norman256394! 20:29:59 norman256394, what were you looking for? 20:30:10 well...I wanted to talk about software design 20:30:19 ais523: that made a lot more sense when I remembered you're British 20:30:22 cool, what sort of software? 20:30:30 hmm 20:30:34 elliott's not around, right? 20:30:38 User Interface 20:30:48 coppro: I don't think so 20:30:49 for that try maybe #haskell 20:31:01 ais523: excellent 20:31:05 we're safe from him then 20:31:05 No, elliott would be joining me in a mutual rant on the evils of GNU if he were. 20:31:07 cheater_: I'm not sure that's any more appropriate 20:31:16 pikhq_: excellent point 20:31:20 haskell has gui bindings 20:31:23 isn't that like another esoteric language 20:31:25 cheater_: so? 20:31:27 so does Befunge 20:31:34 oh alright 20:31:40 can we talk about befunge gui bindings now? 20:31:49 if you want to 20:31:53 I can't actually remember what they are 20:31:57 so the conversation won't go very far 20:31:59 (dear God, you can't freaking bootstrap a system with pcc! It's not like this is some little-known compiler, it's a high-quality and classic ISO C99 compiler!) 20:32:01 actually i was thinking of discussing in a *very* language agnostic way 20:32:11 what sort of programming paradigms are recommended for programming befunge guis? 20:32:13 pikhq_: gcc used to be compiler-agnostic 20:32:24 norman256394, we sometimes talk about GUIs and stuff 20:32:27 but in the end, they decided gcc was so widespread that they might as well be specific to it 20:32:28 pikhq_: why can't you bootstrap with it? It uses extensions it doesn't implement? 20:32:40 this is potentially a dubious decision 20:32:42 like the plan9 interface for example 20:32:57 You can bootstrap PCC itself just fine. 20:33:02 I think gcc has successfully managed an E/E/E on C 20:33:04 which is worrying 20:33:10 E/E/E? 20:33:12 Indeed, you can get musl and PCC up and running without much effort. 20:33:13 ok...I never heard of half of the stuff you guys are talking about. 20:33:14 well, other C compilers 20:33:19 coppro: embrace/extend/extinguish 20:33:33 But not much else will actually build with this setup. 20:33:33 ais523: ah, yes 20:33:41 very much so 20:33:51 what does it mean that gcc is compiler agnostic? 20:33:54 And it ain't the libc doing it. Well, not all of it, as you can generally tweak C stuff into complying. 20:33:56 but we're fighting back 20:33:57 GNU are basically software communists. 20:34:06 cheater_: same as what it means for any other program to be compiler agnostic 20:34:17 Phantom_Hoover, is linux communist software? 20:34:30 ais523, ok. 20:34:37 But good God I couldn't even get fucking *Heirloom* to build with PCC and musl. 20:34:51 * coppro makes some noise 20:35:00 what's heirloom? 20:35:12 norman256394, what sort of guis did you want to talk about? 20:35:17 maybe they're esoteric guis. 20:35:21 The Heirloom toolset is a port of the classic UNIX utils to Linux. 20:35:42 Collected out of BSD and OpenSolaris source, IIRC. 20:35:45 actually I was thinking on a very abstract level 20:35:54 pikhq_: ah, I was wondering "why not just use BSD utils"? 20:35:56 and it seems they did 20:35:57 what package does that come in pikhq_? 20:36:06 heirloom.sf.net 20:36:09 norman256394, well? 20:36:13 something like the interface of the future 20:36:22 highly interactive 20:36:28 smooth transitions 20:36:28 pikhq_, what does it have that i might be missing? 20:36:37 hmm, I suppose that's basically almost ontopic here, if it's insane enough by today's standards (which is different from being insane overall, but that tends to happen too) 20:36:43 norman256394, but would it be smoothly differentiable? 20:36:45 cheater_: Nothing, really. 20:36:48 and almost ontopic is much better than we normally manage 20:36:59 -!- atome has joined. 20:37:07 cheater_: It's just got the traditional utils instead of the GNU stuff. 20:37:13 it's not going to be anything ground-breaking 20:37:34 Hmm. I wonder if I could even possibly manage to get Busybox to build with pcc. 20:37:40 just was thinking if anyone could help me navigate the intricacies of designing such a user-interface 20:37:57 something like the interface of the future 20:38:07 Feh, not going to work on it, cause I have developed a hatred for everything of late. 20:38:17 You should probably talk to elliott about that so he can tell you why your ideas are bad and you should feel bad. 20:38:21 Read: iPhone interfaces 20:38:37 ais523: Any idea what the last version of GCC that was compiler-agnostic? 20:38:41 Is it better to look smooth or be fast? 20:38:51 Erm, what was. 20:38:52 Sgeo_, what a stupid question. 20:38:57 It's obviously not a dichotomy. 20:39:13 anyone got the link to the archive.org video of the lightpen demonstration 20:39:14 Smooth, fast, natural 20:39:30 Out of the two extremes... hideous but fast is preferable to beautiful but unusably slow. 20:39:32 you should check it out 20:39:51 Phantom_Hoover, what if you expect the beauty 20:40:05 and like, you'd rather mail-order mona lisa than stare at a blank wall 20:40:07 ais523: Oh, and the reason I was using PCC in the first place was that it's genuinely *obnoxious* to try and get an i686-pc-linux-gnu cross compiler. 20:40:09 blank walls are very responsive. 20:40:19 I guess I have come to appreciate the importance of speed after having worked on the likes of SAP, with its laggy interface 20:40:26 It shouldn't be hard, but it is. 20:40:35 Because EVERYBODY'S BUILD SYSTEM SUCKS 20:40:36 What about reorienting a phone? Show an animation of it changing, or instantly change? 20:40:48 (I'm pretty sure I saw this sort of thing in an iPhone flamewar) 20:41:06 what about instead of having the phone change.. 20:41:16 have the whole world change around the phone and have the phone stay put? 20:41:31 Isn't that equivalent? 20:41:31 sort of CPS style 20:41:35 it's dual. 20:41:44 As you can tell, I'm quite *happy* with the state of UNIX right now. 20:41:44 that's better than equivalent. 20:41:47 No, because the animation is not very expensive. 20:41:53 there should be a tag in here to mark sentences that are meant to be taken as humourous/sarcastic 20:41:56 or what about having the co-telephone not-turn? 20:42:01 It's not on the level of, say, Compiz taken to crazy levels. 20:42:03 Phantom_Hoover, I should note hat cheater_ is speaking 20:42:29 pikhq_: C-INTERCAL's build system handles all cross-compile combinations quite well 20:42:33 norman256394, that tag is 20:42:36 :p 20:42:40 :P 20:42:48 it was designed by looking at gcc's build system, deciding it was an awful buggy mess that nobody should use ever, and doing something entirely different 20:42:54 * Sgeo_ swats cheater_ 20:42:58 ais523: Correct answer. 20:43:21 I think... 20:43:21 norman256394, you can try ais523's solution. 20:43:35 It does have the caveat that noöne except ais thinks it work. 20:43:37 *works 20:43:51 Phantom_Hoover: solution to what? 20:43:59 ais523, sarcasm. 20:44:01 the life, the universe, and everything. 20:44:05 * pikhq_ looks at it. 20:44:18 Your "take it seriously in an attempt to make everything absurd" tactic. 20:44:41 ais523: I approve of your pedantry so far. 20:44:44 I think IRC should be more like facebook 20:44:52 dnl Don't assume yacc exists just because bison doesn't (wtf autoconf...) 20:44:55 ... Wut. 20:45:01 it's hard to keep track of conversations in here. :| 20:45:26 Reddit might be easier for you? 20:45:30 it gets easier with practice 20:45:40 norman256394, and then i went to the kitcchen. funny, right? 20:45:45 pikhq_: hey, if autoconf is being stupid and I work around it, I may as well document what I've done and why 20:46:00 software should change for the users 20:46:08 not the other way round! :) 20:46:17 norman256394: yep 20:46:23 but someone has to write the compatibility layers in between 20:46:23 WRONG 20:46:25 to make it do that 20:46:27 everyone should adjust to vim. 20:46:28 norman256394, different niches, though. 20:46:31 -!- atome has quit (Ping timeout: 276 seconds). 20:47:03 Especially decades old software with decades old standards that its current users, of which there many, are quite comfortable with 20:47:11 (Not sure if decades gets pluralized) 20:47:24 ais523: Yes, I'm "Wut"ing at autoconf, not at you. 20:47:32 ah, OK 20:47:46 I'm not sure if it's a bug or a silly assumption 20:48:00 but it's definitely implausible 20:48:19 Sgeo_, decades is plural already. 20:48:22 ok...nice talking to you guys. But my IRC client is just plain too ugly to continue staring at for too long. 20:48:22 FYI. 20:48:46 cheater_, as in, I was uncertain if IRC history spanned two decades. 20:48:47 norman256394, that's what i think about one of my coworkers 20:48:50 Anyways, got a clue what GCC version(s) are compiler agnostic? 20:48:57 i started working from home though so it's alright 20:49:04 pikhq_: I knew once, but have long since forgotten 20:49:06 lol 20:49:15 I'm going to go out on a limb and guess it's 2.x. 20:49:37 pikhq_, bootstrapping gcc? 20:50:07 -!- norman256394 has quit (Quit: http://irc2go.com/). 20:50:16 Is there a recorded history somewhere of what older versions of gcc were used to compile newer versions etc.? Because that would make interesting reading imo 20:50:25 Sgeo_: Do you have any idea how fucking ridiculously painful it is to get an i686-pc-linux-musl compiler from x86_64-pc-linux-gnu? 20:50:54 Right now I'm only asking out of personal curiosity, because I HATE GNU. 20:51:21 No idea. Um, not even sure what you're referring to, exactly. Which machine are you on? 20:51:31 What binary do you have? 20:51:40 I should be able to parse this from your question, but I can't 20:52:18 I had a correctly functioning i686-pc-linux-musl pcc (okay, so it thought that it was i686-pc-linux-gnulibc1, but whatever). Problem is, nothing will build with that. 20:52:53 And it wasn't the libc's fault. musl can actually support a reasonable system (... if you don't mind a lack of C++). 20:53:15 Sgeo_, what's musl? 20:53:31 cheater_, um, ask pikhq_? 20:53:32 musl is a libc. 20:53:47 It doesn't suck. 20:53:48 Sgeo_, apparently asking you worked too 20:54:01 pikhq_, what does it do better than glibc? 20:54:18 cheater_: It has size comparable to dietlibc and performance comparable to glibc. 20:55:04 (in some cases better, in some cases worse. Has at-least-as-good big-O performance.) 20:56:07 cheater_: everything is better than glibc 20:56:47 What do MS's compilers use? 20:56:48 glibc is pretty bloated, and has absolutely convoluted code. 20:57:19 Sgeo_: msvcrt 20:57:29 "Microsoft Visual C++ Runtime". 20:58:26 Incidentally, they've been doing compilers for quite a while... That libc traces its way back to their C compiler for DOS in 1983. 21:00:12 The same libc is used by mingw. 21:00:22 -!- clog has joined. 21:01:32 ya it's funny 21:01:39 since mingw stands for minimal gnu for windows 21:01:41 but like.. 21:01:46 it's not using a gnu libc. 21:01:48 amirite. 21:02:42 Yeah, it's just GCC and binutils. msys adds a few more bits (bash, coreutils, make), but... Yeah. Utterly devoid of glibc. 21:02:47 So's cygwin. 21:03:17 pikhq_, why does glibc suck so much? 21:03:23 Is it just classic GNU bloat? 21:03:37 Classic GNU bloat. 21:04:10 As well as an avoidance of simple algorithms. 21:04:18 what is classic gnu bloat? 21:05:03 cheater_: They love creeping featuritis and premature optimisation. 21:05:30 As well as truly awful hacks that are not exactly necessary. 21:05:39 21:04:18: what is classic gnu bloat? 21:05:51 The simple answer to this is "true.c in the binutils source". 21:06:19 Coreutils has its own implementation of buffered IO. 21:06:31 got a link to that? 21:06:53 Oh, sorry, that's gnulib. 21:07:07 Which itself gets relevant bits copied into program source. 21:07:25 They claim it's for 'portability'. 21:07:36 Some of it actually increases portability. 21:07:50 Some of it is utterly retarded. 21:08:29 If it includes stdio-impl.h, it is definitely utterly retarded. 21:08:32 http://sourceware.org/cgi-bin/cvsweb.cgi/src/?cvsroot=src 21:08:42 could be somewhere in here 21:08:43 Would you like to guess what that does? 21:09:04 It... implicity includes stdio? 21:09:13 Phantom_Hoover: Oh, no no no, much worse than that. 21:09:18 -!- sebbu2 has quit (Read error: Connection reset by peer). 21:09:24 defines some constants? 21:09:29 Nope. 21:09:44 gnuifies the binary? 21:09:48 -!- sebbu has joined. 21:09:49 -!- sebbu has quit (Changing host). 21:09:49 -!- sebbu has joined. 21:09:51 well, tell us 21:10:00 cheater_, BtW, try true --version and --help, if your shell doesn't alias it. 21:10:02 It contains the definition of FILE for every libc they support. 21:10:17 Not FILE*, but the struct actually pointed to by it. 21:10:57 Aha, http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/true.c 21:11:00 Oh, it's coreutils. 21:11:02 Phantom_Hoover, ok so you mean coreutils 21:11:03 yeah 21:11:06 I always mix the two up. 21:11:11 78 line. 21:11:13 *lines 21:11:42 13 preprocessor statements. 21:11:49 2 functions. 21:12:35 Indeed, coreutils' copy of gnulib seems to contain most of a libc. 21:12:58 ... *it actually contains a printf*‽ 21:13:23 IT LITERALLY HAS A PRINTF. 21:13:38 what is so bad about this thing? 21:13:42 You think I'm kidding, but no, it literally has a printf. 21:13:58 true.c doesn't seem so bad. 21:14:10 defines some help, some other stuff, and does its job too. 21:14:18 cheater_: Allow me to give you a true.c. 21:14:23 int main(){return 1;} 21:14:33 how do i find the usage for it 21:14:40 man 21:14:47 what about having --usage 21:15:02 which is actually a common thing 21:15:18 Perhaps you'd be more revolted by cat. 21:15:25 why 21:15:33 http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/cat.c 21:16:25 1,000 lines of code. Pokes around libc internals. Uses its own buffered IO on top of stdio. 21:16:52 What does filenotfound return? 21:17:03 Also, wouldn't true.c return 0? 21:17:30 And has significantly more options than is even slightly necessary. 21:17:42 (the following options are required by POSIX for cat: -u 21:17:43 ) 21:18:22 https://github.com/pikhq/pikhq-coreutils/blob/master/cat/cat.c For comparison. 21:19:00 1/10th the size, billions of times more portable. 21:22:01 why is it billions of times more portable 21:22:28 pikhq_, typo in the comment on line 36. 21:22:28 Their cat *literally is fucking around with libc internals*. 21:22:40 where? 21:23:13 It's in some functions they pull in from elsewhere in the source tree. 21:23:39 Yes I do think GNU programs are bloated, but it is good they write those programs anyways. Especially since they wrote the license too. Now the same license can be used with other programs, including other programs that are based on the GNU programs. 21:23:52 I dislike GNU long options. 21:24:36 Phantom_Hoover: That ain't a typo, you git. 21:24:59 It's a perfectly valid, though admittedly non-US, spelling. 21:25:07 ...mesage? 21:25:11 Oh. 21:25:14 Didn't see that. 21:25:16 XD 21:25:24 I once asked them why they make large GNU program like that, they didn't give a very good answer in my opinion 21:25:29 "Unrecognised." Thought that was what you were talking about. 21:25:32 Also: you know that I'm not from the US, right? 21:26:08 Do I care? :P 21:26:13 Anyways, pushed. 21:26:39 Phantom_Hoover: How do you think someone will know that? Did you post that information somewhere, such as esolang wiki? You have cloak enabled so it is hard to know these kind of things? 21:31:37 -!- pikhq has joined. 21:34:03 -!- pikhq_ has quit (Ping timeout: 244 seconds). 21:37:43 So. Everybody is wrong at everything; any arguments? 21:40:57 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:41:02 pikhq: wrong 21:41:11 (you walked into that one) 21:46:49 pikhq: Yes. Including you are wrong at this. And the argument is also wrong. 21:52:11 Gregor, I am sorely disappointed at the loss of searchable logs of this place. 21:52:17 Please fix your hg ones or something. 21:58:52 -!- elliott_ has joined. 21:59:17 , 21:59:30 -!- elliott_ has changed nick to elliott. 21:59:32 x 21:59:32 elliott: You have 2 new messages. '/msg lambdabot @messages' to read them. 21:59:57 -!- elliott has quit (Changing host). 21:59:57 -!- elliott has joined. 22:03:35 * pikhq flips off pcc for a bit 22:03:58 pcc sux 22:04:20 Shouldn't be hard to get it to actually function right. 22:04:35 what are you tryin 22:04:42 it might be that malloc(0) in cpp 22:04:46 that broke it with dietlibc 22:05:31 Right *now*, just trying to get a normal pcc on x86_64-pc-linux-gnu 22:05:40 Its output segfaults. 22:06:36 It segfaults with the program counter at 0x01. 22:08:43 is there a shell which does *not* alias true? 22:09:14 ksh, bash, sh, dash, zsh all do it 22:09:31 -!- azaq23 has quit (Quit: Leaving.). 22:10:05 tcsh doesn't 22:11:18 "Alias"? 22:11:51 -!- atrapado has quit (Quit: FIN). 22:13:35 "troll"? 22:14:24 i'm not sure of the relevance; after all, I'm not an alias, so that hardly works 22:15:32 yeah. good thing we're not playing synonyms then, right? 22:22:08 none of them "alias" it as you say 22:22:20 Vorpal: TROLL?????? 22:22:42 elliott, yes they all troll true until it gives up and ignore them 22:22:56 that is why they implement it as a shell builtin 22:23:14 since the one in /bin refuses to have anything to do with them 22:23:24 elliott, happy? 22:23:49 elliott, speaking of which, how goes the spec 22:27:15 -!- elliott_ has joined. 22:27:19 cheater just disconnected me from the internet as a warning 22:27:50 -!- elliott has quit (Ping timeout: 248 seconds). 22:28:52 -!- elliott__ has joined. 22:28:56 what is my connection even doing 22:29:47 elliott__, it is having a hangover 22:31:03 interestingly, translating the Swedish word for "hangover" literally to English yields "backsmash" 22:31:25 lj 22:31:29 elliott__, "lj"? 22:31:51 -!- elliott_ has quit (Ping timeout: 252 seconds). 22:32:02 elliott__, what do you mean with lj? 22:32:02 ijsd 22:32:08 also stop pinging me :D 22:32:18 elliott__, I'll stop once you make sense 22:32:34 elliott__, I blame the current "lj" and "ijsd" on your connection 22:32:58 me toae@¶ŧ 22:33:57 -!- pikhq_ has joined. 22:33:59 -!- pikhq has quit (Ping timeout: 246 seconds). 22:34:33 Now, then. I have a functioning pcc. 22:34:38 Again. 22:34:46 That is i686-pc-linux-musl. 22:34:48 Again. 22:34:51 pikhq_, why do you care about ppc? 22:34:53 err 22:34:54 pcc* 22:35:06 I'm sure I had a reason when I started. 22:35:13 (having a functioning i686 ppc would be amusing) 22:35:16 Right now, it's stubborness. 22:42:29 pikhq_, how long have you been working on this 22:44:09 Today. 23:07:40 -!- oerjan has joined. 23:12:43 make[2]: *** No rule to make target `../.././gcc/libgcc.mvars'. Stop. 23:12:49 ... What. 23:16:23 -!- pikhq has joined. 23:19:45 -!- pikhq_ has quit (Ping timeout: 260 seconds). 23:25:42 My favourite expansion hack is mkdir z; mv *; mv z foo. Try to do that with a smarter mv. 23:25:50 wow that's an interesting use of * 23:25:51 and pretty eso 23:26:10 elliott__: are you caught up logreading, btw? 23:26:20 ais523: I wasn't planning to; should I? 23:26:33 Well, you'll just see me being angry at everything and everyone forever. 23:26:54 elliott__: not necessarily, it's just that some things happened that I thought you might have reactions to, but you probably don't care much 23:27:08 also, at the NEC today, I saw a place marked "food & bar" in really large letters (I'm talking at least 10 metres high) 23:27:09 * elliott__ reads 23:27:12 only someone had removed the d 23:27:15 so it said foo & bar instead 23:27:24 I wonder if it was actually a metasyntactic varaible vote, or concidence? 23:27:26 ais523: That was my initial parse even with the "d" there. 23:27:32 pikhq: heh 23:28:23 I think there's actually a bar called the Foo Bar 23:29:00 13:55:58: http://lee.fov120.com/ecoop.pdf a paper advocating for "prototype multiple dispatch" 23:29:05 is this the Slate stuff? 23:29:54 I'm getting this sense that Sam Hughes' soul has been sucked out by something. 23:30:10 Working at IBM? 23:30:29 Also, are you sure it's not your soul that's been sucked? 23:30:36 ais523: am i meant to be commenting on sgeo 23:31:00 elliott__: later, there was someone turning up about esoterica, and then got vaguely sucked into esoprogramming 23:31:14 also some trolling from cheater that even I recognised as trolling, but I didn't say anything 23:31:44 A wiser strategy than the reciprocation the rest of us get sucked into. 23:32:08 17:46:33: hey, remember when everyone here mocked me for saying I was entering a Pokémon championship, and saying I had no chance? 23:32:09 we did that? 23:32:15 I don't recall doing that :< 23:32:37 I recall us asserting that he had little chance, because Pokémon tourny players are quite intense about it. 23:32:44 Not much on the "mocking" though. 23:32:56 ah, fair enough 23:33:03 but this channel generally did, I forget who 23:33:06 Why mock someone for playing a good JRPG? 23:33:10 but it was more than one person 23:33:22 pikhq: it was for thinking I had a chance at doing well, rather than for playing it 23:33:39 people telling me I was underestimating the effort required, etc 23:33:40 Mmmm. 23:34:17 Well, it *is* rather a lot of work to be competitive. But apparently, you've done your due diligence. 23:34:54 I once asked them why they make large GNU program like that, they didn't give a very good answer in my opinion 23:35:06 :D 23:35:16 pikhq: pokemon is a /good/ jrpg? 23:35:18 it's 90 percent grinding 23:35:44 i am now envisioning stupid programmers being forced to explain their reasoning to zzo38 23:35:54 elliott__: Good mechanically. 23:36:00 elliott__: The plot is absolutely banal. 23:36:21 Sgeo_: HEY LOOK HOMESTUCK UPDAEJTROIJD 23:36:24 god its fun being on the other side of bugging 23:36:24 elliott__: not any more, there's a new experience formula in Black & White which removes most of the grinding, unless you want a really competitive team 23:36:42 ais523: heh, I even contemplated buying black or white yesterday or so 23:36:48 it takes me about 3 hours to get a perfectly-statted competitive Pokémon from near-scratch, if I'm allowed repeatable resources 23:37:00 that is, things that were hard to get in the first place but don't get used up in the process 23:37:03 elliott__: Also, 90% grinding is not that big of a deal for a game that's got like 10 or 15 hours to the "end". 23:37:24 pikhq: and around 400 or so hours to the actual end, where you fill the Pokédex, that hardly anyone ever reaches 23:37:31 pikhq: Well sure, but it's more addictive than anything :) 23:37:34 In the older generations 23:37:42 also, the plots have improved over time 23:37:46 ais523: I consider that, along with competition, to be post-game content. 23:37:54 ais523: sapphire imo was plot perfection 23:37:55 in Black & White, the plot is about on the level of a decent children's story 23:37:56 ERADICATE 23:37:56 ALL 23:37:57 WATER 23:38:08 elliott__: that was Ruby 23:38:12 oh was it 23:38:12 sapphire was FLOOD THE WORLD 23:38:14 same thing :) 23:38:14 -!- augur has quit (Ping timeout: 248 seconds). 23:38:20 Or, alternately, you could just say "the story bit is just a side thing". 23:38:20 it's a very, very special kind of stupidity that these villains run on 23:38:36 new in Black & White, the villains actually have plausible motivations 23:38:43 all of them, even if some of them contradict each other 23:38:44 Emerald was better. 23:38:46 and others are being manipulated 23:38:52 ERADICATE ALL WATER *and* FLOOD THE WORLD 23:39:20 ais523: So it'll be literary fiction in a few hundred years? 23:39:25 I have to say out of all of the Pokemon games I've played, third generation was the most fun. 23:39:33 but I haven't played 4 or 5. 23:40:05 elliott__: perhaps 23:40:07 but yes, the villains are always stupid. 23:40:21 CakeProphet: I think the 4th gen remakes of the 2nd gen games are best 23:40:33 but 5th gen has been growing on me, I used to dislike it a lot but now I rank it pretty high 23:40:42 ah, well yes. Any remake of the original games is going to be awesome as well. 23:40:44 I've got a soft spot in my heart for 2nd gen. 23:40:57 what's fifth gen 23:41:02 black & white, so far 23:41:05 and Pokédex 3D 23:41:07 Haven't played 4th or 5th gen, due to not owning a DS. 23:41:09 and some other pointless spinoffs 23:41:22 the generation number is basically about how many Pokémon are involved 23:41:27 btw, is the 3DS' 3D actually any good 23:41:29 I'd say third generation is the last generation in which they had good pokemon concepts. 23:41:45 overall. 23:42:04 CakeProphet: i suspect nostalgia goggles 23:42:18 elliott__: actually no, I didn't play third generation until like two years ago. 23:42:21 Shame, too. If they got actually desperate they could start spelunking mythology. ... And risk becoming Megaten. 23:42:26 Which would actually be awesome. 23:42:32 CakeProphet: bah :) 23:42:54 pikhq: how do you not own a DS? even /ais/ owns a DS 23:43:10 elliott__: possible bias in that I haven't actually /played/ fourth and fifth generation. I've only watched other people and looked up some of the pokemon via wiki and thought they were lame. 23:43:11 btw, is the 3DS' 3D actually any good 23:43:13 elliott__: 100 applicants per job opening. Any further questions? 23:43:17 It works, if that's what you mean. 23:43:29 pikhq: PAH :P 23:43:31 * CakeProphet does not own a DS..? 23:43:34 Phantom_Hoover: Yes but I mean is it annoying. 23:43:42 elliott__, also yeah, you forget pikhq lives in a less developed country than us. 23:43:48 And I can't answer that. 23:43:51 Phantom_Hoover: Oh right. 23:44:13 -!- FireFly has quit (Quit: swatted to death). 23:45:10 interestingly, translating the Swedish word for "hangover" literally to English yields "backsmash" 23:45:16 wait which word 23:46:04 norwegian is "bakrus" but "rus" doesn't mean smash, it means intoxication 23:46:26 e.g. up to Mew is 1st gen, if you go up to Celebi it's 2nd gen, up to Deoxys is 3rd gen, up to Arceus is 4th gen, and up to (as yet unreleased event Pokémon) is 5th gen 23:46:59 that wasn't lag, that was me forgetting to press return because I was trying to help deal with a spontaneously exploding glass oven door 23:47:05 ais523: I just want to know when MISSINGNO will be an official part of the Pokédex. 23:47:23 elliott__: you do realise it doesn't exist, right? 23:47:35 As #000. 23:47:40 ais523: By what definition of "doesn't exist"? 23:47:48 it isn't even #000 23:47:57 It certainly existed in Stadium (Stadium 2, JP). 23:48:03 Bulbapedia says it's #000 in the national ddddex, but maybe that's wrong. 23:48:18 well, for one thing it's spelt MISSINGNO. with a dot, but more to the point it has no stats defined but a nam 23:48:20 *name 23:48:30 everything else is unrelated memory interpreted as stats 23:48:52 ais523: Plenty of games for such platforms are coded with weird bit-twiddling hacks. 23:48:52 yessss, mexican food. 23:48:55 The implementation is rather irrelevant. 23:49:25 #000 Unova dex is Victini, they decided to put an actual event mon there 23:49:37 although event mons are a ridiculous concept 23:49:50 I think #000 has been DP Box for a while now 23:49:56 and #000 in first gen was Cancel 23:49:59 event... mon? 23:50:14 like, a jamaican dude? 23:50:16 the menu option that you use to not select anything 23:50:20 CakeProphet: short for "monster" 23:50:35 just like Pokémon was "pocket monster" before it was contracted to settle a trademark dispute 23:51:19 and an event Pokémon is one you can only get by going to a particular Nintendo / tPCI distribution in real life 23:51:24 or by hacking 23:51:32 ais523: or trading, presumably? 23:51:36 or in some cases, via glitch 23:51:42 elliott__: well, that doesn't increase the number in the world 23:51:48 but sure, if you can find someone willing to part with one 23:51:49 "The Qi JT? POké BB de W N type is the type of the glitch moves TM14 and TM17. Part of the name of this type changes to match the player's name, and another part changes to match the name of the player's Pokémon at the front of the party. For example, if the player's name was ASH and the active Pokémon's name was PIKACHU, the name of this type would be Qi JTASH? POké BBPIKACHU de W N." 23:52:09 or who's not above cloning them via glitches or hacks 23:52:19 ais523: annoying artificial scarcity :( 23:52:25 WishBliss must have been cloned so many times 23:52:43 It's easy to poison the market by just cloning one a few times and spreading it around, anyway 23:53:00 possibly the most infamous event Pokémon in existence, because it was distributed in a pretty narrow distribution (only in New York), is legal in competitive battles, and is really good 23:53:33 ais523: It wasn't contracted to settle a trademark dispute... 23:53:40 "I've heard it from too many people so now I just gotta ask. Is Wish-Blissey seriously banned? I know its hard to get and all having to trade all the way from XD but come on now. Is this serious or is this just Colin's crap from official (Which noone cares bout) still not flushing properly?" 23:53:41 Well this makes no sense. 23:53:43 ais523: It was contracted for the sake of not being Engrish. 23:54:03 elliott__: no it isn't banned, and it doesn't come from XD, someone is trolling 23:54:04 ais523: It's still sold as "poketto monsutā" in Japan. 23:54:06 "noone" ugh 23:54:13 CakeProphet: what's wrong with "noone"? 23:54:23 It omits a diaeresis, but so does everyone 23:54:24 Insufficient ö. 23:54:24 it's not one word, for starters. 23:54:26 ais523: there seems to be no bulbapedia article for WishBliss 23:54:28 especially blaming Colin for everything, it's quite a sine of a troll 23:54:32 CakeProphet: Yes, it is. 23:54:37 elliott__: it's probably in the article about Blissey or Chansey 23:54:57 CakeProphet: Note that in "no-one", the hyphen is simply taking the place of a diæresis above the second letter. 23:55:02 i.e. noöne. 23:55:08 But it's perfectly valid to simply omit the diæresis altogether. 23:55:12 oh, strange, Bulbapedia doesn't even mention it as existing 23:55:23 ais523: SHHHHHHHHHHH 23:55:24 Wish is nowhere in the learnset 23:55:25 elliott__: right, but "noone" is silly and should never be used. no-one is fine. 23:55:40 CakeProphet: I am stunned by your flawless justification. 23:55:44 yep 23:55:50 I mean, it should be obvious why it's bad. 23:55:52 I don't use "noone" either for aesthetic concerns, but to say it's not a word is ridiculous :P 23:56:00 ah no, it's just hidden in a subpage 23:56:12 http://bulbapedia.bulbagarden.net/wiki/List_of_Nintendo_event_Pok%C3%A9mon_in_2004#Wish_Chansey 23:56:17 it's a non-standard word, at least. People use it, but they probably need to die or something. -shrug- 23:56:46 Where's augur when you need him? 23:57:04 I think that's also the only way to get Sweet Scent on a Chansey/Blissey, but nobody cares 23:57:14 Just a small English language pet peeve of mine, one of few. 23:58:19 Honeſtly, if you're going to go preſcriptiviſt, you ſhould go all þe way. 23:58:46 CakeProphet: can i pick on you for saying a bunch of non-standard shit that shakespeare just made up for shits and giggles? 23:58:52 It's a PET PEEVE 23:59:04 a Nenglishsure 23:59:10 :) 2011-06-05: 00:00:06 for the want of an ail 00:00:36 oerjan: Nice. 00:00:47 pikhq: no, I think you should go just a little ways in order to still be reasonable. 00:01:07 CakeProphet, you aren't that guy I just talked to on that Homestuck Omegle thing are you. 00:01:12 -!- augur has joined. 00:01:13 ...no 00:01:14 CakeProphet: M'þinkſt þou are not ſufficiently reaſonable, m'ſelf. 00:01:23 s/are/art/ 00:01:35 pikhq: shameful 00:01:45 *ſhameful 00:03:21 !gregor The wonders of computer science. 00:03:24 ​The wonders of computer science. 00:03:40 Um? 00:03:54 indeed. 00:04:14 !show gregor 00:04:15 ​sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g' 00:04:53 Ah, I ſee. 00:05:01 no option? or do you need one? 00:06:17 I'm not entirely sure why that isn't working 00:06:29 ah nevermind 00:06:35 it does the opposite of what I thought it did. :P 00:07:50 !addinterp gregor^-1 sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g' 00:07:50 ​Interpreter gregor__1 installed. 00:07:55 -_- 00:09:07 excellent, I was hoping someone else would do that so I didn't have to. :D 00:09:22 but I would have named it 'pikhq' 00:10:27 !gregor__1 In hindsight, that seems more sensible, given Gregor's stupid mutilation of the name. 00:10:28 ​In hindſight, þat ſeemſ more ſenſible, given Gregor'ſ ſtupid mutilation of þe name. 00:11:15 Apparently, I use uninterpolated Perl string literals in my English. 00:12:37 if I used double quotes something scary might happen. 00:12:55 Hey, look, it outputs wrong. 00:13:02 s shouldn't become ſ at the end of a word 00:13:04 Yup. 00:13:25 or after another s, iirc 00:13:46 Quite right. 00:13:56 It's "ſs", not "ſſ". 00:16:28 Anyone want to write the regexes for that? No? Good. 00:16:39 lol. I do, of course. :) 00:17:29 hahaha WOW someone is seriously saying that .NET is going to be abandoned in favour of HTML5 and JavaScript 00:17:43 ".NET came out 10 years ago, and Microsoft still has yet to adopt it in Office or throughout Windows." 00:17:48 WHY HAVEN'T YOU REWRITTEN OFFICE YET MICROSOFT 00:17:54 ...hahahaha 00:18:30 wow. 00:19:05 Personally, I'd be amazed if they ever actually replaced their freakish C environment. 00:19:16 It's one of the best bits of platform lockin ever devised. 00:20:00 Go on. 00:20:46 I dream of the day where I get hired to write applications in HTML5 and Javascript. 00:22:06 I dream of the day when I get to replace all software. 00:22:45 with all of that infinite time you have. 00:23:07 I dream of the day when I can write software without getting bored within thirty seconds. 00:23:54 I dream of the day when writing software isn't awful 00:24:15 Phantom_Hoover: how goes terraingen 00:24:20 .lisp 00:24:31 See what I mean‽ 00:24:35 Phantom_Hoover: I've heard Visual Basic keeps things interesting. 00:24:35 I also dream of the day that I can fork() myself. 00:24:47 ...eeeeew. 00:24:48 pikhq: it's really quite easy HUR HUR HUR 00:24:48 HUR 00:24:50 HUR HUR HUR 00:24:50 HUR 00:24:51 HUR HUR 00:24:52 HUR 00:24:52 HUR 00:24:53 00:24:54 HUR 00:24:58 00:24:59 That's worse than Vorpal's interface fetish. 00:25:02 00:25:04 00:25:06 00:25:08 HUR 00:25:12 HUR 00:25:35 pikhq: that would be great, I would fork bomb myself and go save the world as a giant collosal human monster. 00:25:49 this channel is pg thirteen jesus 00:25:56 cut off portions of yourself / end world hunger 00:26:01 (jesus himself was a very rowdy man we have toned him down as this channel) 00:27:08 monqy: I was thinking more along the lines of forking huge balls of myself as a projectile to hurl at evil-doers, but sure, that sounds like a more realistic world saving strategy. 00:27:29 elliott__: This channel is quintuple-X. 00:27:32 also "forking huge balls" 00:29:37 Is there a language called Lime? 00:29:46 or Taco? because these are names I would like to use. 00:30:34 Oh hey I can Google: http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/43e23ec91521c1e3852577bc0048ea37!OpenDocument&Highlight=0,lime,language,manual 00:31:42 i cant 00:31:57 CakeProphet, would it be something along these lines: http://www.mspaintadventures.com/?s=4&p=001680 00:32:40 ..yes 00:33:08 Phantom_Hoover: Stop making me want to read PS. 00:33:36 elliott__, PS kills AD with the Chicago Overcoat. And then it turns out they're both PI. 00:33:41 Oh hey I can Google <-- congratulations! 00:33:50 Phantom_Hoover: Obviously. 00:33:51 * Phantom_Hoover really needs some spoiler templates he didn't steal off xkcd. 00:34:18 Seriously though it's such a short comic I could read it in two days. 00:34:28 Why don't I do that rather than refreshing for Homestuck updates. 00:34:54 Because it would involve enjoying yourself jegus how is it half one already. 00:35:13 Please stop saying jegus it is really annoying and only bad people do it all the time. 00:35:23 And the answer is because you have a sleep schedule about a tenth as insane as mine now. 00:35:25 When did you wake up anyway. 00:35:40 10 something. 00:35:48 What, am? 00:35:50 -!- Patashu has joined. 00:36:04 OK that's only a thousandth as insane come on that's downright pedestrian. 00:36:12 OK sleep now 00:36:21 You suck. 00:42:07 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 00:50:12 elliott__: When did you wake up? 00:50:27 I... never... woke... UP... 00:52:12 i thought we had established that elliott was... wait, what was it again 00:52:29 a vampire werewolf? 00:52:44 plausible 00:53:06 but i'm pretty sure that wasn't it 00:55:54 15:13:21: where is elliott :\ 00:55:54 15:13:23: Werewolves. 00:56:07 18:33:29: Learn to be Chinese and kill yourself 00:56:14 `addquote Learn to be Chinese and kill yourself 00:56:17 ​435) Learn to be Chinese and kill yourself 00:56:54 20:27:34: we also talk about other esoterica 00:56:54 20:27:50: so if you're just a curious type, you might want to hang around to learn 00:56:57 no we d- 00:56:58 20:27:56: coppro: no we don't 00:57:08 ais523: good words 00:58:54 20:30:30: hmm 00:58:54 20:30:34: elliott's not around, right? 00:58:54 20:30:48: coppro: I don't think so 00:58:54 20:31:01: ais523: excellent 00:58:54 20:31:05: we're safe from him then 00:58:58 coppro: Yeah, right 00:59:54 ais523: gah, you're right wrt cheater 01:00:00 * elliott__ attempts to skip over the noise 01:00:15 20:36:13: something like the interface of the future 01:00:17 20:36:22: highly interactive 01:00:17 20:36:28: smooth transitions 01:00:17 lol 01:00:35 20:38:17: You should probably talk to elliott about that so he can tell you why your ideas are bad and you should feel bad. 01:00:36 yeah 01:00:44 im here for norman if he wants a yelling at 01:01:38 20:41:53: there should be a tag in here to mark sentences that are meant to be taken as humourous/sarcastic 01:01:43 what is it with people proposing this, it defeats the point of sarcasm entirely 01:01:43 which is to make people who are stupid feel bad 01:01:47 elliott__: I have empirically determined your weakness? 01:02:01 elliott__: the proposed actual tag was funny 01:02:20 ais523: Yes, but it was cheater, so I'm legally obligated to refuse to comment on this one-off fluke. 01:02:26 coppro: Yes, it is ending statements with a question mark? 01:02:46 elliott__: What you do you think ! 01:02:54 coppro: aaaaah what 01:02:59 coppro: gah, shades of Enigma 01:03:04 engima has different floors ! 01:03:10 *enigma has different floors ! 01:03:24 im glad you included the entire sentence there 01:03:32 or id have tohught you meant "engima enigma different floors" 01:03:51 elliott__: it loses its effect if not spelt out 01:03:58 the typo was ruining it 01:08:39 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:08:50 -!- Vorpal has quit (Ping timeout: 260 seconds). 01:14:31 * CakeProphet is feeling hard-boiled. 01:16:35 Oh god is he reading Problem Sleuth. 01:17:50 CakeProphet: C/D 01:24:36 -!- calamari has joined. 01:25:43 -!- calamari has left. 01:41:09 -!- oerjan has quit (Quit: Good night). 02:17:22 -!- pikhq_ has joined. 02:20:37 -!- pikhq has quit (Ping timeout: 276 seconds). 02:38:42 elliott__: yes. 02:47:56 -!- augur has quit (Remote host closed the connection). 03:04:31 -!- pikhq has joined. 03:04:43 -!- pikhq_ has quit (Ping timeout: 244 seconds). 03:05:43 -!- augur has joined. 03:09:53 Should I read Problem Sleuth? 03:15:38 Some pokemon tournaments will permit cheating before the tournament starts, as long as the data is of the kind that can also be legitimately obtained in the game, and that you do not cheat during the game. 03:16:14 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 03:16:44 My quotation "Learn to be Chinese and kill yourself" is reading out of context, is more strange, since its meaning from that context is now not there; but you told me before you like to post quotations out of context, so it is OK. 03:20:35 Sgeo_: I'm finding it entertaining 03:21:20 zzo38, the context is someone who wants to get better at everything than everyone else, by killing people who are better at him at anything 03:21:36 He pointed out that he'd have to kill all Chinese people 03:21:44 And almost everyone else for that matter 03:22:18 Yes, that is why I typed that message 03:24:32 Oh, he wouldn't have to kill all Chinese people. 03:24:44 Just all people who speak the Chinese language he wants superiority at. 03:24:53 *Much* easier problem. 03:26:05 Then in that case, learn to be Chinese and then don't kill yourself. 03:37:00 -!- Lymia has quit (Ping timeout: 260 seconds). 04:14:15 Sgeo_: I'm finding it entertaining 04:14:30 CakeProphet: wait 'til you get to homestuck :D 04:14:37 (FIVE WEEKS LATER...) 04:18:48 * Sgeo_ headaches at the dumbwaiter 04:18:56 Sgeo_: wat 04:19:13 http://www.mspaintadventures.com/?s=4&p=000404 04:25:46 Sgeo_: oh btw HAMSTEAK UPDATE i love this reversal of the balance of power mwahahaha endless bugging power 04:25:59 Knew about it for a while 04:26:59 yeah but so did i every time you said it so everything is going according to plan :D 04:31:28 Y'know what'd be very, very nice? 04:31:36 Replay Gain on video. 04:31:42 Y U NO DO IT, MPLAYER? 04:31:57 can we please let y u no die 04:31:58 like 04:32:00 forever 04:32:08 Second time I've used it, okay? 04:32:15 yeah but what if it spreads 04:32:18 it'll be like 04:32:21 a breadth-first meme 04:32:28 everyone just using it a few times 04:32:33 Oh jesus fuck. 04:32:49 yeah 04:33:16 elliott__, Y U NO LIKE Y U NO? 04:33:21 * Sgeo_ ducks 04:33:41 Sgeo_: im going to rip your fucking heart out 04:35:20 Sgeo_: Y U NO HAVE HEART? 04:36:21 coppro: your blood 04:36:22 will line 04:36:23 the fucking 04:36:23 walls 04:40:02 coppro, Y U NO HAVE BLOOD? 04:40:09 -!- Sgeo_ has changed nick to Sgeo. 04:41:34 Sgeo: death 04:41:36 will rain 04:41:38 from the SKIES 04:44:01 elliott__: Guess what's being developed by a suckless dev? 04:44:13 COREUTILS 04:44:15 http://hg.suckless.org/sbase/file/a9db33a9bfea 04:44:16 :D 04:45:43 :D :D 04:45:48 my interest in coreutils is rapidly diminishing 04:45:53 do they have anything actually non-trivial 04:45:58 * elliott__ looks 04:46:01 nope, doing all the simples tuff first 04:46:12 i can guarantee this will never be a viable full coreutils replacement 04:46:21 Yeaaah, he started 2 days ago. 04:47:04 Is there anything non-trivial in coreutils? 04:47:34 well, arguable :) 04:47:39 but 04:47:42 are you writing coreutils 04:47:46 or coreutils + util-linux 04:47:56 because the latter is not really non-glibc-portable and the like 04:47:59 and it's what really needs replacing 04:48:03 and that is _not_ trivial 04:48:13 you need a getty, fdisk, fsck 04:48:14 * pikhq hasn't looked at util-linux's src 04:48:22 mkfs 04:48:24 mount 04:48:29 script 04:48:34 etc. 04:48:48 pikhq: they use some gnu shit like get_program_name() or something 04:48:55 that adds overhead to every single program if its included in the libc 04:49:41 pikhq: obious bug in tee 04:49:44 *obvious 04:49:56 fucking up tee 04:49:59 that's an achievement 04:50:24 sweet, gratuitous use of stdio 04:50:31 it will accept "-e\xff" as a valid flag 04:50:35 good to know the suckless ultra-minimalist spirit is still alive 04:50:51 coppro: um, eh? 04:51:20 holy shit their cat uses stdio 04:51:21 http://hg.suckless.org/sbase/file/a9db33a9bfea/cat.c 04:51:23 cat is like 04:51:29 the one program that's utterly trivial to write with read/write 04:51:40 and that actually suffers for stdio overhead because it's such a tiny program 04:52:12 elliott__: he uses getopt into a char 04:52:18 coppro: oh lol 04:52:35 C: best language???? 04:53:31 clearly these things should just be written in assembly 04:53:34 also screw backwards compatibility 04:53:40 let's have a C compiler with sane flags 04:53:47 asmutils is fun 04:53:54 writes its own ELF headers and everything 04:53:59 totally syscalls, no libc dependencies 04:54:01 http://asm.sourceforge.net/asmutils.html 04:54:13 coppro: here's another idea: let's not use C 04:55:17 elliott__: provide me with an alternative and I'm behind you all the way 04:55:19 I think you should write a version in C and a version in assembly language. Use the program that is assembly language when it is compatible with the computer. 04:55:30 coppro: for what? coreutils? 04:55:40 for coreutils... any language at all is sufficient, jesus 04:55:46 these are utterly trivial programs for the mostpart 04:55:46 elliott__: a minimum portable language 04:56:02 coppro: there is no way C is minimum. that is a laughable claim. 04:56:37 elliott__: I didn't claim it was 04:56:54 you were implying it 04:57:09 "gimme an alternate to c" "criteria?" "a dynamically-typed interpreted scripting language" 04:57:26 it is quite minimal on a relative scale, while having asufficient abstraction to be portable 04:57:48 C has tons and tons and tons of semantics 04:58:09 i refuse to even argue that, there is no way C is minimal as far as portable languages go:) 04:58:11 [asterisk]go :) 04:58:22 (I might argue its portability too, but I'm way too lazy to right now) 04:58:49 like, ANS Forth is if anything /more/ portable than C, and it certainly has much less semantic baggage 04:58:56 (no, I don't think ANS Forth is a good replacement for C) 04:59:47 "Michael J. Fox Appearing in Back to the Future" ;; Telltale, this is a very dishonest title to put in my inbox >:| 05:00:47 elliott__: So far, I very nearly have a functioning util-linux with musl. 05:01:05 2 patches thus far, simply pulling in the right includes. 05:01:15 (it seems to have relied on overinclusion in the headers) 05:02:14 Probably C is made to need a lot of things because many different computers have a lot of things, such as the different kind of data types, and different optimization, and so on. 05:04:55 -!- elliott__ has quit (Ping timeout: 252 seconds). 05:05:16 *3* lines of patching. 05:05:26 But still, isn't quite perfect 05:06:29 elliott__: minimal in terms of abstraction, not simplicity 05:08:41 Aaand a single GNU-ism. 05:08:49 So far, versionsort(). 05:11:29 boo 05:11:30 I'm now sufficiently scared of my power cord that I'm not going to charge my computer until I have a new one 05:11:37 lol 05:11:39 And now, a different fail. 05:11:43 have fun 05:11:57 Seriously, it's sparking and making sounsd 05:11:58 Their mount relies on no-longer-extant defines in the Linux headers. 05:12:08 lolwut 05:14:10 Then, make a new one that is minimal in abstraction and simplicity and compile to native codes but can do the different kind of optimizations and other features that can be specific to the computers and whatever else. I think someone invented C-- for a similar purpose to this? 05:14:23 ... Waaait, that's libmount which isn't even needed at all. 05:15:11 --disable-libmount 05:15:36 Night all 05:18:38 And now, something that confuses me. 05:18:40 NGROUPS 05:18:48 I have no idea where that should be found. 05:19:20 Aaah, sys/param.h 05:19:29 -!- Sgeo has quit (Read error: Connection reset by peer). 05:19:55 Musl seems to not define it. 05:21:53 Oh, no wonder, NGROUPS is not POSIX. 05:21:56 NGROUPS_MAX is. 05:33:14 There is also Pascal, although many things Pascal is missing (such as default cases, which some Pascal systems provide; hexadecimal/octal numbers, which WEB provides; preprocessor macros, which WEB provides (also usable to make conditional compilation)), including many things that is just not Pascal such as using pointers like C and bitwise operations and stuff! Is many thing wrong! 05:33:33 However, it does have a few good features such as ability to specify number size datatype by range, which C doesn't do. 05:34:35 And apparently the syntax in Pascal for forward declarations of procedures that have parameters, is really horrible (although I don't know how it works, is just what Knuth wrote that it is really horrible). 05:37:35 -!- calamari has joined. 05:37:42 GAAAH, stuff uses error in here. 05:38:15 By far the most devious GNUism. 05:42:01 Okay, not going to work on it any more, but it would not be that hard to port util-linux to be vaguely portable. 05:48:39 To quote Stanford algorithms expert Donald Knuth, "Who are you? How did you get in my house?" 05:48:50 :) 05:53:06 I'm actually not sure why most languages index arrays starting at zero. It makes sense, but I have no way of explaining why.. 05:53:58 It makes some array arithmetic easier... 05:54:10 It also makes a fuckton of sense with C's semantics. 05:54:18 Remember, a[b] == *(a+b) 05:54:22 yes. 06:02:29 it would be interesting if computation power had increased faster (relative to need) than memory size. So essentially we were more concerned with optimizing memory over computation time. 06:02:55 Uh, it has. 06:03:15 Well, actually, it's memory bandwidth that's stifling. 06:03:59 relative to need though? it seems that optimizing speed over memory use has been preferred in most cases. 06:04:29 The best way to optimise for speed these days *is* to optimise for memory use. 06:04:38 I like index arrays starting at zero it makes sense not only for pointer arithmetic but in a few others ways, sometimes even mathematical sensibility. 06:05:51 -!- zzo38 has quit (Quit: Let's put all of your money in the toilet. Whoever wins will be their job to take *all* the money from the toilet and to flush *all* the suits down the toilet.). 06:07:21 L1 cache is a few kilobytes. An L1 cache miss costs about a dozen clock cycles. L2 cache is *maybe* a few megs. An L2 cache miss will cost you a few hundred clock cycles. 06:08:53 Oh, yeah, and it costs a couple of clock cycles to fetch *from* L1. 06:09:56 *A nL1 06:10:22 (it makes perfect sense) 06:11:15 Oh, yeah, and a single fetch from disk could well cost you thousands of clock cycles. 06:11:27 Space optimisation *is* speed optimisation these days. 06:11:54 more than that 06:12:05 In case you can't tell, most people haven't caught on yet. 06:12:10 optimizing memory location is important 06:12:21 small is useless if it's scattered 06:12:24 Oh, yes, absolutely. 06:12:32 also disks may have caches 06:12:43 Locality lets your reads actually come from cache most of the time. 06:13:00 ah, so my prototype linked list filesystem is a no-go? 06:13:03 Which can save your ass if you're dealing with an inherently large working set. 06:13:11 CakeProphet: not necessarily 06:13:22 coppro: oh, well it doesn't exist anyways. :P 06:13:28 CakeProphet: So... FAT? 06:14:09 uh, I guess. Is it linked by chunk? 06:14:22 Yes... 06:14:30 I was thinking more along the lines of individual bytes. you know, to simplify everything. :D 06:14:53 Uh, that wouldn't work well on any storage device. 06:14:58 CakeProphet: It depends on the nature of the disk 06:15:06 Except maybe a large, large array of magnetic core. 06:15:13 SSDs are pretty much random access 06:15:58 coppro: Not *quite*. A large request is more efficient than a small one, because of DMA. 06:16:07 Well, more efficient than many small ones. 06:16:32 My persistent storage is an abacus. What do you recommend? 06:16:45 pikhq: not familiar with it, but if it's just a size thing, then the effects it has on locality are incidental 06:17:55 coppro: Basically, the CPU sends a request to the device and then gets told when the request is done... 06:18:10 ah 06:18:35 Combined with the limited number of requests that can be in flight and once, it's much more efficient to simply tell the SSD to do a handful of giant requests and wait around, do something else, then to keep feeding it a giant list of small requests. 06:18:42 s/then/than/ 06:18:45 makes sense 06:19:07 s/and/at/ 06:19:28 The maximum queue depth on a SATA drive is, uh, 31, I think. 06:19:43 I don't know the mechanics of hard drives well enough to be sure, but I imagine seeks on those are quite inexpensive too, although you are still far better off reading linearly 06:19:57 Seeks on SSDs are effectively instantaneous. 06:20:42 It's just the pesky bit about copying from SSD to RAM that makes linear reads better. 06:20:54 yeah 06:21:31 I imagine you could design a magnetic disk where the maximum cost of a seek is one rotation 06:21:39 no clue if that's how modern drives work 06:21:57 ... goddamn it why do we stlil program in assembly 06:22:00 *still 06:22:03 abacii are very durable, and can hold persistent data for centuries with minimal effort if kept in a dry environment! 06:22:23 CakeProphet: also one free of earthquakes 06:22:33 coppro: Pretty sure it's pretty close to that even now. 06:23:04 evening ppl 06:23:07 hmm, so would an EMP wipe a hard drive? 06:23:08 pikhq: I'd expect so 06:23:12 CakeProphet: oh yes 06:23:19 I thought it might but I wasn't sure. 06:23:20 think about that for a second 06:23:21 * oklopol opens a beer after a long day at work 06:23:26 elector-/magnetic/ pulse 06:23:38 y'know, with the how do they work and stuff 06:23:49 The issue is that 10 millisecond seeks are ungodly slow when a millisecond is a thousand clock cycles. 06:24:09 Hard drives are actually harder to wipe with magnetism than you'd think. 06:24:27 modern hard drives don't take 10 milliseconds for a rotation 06:24:36 oh wait 06:24:41 nvm, me dumb 06:24:45 <-- order of magnitude issues 06:25:36 also my psychic told me i'll soon get out of the jobless situation i'm in at the moment, and that i will soon finish a project i've been working on for a long time 06:25:51 your psychic 06:25:52 i suppose research isn't work :\ 06:26:24 They have neodymium magnets *in them*, usually... 06:26:34 Decent sized ones, too. 06:27:07 Now, they're often also shielded 06:27:16 yeah I've played around with those. They're ridiculously strong. 06:27:35 so if the shield is intact, doing any magnetic damage is difficult 06:27:43 and a pulse will just be summarily ignored 06:27:50 yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring 06:28:03 Probably do a number on the drive controller, making it effectively unreadable, though. 06:28:09 yeah 06:28:27 oklopol: ... Srsly? 06:28:28 also if it was running at the time you might end up with the write head getting charged and causing some write-age 06:28:35 pikhq: srsly in what sense? 06:28:41 `quote add < oklopol> yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring 06:28:43 No output. 06:28:45 oklopol: Do you seriously use the services of a psychic? 06:28:56 well define seriously :P 06:29:09 pikhq: I don't know which is worse. The possibility of him using a psychic or the fact that he thought it a good idea to tell us 06:29:09 it is a fact that i "use the services" of a psychic 06:29:10 like serious business, duh. 06:29:19 "Do you *actually* use one?" 06:29:52 Do you use your psychic for psychic services exclusively, and not any other services that may be incidental to the psychich-ness? 06:30:01 well define "use", it is a fact that i receive a monthly cold reading 06:30:09 and that i read it carefully 06:30:19 Okay, my question is answered. 06:30:23 good 06:30:25 Now, for more questions. 06:30:28 *Why*? 06:30:39 I /am/ psychic, so I don't even bother getting someone else to do it. 06:31:27 how should i know, curious i guess? 06:32:30 -!- wareya has quit (Read error: Connection reset by peer). 06:32:44 Do you have any concern for their predictions being any more than a parlor trick? 06:33:12 no 06:33:12 (that is, do you care whether or not it's actually even slightly legit?) 06:33:21 Okay, then you're just kinda weird. :P 06:33:21 -!- wareya has joined. 06:33:38 well i'm sure it's not even slightly legit 06:33:47 Then you're just kinda weird. 06:33:49 i'm interested in whether this is obvious to me from actually reading them 06:34:20 and it is so dead obvious that i'm wondering if this is a particularly crappy psychic 06:34:27 But thank goodness you're not also exhibiting an entirely irrational belief. 06:35:06 irrational beliefs? I never have those. 06:35:18 CakeProphet: How irrational of you. :P 06:35:25 as i said, the only concrete facts in the last prediction were that i'd get out of my current jobless situation 06:35:29 and umm 06:35:30 the other thing 06:35:36 and i've been employed for what a year 06:36:38 the others i cannot really verify yet but apparently i'm going to meet some 40yo guy through common friends, and who will change my life in some way, there are so many ways why i don't see this happening 06:37:30 although, if a 40yo friend of a friend asks me to marry them anytime soon i'll probably have to say yes, and start believing. 06:37:36 and turn gay. 06:37:53 Hmm. Oerjan's ~40, you met him through #esoteric, and he has probably changed your life in *some* way. 06:37:58 Clearly, this person is reading your past. 06:38:00 :P 06:38:14 erm, actually with great luck, i'll be meeting oerjan soon 06:38:19 prolly not 06:38:28 i wonder if he'll ask me to marry him 06:39:16 oklopol: it's more likely that this 40 year old will slip you a psychedelic drug without your knowledge, I'd say. 06:39:25 hmm yes, and give me aids 06:39:32 that would certainly change things 06:39:52 And then you'll find out you're one of the 1% of Europeans immune to AIDS. 06:40:30 i'm pretty sure i am, at least i have some evidence that i'm immune to chlamydia 06:40:39 and i don't even know if that's possible. 06:43:31 come on... they're not even trying, "I should thank you for the initiative you took just 917 days ago that when you asked me to determine what was going to happen in your astral configuration ..." 06:43:52 ... What the *hell*, chlamydia... 06:44:22 I, uh, think it might count as a eukaryote. 06:44:44 so does it even make sense to be immune to it 06:44:58 or would that be like being immune to dogs 06:45:11 i'm pretty sure i'm immune to dogs btw. 06:45:47 It's a fucking bizarre "bacterium". 06:45:59 oklopol: it's very possible to have chlamydia with no symptoms. 06:46:34 CakeProphet: i'm aware of this 06:47:38 At varying points, it looks vaguely like a virus/eukaryote and vaguely like a bacterium. 06:48:03 Erm, sorry, misread. 06:48:17 s_/eukaryote__ 06:48:31 It's still motherfucking weird. 06:50:00 hmm, apparently the gods of nature refuse to tell jenna my credit card number 06:51:14 argh, i'm sleepy as hell and still like 8 hours of being awake to go 06:51:24 mm pizza 06:58:25 !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 06:58:26 ​Interpreter dechatspeak installed. 06:58:57 actually "ur" could be either "your" or "you're" 07:03:19 so could ur mom 07:03:33 !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 07:03:33 ​There is already an interpreter for dechatspeak! 07:03:40 !delinterp chatspeak 07:03:40 ​That interpreter doesn't exist! 07:03:44 !delinterp dechatspeak 07:03:45 ​Interpreter dechatspeak deleted. 07:03:48 !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 07:03:48 ​Interpreter dechatspeak installed. 07:04:29 !dechatspeak l8er m8 07:04:30 ​Substitution replacement not terminated at /tmp/input.29075 line 1. 07:04:43 lol,good. 07:12:43 !delinterp dechatspeak 07:12:43 ​Interpreter dechatspeak deleted. 07:12:48 while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you later/g;s{\bw/e\b}{whatever}g;s 07:12:57 ... -_- 07:13:11 !addinterp dechatspeak perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 07:13:11 ​Interpreter dechatspeak installed. 07:13:18 DONE. 07:13:55 !dechatspeak l8er, though for some reason people actually spell it l8ter 07:13:55 ​Substitution replacement not terminated at /tmp/input.29791 line 1. 07:14:22 leightter 07:16:36 yeah I'm stumped now. I moved it over to emacs and it highlight correctly. 07:16:38 *s 07:19:41 Looks like we have no defense against all of those chatspeaking heathens that frequent our beloved channel. 07:27:35 -!- ais523 has quit (Remote host closed the connection). 07:50:16 -!- Patashu has joined. 07:52:47 -!- monqy has quit (Quit: hello). 08:16:27 -!- calamari has quit (Quit: Leaving). 08:49:09 -!- Kustas has joined. 08:59:01 Perl's flip-flop operator is pretty cool, but I haven't seen a use for it yet. 09:01:26 LOL 09:01:27 it's a flip flop 09:01:32 wtf is up with that 09:02:09 http://perl-tricks.blogspot.com/2007/01/flip-flop-operator.html hahahaha it's literally like a circuitry SR flipflop 09:09:30 yep 09:10:22 that actually does look somewhat useful for parsing large sections of something. 09:10:43 not necessarily large, but something that can be broken up into sub-parses 09:12:33 -!- myndzi has quit (Ping timeout: 258 seconds). 09:12:38 -!- myndzi has joined. 09:23:05 there's even another variation of what .. does. 09:23:10 Patashu: If either operand of scalar ".." is a constant expression, that operand is considered true if it is equal (== ) to the current input line number (the $. variable). 09:24:30 next if (1 .. /^$/); # skip header lines 09:40:02 -!- Lymia has joined. 09:40:02 -!- Lymia has quit (Changing host). 09:40:02 -!- Lymia has joined. 09:41:00 -!- FireFly has joined. 09:44:50 One of my favorite operators so far has been //. a // b is equivalent to defined(a) ? a : b 09:55:04 -!- Kustas has quit (Quit: Weinberg's First Law: Progress Is Made On Alternate Fridays). 10:02:14 Let's make an esolang where the most useful operator is a:b::c:d 10:02:17 Question is what it would do. 10:05:17 -!- sebbu2 has joined. 10:05:17 -!- sebbu2 has quit (Changing host). 10:05:17 -!- sebbu2 has joined. 10:05:43 try/catch/except/finally 10:06:33 looks like the is to as is to operator (i.e. "a is to b as c is to d") 10:06:39 Yes. 10:06:50 Now what kind of a programming language could you build around it? 10:07:07 an IQ test? :) 10:07:12 That would still be Turing complete that is. 10:08:14 -!- sebbu has quit (Read error: Operation timed out). 10:08:15 -!- sebbu2 has changed nick to sebbu. 10:19:51 -!- Kustas has joined. 10:26:40 -!- Kustas has quit (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.17/2009122204]). 10:37:08 -!- Kustas has joined. 10:52:42 -!- Kustas has quit (Quit: over and out). 11:05:23 -!- Phantom_Hoover has joined. 11:10:54 -!- Sgeo has joined. 11:19:55 -!- oerjan has joined. 11:38:08 -!- BeholdMyGlory has joined. 11:39:08 -!- Vorpal has joined. 11:47:42 yeah I'm stumped now. I moved it over to emacs and it highlight correctly. 11:47:49 it got cut off 11:54:58 Why am I reading Problem Sleuth while eating? 11:55:23 so you can sleuth and slobber 11:59:22 There's any better way to read PS? 11:59:22 Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them. 11:59:35 Well, of course: eating either candy or pumpkins. 12:03:37 Alternately: drinking. 12:04:51 -!- MigoMipo has joined. 12:18:02 http://www.scribd.com/doc/24048466/Converting-of-Matter-to-Energy-by-AB-Generator 12:18:06 Bloody physicists. 12:18:23 Stealing my ideas from the future and passing them of as their own before I even have them. 12:19:48 would this work? 12:19:54 Should. 12:20:50 It essentially works by balancing the energy/mass loss from Hawking radiation by pumping in more mass, which effectively performs perfect matter-to-energy conversion. 12:21:44 -!- TOGoS has joined. 12:21:59 -!- TOGoS has left. 12:25:24 It could power a Kardashev-1 civilisation with a man shovelling coal. 12:25:59 Huh ?_? 12:26:08 That's surprins 12:26:11 Err, surprising 12:26:13 It's really that easy? 12:26:18 Where's my infinite power 12:26:36 Well, FSVO 'shovelling coal' equal to 'firing it into the hole against the maelstrom of gamma rays coming out of it'. 12:27:31 every piece of coal would get turned into energy equivalent to a nuclear bomb... 12:27:32 And you still need either 10^8 or 10^16 (stupid ambiguous past me) of mass, and you need to make it into a black hole, which is the really hard part. 12:27:53 you'd not want to stand close to that 12:29:02 and if your feeding apparatus failed, you'd have an even greater explosion on your hands... 12:29:25 -!- pikhq_ has joined. 12:29:28 Well, it'd decay relatively slowly. 12:29:35 -!- pikhq has quit (Ping timeout: 258 seconds). 12:29:37 hm 12:31:45 I Mathematicad all the calculations a while ago; I'll see if I can find them. 12:37:22 So yeah, the world's power output can be met with a 10^11 kg black hole with 1.8*10^-7 kg/s of matter. 12:39:05 O.o the power output of a GRB is only a 20,000th of that of every star in the observable universe. 12:44:40 What's the chance of a GRB directly hitting Earth? 12:45:53 They hit us all the time, that's why they're so amazing. 12:46:05 They're literally from the other side of the universe. 12:46:23 Hmm. I guess it's nearby GRBs that would be problematic? 12:46:54 GRB? 12:47:36 gamma Ray Burst 12:47:42 ah 12:47:55 Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'. 12:50:37 -!- sebbu2 has joined. 12:50:37 -!- sebbu2 has quit (Changing host). 12:50:37 -!- sebbu2 has joined. 12:53:44 -!- sebbu has quit (Ping timeout: 258 seconds). 12:54:00 (There's a very cool book about various spacey things that can kill you called "Death from the Skies" by Phil Plait; you should read it.) 12:54:32 Blah paying money 12:54:37 OGL-accelrointu kahvinkeitin 12:54:47 I think I'd rather read a math book or a quantum physics book 12:55:18 OGL-accelrointu kahvinkeitin <-- Finnish? 12:55:27 Vorpal: looks like it! 12:57:08 olsner, but is it? 12:57:33 olsner, and where is it from? 12:57:47 `addquote Hmm. I guess it's nearby GRBs that would be problematic? Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'. 12:57:47 "open gl acceleration " I guess 12:57:47 Vorpal: from warpdrive 12:57:50 ​436) Hmm. I guess it's nearby GRBs that would be problematic? Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'. 12:57:54 olsner, not familiar with that 12:58:04 olsner, unless you mean the star trek thingy 12:58:49 http://arxiv.org/pdf/astro-ph/0002442v1 12:58:50 Ooh. 12:58:53 olsner, oh is it like bash.org= 12:58:56 s/=/?/ 12:59:19 Vorpal: yes, quite similar 12:59:23 but swedish 12:59:28 Vorpal, looks like kahvinkeitin is a coffee machine. 13:06:57 using the grinding and processing unit 13:07:38 :> 13:08:34 It's clearly the successor to the teapot. 13:10:48 teapots are space age technology, so 60s... 13:11:39 heh 13:11:53 http://arxiv.org/pdf/astro-ph/0002442v1 <-- very interesting 13:28:10 Wooo GBracha post 13:29:22 figure BELOW footnote? wtf? 13:29:51 also, figures 3 and 4 look amazingly much like His Noodliness 13:31:23 -!- Cheery has joined. 13:33:18 -!- martian67 has joined. 13:33:34 -!- martian67 has left ("Leaving"). 13:37:20 -!- foocraft has joined. 13:47:10 -!- oerjan has quit (Quit: leaving). 13:54:32 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 14:01:06 http://en.wikipedia.org/wiki/Order_of_magnitude 14:01:24 OK the list at the bottom of that page is both silly and very interesting. 14:04:08 http://en.wikipedia.org/wiki/Orders_of_magnitude_(numbers) 14:04:12 This can only be stupid. 14:05:15 graph theory is weird 14:09:04 -!- ralc has joined. 14:09:21 Suggest you consult oklopol on matters of graph theory. 14:11:48 I think I'll be good 14:17:59 -!- TOGoS has joined. 14:18:22 -!- TOGoS has quit (Read error: Connection reset by peer). 14:29:07 -!- copumpkin has joined. 14:29:07 -!- copumpkin has quit (Changing host). 14:29:07 -!- copumpkin has joined. 14:35:31 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:40:41 -!- Patashu has quit (Ping timeout: 258 seconds). 14:41:04 -!- copumpkin has joined. 14:45:57 -!- copumpkin has quit (Ping timeout: 260 seconds). 15:33:13 -!- cheater_ has quit (Ping timeout: 260 seconds). 15:35:32 -!- azaq23 has joined. 15:37:02 I think I broke my brain 15:37:19 Regular functions get an argument representing the continuation, but continuations don't? 15:54:12 I'm pretty sure that's how it works. By which I mean very sure. 15:56:29 " figure BELOW footnote? wtf?" <<< this is the standard in lecture notes in computer science 15:56:30 erm 15:56:32 footnote 15:56:50 ... 15:57:46 does languages designed to compose audio&music count into esoteric? 15:58:55 Depends on whether they're esoteric. 15:59:14 If it's just Python with music-manipulation primitives, then no. 15:59:42 are difference equations esoteric? I've seen couple of those in digital audio stuff 16:00:07 http://en.wikipedia.org/wiki/Digital_biquad_filter 16:00:38 Cheery, do you mean differential equations? 16:00:42 if everyone was like me, channels specializing in X would be the last place you'd wanna ask about X because once i've heard the question more than 50 times it doesn't even occur to me to answer it seriously 16:00:53 Phantom_Hoover: do not confuse. 16:01:14 Oh, right, it's another name for a recurrence relation. 16:01:42 whatever-ihope's-current-name-is once talked about an idea of his for a DE based lang 16:02:17 but i guess it was just "hey what about a lang based on DE" and an example 16:02:27 oh difference 16:02:59 i didn't confuse, i just only read Phantom_Hoover's comment and worked based on that 16:03:08 what the fuck are difference equations 16:04:07 Wasn't there Safalra's gravity-based language. 16:04:18 yessss 16:04:19 Which may, on further reflection, have been called Gravity. 16:04:24 yes! 16:04:44 Oh god oko don't start turning into Gollum. 16:05:23 i didn't know about the three-body problem when i read about gravity but umm so i guess gravity doesn't have an interp then 16:05:35 No. 16:05:45 maybe I get those direct form equation sort of things. 16:05:57 It's uncomputable and TC. 16:07:27 " Oh, right, it's another name for a recurrence relation." <<< why do i not read what other people say :D 16:07:45 -!- cheater_ has joined. 16:08:08 Cheery, erm, anyway. 16:10:48 http://paste.pocoo.org/show/401151 <- biquad filter in python 16:11:06 Doesn't look very esoteric. 16:11:10 and I'll get whatever highpass/midpass whateverpass stuff from the cookbook for that :) 16:11:16 yeah. it isn't sorry. 16:11:33 that program SHOULD be sorry. 16:11:51 Oh, incidentally: to mix two sine waves, do you just add them or are you meant to maths them together? 16:11:59 add 16:12:06 this filter is one major useful thing for subtractive synthetis. 16:12:51 what is subtractive synthesis? 16:12:57 what's a biquad filter? 16:13:36 does highpass do a FT, remove some low stuff and unFT? 16:13:38 that's creation of timbre by taking something complex and remove harmonics from it. 16:13:52 (or whichever way is a reverse transform and which non-reverse) 16:14:12 biquad filter is one of generic filters that lets you do resontant high-pass/low-pass/band-pass filters. 16:14:26 *resonant 16:15:08 timbre is obtained by *removing* harmonics? i thought timbre was the harmonics :\ 16:15:34 what does "resonant" mean? 16:15:52 what is "one"? 16:15:57 scratch that tho 16:16:11 human mouth behaves like an adjustable filter according to the wikipedia article. 16:16:40 well of course it does but does it work as a high-pass/low-pass/band-pass filter? 16:16:48 shape it takes affects cutoff frequencies of the air passing through. 16:16:49 maybe that's what you meant 16:17:18 yeah i think fizzie has mentioned some of this stuff some time 16:22:17 now it's one of the few things I know how to create. :) 16:23:14 my synth tools: multi-pass filtering, bunch of primitive waveform samples, controlling the parameters of these things with slower samples. 16:45:47 -!- copumpkin has joined. 16:45:47 -!- copumpkin has quit (Changing host). 16:45:47 -!- copumpkin has joined. 16:47:31 -!- pumpkin has joined. 16:47:31 -!- pumpkin has quit (Changing host). 16:47:31 -!- pumpkin has joined. 16:47:57 -!- Kustas has joined. 16:50:15 -!- copumpkin has quit (Ping timeout: 255 seconds). 17:03:49 -!- monqy has joined. 17:16:54 OK I think I'm immune to Reddit's comment-sorting algorithm or something. 17:21:44 -!- Kustas has left. 17:23:33 Mmkay, so the 2 largest problems with building anything on musl: People suck and rely on overincludes, and gnulib is the most unportable piece of shit known to man. 17:23:48 Overincludes? 17:24:58 Some headers in common libcs include more headers than is strictly necessary. 17:25:09 Some programs rely on this. 17:25:37 Maybe if the include process wasn't so idiotic... 17:25:41 Yuh. 17:26:02 Still, it's an issue for building with musl, as musl has fairly minimal includes. 17:40:19 -!- augur has quit (Remote host closed the connection). 17:50:11 -!- zzo38 has joined. 18:02:37 -!- augur has joined. 18:20:42 -!- Sgeo has quit (Ping timeout: 255 seconds). 18:35:37 first lol-powered amp: http://techcrunch.com/2011/06/04/first-solar-powered-laptop/ 18:36:23 -!- Kustas has joined. 18:36:27 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:37:57 -!- zzo38 has quit (Remote host closed the connection). 18:38:14 -!- Phantom_Hoover has joined. 18:45:27 -!- foocraft has joined. 18:49:12 -!- olsner has quit (Quit: Leaving). 19:11:34 -!- ralc has quit (Quit: Leaving). 19:11:39 -!- atrapado has joined. 19:20:18 -!- Kustas has quit (Quit: it's gonna get interesting). 19:21:40 -!- sebbu2 has changed nick to sebbu. 19:22:40 -!- oerjan has joined. 19:23:48 Regular functions get an argument representing the continuation, but continuations don't? 19:23:51 correct. 19:24:32 ...why the heck are people gone when i get to logread them 19:24:45 They don't like you. 19:26:33 although unless the continuation is "exit program" it will necessarily contain another continuation inside it to transfer control to. um, i guess it could also loop. 19:27:23 (btw i realized in unlambda that it is possible to use the e exit-program function to construct a function equivalent to any other continuation) 19:27:27 http://en.wikipedia.org/wiki/Islamic_inheritance_jurisprudence#The_role_of_Islamic_inheritance_in_the_development_of_Islamic_Mathematics 19:27:50 Algebra: the result of stupidly-written Qur'an verses. 19:28:17 (e is essentially the top continuation reified) 19:29:56 seems i mentioned it in http://esolangs.org/wiki/Unlambda#Meta-notation 19:30:01 Reified is possibly my favourite word./ 19:31:07 -!- Demetrius has joined. 19:32:43 Hello Demetrius unless you are a neopagan in which case please stay so we can laugh at you otherwise welcome. 19:33:31 Phantom_Hoover, hello :P But I’m just a passer-by, I don't really program in esoteric languages and I am an atheist :P 19:33:56 Many of us don't really program in esolangs. 19:34:09 atheists do seem to be in majority among those professing their beliefs here 19:34:14 I, personally, don't really program at all. 19:36:25 i program in java and python a bit, but never did anything esoteric 19:36:36 though I do find Piet very interesting 19:37:09 Java and Python: not the most popular choice. 19:38:04 Phantom_Hoover, I took on java because I wanted to write a game for my mobile phone... In fact, I am still working on it, but very slowly : 19:38:04 :P 19:38:18 Well I can get behind that. 19:38:51 I can program in most imperative languages if I have a manual at hand :D but I don't have much practice 19:39:21 > cycle "imperative languages suck! " 19:39:22 "imperative languages suck! imperative languages suck! imperative languag... 19:39:57 (don't mind me, i'm just being stereotypically #esoteric) 19:40:19 oerjan, maybe they do, but I'm too lazy to learn functional ones 19:40:30 not as lazy as haskell! 19:40:48 Yeah, you're... not going to be the most popular person. 19:41:06 :DDD 19:41:10 -!- Demetrius has left ("Zmicier"). 19:41:13 i, on the other hand, am certainly lazier than haskell 19:41:23 -!- Demetrius has joined. 19:41:24 oh 19:41:26 whew 19:41:33 I closed the channel by mistake xD 19:41:34 Demetrius: i was afraid you were serious 19:41:58 and we cannot have serious people here on this channel 19:42:09 ok except Vorpal and zzo38 19:42:21 well, I guess serious people won't talk about esoteric languages 19:42:21 and maybe ais523 19:42:40 oerjan, and how do you know they are serious? 19:42:52 Gregor _should_ be serious but isn't 19:43:04 > help 19:43:04 well Vorpal is stereotypically serious 19:43:05 Not in scope: `help' 19:43:20 zzo38 is stereotypically incapable of not being serious 19:43:25 :D 19:43:35 and ais253? 19:43:38 (you'll understand when you meet him) 19:43:48 well ais523 has this serious air about him 19:43:57 -!- Cheery has quit (Quit: Lost terminal). 19:44:34 in fact I came here because sebbu typed a message to a wrong channel and had to explain where it belonged :D 19:44:36 i mean he even managed to earn money on something esoteric once. if _that_ isn't missing the point... 19:44:52 money on an esoteric language?! 19:44:58 cool :D 19:45:51 i did not say language 19:46:25 I wonder what it was then 19:46:28 a brainfuck program? 19:46:31 a turing machine 19:46:40 ah, I see :D 19:46:48 well, that doesn't sound very esoteric 19:47:12 > ? 19:47:14 : parse error on input `?' 19:47:20 @help 19:47:21 help . Ask for help for . Try 'list' for all commands 19:47:26 @list 19:47:26 http://code.haskell.org/lambdabot/COMMANDS 19:47:40 thx :D 19:47:42 @http://code.haskell.org/lambdabot/COMMANDS 19:47:43 Unknown command, try @list 19:47:52 YOU LIED TO ME LAMBDABOT 19:47:53 we also have other bots that are more esoteric 19:47:55 !help 19:47:56 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 19:47:59 `help 19:48:01 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/ 19:48:19 sadly fungot is still not with us 19:48:36 fizzie: Y U NO FIX FUNGOT 19:48:37 `rm -rf 19:48:39 No output. 19:48:42 nice try 19:48:44 :D 19:48:50 `rm -rf / 19:48:52 No output. 19:48:55 `ls 19:48:56 ​1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ test.c \ tmpdir.14145 19:49:03 not immensely successful 19:49:04 :D 19:49:19 `rm test.c 19:49:21 No output. 19:49:26 `ls 19:49:27 ​1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14262 19:49:32 hmm 19:49:37 i hope that wasn't something important 19:49:42 hope there was nothing important there... :o 19:49:49 well 19:49:53 since it was a test 19:49:56 ^h... FUNGOT 19:50:02 * Phantom_Hoover breaks down sobbing. 19:50:56 `pwd 19:50:58 ​/tmp/hackenv.14401 19:51:43 YOU LIED TO ME LAMBDABOT <-- i assume you are joking 19:51:44 `cat babies 19:51:45 No output. 19:52:06 oerjan, yes. Yes I was. 19:52:09 `ls babies 19:52:11 ​babies.db 19:52:19 `cat babies/babies.db 19:52:20 ​SQLite format 3 19:52:41 -!- atrapado has quit (Quit: FIN). 19:52:53 `echo "Ня ведаю, навошта, але няхай сабе будзе" >тэкст 19:52:55 ​"Ня ведаю, навошта, але няхай сабе будзе" >тэкст 19:52:57 Demetrius: you may understand HackEgo, while you can change a lot in it, does have protection against real malice 19:52:57 `ls 19:52:59 ​1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14730 19:53:04 *understand that 19:53:26 oerjan, well, I guess so :D 19:53:51 Demetrius: oh hm that `run thing it said above is important, without it your commands can have only one literal argument 19:53:56 `run echo "Ня ведаю, навошта, але няхай сабе будзе" >тэкст 19:53:57 No output. 19:53:58 `ls 19:54:00 ​1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tmpdir.14880 19:54:05 ah :D 19:54:18 not that that helped? 19:54:45 maybe it doesn't like output redirection? or cyrillic? 19:55:05 it most certainly does output redirection 19:55:12 `touch тэкст 19:55:12 `run echo "Nia viedaju, navošta heta, ale niachaj sabie budzie" >tekst 19:55:14 No output. 19:55:15 No output. 19:55:16 `ls 19:55:18 ​1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ tmpdir.15087 \ тэкст 19:55:27 hm 19:55:30 ah, both cyrillic and latin :D 19:55:42 yeah my `touch worked 19:56:04 so perhaps it's the shell which has problems 19:56:07 `cat tekst 19:56:08 ​Nia viedaju, navošta heta, ale niachaj sabie budzie 19:56:22 well that accent got through 19:56:47 `cat тэкст 19:56:49 ​Ня ведаю, навошта, але няхай сабе будзе 19:57:40 :D 19:58:22 the text is not aligned though! 19:58:41 aligned? 19:58:43 the łacinka version has one word more than a cyrillic one 19:58:53 :P 19:59:03 heta 19:59:40 `run echo "Nia viedaju, navošta, ale niachaj sabie budzie" >tekst 19:59:42 No output. 19:59:55 `cat tekst 19:59:56 ​Nia viedaju, navošta, ale niachaj sabie budzie 20:02:51 HackEgo's hg repository use sometimes makes things happen strangely, that might be why тэкст didn't show up before my touch 20:03:11 oerjan, I see :o 20:04:17 if commands are simultaneous it runs both simultaneously and merges the resulting repositories 20:05:02 sometimes the process even fails messily 20:06:19 in fact, I never really worked with mercurial 20:07:38 -!- atrapado has joined. 20:08:26 me neither, HackEgo and EgoBot are Gregor's bots 20:10:45 !help languages 20:10:46 ​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. 20:11:03 !userinterps 20:11:03 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 he hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python recursion recursion2 redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacr 20:11:21 that's the bot's esoteric parts 20:11:53 well + a lot of silly stuff 20:12:00 oh hm 20:12:19 it would appear there are no so many userinterps they don't all fit 20:12:28 *now 20:14:00 !show recursion 20:14:00 ​recursion2 20:14:06 !show recursion2 20:14:07 ​recursion 20:14:14 !delinterp recursion 20:14:14 ​Interpreter recursion deleted. 20:14:19 !delinterp recursion2 20:14:19 ​Interpreter recursion2 deleted. 20:14:26 they won't really work anyhow 20:14:46 !show hello 20:14:46 ​c char buf[1024]; int i; fgets(buf, 1024, stdin); for (i=0;buf[i];i++)buf[i]=(buf[i]=='\n')?'\0':buf[i]; if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf); 20:15:07 !show id 20:15:07 ​sh cat 20:15:21 !show map 20:15:21 ​perl for(<>){s/\b.+?\b/map/g;print} 20:15:34 !userinterps 20:15:34 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo cockney ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 he hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh simpleacro simplename slashes 20:15:59 !show decisionengine 20:15:59 ​haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print 20:16:37 !show he 20:16:37 ​sh echo -n '`'; cat 20:16:54 !delinterp he 20:16:54 ​Interpreter he deleted. 20:16:59 !show num 20:16:59 ​sadol !1 20:17:09 !num 20:17:10 ​1 20:17:13 !num 3 20:17:13 ​1 20:17:58 !show drawl 20:17:58 ​sh drawl 20:18:02 !show dubya 20:18:02 ​sh dubya 20:18:07 !show drome 20:18:07 ​haskell main = do a <- getLine ; putStrLn (a ++ reverse a) 20:18:38 !show brit 20:18:38 ​sh cockney 20:18:42 !show cockney 20:18:42 ​sh cockney 20:18:53 !delinterp cockney 20:18:53 ​Interpreter cockney deleted. 20:19:06 -!- Sgeo has joined. 20:19:06 !show sffffffffedeesh 20:19:07 ​sh chef | fmt -w500 20:19:19 !delinterp sffffffffedeesh 20:19:20 ​Interpreter sffffffffedeesh deleted. 20:19:24 !userinterps 20:19:24 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chef chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd funetak google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh simpleacro simplename slashes svedeesh swedish ucat valsp 20:19:41 !show brooklyn 20:19:41 ​sh brooklyn 20:19:49 !show funetak 20:19:49 ​sh funetak 20:19:52 !show jethro 20:19:53 ​sh jethro 20:19:57 !show kraut 20:19:57 ​sh kraut 20:20:33 !show ucat 20:20:33 ​unlambda ```s`d`@|i`ci 20:20:38 !delinterp ucat 20:20:39 ​Interpreter ucat deleted. 20:20:47 !show valspeak 20:20:48 ​sh valspeak 20:20:58 !show eehird 20:20:58 ​haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map ((" " ++) . unwords . words) $ food $ map toLower) 20:21:09 !ehird 20:21:12 !ehird hello 20:21:13 ​hello 20:21:13 !show ehird 20:21:13 ​sh funetak 20:21:24 !delinterp funetak 20:21:24 ​Interpreter funetak deleted. 20:21:37 !eehird hello everyone 20:21:42 !show prefixes 20:21:43 ​underload (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?)S 20:21:55 !show redneck 20:21:55 ​sh redneck 20:21:59 !show rimshot 20:21:59 ​bf ++++++++++++++[>+++++++>+++>+++++>++++++<<<<-]>.-.>+++.<+++.+++++++++++++++++.--------.>-.------------.>>.<+++.>-.<-.<+.-----------------------. 20:22:12 !show sadbf 20:22:12 ​sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1 20:22:28 !show swedish 20:22:29 ​sh chef | fmt -w500 20:22:33 !delinterp chef 20:22:33 ​Interpreter chef deleted. 20:22:46 !userinterps 20:22:46 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh sffffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez yodawg 20:23:17 ok i think they all fit now, unless someone added an interpreter in z... 20:23:33 !show sffffedeesh 20:23:33 ​sh chef | fmt -w500 20:23:46 !delinterp sffffedeesh 20:23:47 ​Interpreter sffffedeesh deleted. 20:24:16 -!- zzo38 has joined. 20:24:18 `which dubya 20:24:19 No output. 20:24:30 !userinterps 20:24:31 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc dechatspeak decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 sadbf sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish valspeak warez yodawg 20:24:51 !show pansy 20:24:51 ​sh pansy 20:24:55 !show pirate 20:24:55 ​sh pirate 20:25:01 !show plot 20:25:01 ​sh echo ''; (echo -ne 'set terminal dumb\nplot '; cat) | gnuplot 20:25:15 ...does that work 20:25:24 !show postmodern 20:25:24 ​sh postmodern 20:25:27 !show postmodern_aoler 20:25:28 ​sh postmodern | b1ff 20:25:40 !show valspeak 20:25:40 ​sh valspeak 20:25:45 !show warez 20:25:45 ​sh warez 20:32:16 -!- aloril has quit (Read error: Connection reset by peer). 20:35:44 * CakeProphet finished Problem Sleuth. 20:36:11 CakeProphet, what is Problem Sleuth? 20:36:38 -!- elliott__ has joined. 20:36:53 http://www.mspaintadventures.com/?s=4 Warning: It will likely take more than a day to finish. 20:37:27 thx 20:37:33 CakeProphet: on to Homestuck yet? :-P 20:37:42 no, I must rest... 20:37:55 Homestuck is, like, twice as long in terms of strips but takes about five times as long to read because of the pesterlogs and Flashes. 20:38:14 CakeProphet, don't worry, it is impossible to finish Homestuck in a day unless you have the incredible blockheaded seriousness of Vorpal. 20:38:21 It is the Planck seriousness. 20:38:21 -!- aloril has joined. 20:38:40 A week is a more reasonable estimate for Homestuck. Two weeks, if you have a life. 20:38:50 Four days if you have less than zero lifes. 20:39:07 Also a holiday. 20:39:16 I thought Planck units were the smallest measurable quantity of some property 20:39:34 Phantom_Hoover: http://www.mspaintadventures.com/sweetbroandhellajeff/?cid=032.jpg 20:39:36 Oh god what does it mean. 20:39:45 OH WAIT IT IS TWO PAGES LONG 20:39:50 CakeProphet, it can also be the largest. 20:39:52 elliott__: how do you think you compare to other people in terms of general superiority? 20:40:13 coppro: is this a serious question? 20:40:21 ellyes 20:40:22 elliott__, it's not crappy any more :( 20:40:29 damn tab-completion 20:40:32 coppro: are you asking everyone this or just me? :D 20:40:38 oh i thought that was "hell yes" :D 20:41:02 Phantom_Hoover: ah, so it depends on the measurement in question whether or not it is the largest or smallest? 20:41:19 elliott__: just you, obviously 20:41:27 dfsd/win 2 20:41:32 n 2 20:41:33 CakeProphet, technically the Planck units are just the units you get from the fundamental physical constants. 20:41:35 goddamit 20:41:41 stop failing, irssi 20:41:50 coppro: Do I get to know why you're asking if I answer? :P 20:42:25 coppro: alt+n should do the trick unless you have over 10 windows up. 20:42:29 elliott__: yes 20:42:32 CakeProphet: yes. yes I do 20:42:59 6 is like my max.. 20:44:07 coppro: I find it fairly obvious that I'm quite a bit more intelligent than some hypothetical average person of my age; I don't think I'm qualified to judge the average intelligence of society as a whole so I'll avoid doing that comparison globally. I'm pretty terrible at motivating myself and working with other people though, so /shrug... I have no idea how to measure the "superiority" of a person :P 20:44:57 -!- pikhq_ has quit (Ping timeout: 252 seconds). 20:44:57 -!- pikhq has joined. 20:45:06 elliott__: hrm... I'll call that 0.6 Wolframs 20:45:06 22:41 coppr/win 2 20:45:08 wtf 20:45:17 coppro: wow, you have no idea how big a Wolfram is 20:45:29 for a start, the standard unit is the Dijkstra, Wolfram is just an exceptionally high measurement on that scale 20:46:02 Secondly I rabidly avoided making any positive claim other than "I'm quite a bit more intelligent than the average fifteen-year-old" X-D 20:46:34 21:52:11: Gregor, I am sorely disappointed at the loss of searchable logs of this place. 20:46:34 21:52:17: Please fix your hg ones or something. 20:46:37 elliott__: A Wolfram is defined as "thinking oneself superior to everyone else" 20:46:41 I mean, hell, I was more intelligent than the average fifteen year old. It's not difficult I think. 20:46:41 Phantom_Hoover: lol 20:47:05 coppro: There are vastly more non-fifteen year olds than fifteen year olds, and I only consider myself superior in intelligence :P 20:47:14 0.5 Wolframs is "thinking oneself to be exactly average" 20:47:19 hmm 20:47:20 ah 20:47:24 But both Dijkstra's and Wolfram's values on that scale are astronomical :P 20:47:29 elliott__: it's an age-adjusted scale 20:47:40 Gene Ray I think gets higher than 1 20:47:58 To be honest if 0.5 means you consider yourself average then my real measurement is almost certainly greater than 0.6, but everyone downplays their ego. 20:48:22 This may be downplaying my ego, but I don't really consider myself extraordinary. 20:48:26 I agree, but that response seemed 0.6-ish 20:48:57 elliott__> Testing this irssi madness 20:48:58 I scale higher than I'd like too 20:49:15 -!- jix has joined. 20:49:15 oerjan: whut? 20:49:22 What's irssi doing? 20:49:29 shows up in my irssi as 22:48 elliott__> Testing this irssi madness 20:49:48 I'm probably actually in the 0.9+ range 20:49:55 this is slightly disturbing 20:49:57 Shows up in mine as: 16:48 < elliott__> Testing this irssi madness 20:50:16 except instead of an 'e' there's a string of weird block-shaped symbols. 20:50:22 but it copypasted like that... 20:50:26 oerjan> I FUCKING HATE YOU ALL AND YOU SHOULD ALL EAT SHIT AND DIE UGH 20:50:37 CakeProphet: heh 20:50:42 oerjan> CakeProphet: coppro: Phantom_Hoover: FUUUUUUCK YOOOOUUUUUUU 20:50:54 oerjan: wtf is up with you 20:51:01 elliott__: possibly i should not have revealed this 20:51:17 oerjan: it has clearly driven you insane. 20:51:22 obviously 20:51:28 ...I can see that it's elliott though... 20:51:56 * Phantom_Hoover wonders if clog will. 20:52:16 Nope, it doesn't. 20:52:24 It'll only work on terminals :P 20:52:32 I think it's the left-arrow character 20:52:36 Maybe. 20:53:01 05:53:06: I'm actually not sure why most languages index arrays starting at zero. It makes sense, but I have no way of explaining why.. 20:53:19 wtf 20:53:19 CakeProphet: Makes indexing arithmetic easier, and also uses the correct definition of the naturals as the indexing set :) 20:53:44 does it /really/ make indexing arithmetic easier? What kind of indexing are we talking about? 20:53:54 CakeProphet: two-dimensional 20:53:57 standard incremental/decremental indexing is easy with any range. 20:54:00 ah. 20:54:17 twodee->onedee with 0-indexing: yh + x 20:54:22 twodee->onedee with one-indexing: (y-one)h + x 20:54:40 http://dl.dropbox.com/u/16495819/Screenshot.png is what I see 20:55:21 man your top panel is ugly 20:55:24 elliott__: I'm not quite sure what h is. 20:55:29 elliott__: DON'T CARE NOT IMPORTANT 20:55:30 mostly because it has eclipse on it ;D 20:55:38 CakeProphet: h = height 20:55:41 yeah I had a Java class last semester and haven't taken it down. 20:55:53 CakeProphet: suppose you have a pointer 20:56:03 what do you add to that pointer to get the first element? 20:56:07 qed 20:56:12 pointers are a shitty justification 20:56:18 because pointers make shitty arrays :) 20:56:31 so wait, isn't y 'height'? 20:56:51 ok you don't know how coordinates work 20:56:53 CakeProphet: LIES AND SLANDER 20:56:58 sure I do. 20:57:52 win 4 20:58:13 coppro: lose 9 20:58:21 them's the breaks 20:58:27 coppro: do i get to know why you asked me now 20:58:38 elliott__: actually isn't h=x if you're trying to flatten the array into one dimension? 20:58:49 well not = 20:58:49 elliott__: I wanted to determine your ego in Wolframs 20:58:59 coppro: BORING 20:59:10 CakeProphet: (x,y) = coordinates 20:59:11 h = height 20:59:18 that is, h is the maximalest y coordinate plus one 20:59:31 right. 20:59:48 um not plus one if it's one-indexed >:) 21:00:22 oerjan: oh, right 21:00:24 shut up :D 21:00:47 CLEARLY ONE-INDEXING IS THUS SUPERIOR 21:00:51 -!- ralc has joined. 21:00:55 * oerjan runs away cackling evilly 21:01:09 I prefer to index from -1 21:01:21 makes multiplication of indices easier. 21:01:29 goodnight! 21:01:31 wat 21:01:39 bye Demetrius 21:01:51 -!- Demetrius has quit (Quit: see you!). 21:01:55 > map (*2) [-1..] 21:01:56 [-2,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,5... 21:02:02 oerjan: see? doesn't that just simplify everything? 21:02:19 >_< 21:07:03 > [(+)`join`(*)|(*)<-(-)`scanl1`fix(-1:)] 21:07:05 [-2,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,5... 21:07:23 NOW WE ARE TALKING 21:07:35 oerjan: looked remotely sexual. 21:07:56 hm... 21:08:38 > 90 + 0 21:08:38 90 21:08:40 thats wrong 21:08:41 > [(+)`join`(-)|(-)<-(-)`scanl1`fix(-1:)] 21:08:41 [-2,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,5... 21:08:51 elliott__: wat 21:09:02 oerjan: its a wrong arithmeitsces 21:09:08 araeirhtmetcsiicaeics 21:09:11 ic 21:09:15 arariarearihaihetihmatcieaeratticsjcs 21:09:18 joiaerhibtiuebwilrbliet 21:09:36 * oerjan is suddenly reminded of Val$ar 21:10:14 i want some vhdl kind of processor thing what 21:10:18 fpga thats the word 21:11:24 > (/)`scanl1`fix(0.5:) 21:11:25 [0.5,1.0,2.0,4.0,8.0,16.0,32.0,64.0,128.0,256.0,512.0,1024.0,2048.0,4096.0,... 21:12:02 at least that idiom is best -1-indexed 21:13:25 > (90+f)x :: Expr 21:13:27 90 + f x 21:14:10 > (90*id+f)x :: Expr 21:14:12 90 * x + f x 21:14:43 > 90 + 0 :: Expr 21:14:44 90 + 0 21:16:36 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 21:16:49 !lperl What is all this nonsense about {{90+0}}? 21:16:49 ​What is all this nonsense about 90? 21:19:11 -!- atrapado has quit (Quit: FIN). 21:19:44 !lperl {{1;2}} 21:19:44 ​2 21:20:00 sweet functions! 21:21:31 oerjan: not a fan of the repeat function I've noticed. fix (x:) is just too cool. :P 21:22:09 ...it did not fit in with the rest there 21:22:45 didn't fit in? aren't they equivalent though? 21:23:14 * oerjan declares CakeProphet to have no sense of aesthetics 21:23:26 ..uh, if you say so. 21:23:58 i mean if we were going for _cleanness_... 21:24:02 > [-2,0..] 21:24:03 [-2,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,5... 21:24:18 > [-2,99999999999909..] 21:24:19 [-2,99999999999909,199999999999820,299999999999731,399999999999642,49999999... 21:24:23 best sequence 21:24:35 > [-2,99..] 21:24:36 [-2,99,200,301,402,503,604,705,806,907,1008,1109,1210,1311,1412,1513,1614,1... 21:24:39 > [-2,999..] 21:24:40 [-2,999,2000,3001,4002,5003,6004,7005,8006,9007,10008,11009,12010,13011,140... 21:24:41 > [-2,9999..] 21:24:42 [-2,9999,20000,30001,40002,50003,60004,70005,80006,90007,100008,110009,1200... 21:24:44 > [-2,99999..] 21:24:45 [-2,99999,200000,300001,400002,500003,600004,700005,800006,900007,1000008,1... 21:24:46 > [-2,9999999..] 21:24:47 [-2,9999999,20000000,30000001,40000002,50000003,60000004,70000005,80000006,... 21:24:48 > [-2,99999990..] 21:24:50 [-2,99999990,199999982,299999974,399999966,499999958,599999950,699999942,79... 21:24:51 nice 21:24:55 > [-2,990..] 21:24:56 [-2,990,1982,2974,3966,4958,5950,6942,7934,8926,9918,10910,11902,12894,1388... 21:24:58 > [-2,9990..] 21:24:59 [-2,9990,19982,29974,39966,49958,59950,69942,79934,89926,99918,109910,11990... 21:25:03 * oerjan wonders if elliott__ has a point 21:25:20 no 21:25:40 I like [1..] because it's actually [0.99.., 1.99....] :) 21:26:14 um 21:26:33 type error 21:26:43 oerjan: whoosh 21:26:46 NOT IN MATH DAWG. 21:26:46 syntax error, at that 21:26:55 , he said to the phd in mathematics 21:26:58 hm true 21:27:05 theys all real numbers foo' 21:27:32 though it would be nifty (read: pointless) if Haskell supported 0.99.. 21:27:39 and just evaluated it to 1 automatically. 21:27:56 ?unpl 0.99.. 21:27:57 Parse error at ".." (column 5) 21:28:01 not that pointless I guess 21:28:08 ;;;;)0)0)0 21:28:21 >_> 21:28:21 .. -_- 21:29:19 !lperl {{'a'..'Z' #Perl's enumeration stuff isn't anywhere near as good as Haskell's}} 21:29:34 !lperl {{'a'..'z'}} 21:29:44 ..or it doesn't work at all apparently. 21:30:10 oh, hmm, I wonder what context that is. 21:30:19 scalar probably. 21:31:14 ah, a problem.. 21:31:31 mmmm perl 21:32:02 !delinterp lperl 21:32:02 ​Interpreter lperl deleted. 21:32:03 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 21:33:21 -!- Slereah has quit (Ping timeout: 252 seconds). 21:33:58 !lperl This is a *{'test' . join ('','a'..'z')}* 21:33:58 ​This is a testabcdefghijklmnopqrstuvwxyz 21:35:06 * Phantom_Hoover → sleep 21:35:08 -!- Phantom_Hoover has quit (Quit: Leaving). 21:35:10 !lperl Also a test to enforce list context *{@{['a'..'z']}}* *{()='a'..'z'}* 21:35:10 ​Also a test to enforce list context 26 *{()='a'..'z'}* 21:35:15 :o 21:35:31 I always forget g... 21:35:56 g should be default.. 21:36:03 !delinterp lperl 21:36:03 ​Interpreter lperl deleted. 21:36:10 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 21:36:35 monqy: mmm indeed. 21:42:16 -!- Slereah has joined. 21:45:25 -!- ralc has quit (Quit: Leaving). 21:46:56 -!- azaq23 has quit (Quit: Leaving.). 21:50:04 Your SYLLADEX'S FETCH MODUS is currently dictated by the logic of a STACK DATA STRUCTURE. You were never all that great with data structures and you find the concept puzzling and mildly irritating. 21:52:29 elliott__: so what's a better implementation for arrays than utilizing pointer arithmetic? 21:52:39 -!- Slereah has quit (Ping timeout: 255 seconds). 21:52:53 CakeProphet: well the /interface/ of pointers is bad for arrays 21:52:58 implementation demands on the data, ofc 21:58:12 what could be more straightforward for a particular datum than a contiguous region of memory accesses by pointer arithmetic? 21:58:23 ask Fortran programmers :) 21:58:28 it's ok for one-dimensional arrays but... 21:59:17 -!- Slereah has joined. 22:00:38 CakeProphet: btw i should note that homestuck is still ongoing 22:00:53 ah. 22:01:05 I've only gone into the first few strips 22:01:08 (after two years and over three thousand seven hundred pages :)) 22:01:21 (and... fifteen albums...) 22:01:26 ridiculous. 22:01:52 so elliott__, are you a fortran programmer? If so I have a question for you. 22:01:55 no :D 22:02:24 a lot of what i did in my master's thesis was basically esolanging 22:02:29 and i got paid to do it 22:02:43 oklopol: yeah yeah and im the president of the us stop bragging 22:05:59 oklopol: that sounds excellent 22:07:22 actually i do even more esolanging type stuff in this survey thingie i just finished, I'M SURE YOU'D ALL ENJOY IT 22:08:00 oklopol: im going to remove your organs 22:08:08 :D 22:08:43 `addquote yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring 22:08:45 ​437) yes i use the services of a psychic, but i'm considering getting a live one since stuff like "hello $name, your first name $first_name has |$first_name| letters, so by using numerology we can tell ..." is getting kind of boring 22:08:52 that was added already :D 22:08:58 heh coppro actually tried that 22:08:59 but he failed 22:09:03 oh he did 22:09:04 he said "`quote add" because he's an idiot who should die 22:09:07 true stories 22:09:11 makes sense 22:09:16 (it's an insult to my quote system :<) 22:09:45 06:34:27: But thank goodness you're not also exhibiting an entirely irrational belief. 22:09:47 elliott__: the subcommand interface is reminiscent of MUD commands. 22:09:50 pikhq: SAID THE EX-CHRISTIAN ;D ;D ;D ;D ;D; D; D; ;D; D; ;D;D; 22:10:11 i wonder if you can get napping pills at 1am in the morning 22:10:13 06:37:30: although, if a 40yo friend of a friend asks me to marry them anytime soon i'll probably have to say yes, and start believing. 22:10:13 06:37:36: and turn gay. 22:10:16 oklopol: ive got a confession to make 22:10:21 im 40 and gay 22:10:27 i need to be at uni in 7 hours and i've slept all day 22:10:41 from 12 to 19 22:11:09 elliott__: yeah right and i'm a famous bisexual 22:11:15 oklopol: omg lets marry 22:11:47 we can't, you're underage and have a penis 22:12:23 but how's about that thing you were supposed to get back to me about 22:12:26 no im forty 22:12:31 and im a gays 22:12:35 -!- Slereah has quit (Ping timeout: 252 seconds). 22:13:57 -!- CakeProphet has quit (Ping timeout: 240 seconds). 22:16:16 -!- CakeProphet has joined. 22:16:16 -!- CakeProphet has quit (Changing host). 22:16:16 -!- CakeProphet has joined. 22:18:12 -!- SimonRC has quit (Ping timeout: 252 seconds). 22:19:18 -!- SimonRC has joined. 22:19:55 -!- Slereah has joined. 22:21:52 -!- CakeProphet has quit (Ping timeout: 252 seconds). 22:23:14 Did you try the "NABEATSU of the world" code golf? 22:27:03 -!- CakeProphet has joined. 22:27:03 -!- CakeProphet has quit (Changing host). 22:27:03 -!- CakeProphet has joined. 22:28:26 I wonder how someone goes about becoming an IRCop 22:28:26 and, more importantly, why. 22:28:55 you mean like freenode staff? 22:29:22 yes 22:30:00 (Note: the slightest bit of thunder in the distance makes me disconnect. It's stupid. I probably won't be able to hold a conversation) 22:30:22 um automatically? 22:30:36 yes. 22:30:43 CakeProphet: By not asking that question :) 22:31:25 -!- Lymia has quit (Ping timeout: 246 seconds). 22:31:37 no no, you just go to #freenode and ask "How can I become the ruler of this network as part of my quest for world domination?" 22:32:16 tempted 22:32:21 same 22:32:30 -!- Slereah has quit (Ping timeout: 252 seconds). 22:33:00 well that should slightly increase _my_ chances, at least 22:33:15 yes, because I /aspire/ to be an IRCop... 22:33:23 it sounds like a lot of fun. 22:33:34 k-lining spammers all day. 22:34:13 pretending I have a large internet penis. 22:34:27 freenode ircops do not k-line spammers 22:34:39 freenode is a bit too conservative a network for your tastes I think ;D 22:34:48 or, i suppose, in the world of irc, too progressive 22:35:06 well, i know this guy who spend like a week just spamming 24/7 and asking for a k-line before he got one 22:35:13 *spent 22:35:18 hahaha 22:35:24 but freenode actually uses glines don't they or something 22:35:27 klines are one-server which is silly 22:35:27 no 22:35:37 freenode usually gives a kline afaik 22:35:45 qnet gives glines 22:35:45 maybe ill ask 22:35:49 very easily 22:35:58 and never klines 22:36:19 Well, there are some channels that if you join you get klined, iirc 22:36:30 so they won't [kg]-line you for disrupting hundreds of channels at a time with spam? 22:36:41 well... 22:36:42 CakeProphet: they will 22:36:48 one hundred, let's say. for realism. 22:36:56 that would require more than one nick anyway 22:36:58 they prolly would yeah 22:36:58 the problem is that Freenode staff are not always around 22:37:07 hmm or is the additional mode thing greater than that 22:37:13 but not just from say spamming all day on #freenode or #ubuntu 22:37:20 they just keep kickbanning you 22:39:26 oklopol: did you know you're a aoiejsj 22:39:38 YEAH FUCKER 22:40:09 what's that :DSDSDS 22:40:20 its like a famous bisexual 22:40:42 elliott__: so whatever became of representing regular expressions as sets in Haskell? 22:40:43 -!- Slereah has joined. 22:40:53 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:40:54 CakeProphet: wasn't that like years ago 22:41:04 it doesn't work for obvious reasons 22:41:07 late last year maybe. 22:41:13 elliott__: are you SURE? 22:41:16 yes. 22:41:19 My own IRC server has no spam as far as I know, possibly because spam bots do not find it. 22:41:24 you can't skip infinite elements to find the one you want. 22:41:39 I used to have a comment form that was also spam many, but now I changed it to comment on gopher only, and there is no spam message. 22:41:54 "also, no comments" 22:41:57 elliott__: what if you use some fancy method of interleaving results from each expression? 22:42:07 CakeProphet: it's a pointless idea anyway :) 22:42:15 ? 22:42:16 a tree structure is far more appropriate 22:42:17 pointless in that it's awesome. 22:42:27 " you can't skip infinite elements to find the one you want." <<< regular languages are countable sets 22:42:40 oklopol: yes they are 22:42:46 oklopol: but the naive way of doing | (concatenation) doesn't work 22:42:51 but it can be exponential complexity to search ofc 22:42:52 and IIRC interleaving had a stupid problem that i forget 22:42:54 elliott__: see: FANCY INTERLEAVING. 22:42:56 anyway it was stupid anyway 22:43:01 because recognising it becomes like O(n) 22:43:07 where n is something utterly unrelated to the string you're testing 22:43:26 " oklopol: but the naive way of doing | (concatenation) doesn't work" <<< very good point 22:43:41 i sense sarcasm 22:43:49 well n can be 2^k where k is length, as i mentioned 22:43:54 for instance for the full language 22:43:56 right, point is, lists are a stupid way to do it 22:44:02 n would be, the cardinality of the language accepted by the regular expression right? or whatever the terminology is. 22:44:07 CakeProphet: no. 22:44:08 so is your mom because she doesn't know what regexps are 22:44:16 it's the number of elements before the one you're testing in the list 22:44:19 oklopol: oh right the main flaw is 22:44:21 you can't disprove membership 22:44:23 obviously 22:44:29 for anything that matches infinitezzzzz 22:44:36 yeah it was bsically the stupidest idea 22:44:41 elliott__: well right, I was talking about worst-case (which technically can't ever happen in an infinite list) 22:44:52 it most certainly is the stupidest idea in the world, yes 22:45:08 think of the APPLICATIONS. 22:45:15 all zero of them 22:45:16 i was only disagreeing with the technical detail that was completely irrelevant 22:45:44 for some reason i suddenly want a theremin 22:45:49 how weird 22:45:52 HOW WEIRD 22:45:56 this is weird everyone 22:46:02 oklopol: dude theremins are awesome. 22:46:09 also, ondes martenot 22:46:30 the ondes martenot is really like fifteen instruments in one 22:47:40 I have made my own version of MegaZeux, including many features that other people have requested (and some that nobody has requested until far after I made my version), but still nobody else likes it (except for 2 people, one of whom refuses to use it anyways). 22:47:42 elliott__: sure, but only if a piano is like 88 instruments in one. 22:47:47 heh 22:47:50 i like that view 22:47:58 an instrument is something that you can activate to make a single noise 22:47:59 me2 22:48:20 more if you count each string, but I don't. I got by the key because that's the smallest dividable component that a player interacts with. 22:48:22 so a theremin in a continuous universe is a real line of instruments 22:48:35 :DSDDD 22:48:36 s/got/go/ 22:49:14 elliott__: same thing with an ondes because of the ribbon. 22:49:20 A piano can also do many other things, such as pedals, holding one key down silently for one string to make the other one make noise too, it is a different kind, and you could also play the strings directly. 22:50:04 CakeProphet: what's the ribbon again 22:50:45 elliott__: there's a little thing you can press down right in front of the normal keys that allows you to produce a continuous pitch. 22:50:53 aa 22:50:55 [asterisk]ah. 22:50:58 erm 22:51:07 does that actually give you infinite number of tones though 22:51:12 like a theremin (theoretically) does 22:51:16 I believe the note corresponds to which keyboard key you're physically below 22:51:28 elliott__: yes it's a continuous range. 22:51:32 that kinda sucks huh 22:52:03 because then 1cm is not the same distance in notespace everywhere 22:52:11 of course, it is not all that in the theremin afaiu 22:52:16 or the guitar 22:52:34 oklopol: I might be wrong on that assumption actually. I don't know for sure. 22:52:47 it just seemed to make sense. Otherwise you'd have to memorize which location is what pitch. 22:53:02 -!- Slereah has quit (Ping timeout: 240 seconds). 22:53:05 oklopol: also, I'm guessing you mean a fretless guitar. 22:53:07 but at least it continuously starts rising faster as you go, what you described would halve and double the speed at pretty much random spots 22:53:23 oklopol: but that sounds awesome 22:53:35 imagine playing a tune designed for a flat, continuous range on that 22:53:37 well, no, it doesn't sound chopped up when you change the pitch. 22:53:59 well in a fretful one, you have the same thing 22:54:00 here, I will find some music with ondes martenot. 22:54:23 det ondes problem 22:54:25 -!- Slereah has joined. 22:54:28 Fiddle. It makes a big difference, you know. 22:54:36 `addquote Fiddle. It makes a big difference, you know. 22:54:38 ​438) Fiddle. It makes a big difference, you know. 22:54:41 i like that 22:54:43 good slogan 22:54:44 for fiddles 22:55:29 http://www.youtube.com/watch?v=a35DH9tKjZI 22:55:31 oerjan: .... 22:55:43 oerjan: good band name 22:55:51 Det ondes Problem 22:56:07 (yes i googled :D) 22:56:13 erm what, the left hand is just used to control volume? :D 22:56:18 oklopol: in theremin? 22:56:18 that's fucking retarded 22:56:21 yes 22:56:23 nono 22:56:26 in that piano thing 22:56:28 oh 22:56:43 in the theremin it's okay because it looks like a guitar. 22:56:45 the left hand can control a number of properties. 22:56:54 this one looks like a piano so it feels retarded not to have two hands 22:56:58 oklopol: in the theremin it's okay because without the volume it'd be stupid :D 22:57:19 maybe if you had like superfast superprecise hands so you could avoid making everything sound like running your keys down a piano 22:58:01 i wish i had a touchkeyboard 22:58:08 there are different styles of playing an ondes. Also it can produce chords through other means. (I believe there are switches or buttons for different chords) 22:58:21 yeah bleh 22:58:29 define touchkeyboard :p 22:58:41 touchscreen used as kb 22:59:17 going to get one asap actually 22:59:28 i've had this one thingie in mind for some time 22:59:48 oklopol: get the laser ones 22:59:53 http://www.pimproom.com/sc_images/products/741_large_image.jpg 22:59:57 i hear they're incredibly shitty. 23:00:06 way cooler than a touchscreen though :D 23:00:14 yeah those would be awesome 23:00:16 http://www.biztoolbelt.com/uploads/5CellulonCL850VirtualKeyboard.jpg THE FUTURE 23:00:30 oklopol: http://www.cectcellphone.com/product.php?id_product=178/178-VKB%20Celluon%20CL850.html 23:00:35 only two hundred pounds 23:00:35 he future looks awful 23:00:43 the future too 23:00:47 oklopol: 242.731127 euros 23:00:58 PEANUTS FOR THE PPLEASURE 23:01:02 wow what did i just type 23:01:08 PEANUTS FOR THE PPLEASURE 23:01:29 ppower typing 23:01:31 -!- elliott__ has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 23:01:49 PEANUTS FOR THE PPLEASURE by det ondes Problem 23:01:59 coming to an esoteric record store near you 23:04:20 it appears that you can play the ondes 2-handed at a constant volume. 23:04:45 also the keys can apparently bend a full semiton as well. 23:04:50 *semitone 23:04:53 yes 23:05:10 elliott__: if you capitalize Problem you really need to capitalize Ondes 23:05:24 no! 23:05:31 Det ondes Problem 23:05:32 oerjan: no, the instrument is ondes Martenot 23:05:41 I lowercased det just because "Det ondes" looks weird :D 23:05:53 *sigh* 23:06:02 oerjan: you just don't understand _art_ 23:06:02 dy/dondes 23:06:23 is a good electro-noise band name. 23:07:03 or synthpop nintendo-noise jazz fusion 23:07:04 art is just fart but you don't even give an eff 23:07:14 "synthpop nintendo-noise jazz fusion" <-- i can put words together too 23:07:17 is my contribution 23:07:30 elliott__: no those are all based on actual genres. 23:07:36 -!- zzo38 has quit (Quit: zzo38). 23:07:44 CakeProphet: what, you know of a synthpop nintendo-noise jazz fusion band? :D 23:07:58 ...no, I know of synthpop bands, nintendocore, noise, and jazz fusion. 23:08:01 SO THERE. 23:08:08 yes, and i too can string those words together 23:08:12 and by "know" I mean "I could find them with Wikipedia and Google" 23:08:47 i'd certainly like a touchscreen based instrument with a continuous scale where a semitone is xcm everywhere 23:08:48 elliott__: heh, good. Son, I am proud. 23:08:54 -!- Slereah_ has joined. 23:08:56 but touchscreens should feel like poking a boob 23:09:04 `addquote but touchscreens should feel like poking a boob 23:09:06 ​439) but touchscreens should feel like poking a boob 23:09:33 oklopol: the interface of the future. 23:09:56 CakeProphet: http://xkcd.com/903/ 23:09:59 -!- Slereah has quit (Ping timeout: 248 seconds). 23:10:10 are there boobs you wack and squeeze around to move the mouse? 23:10:11 i mean 23:10:19 not real boobs but like 23:10:21 yeah 23:10:31 there's boob mouse pads 23:10:36 wish i didn't know this 23:10:37 oerjan: yes I often have this problem. Though I can definitely tell someone what spark plugs and cars are without wikipedia. 23:10:51 like those little nipples in laptop keyboards, but they'd be full-blown boobies 23:11:01 `addquote are there boobs you wack and squeeze around to move the mouse? [...] like those little nipples in laptop keyboards, but they'd be full-blown boobies 23:11:03 ​440) are there boobs you wack and squeeze around to move the mouse? [...] like those little nipples in laptop keyboards, but they'd be full-blown boobies 23:11:04 Spark plugs? 23:11:11 Sgeo: Cars? 23:11:19 oerjan: but, shit, there's too much information to remember everything. 23:11:26 * Sgeo is not a car person 23:11:38 I... 23:11:56 so on the subject of things that aren't how depressing sgeo is 23:12:02 http://xkcd.com/907/ <-- randy realises he's getting old 23:12:31 Sgeo: a spark plug provides a spark that ignites a mixture of fuel and air in an engine. 23:12:36 basically. 23:12:55 elliott__: yes I've noticed a change of tone in the most recent comics. 23:13:41 do you mean it's been getting shittier cuz its been going on a lot longer than that 23:13:42 -!- Slereah has joined. 23:14:18 -!- Slereah_ has quit (Ping timeout: 252 seconds). 23:14:22 elliott__: yes, actually. 23:14:35 it's not bad, it's just not the same. 23:14:43 http://xkcd.com/903/ is one of the high-points of the post-four hundred era 23:15:12 actually i almost feel like it's gotten bad enough that it should be the post-five hundred era 23:15:24 in comparison the fourxx comics are much better than the current lot :D 23:15:42 elliott__: there's also this: http://xkcd.com/550/ 23:15:52 CakeProphet: Except that that's a terrible strip?? 23:15:58 nonsense. 23:16:09 The entire joke: "Ha ha: MEMES!" 23:16:15 "I am referencing them laugh!" 23:16:17 nope. 23:16:21 Yup. 23:16:24 haha lol @ "Ha ha: MEMES!" 23:16:26 it's meme density. YOU DON'T UNDERSTAND. 23:17:05 let me just set aside some time to be stupid enough to laugh at that 23:17:10 hey looks like next month is chemical lobotomy month youre in luck 23:17:21 oklopol: MEMES? DON'T YOU MEAN CARROTS? 23:17:37 oerjan: im going to snap your spine and drain all the blood from your neck 23:17:41 i didn't get that 23:17:55 oerjan: then throw you into a meat grinder 23:17:57 elliott__: hey it was the one perfect time for it 23:18:25 I only sometimes get oerjans uh... jokes. 23:18:25 oklopol: reddit meme. exceedingly forced. 23:18:39 oerjan: forced by _design_ even 23:18:43 yeah 23:18:52 http://xkcd.com/899/ idgi 23:19:31 oklopol: "I thought of a few witty remarks to make on a number line, let's draw this... hmm... I guess I need to pad it out a bit... like with false statements or something" 23:19:36 -!- Slereah_ has joined. 23:19:39 "haha wait" 23:19:42 "What if I posted this as an xkcd" 23:19:45 "Would anyone call me out on it" 23:19:48 -!- pikhq has quit (Ping timeout: 252 seconds). 23:19:53 -!- Slereah has quit (Ping timeout: 276 seconds). 23:19:53 -!- pikhq_ has joined. 23:19:55 "doubt it I'll probably get laid if I post this or something" 23:19:57 "god it's shitty" 23:19:59 "will this really work" 23:20:01 "only one way to find out" 23:20:03 [post] 23:20:05 oklopol: hth 23:20:19 if that doesn't make sense, then we've localised the problem to randy's brain. 23:20:39 i still feel like i'm not quite getting all those number remarks 23:21:24 or possibly it actually _is_ in oklopol's brain 23:22:59 oerjan: quite a bit of it is math trolling I believe. 23:22:59 ^ 23:23:05 er 23:23:09 s/oerjan/oklopol/ 23:23:14 er 23:23:16 nevermind 23:23:19 what the fuck I can't read. 23:23:29 "trolling"? 23:23:30 you mean 23:23:33 making false statements? 23:23:35 yes. 23:23:40 see how much it infuriates you? 23:23:44 nope? 23:23:54 infuriates how? but i can only find one statement there that might possibly be _true_ 23:24:01 because i'm responding herp derp 23:24:06 (the phi one) 23:24:16 i'm poorly so i'm sitting here on irc wasting time and you're trying to justify one of the worst xkcd's in recent memory, it is merely amusing to respond :) 23:24:51 8 is the largest even prime? 23:25:03 why does he write that there 23:25:05 igi 23:25:07 *idgi 23:25:15 oklopol: because it's FALSE! HAHA! 23:25:22 i'm pretty sure oklopol is trolling us 23:25:26 see if he had put it on two, it would be true. 23:25:30 so it wouldn't be funny. 23:25:46 some of them do make sense, some i don't get but it's my fault, but what the fuck is that prime thing 23:25:59 * oklopol practises zzo imitation 23:26:00 oklopol: http://www.youtube.com/watch?v=7EnrZMrNBQc 23:26:10 accidentally says fuck 23:26:17 :D 23:30:47 elliott__: I don't think it's a good comic either but it's obvious that most of it is intended to either confuse or annoy, which it has apparently done. 23:30:55 No it hasn't? 23:30:59 Who was annoyed by it? 23:31:23 me 23:31:25 people who get annoyed at false statements. 23:31:41 this is stupid and you're stupid for thinking it's a good strip :P 23:31:49 heh. 23:31:53 I'm annoyed that someone would make it 23:32:01 annoyed or sad 23:32:45 this guy seems to know what he's talking about: http://forums.xkcd.com/viewtopic.php?f=7&t=71146#p2614309 23:32:53 xkcd has a forum? 23:32:56 doubtful, he's a poster on the xkcd forum 23:33:00 monqy: yes, it is predictably shit 23:33:02 but otherwise that entire thread is retarded. 23:33:07 as is the entire forum. 23:33:15 "I can't supply all the details, but there might be some grounds for 8 being the supposed largest even prime joke." 23:33:20 pictured: trying to defend a comic being funny 23:33:33 that... does this person even understand humour 23:33:46 "The joke is justified by my insane logic; HA HA!" 23:33:47 I don't know. Is he British? 23:34:07 (ZING!) 23:34:25 wow, you're as good at jokes as randall 23:34:42 make a webcomic 23:34:44 become e-famous 23:34:48 dude I'm a pro. Don't even compare to that shit. 23:34:51 * oerjan beats CakeProphet with a dead parrot 23:35:22 monqy: i wonder if randy gets propositioned on the street 23:35:28 (answer: no, but he tries his darndest) 23:35:53 elliott__ is sipping the haterade. 23:36:13 yeah im practically tearing off my shirt and destroying walls 23:36:13 mmmm haterade 23:36:37 representitives? 23:36:54 >tit 23:37:08 * CakeProphet ahems. 23:37:15 sgeo you are so immature 23:37:18 representatives 23:37:20 http://xkcd.com/889/ <<< finally a good one 23:37:49 do turtles really think that 23:38:06 "I'm getting this picture in my mind... a teenage Randall, saying to himself "when I'm in my twenties, then, then I'll get all the sex!" And then a barely adult Randall saying to himself "when I'm 20, then, then I'll get all the sex!" And then he just skips over about thirty to fifty years and decides it must be when you're really old that you get to have a lot of sex." 23:38:08 yes dude, why don't you ask one. 23:41:15 elliott__: I see someone else shares your seething hatred for Randall in his shitty comics. You should send him a PM and he might invite you to a shirt-tearing wall-destruction party. 23:41:53 whose shirts whose walls 23:42:05 sounds manly regardless 23:42:06 It's just good ol-... well, old - xkcdsucks. 23:42:28 Which got stupider near the end but now it mostly has guest reviews and they're occasionally amusing. 23:42:34 I only checked because we were talking about it. :p 23:47:26 suuure. :D 23:49:47 http://xkcd.com/887/ okay this was hilarious 23:49:50 seriously :D 23:50:04 yeah lol 23:50:09 z 23:50:15 have you read it ? 23:50:56 i actually laughed out loud at the punchline 23:51:27 i have, but randy told me AYB references aren't funny again yet 23:51:31 so i couldn't laugh 23:51:40 http://xkcd.com/286/ 23:52:32 -!- TOGoS has joined. 23:54:09 -!- Patashu has joined. 23:54:24 it was a reference? ewww :\ 23:54:41 okay funniness has disappeared 23:55:25 First, "All primes are odd except 2, and 2 is the oddest of all". It's my understanding that when something in number theory is proven and lots of it depends on looking at things "p-adically" the first paper proves it for all odd primes. Then, a year later someone comes back and does the hard 2 case. 23:55:26 'First, "All primes are odd except 2, and 2 is the oddest of all". It's my understanding that when something in number theory is proven and lots of it depends on looking at things "p-adically" the first paper proves it for all odd primes. Then, a year later someone comes back and does the hard 2 case.' 23:55:27 what 23:55:37 is this true? sounds retarded. 23:55:47 AFAICT that wasn't a reference to 286 23:55:52 it was obviously a reference to Zero Wing 23:55:54 i've seen the opposite happen about 42 times 23:56:02 coppro: what? 23:56:10 coppro: 286's punchline implies "AYB is not funny yet" 23:56:14 if it was a reference, it was not funny; but certainly sounds like how AYB could've started 23:56:24 not many years later at all, 887's punchline is "AYB is hilarious" 23:56:44 by order of randy i can't find 887 funny. 23:56:50 elliott__: maybe it's funny again now 23:57:09 coppro: sorry, Randy has not yet said so in his comic, so I cannot believe it. 23:57:11 oh wait 23:57:15 "Decades from now" --http://xkcd.com/286/ 23:57:19 it's not funny yet, it has not been decades 23:57:50 this webcomic has no internal consistency 23:57:59 elliott__: wow, so there's a website in which people devote significant amounts of time finding flaws in xkcd comics? 23:58:10 CakeProphet: define "significant" 23:58:29 it takes, like, three minutes to write a blog post 23:58:37 how long did that p-adic poster spend trying to defend the eight-prime joke? :P 23:58:49 enough to write several paragraphs of hate and even dig back into previous comics to find places where he was inconsistent or used the same joke again. 23:58:57 lol the eight prime joke 23:59:12 CakeProphet: have you considered that it's fun to pretend to take it more seriously than you actually do 23:59:27 to prove fermat's last theorem it suffices to prove it for each odd prime, and 4. 23:59:29 come on, it's less pathetic than tons of shit the xkcd fans would do for the comic 23:59:31 -!- foocraft has quit (Quit: Leaving). 23:59:40 (exponent) 23:59:42 call it "literary criticism" if you want ;D 23:59:58 oerjan: is 4 harder? 23:59:59 elliott__: well, depends on your definition of 'fun.' it sounds like a terrible waste of time to me. 2011-06-06: 00:00:21 oklopol: no that was an early solved case 00:00:24 CakeProphet: good thing you're not required to read/write it, then 00:00:40 but clearly this shows that 4 is an even prime 00:00:42 then is that guy actually referencing something or just being stupid 00:00:46 CakeProphet: however i invite you to look at the channel you're calling things a waste of time in :) 00:00:47 yes 00:01:45 oerjan: do you at all know how the proof goes btw? 00:02:01 it goes like doot doot doot do do do do do 00:02:19 obviously Phantom_Hoover is the expert on that here but i wouldn't be surprised if you also knew some of the fancy words involved 00:02:20 no. 00:02:37 oklopol: wat xD 00:02:42 how long is the shortest proof atm? 00:03:05 elliott__: to quote Phantom_Hoover, "surely everyone here knows how the proof goes" 00:03:20 its about three bagpipes long 00:03:31 elliott__: hey, #esoteric is an excellent way to spend time. 00:03:33 and when we didn't, he explained it to us 00:03:43 time that would otherwise be spent doing something productive. 00:03:54 or possibly even designing esolangs. 00:04:19 to quote famous bisexual oklopol, "and when we didn't, he explained it to us" 00:04:48 elliott__: if it's any consolation, after this survey and my next article, i'll try to drop finite state automata and concentrate on CA, which feel much less like esolanging 00:05:23 oklopol: im going to put your limbs into separate bags 00:06:04 oerjan: http://esolangs.org/w/index.php?title=Infinity&curid=1253&diff=23206&oldid=20220 00:06:13 oerjan: is this really valid... 00:06:18 * elliott__ looks at this article WOW this article sucks 00:06:26 Can we delete it, it really sucks 00:06:33 oh wait cpressey started it ;D 00:07:58 that seems like a slightly pointless article 00:08:31 it is, it's free of all informational content :P 00:08:43 i sometimes get this impression cpressey has a slightly tortuous relationship to math 00:08:49 http://esolangs.org/wiki/Special:Whatlinkshere/Infinity 00:08:51 oerjan: you don't say. 00:09:05 * oklopol likes math 00:09:40 http://esolangs.org/wiki/Lazy_evaluation 00:09:46 oh, the link added points to... a joke article 00:10:16 we have reached the esounderbelly 00:10:26 oerjan: rude non-/msg-replier :( 00:10:30 * elliott__ feels rejected 00:11:42 i didn't see the point in moving the conversation, it's not like there was any slanderous information involved 00:12:04 well in what _you_ said, anyway :P 00:12:07 what were you talking about? 00:12:12 i say everything in /msg 00:12:16 i would have said that in /msg 00:12:20 but i'd have to send it to everyone present 00:12:23 and that would be a lot of work. 00:12:24 oklopol: rabies. 00:12:39 hmm 00:12:50 so oerjan, dem rabies 00:12:52 oerjan 00:12:53 oerjan respond 00:12:54 please 00:12:55 he;lp 00:12:57 rabies?? 00:13:00 oklopol: log 00:13:38 well i'm sorry but once you are showing symbols it's too late anyhow 00:13:45 *symptoms 00:14:00 is that true? 00:14:32 mostly, i think there are very few who have survived after reaching that stage 00:14:34 it's crazy that there are like a million cool diseases but no one ever gets those 00:14:40 everyone just gets like them flues 00:14:46 which all look the same 00:14:48 flus 00:15:02 yeah not a typo 00:15:52 admittedly after changing dem to them i should've removed the e too 00:17:17 i gather Caroline enjoyed her rabies 00:17:43 http://upload.wikimedia.org/wikipedia/commons/c/c1/Rabies_Free_Countries_Sourced_2010.svg rabies-free bitch 00:18:30 http://en.wikipedia.org/wiki/Milwaukee_protocol 00:18:40 get it 00:18:42 rabies-free bitch 00:19:03 oerjan: handling bats leads to rabies? but they're so cute :( 00:19:40 so umm, tomorrow's conference lectures start when i went to sleep yesterday, and end when i woke up 00:19:50 i'll probably learn so much 00:19:51 :D 00:19:58 :D 00:20:28 one of the speakers has a proof of P=NP 00:20:36 you're in a conference? 00:20:43 yeah starts in 6h 00:21:04 [FUMING JEALOUSY] 00:21:20 i'm not really an organizer since i was doing my master's thesis when most of the stuff was happening 00:21:40 although i did referee one paper (it sucked THE ASS :D) 00:21:42 oklopol: so are you a master yet 00:21:51 err yes, ages ago 00:22:01 i don't keep track of the lovelifes of famous bisexuals oklopol 00:22:06 don't expect me to know 00:22:23 hey if it's a P=NP proof it should show up on godel's lost letter any moment /s 00:22:29 why thank you for asking, you can read it here http://tucs.fi/research/publication-view/?pub_id=tSalo11a 00:22:43 oerjan: There were 2 survivors out of 25 patients treated under the first protocol. A further 10 patients have been treated under the revised protocol and there have been a further 2 survivors.[6] 00:22:44 good protocol 00:22:58 most excellent 00:23:01 oklopol: you can write normally?? 00:23:03 so weird dude 00:23:12 oerjan: proof goes as follows: nature can be simulated in polynomial time, and bubbles solve an np-complete problem when they form their lattice 00:23:22 oklopol: did you write this in notepad 00:23:25 say yes 00:23:39 i'd hazard a guess the obvious error is in the second part 00:23:47 there is no way you wrote this >:| 00:23:53 it looks nothing like you. 00:24:20 oklopol: lol they gave you a master's for this? 00:24:26 wow they must just be really kind 00:24:28 to a retard idiot 00:24:29 like you 00:24:30 lmao this sucks 00:24:33 am i hurting your feelings yet 00:25:00 elliott__: well i solved at least 3 problems that had been open for more than a decade, this formally qualifies a laudatur. 00:25:20 lol if you say so noob 00:25:20 oerjan: lol thought you meant obvious error in the second paragraph of my abstract :D 00:25:24 lol 00:25:26 did you scramble to check 00:25:30 "NOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" 00:25:35 oklopol: so when are you a phd 00:26:27 but in fact one of my conjectures is complete bullshit, because of a definition being wrong 00:26:32 this was fun to notice the day that was published 00:28:56 elliott__: umm dunno, once i come up with an interesting result 00:29:09 -!- pikhq_ has quit (Ping timeout: 240 seconds). 00:29:23 -!- pikhq has joined. 00:29:23 if i don't, probably in 4 years, if i do, perhaps right after that 00:31:10 http://www.math.utu.fi/projects/uc2011/timetable.html this here conference, more cs than math 00:31:23 -!- FireFly has quit (Quit: swatted to death). 00:32:43 and other random stuff 00:32:54 15:30–16:00Coffee 00:32:57 go to that one it sounds interesting 00:33:02 i suppose it's basically an esolanging conference 00:33:18 Computing with planar toppling domino arrangements 00:33:18 W. Stevens 00:33:34 A Universal Flying Amorphous Computer 00:33:34 L. Petru, J. Wiedermann 00:34:37 strange name that second author 00:35:14 yeah i guess he had two sex changes 00:35:34 man -> universal amorphous computer -> man 00:36:09 :D 00:36:30 i wanna change my name to A Universal Flying Amorphous Computer now 00:36:56 i have to try to sleep for a bit... 00:36:57 -> 00:37:29 damn where is olsner whne you don't need him 00:37:58 sweding around like swedes do 00:38:25 Proof. Obviously 00:38:25 2 00:38:25 log 2n = n2 > n log a = log an 00:38:25 for large enough n. 00:38:27 oklopol: obviously your mom 00:40:01 yeah i'm not sure why i added that appendix but i guess there might be readers who don't know basic math but manage on page 30 anyway 00:40:05 i don't think that notation quite got through 00:40:16 yeah umm 00:40:32 lol 00:42:31 right the 2 on the line above should be the exponent of n 00:42:33 oklopol: like me say 00:43:27 argh -> 00:44:13 actually there are very few "obviously" claims where i actually skip the exact proof, in fact i have gone to great lengths to formalize everything so formal that no one in their right mind would ever read it 00:44:36 oklopol: COQ LOL 00:45:10 that would've been cool, but perhaps i'm still a factor of a few hundred away from that in formalness 00:45:32 argh -> 00:45:33 I think in technical writing it's a good idea to not skip over details that might seem obvious. 00:45:55 except that makes mathematical proofs unreadable :) 00:46:04 well, yes. 00:46:12 you do that in a phd and in an article 00:46:15 maybe not with proofs. 00:46:27 you don't do that in a master's thesis or a book 00:46:51 in a book, you don't do it because the reader is assumed not to know the boring details, and is such forced to suffer through them to make sure they understand what's actually happening 00:47:18 in a master's thesis, you don't do it because *the author* is demonstrating they know this stuff 00:47:24 20:38:27: so now my Underload (...)s are no longer functions 00:47:24 20:38:29: what should i call them? 00:47:24 20:38:31: subprograms? 00:47:24 20:40:58: blimps 00:47:32 argh -> 00:47:38 the coining of the terioerioeioroeioioireoriooioerioermoinologiiiiiiiiiiiiiiiiiiiiojdfg 00:48:17 impressive keyboard 00:48:28 " maybe not with proofs." what else is there 00:48:41 *formal proofs 00:49:01 i have to -> 00:49:03 ashsthsry' 00:49:45 you have to, imply? 00:50:48 I often feel that <-> 00:56:19 baby, feel that equivalence 00:57:55 that's an interesting way to view biconditionality. 00:58:15 who tf calls it biconditionality 00:58:35 the concept of being biconditional? I do. 00:58:45 well biconditional i guess but it's the same thing as equivalence :) 01:00:02 <-> = =? 01:00:09 it's a congruence relation, if you take its quotient you get a boolean algebra 01:00:10 er, insert logical equivalence sign. 01:00:41 what is the quotient of a relation? 01:01:17 the quotient of an equivalence relation is what you get if you identify equivalent elements 01:02:03 a congruence relation is an equivalence relation which respect your other operations, such as in this case ->, and, or 01:02:08 *respects 01:02:19 so the quotient is the set where the relation is true? 01:02:31 um no 01:02:55 the quotient is a set whose elements are the equivalence classes of the relation 01:03:20 ah. 01:05:08 so congruence relations are equivalence relations that -- what you just said. 01:05:29 * CakeProphet only learned the basics of relations in his discrete math class. 01:05:41 basically what they are. 01:05:47 yes. the significance of that is that you can transfer your other operations to the quotient 01:07:07 the map from an original element to the corresponding quotient element then becomes a homomorphism 01:09:00 which map? There's a lot of different kinds of maps. :D 01:09:29 map is here a synonym for function 01:09:32 ah okay. 01:10:05 -!- Lymia has joined. 01:10:06 -!- Lymia has quit (Changing host). 01:10:06 -!- Lymia has joined. 01:10:34 Lymia: YOUR IP WAS HANGING OUT 01:11:04 ^_^' 01:11:14 oerjan: so when you convert the original element into its equivalence class, it preserves the algebraic structure? 01:11:14 DMZ points at my dad's computer. Who cares. 01:11:21 yep. 01:11:53 hmmm, okay. I'll need to learn more about abstract algebra to understand what that entails. 01:12:59 http://en.wikipedia.org/wiki/Isomorphism_theorem#General 01:13:53 but an equivalence class is a set. Do you have to change the operations at that point to work with the equivalence class, or do you still use the same definition as before? 01:13:58 in wikipedia's usual even-more-incomprehensible-than-necessary style 01:14:13 its so the editors can prove theyre smart 01:14:39 oerjan: yeah the articles are dense, but the specificity helps when you need to know /exactly/ what something means. It's terrible for learning a new subject in advanced math though. 01:15:45 yeah but mathworld is easier to understand most of the time and just as precise, c'mon :P 01:15:57 well let's say A and B are two equivalence classes, and & is one of the operations. Then the congruence requirement means that for every a in A and b in B, a & b ends up in the _same_ class C, so just define A & B = C 01:16:55 ah okay, so the operation becomes something else, but still works the same way. 01:17:03 I think... 01:17:04 yeah 01:18:02 basically with the equivalence class version of the operation you're just applying the operation to all of the elements. 01:18:11 precisely 01:18:11 and taking that as your resulting set. 01:18:29 * CakeProphet scratches head. 01:18:29 DMZ points at my dad's computer. Who cares. 01:18:40 be careful, dprk has nukes 01:18:46 :( 01:19:04 well... there's a small caveat in that A & B applied to all elements is not necessarily _all_ of C, i think 01:19:44 oerjan: hmmm, well... how is C defined? 01:19:59 C needs to be a whole equivalence class 01:20:06 right. 01:21:13 so you just get some subset of C. Though I have no idea how you would know what C is without more information.. 01:21:41 well you just take anything which is equivalent to something (and thus everything) in C 01:21:52 and that must still be in C 01:22:02 ah okay. 01:22:38 that's interesting. You can take any subset of an equivalence class, and find every member of that equivalence class in a given set. 01:22:54 well 01:22:57 not any subset. :P 01:23:01 there is one that you can't use. 01:23:20 you don't say. 01:24:31 my discrete math teacher was incorrect. He seemed to use equivalence class as a synonym for equivalence relation. 01:25:06 oops 01:25:15 one of our test questions was to determine whether a given relation was an equivalence class by determining that it was transitive, symmetric, and reflexive. 01:25:34 and he's like, one of the better professors at my university. That's saying a lot. 01:26:18 huh 01:27:59 the US seems to come on top if you compare the _best_ universities. i wonder how it'd do if you compared the _median_ 01:28:07 probably bottom :P 01:28:10 probably not so great. 01:28:51 oerjan: the funnest would be comparing the worst :D 01:28:55 I go to a pretty small university. Not saying that being a small university is bad, but in this case it's true. 01:28:56 or the ... mean 01:29:06 ..the mode? :P 01:29:10 THE MOST COMMON UNIVERSITY. 01:29:10 yes. 01:29:23 THE RANGE 01:29:26 this makes sense 01:29:31 although i guess this may be heavily skewed by different countries having different cutoffs for the quality needed for an institution to call itself a university 01:29:40 the modal university would be the one with the most satellite campuses I think. 01:29:43 CakeProphet: An equivalence relation over a set gives rise to a partition of that set into equivalence classes under that relation 01:29:51 coppro: so does your mom 01:29:55 OHHH SNAPE 01:30:10 coppro: yep, I just read about that on Wikipedia actually. :D 01:30:17 and.. inferred it. 01:30:25 from what oerjan told me. 01:30:40 using my MIIIND. 01:30:45 lies 01:30:52 all evidence points to you not having one 01:30:59 :( nonsense. 01:31:05 elliott__: goddamn executive meddling in doctor who 01:31:29 coppro: I stopped watching because Moffat turned from genius to incompetent after taking the reins 01:31:48 or are you referring to something other than new episodes 01:31:53 !lperl I'm trying to find a way to use *{"THIS"}* thing I made, but alas I cannot think of anything. 01:31:53 ​I'm trying to find a way to use THIS thing I made, but alas I cannot think of anything. 01:32:07 !show lperl 01:32:08 ​perl while(<>){s/ (? so wait it does what? 01:32:35 evals perl code in {} 01:32:36 evaluates Perl between *{}*'s 01:32:37 yep 01:32:44 {{}} is nicer 01:32:51 originally it was {{ but that would make balancing issues arise 01:33:04 unless I, you know, accounted for that. 01:33:10 elliott__: I'm referring to the new episodes 01:33:17 elliott__: at what point did you stop watching? 01:33:28 while(<>){s/ (? er... 01:33:37 DON'T COPY NEWLINE 01:34:12 coppro: I watched a few episodes of the new series, then didn't for reasons of bad time management rather than disinterest (although I didn't think they were very good episodes), then I got friends whining at me about how terrible the writing is :) 01:34:27 A constant stream of meaningless myth arcs is plot, right? 01:34:29 !lperl blahblah*{print "You suck"}*blahblah 01:34:29 ​You suckblahblah1blahblah 01:34:41 !lperl blahblah*{"You suck"}*blahblah 01:34:42 ​blahblahYou suckblahblah 01:35:59 !delinterp lperl 01:36:00 ​Interpreter lperl deleted. 01:36:01 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 01:36:08 once again negative look-around saves the day 01:36:08 elliott__: kay. the first of Matt Smith's seasons was pretty good I thought; the second is going downhill but I think it's due to trying to stuff the story into the time available before the midseason cliffhanger. I hope it picks up in August 01:36:24 coppro: Also River Song is the worst character ever invented. 01:37:03 elliott__: Why do you say that? 01:37:06 !lperl This is a {{@{[qw*MOTHERFUCKIN' TEST DAWG*]}}}. 01:37:06 ​This is a 3. 01:37:36 yes, it's a 3. 01:37:47 coppro: She's a blatant Mary Sue whose entire basis is "OOH, MYSTERIOUS FUTURE COMPANION PERSON, BE VERY MYSTERISED" 01:38:34 !lperl also a \{{test}} 01:38:34 ​also a \{{test}} 01:38:46 !lperl also a \{{{x 01:38:46 ​also a \{{{x 01:38:48 !lperl also a \{{{x}} 01:38:48 ​also a \{x 01:38:52 fail 01:38:59 fianna fail 01:39:03 ...not really. :P 01:39:07 yes it is 01:39:10 \{{ <-- escaped 01:39:15 {x <-- not the start of a code block 01:39:19 elliott__: Kay, that might be how she was introduced. She gets developed a lot more later on. Definitely got some serious Mary Sue going on though. 01:39:43 coppro: I'm aware she's been developed a small amount, but that really doesn't justify the Mary Sueness 01:39:43 elliott__: NOPE. TOO HACKISH DOESN'T WORK THAT WAY. 01:39:56 coppro: Also this "SORT OF A TIME LORD" thing makes no fucking sense. 01:39:57 it's {\{{x}} 01:40:25 -!- calamari has joined. 01:41:01 though don't ask me why you would ever escape the {{ 01:41:23 elliott__: they actually just explained that; whether you like the explanation or not is up to you. To me, it's not too far-fetched compared with the rest of the series. 01:42:19 coppro: erm, they just revealed /and/ explained it simultaneously 01:43:09 coppro: but the explanation isn't an explanation, it's just "banging in the tardis makes time lordy things" 01:43:53 actually i have to wonder why time lords are still practically extinct, you'd think the doctor would just seduce someone and take them to the tardis, that should be enough to get some full time lord dna going 01:43:55 -!- variable has quit (Remote host closed the connection). 01:43:56 elliott__: It was due to exposure to the Vortex; the same basic thing that made the Time Lords what they are now. 01:44:22 The Doctor clearly had no idea it could work that way until now 01:44:51 Sweet, eagerly awaiting an episode of gratuitous sex scenes 01:45:01 I MUST DO IT... FOR THE TIMELORDS [sax] 01:45:09 lol 01:46:18 !delinterp lperl 01:46:18 ​Interpreter lperl deleted. 01:46:19 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 01:46:29 !lperl a \{{test}} 01:46:29 ​a {{test}} 01:46:31 CakeProphet: you realise {{"{{"}} works to escape 01:46:48 ...no? 01:46:49 you could even define two subs that return "{{" and "}}" with short names 01:46:52 CakeProphet: yes? 01:46:57 oh, right. 01:47:09 NOPE. too late. 01:47:17 !delinterp lperl 01:47:17 ​Interpreter lperl deleted. 01:47:23 wait hm 01:47:26 i'm too lazy to fix it 01:47:28 !addinterp lperl perl while(<>){s/ (? ​Interpreter lperl installed. 01:47:29 rofl. 01:47:54 I was going to add escaping of \'s, but that was far more \\'s than I was comfortable with. 01:47:58 -!- Vorpal has quit (Ping timeout: 250 seconds). 01:48:05 I cherish Perl for its readability. 01:48:41 !delinterp lperl 01:48:41 ​Interpreter lperl deleted. 01:49:17 !addinterp lperl perl while(<>){s/ \{\{ (.*?) \}\} (?!\})/$1/gxee;print} 01:49:17 ​Interpreter lperl installed. 01:51:13 also, Perl pretty much dominates the golfing of this one. 01:51:48 the golfed form would s/while/for/ and take out the /x option and whitespace 01:52:06 coppro: also i don't like the new theme :D 01:52:15 elliott__: I agree with you there! 01:52:18 -!- comex has quit (Quit: ZNC - http://znc.sourceforge.net). 01:52:29 but the "The Doctor is being awesome now" music is good 01:52:41 they should have just picked one off http://whomix.trilete.net/ :D 01:53:16 that huge torrent is now three percent completed, i should note 01:55:20 !delinterp lperl 01:55:20 ​Interpreter lperl deleted. 01:55:23 !addinterp lperl perl $_=<>;s/{{(.*?)}}(?!})/$1/gee;print 01:55:24 ​Interpreter lperl installed. 01:55:33 !lperl {{'test'}} 01:55:33 ​test 01:55:38 -!- sebbu2 has joined. 01:55:38 golfed. :D 01:55:47 ok, I'm seriously ill 01:55:52 CakeProphet: what's with "ee" 01:55:54 -!- variable has joined. 01:55:56 i should go to bed now 01:55:58 and, also, i will 01:56:21 elliott__: e evaluates the replacement string as Perl code. ee evaluates the replacement string as Perl code and then evaluates that. 01:56:49 ouch 01:56:53 can it go to eee? 01:57:00 uh... I don't actually know. 01:57:03 MWAHAHAHA 01:57:05 I don't think so. 01:57:09 at least it's not documented. 01:58:33 -!- sebbu has quit (Ping timeout: 240 seconds). 01:59:57 `run echo '$_=<>;s/{{(.*?)}}(?!})/$1/gee;print' | wc -c 01:59:59 ​36 02:00:02 awww yeah. 02:01:13 ok 02:01:14 sleep 02:01:15 really 02:01:15 sleep 02:01:16 sleep 02:01:16 sleep 02:01:21 DO IT 02:01:26 SLEEP 02:01:32 -!- elliott__ has quit (Quit: FUUUUUUUUUUUUUUUUUUUCK YOUUUUUUUUUUUUUUUUUU). 02:01:57 !perl $_ = "hm..."; s/hm/"'1+2'"/e; print; 02:01:57 ​'1+2'... 02:02:03 !perl $_ = "hm..."; s/hm/"'1+2'"/ee; print; 02:02:03 ​1+2... 02:02:07 !perl $_ = "hm..."; s/hm/"'1+2'"/eee; print; 02:02:07 ​3... 02:02:10 hahaha 02:02:11 nice 02:02:19 you can stack an arbitrary number of e's 02:03:26 !perl $_ = "hm..."; s/hm/"'q{1+2}'"/eeee; print; 02:03:26 ​3... 02:03:42 !perl $_ = "hm..."; s/hm/"'q{q[q<1+2>]}'"/eeeeee; print; 02:03:43 ​3... 02:04:03 !perl $_ = "hm..."; s/hm/"'q{q[q<1+2>]}'"/eeeee; print; 02:04:03 ​1+2... 02:04:14 !perl $_ = "hm..."; s/hm/"'q{1+2}'"/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee; print; 02:04:15 ​3... 02:04:37 at this point we need w and h flags 02:04:42 conjecture: there can be an arbitrary number of e options. 02:05:10 !perl $_ = "hm..."; s/hm/"'q{print 'perverse'}'"/e; print; 02:05:10 ​'q{print 'perverse'}'... 02:05:14 !perl $_ = "hm..."; s/hm/"'q{print 'perverse'}'"/ee; print; 02:05:15 ​... 02:05:35 hmm, yeah I don't know where standard input is going. 02:05:35 -!- calamari has left ("Leaving"). 02:05:48 probably to.... standard input 02:05:53 Lymia: bad ' matching i think 02:05:55 er 02:05:56 output 02:06:00 oh, that too 02:06:02 use more q's 02:06:29 CakeProphet: in lperl previously the explicit print got first 02:06:32 !perl $_ = "hm..."; s/hm/"'q{q{print 'perverse'}}'"/e; print; 02:06:33 ​'q{q{print 'perverse'}}'... 02:06:36 !perl $_ = "hm..."; s/hm/"'q{q{print 'perverse'}}'"/ee; print; 02:06:37 ​... 02:06:37 oerjan: yeah 02:06:42 So what is this? 02:06:50 An extra way to do (extra perverse) conditionals? 02:06:54 Lymia: you cannot have nested '' 02:07:09 i don't recall if it's even possible to escape them 02:07:13 it may have a problem with the nested {}'s as well but I'm not sure. 02:07:25 !perl '\'' 02:07:29 !perl print '\'' 02:07:29 ​' 02:07:58 in any case you can use pretty much anything as a delimeter with the q construct. 02:07:58 !perl $_ = "hm..."; s/hm/"'q{q{print \'perverse\'}}'"/ee; print; 02:07:58 ​... 02:08:25 !perl print q#possibly even pound sign?# 02:08:25 ​possibly even pound sign? 02:08:32 Lymia: i think the \ get stripped already at the " stage 02:08:44 Lymia: just use more q's :P 02:08:49 !perl $_ = "hm..."; s/hm/"'q{q{print \\'perverse\\'}}'"/ee; print; 02:08:50 ​q{q{print 'perverse'}}... 02:08:57 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/ee; print; 02:08:58 ​q{q{q{print 'perverse'}}}... 02:09:00 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eee; print; 02:09:00 ​q{q{print 'perverse'}}... 02:09:03 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeee; print; 02:09:03 ​q{print 'perverse'}... 02:09:07 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeeee; print; 02:09:07 ​print 'perverse'... 02:09:11 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eeeeee; print; 02:09:12 ​perverse1... 02:09:18 SUCCESS 02:09:22 Perl is inane. 02:09:22 as indicated by the 1 02:09:41 Lymia: well the {}'s nested pretty well... 02:09:56 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/e; print; 02:09:57 ​'q{q{q{print \'perverse\'}}}'... 02:09:59 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/ee; print; 02:09:59 ​q{q{q{print 'perverse'}}}... 02:10:05 !perl $_ = "hm..."; s/hm/"'q{q{q{print \\'perverse\\'}}}'"/eee; print; 02:10:06 ​q{q{print 'perverse'}}... 02:10:33 !perl q{q[q ​Can't find string terminator "}" anywhere before EOF at /tmp/input.17755 line 1. 02:10:39 .. 02:10:43 oops I hit enter. :P 02:10:57 suuuure... 02:11:46 -!- rodgort has quit (Quit: ERC Version 5.3 (IRC client for Emacs)). 02:12:06 -!- rodgort has joined. 02:12:21 elliott__: I estimate 8% for me. Incidentally, do you know what the "the Doctor is being awesome" music is called? 02:12:30 hm "" is just an abbreviation for q"" iirc 02:12:30 !perl $_=q{q[q]};$_=eval for 1..12;print 02:12:30 ​q[q] 02:12:44 and '' for q'' which is a special case 02:12:53 oerjan: "" is qq 02:13:06 oh hm 02:13:19 q is '', and yes those forms are abbreviations of the more general form. 02:13:23 whatever that even means. 02:14:13 well but i also recall that using '' as delimiters in some of the other quote-like constructs turns off interpolation 02:14:45 yeah it does. like in m and s 02:14:54 !perl $_ = "test"; s'test'$1'; print; 02:14:55 ​$1 02:15:20 !perl $_=q{q[q]};$_=eval for 1..120;print 02:15:20 ​q[q] 02:15:31 yeah I don't know why that's not working. 02:16:04 !perl $_="q{q[q]}";$_=eval for 1..120;print 02:16:05 ​$# is no longer supported at /tmp/input.18287 line 1. 02:16:20 ...heh 02:16:21 !perl $_="q{q[q]}";$_=eval for 1..120;print 02:16:22 ​q{q[q]} 02:16:26 :[ 02:16:31 so q$ might do weird things. 02:16:32 CakeProphet: erm sure you didn't get other lines in DCC? 02:16:43 oerjan: I did not. 02:16:46 it only prints once. 02:16:58 the for is attached to the $_=eval 02:17:16 hm 02:17:24 !perl print qq'$0' 02:17:25 ​/tmp/input.18472 02:17:27 !perl print "a" for 1..10; 02:17:27 ​aaaaaaaaaa 02:17:43 so I'm guessing the return value of eval is bad. 02:18:03 !perl $_="q{q[q]}";eval for 1..12;print 02:18:03 ​q{q[q]} 02:18:20 !perl $_="q{q[q]}";eval for 1..11;print 02:18:21 ​q{q[q]} 02:18:38 yeah I'm stumped. :P 02:18:51 !perl $_="q{q[q]}";$_=eval for 1..11;print 02:18:51 ​q{q[q]} 02:19:06 it might be a bad idea to use all of those symbols together at once like that... 02:19:28 because of special variables. 02:20:27 !perl $_="q{q[q]}"; print eval; 02:20:28 ​q[q] 02:20:43 !perl $_="q{q[q]}";($_=eval) for 1..11;print 02:20:44 ​q{q[q]} 02:20:59 ...yeah. no fucking idea. 02:21:19 erm 02:21:21 my guess is that it has something to do with horrid abuve of quote-like operators. 02:21:39 *abuse 02:21:51 what variable is the for 1..11 construct using? >:) 02:21:59 ... 02:22:08 looool 02:22:21 except 02:22:22 why $_ of course. Why, what is the problem? 02:22:37 oh and it's made local i guess 02:22:43 yes 02:22:45 so it's reinstated after the loop 02:23:01 yes, if $_ were global terrible things would happen. 02:23:08 instead it's a weird pseudo-global thing. 02:23:59 !perl $s="q{q[q]}";$s=eval$s for 1..11;print$s 02:23:59 ​Array found where operator expected at (eval 6) line 1, at end of line 02:24:26 now we're getting into the "abuse of quote-like operator" errors. 02:24:38 it's parsing the @q as an array variable 02:24:45 lol wtf are you guys doing 02:24:53 Patashu: fun with Perl. 02:26:02 CakeProphet: leave off the outer " 02:26:25 ....ah 02:26:28 or change it to '' 02:26:41 !perl $s='q{q[q]}';$s=eval$s for 1..11;print$s 02:26:42 ​Array found where operator expected at (eval 6) line 1, at end of line 02:27:02 ya got a qq in there 02:27:07 ...oh 02:27:21 !perl $s='q{q[q]}';$s=eval$s for 1..11;print$s 02:27:22 ​muhahahahahahaha 02:27:48 we got the evil genius at the delicious quoted core. 02:28:32 sealed evil in a can 02:29:22 !perl open 0; print <0> 02:29:22 ​open 0; print <0> 02:29:33 such a strange thing.. 02:37:27 open VARIABLE, EXPR. If you don't specify EXPR, then the scalar variable with the same name as the filehandle name is evaluated and used as the filename. 02:37:34 0 is a valid filehandle name, apparently. 02:37:42 and $0 is the program name. 02:40:05 you guys know of any esoteric logic gates? 02:40:09 or esoteric circuitry 02:40:41 reversible gates are cool 02:41:18 (and theoretically, cool physically as well) 02:42:53 reversible computing, huh... 02:44:00 esoteric circuitry? not really.. 02:44:14 a quine circuit would be interesting. 02:44:25 ..but I don't even know what that means. 02:44:39 outputs its schematic as a bitmap? 02:45:35 sounds impossible. 02:46:23 sounds obviously possible, actually... 02:46:35 you just need to define proper encoding schemes 02:46:46 standard quining techniques applied to hardware 02:47:48 postscript, for printing. :) 02:47:49 the data part would be the memory 02:48:24 so I recently discovered this: http://perldoc.perl.org/functions/tie.html 02:48:40 and I think it would be a good way to explore some unorthodox variable assignment semantics. 02:49:35 but in general it just looks useful. You could easily write a package that automatically breadcrumbs a variable for you each time it's reassigned. 02:55:03 this is so very very awesome: (elliott you better visit this link when you read the logs) http://www.youtube.com/watch?v=sjtzib0G9Rs 02:57:31 awww yeah musical tesla coils. 02:58:49 those things are awesome 02:58:50 and loud 02:58:51 and awesome 02:59:14 http://www.youtube.com/watch?v=B1O2jcfOylU 02:59:23 may have already seen this one. it's the mario bros. theme song 02:59:36 yeah 02:59:44 except that one doesn't have Adam Savage dancing around 02:59:54 also I haven't heard them play Mario Bros 03:01:13 -!- augur has quit (Remote host closed the connection). 03:03:43 also this: http://www.youtube.com/watch?v=xD_HQ4B0Fcw 03:06:27 this Tesla was an awesome dude. 03:06:44 er... the "this" is an artifact from something else I was going to type. 03:53:36 -!- Slereah has joined. 03:53:37 -!- Slereah_ has quit (Ping timeout: 240 seconds). 03:59:12 future elliott: Good post-400 xkcd: http://xkcd.com/602/ 04:03:10 -!- Slereah_ has joined. 04:04:33 -!- Slereah has quit (Ping timeout: 260 seconds). 04:06:51 -!- Slereah has joined. 04:07:36 -!- Slereah_ has quit (Ping timeout: 260 seconds). 04:14:18 -!- pikhq has quit (Ping timeout: 240 seconds). 04:14:27 -!- pikhq has joined. 04:18:51 -!- Slereah has quit (Read error: Operation timed out). 04:19:42 -!- Slereah has joined. 04:21:05 -!- oerjan has quit (Quit: leaving). 04:26:08 -!- Slereah has quit (Ping timeout: 250 seconds). 04:26:15 -!- Slereah has joined. 04:34:52 -!- Slereah_ has joined. 04:35:52 -!- Slereah has quit (Ping timeout: 248 seconds). 04:39:43 -!- variable has quit (Quit: /dev/io failed). 04:46:55 I love entering random IP addresses into tracepath 04:50:24 -!- Slereah_ has quit (Ping timeout: 250 seconds). 04:51:50 -!- Slereah has joined. 04:55:52 -!- Slereah_ has joined. 04:56:56 -!- Slereah has quit (Ping timeout: 240 seconds). 05:00:51 -!- variable has joined. 05:34:25 i slept lolol ! 05:37:21 " basically what they are." <<< how many lectures did 'a relation between X and Y is a subset of XxY' take? 05:41:00 " oerjan: so when you convert the original element into its equivalence class, it preserves the algebraic structure?" <<< note that it's the 'homomorphism' type of 'preserve' and not the isomorphism type -- you might map multiple things to the same element, operations just do the same thing on both sides 05:44:29 -!- aloril has quit (Ping timeout: 250 seconds). 05:52:17 Briefly, if A is an algebra, a congruence on A is an equivalence relation F on A which is a subalgebra when considered as a subset of (the latter with the coordinate-wise operation structure). 05:52:20 haha 05:52:38 should be subset of A^2 05:53:19 but lol that's a great definition lol :D 05:55:16 well, i guess wp is an encyclopedia and not math for kids with alfred the bunny but anyway could at least give a list of equivalent definitions instead 05:57:04 -!- aloril has joined. 06:02:30 -!- augur has joined. 06:08:28 sbahj related http://www.youtube.com/watch?v=u7YfVmY9Qjs 06:17:37 oklopol: that was only one lecture. There was only two or so lectures on relations; it was a very small section of the course. 06:18:20 the largest sections were spent on combinatorics and induction proofs. 06:26:08 the sections were: a small section on boolean algebra and basic logical statements (wooo), a large section on proofs by definition/negation/contraposition covering things like divisibility and primality, a large section on induction proofs, a large section on combinatorics, a lecture on set theory, a lecture on relations, and then the last section was a mashup of FSA, regular languages/expressions, and graph theory. 06:27:27 all-in-all the most interesting math course I've taken so far. I plan on taking "Introduction to Advanced Mathematics" and then Topology later, preferably with the same professor if I don't transfer. 06:30:09 -!- Patashu has quit (Ping timeout: 240 seconds). 06:30:09 My other options are Calc 3, linear algebra, or real analysis. bleh, no thanks. Number theory is another option that would be interesting as well. 06:31:40 Linear algebra could be useful in programming, I guess... 06:32:36 but I want to learn about some motherfucking spaces. 06:33:30 spaces of what sort? 06:33:46 also what school is this? 06:35:19 coppro: the topological variety. 06:36:09 -!- Sgeo has quit (Ping timeout: 250 seconds). 06:36:10 http://en.wikipedia.org/wiki/SPSU 06:36:15 coppro: one you've never heard of 06:38:02 basically it used to be a satellite campus of Georgia Tech but is now a separate university. 06:39:23 also parts of that article read like a website for the university.. 06:47:49 I plan on transferring to Tech in my fourth year so that I can get all the good reputation while avoiding most of the obscene tuition costs. 06:52:21 hah 06:52:29 you americans and your tuition 06:53:10 yes, and our debt. 06:53:17 and our debt to pay for tuition... 06:53:37 why? Because people flip the fuck out if you raise taxes. 06:53:57 ayup 06:54:07 and don't understand economics 06:54:08 at all 06:54:10 ...not at all 06:54:20 see: any government that is not allowed to run a deficit 06:54:21 dude the tea party movement is the most retarded thing I've ever seen in American politics. 06:54:37 not allowing a government to run a deficit is suicide 06:54:47 like, your country is doomed 06:54:55 indeed 06:55:08 the states have way too much deficit though. 06:56:01 now, structural deficits suck balls 06:56:19 coppro: from where do you hail? 06:56:24 CakeProphet: Canadia 06:56:48 currently living in California working at the country^Wcompany that will someday RULE THE WORLD^W^W^W do stuff 06:56:51 we have a very pervasive structural deficit. I believe for every $2 we generate we spend 5. roughly 06:57:01 yeah 06:57:09 structural deficit definitely shouldn't happen 06:57:16 but outlawing deficit altogether is not the solution 06:57:24 because otherwise the government can't help a struggling economy 06:57:54 also dumb is the GODDAMN EVERYONE, not just Americans, who think that when the economy is doing well, taxes should go down because the government doesn't need the money 06:58:02 honestly I think raising taxes is the solution to our deficit. Perhaps even economic problems. 06:58:34 cutting programs is not because any bill to cut programs will get fucked up in congress. 06:58:49 and because no one can fucking decide what to cut. 06:59:09 well problem #1 is you're in a whole 06:59:12 *hole 06:59:25 you effectively have to cut taxes 06:59:29 or borrow a shitton of money 06:59:38 already got that covered... 06:59:43 err not cut taxes 06:59:45 cut spending 07:00:04 raising taxes is an equivalent solution really. 07:00:06 because your government can't safely raise taxes; the economy is still fragile 07:00:10 it's not 07:00:11 ...true. 07:00:22 this is the real problem 07:01:08 once the economy picks up, they can and should raise taxes 07:01:12 a lot 07:01:18 but that could be a long time 07:01:21 however, a lot of the extra revenue could be spent on economic stimulus programs which, while at the same time alleviated a structural problem of not enough revenue. 07:01:23 they should also continue to cut spending 07:01:38 military in particular 07:01:40 economic stimulus programs such as finding a way to eliminate our trade deficit... which is another structural problem. 07:01:48 coppro: yes. 07:01:53 military spending is ridiculous. 07:02:44 another common misconception is that government debt is bad 07:03:48 government debt can be friggin' awesome when you've got bonds that pay out at less than inflation 07:04:08 although too much of it will bite you if inflation drops 07:04:27 but generally our legislative branch is too busy focusing on partisan bullshit to be effective at creating economic recovery programs, so.. 07:04:38 yup 07:05:16 -!- Slereah_ has quit (Ping timeout: 255 seconds). 07:05:26 now of course there is the 'print money' approach 07:05:37 but the US economy is dead if that happens 07:05:48 I just hope I'm out of the country before 07:05:51 -!- mtve has quit (Ping timeout: 252 seconds). 07:06:00 yeah, I don't even think printing more money is even a valid consideration. 07:06:22 -!- Slereah has joined. 07:07:19 hyperinflation whee 07:07:32 of course I don't think the US government is quite as stupid as Zimbabwe 07:07:33 in my mind a gradual increase in taxes, cutting of unecessary programs, and establishment of new programs that are designed to ultimately generate more economic stability should be our goal 07:07:50 I trust Congress not to cause two hundred million percent inflation 07:08:48 coppro: yes, congress is only borderline retarded. 07:08:52 that's about as far as I go though 07:09:43 I wonder if things would improve if we made Obama temporary dictator for the duration of his term. 07:09:43 -!- mtve has joined. 07:09:46 :P 07:10:05 honestly it seems like a better option than having congress fumbling everything. 07:10:08 probably 07:10:46 coppro: unless people rioted and whatnot. 07:10:58 which, is not out of the question. 07:11:57 you don't consider that they're already doing so? 07:12:09 are they? I haven't been paying attention to that. 07:12:19 see wisconsin for instance 07:12:45 your country is in a state of political turmoil, the problem being that you have a nice half-and-half split 07:13:45 the minority that absolutely hate Obama are way more vitriolic than any protest group I've witnesses. Granted, I'm young. :P 07:13:50 *witnessed 07:14:18 it's very easy to think that there's racism involved. 07:14:50 oh, I'm not really talking about Obama-haters 07:14:58 right. 07:15:05 I mean, they exist 07:15:15 we've always been in that state. always as in... the last several decades. 07:15:15 They will exist for any political leader 07:15:39 There is a fairly significant portion of our population who believes Harper is going to ruin the country 07:15:54 I used to think that. Now I don't since I can keep my sanity that way. 07:16:11 coppro: typical stupid American that I am, I had to look up that name to know what you were talking about. :P 07:16:48 but also because his temperament has improved just enough that I think we might survive 07:18:46 man, I wish my higher education was paid for. :P 07:19:54 there's absolutely no disadvantages to educating your populace beyond secondary education. 07:20:05 sure there is 07:20:07 it costs money 07:20:09 which is obviously wrong 07:20:16 government shouldn't spend money, etc. 07:22:01 it costs money, but ultimately it enables anyone, regardless of economic background, to become well-educated. And without a well-educated populace a democracy is pretty much doomed. 07:22:12 -!- wth has joined. 07:22:38 -!- wth has changed nick to Guest56111. 07:23:26 coppro: what do you do for a living? 07:24:03 !show dechatspeak 07:24:04 ​perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 07:24:10 CakeProphet: Student, presently working at the aforementioned company 07:24:22 in September, I resume studenting 07:24:27 coppro: er, aforementioned? perhaps I missed something. 07:24:40 or just have the memory of a goldfish. 07:24:56 02:56 < coppro> currently living in California working at the country^Wcompany that will someday RULE THE WORLD^W^W^W do stuff 07:24:58 oh yeah 07:25:02 I missed it. 07:25:22 uh.. Google? :P 07:25:25 yes 07:25:30 oh, nice. 07:25:34 how'd you manage that. 07:25:55 by working on an open-source project and having Google people say "You should work for us". So I did. 07:26:01 (clang) 07:26:10 I would VERY MUCH be interested in going to california and doing graduate studies at Berkeley. 07:26:19 also.. I NEED to get into open source development. 07:26:25 there's absolutely no reason I shouldn't be right now. 07:26:26 you should come to Waterloo instead 07:26:36 we have cookies 07:26:40 ooooh 07:27:15 coppro: what open source project? 07:27:19 clang 07:27:23 ...oh 07:27:36 see, I thought that as just some weird onomatopoeia I didn't understand. 07:27:39 although I actually have no clue about the relative expense of graduate schools, I know that it's a hell of a lot cheaper to undergrad in Waterloo 07:27:47 I'm sure. 07:28:01 -!- Guest56111 has left ("Leaving."). 07:28:03 same with Southern Poly compared to Georgia Tech. 07:28:13 what's your tuition? 07:28:21 ......uh. lol 07:28:29 I prefer not to think about it when I can. 07:28:58 $3872 per year 07:29:02 apparently... 07:29:36 that's absurdly cheap 07:29:40 I pretty much double the cost by living on campus though. Next semester I'm living off campus and it will get way cheaper. 07:30:15 AND, Poly transfers very well to Tech. Though I'm not sure if any of the advanced CS courses will transfer because Tech has a jacked up Computer Science degree. 07:30:25 jacked up in a cool way. Just non-standard. 07:30:45 basically you pick 2 out of 8 sub-tracks. 07:30:47 ah 07:30:54 ah yeah we have some programs like that here 07:30:57 and that determines your requirements. 07:31:13 less so now that the faculty is moving on to an á la carte system 07:31:41 and since I'm waiting until my fourth year to attempt a transfer I will have to take SOME advanced CS classes. 07:32:05 but I'm almost positive data structures will transfer, and databases. 07:32:38 I have no idea about the introductory Java courses I took. GT starts off with a Python-based course. 07:32:58 fourth year seems dangerous to attempt a transfer 07:33:12 it is, but my GPA kind of requires it. 07:33:17 ah 07:34:07 as it turns out, taking summer classes in the middle of a post-relationship suicidal crisis is a bad idea. 07:35:37 but I'm over that now. It was still a poor decision though. 07:36:19 !show dechatspeak 07:36:19 ​perl while(<>){lc;s/\by\b/why/g;s/\bu\b/you/g;s/\br\b/are/g;s/\bb4\b/before/g;s/\bty\b/thank you/g;s/\bsry\b/sorry/g;s/\bur\b/your/g;s/\bb\b/be/g;s/\bbc\b/because/g;s/\blol\b/haha/g;s/\blmao\b/hahaha/g;s/\brofl\b/hahahaha/g;s/\bbrb\b/be right back/g;s/\bafk\b/away from keyboard/g;s/\b4\b/for/g;s/\b1\b/one/g;s/\bne1\b/anyone/g;s/\bno1\b/no-one/g;s/\b(some|sum)1\b/someone/g;s/\bttyl\b/talk to you lat 07:36:26 ...I cannot spot the error in this. 07:36:47 !dechatspeak lol hey guys y u mad? 07:36:49 ​Substitution replacement not terminated at /tmp/input.8285 line 1. 07:37:14 it highlights properly in emacs, and I've checked every replacement string to see if it terminates. Yet I still get an error. 07:37:27 which leads me to believe that it's some odd syntax thing. 07:37:43 ...oh wait. I see it, haha. 07:37:58 my program got cut off. 07:38:27 !delinterp dechatspea 07:38:27 ​That interpreter doesn't exist! 07:38:29 !delinterp dechatspeak 07:38:29 ​Interpreter dechatspeak deleted. 07:38:44 !languages 07:38:47 !help languages 07:38:47 ​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. 07:39:35 !show lperl 07:39:35 ​perl $_=<>;s/{{(.*?)}}(?!})/$1/gee;print 07:40:42 !addinterp lsh perl $_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print 07:40:42 ​Interpreter lsh installed. 07:41:27 !lsh Hello, {{echo 'world!'}} 07:41:27 ​Hello, world! 07:42:49 I sometimes get lost in rapturous amazement of whatever programming language I happen to be focusing on at various points in my life. 07:43:39 like how Perl can do those two things in 36 and 37 bytes... 07:46:02 !lsh hiiiiiiii{{"bluhbluh"}} 07:46:03 ​/bin/sh: bluhbluh: command not found 07:46:21 !lsh hiiiiiiii{{echo "you suck"}} 07:46:22 ​hiiiiiiiiyou suck 07:46:23 :c 07:46:39 !lsh {{perl -c "fork while fork"}} 07:46:39 ​Can't open perl script "fork while fork": No such file or directory 07:46:44 !lsh {{perl -e "fork while fork"}} 07:46:53 !lsh {{perl -e "print 'hi'"}} 07:46:58 ​hi 07:47:02 lol 07:47:12 Lymia: have you been learning any Perl? 07:47:16 Nope. 07:47:30 it was either you or Patashu that was interested in learning it. 07:47:34 can't recall. 07:47:43 !bfjoust [[+-]+] 07:47:43 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 07:47:49 !bfjoust myon [[+-]+] 07:48:25 ​Score for Lymia_myon: 7.6 07:48:56 `run echo '$_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print' | wc -c 07:49:06 ... 07:49:09 ​37 07:49:31 CakeProphet, what does that do? 07:49:35 `run echo '$_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print' 07:49:40 ​$_=<>;s/{{(.*?)}}(?!})/`$1`/ge;print 07:49:46 oh 07:49:48 missed the echo 07:49:57 well wc -c counts the bytes on standard in--oh 07:50:16 yes I was just double checking my arithmetic. 07:52:06 I'm not sure how I'm going to feel about my class that's most likely going to be either C++ or C# next semester 07:52:12 after all of this Perl hacking. 07:53:49 it will be like putting myself in a straight-jacket but attaching speedy rockets and 07:55:15 So. Should I sleep? 07:55:25 I mean, I just got home, but it *is* 02:00. 07:56:32 !lperl hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t' 07:56:33 ​hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t' 07:56:36 !lperl hmmm, let me think about it. {{int(rand(2))?'yes you should':'no you shouldn\'t'}}. 07:56:37 ​hmmm, let me think about it. yes you should. 07:56:39 :3 07:57:02 Damn you, EgoBot, for being the voice of reason. 07:57:11 it's 3:57 here 07:59:36 -!- monqy has quit (Quit: hello). 08:00:32 pikhq: nah 08:02:28 coppro: so clang is basically a better C compiler. 08:02:44 CakeProphet: Problem: You do NOT want to bootstrap with it. 08:02:48 Not only no but hell no. 08:03:12 pikhq: okay. For all of my future bootstrapping purposes I will refrain from using clang. :P 08:03:33 It's actually a fairly necessary use case for a C compiler. 08:03:50 As everything else tends to rely on the presence of a sane, functioning C compiler. 08:04:08 (well, actually, everything else tends to rely on the presence of a sane, functioning GNU C compiler, because fuck you.) 08:04:55 pikhq: why do you not want to bootstrap with clang? 08:05:32 although I recall you have some weird definition of bootsrap I don't remember 08:06:05 besides, I'll probably write CakeOS PHP, Java, COBOL, Visual Basic, or something awful Haskell. Or a combination of all of those languages interpreted/compiled by fortran. 08:06:20 thereby riding my system of the evil of C that has plagues operating systems for too long. 08:06:27 .. :) 08:06:53 lol 08:06:55 ....obviously it is very late. 08:06:59 yes 08:07:00 yes it is 08:07:19 coppro: Oh, I dunno, "it relies on a functioning C++ library, and the only full-featured one in UNIX-land pretty much requires GCC and a particular set of libcs that it can fuck with". 08:08:04 (yes, the C++ library *also* pokes around in libc internals. Because "fuck you", says GNU.) 08:09:15 pikhq: Oh. I would direct you at the sister libc++ project then 08:09:28 Yeah, but it's a WIP. 08:09:34 I do approve of the project, though. 08:09:50 It should be capable of handling clang on a Mac 08:10:11 !rot13 test test 08:10:12 ​grfg grfg 08:10:20 not other platforms, because there are a few places where it pops into Mac's libc to access a few locale things which aren't exposed properly by POSIX 08:11:10 it is effectively impossible to implement it quickly on top of libc without code duplication 08:11:17 which is annoying 08:12:35 This, in my mind, is a bug to be solved by defining a standard means for the libc to expose things to the C++ library. 08:12:58 (whether by POSIX or "These are the functions we want; implement them if you want our stuff to work."...) 08:13:26 Not by brazenly going in with "Eeeeh, fuck sanity, I'm going to assume I can fuck around with implementation internals". 08:13:53 Noted 08:14:00 !addinterp rot47 perl $_=<>;tr/!-~/P-~!-O/;print 08:14:00 ​Interpreter rot47 installed. 08:14:12 !rot47 testing I am a ninja !@#$%^&*) 08:14:12 ​E6DE:?8 x 2> 2 ?:?;2 PoRST/UYX 08:14:33 Sadly, sanity is not widely accepted behavior in C. 08:14:38 pikhq: Don't get me started on wchar_t by the way 08:14:43 it's bad enough with char 08:14:49 Oh, *fuck* wchar_t. 08:15:05 yeah!.. 08:15:07 I imagine it will be something like this: 08:15:37 a) If we have a known libc that does not implement our extensions, we will attempt to hack it appropriately 08:15:45 !rot47 E6DE:?8 x 2> 2 ?:?;2 PoRST/UYX 08:15:45 ​testing I am a ninja !@#$%^&*) 08:15:55 b) If we are told to assume our extensions exist, we use them 08:16:10 c) If we have a known libc with our extensions, we use them 08:16:36 d) Otherwise we do what best we can 08:16:50 Also, this is presuming there's an actual need to poke around in the libc internals. 08:17:04 pikhq: The primary issue is properties of characters 08:17:07 e.g. isupper 08:17:19 Ah. 08:17:25 C++ requires providing access to a mask table, which is a sane implementation of the C standard but not required 08:17:41 In a worst-case scenario, the lookup table would have to be built on-demand 08:17:49 I once worked on a MUD codebase that did not use libc at all. Instead if defined its own, often buggy or non-standard, versions of libc functions. 08:17:52 fun times. 08:17:57 by calling C functions on every character 08:18:19 Now, for wchar_t the situation is much worse, as we can't even do that safely 08:18:24 That's... Actually broken behavior of C++. 08:18:27 unless we halt every thread 08:18:34 strlen was str_len, for example. isupper was is_upper. 08:18:39 pikhq: oh yes, this is very broken 08:18:49 pikhq: C++ locales suck balls 08:18:52 -!- MigoMipo has joined. 08:18:58 pikhq: the mask table is not in itself a bad idea 08:19:10 it was actually my first experience programming in C, so I thought those were the standard names for a while. Eventually I switched to libc though after realizing the true horror... 08:19:16 coppro: Not bad, just broken in a modern environment. 08:19:19 pikhq: yeah 08:19:30 As is everything to do with the char type, TBH. 08:19:33 yup 08:19:37 pikhq: The issue with wchar_t is that functions like isupper() depend on the global locale 08:19:55 ... *Global* locale. 08:19:59 It's *global*? 08:20:03 pikhq: In C, yes 08:20:08 As in, per process, not per thread. 08:20:15 Jesus fuck that's a bad idea. 08:20:24 C existed long before threads were a concern, remember? 08:20:36 of course it's a terrible idea 08:20:39 POSIX saves us though 08:20:46 can someone explain size_t to me? Are there differences in the type used for size_t among machines? 08:20:56 it allows you to construct locale objects and has isupper_l and similar functions 08:21:09 the problem is that POSIX does not have this for wchar_t 08:21:17 CakeProphet: size_t is supposed to be *whatever type* is appropriate for storing the size of types and allocations of memory. 08:21:43 CakeProphet: It does not have to be an int, though I think it *does* have to be a minimum of 16 bits and be bound. 08:21:48 so on a POSIX-compliant system, there is no reasonable way to implement C++ locales on top of system locales 08:22:16 pikhq: right, I was just wondering if it was ever anything other than an int. I suppose it's good that it exists in case it ever changed though. 08:22:26 How's about we just replace the C library and the C++ library? Entirely. 08:22:37 pikhq: backwards compatibility 08:22:40 CakeProphet: Well, it's sure as hell not an int on x86_64. 08:22:41 it fucking sucks 08:22:46 pikhq: ah, right. 08:22:52 coppro: Yes, I know. But still... 08:23:03 I mean.. 08:23:16 you could just have a new library and keep the old one around... 08:23:37 How's about we just kill everyone and everything and restart civilization my way? 08:23:41 That sounds good. 08:24:12 pikhq: oh actually nevermind 08:24:35 the char case is safe, we can implement the C spec directly since it gives little leeway 08:24:38 I didn't realize this 08:25:14 Haskell for systems programming. \o/ 08:25:15 | 08:25:15 /| 08:25:32 ...with a new Prelude, of course 08:25:47 fixing all numeric typeclasses and that length-returning-an-Int crap 08:30:07 haha. or Erlang. 08:30:17 it can apparently run standalone. 08:31:20 it handles concurrency well and it's fairly fast/portable from what I understand, but it handles string poorly iirc. 08:31:35 Erlang was *designed* to run standalone. 08:31:35 Erlang handles strings as Haskell does 08:31:42 Erlang needs a VM 08:31:50 but it's intended to run systems, yes 08:31:58 Well, "standalone" in the sense of "the VM runs on bare hardware just fine". 08:32:02 yeah 08:32:24 also well-written Erlang is basically indestructible 08:32:53 Again, as designed. 08:33:30 The language itself isn't that great, but man it's probably the single most reliable thing I've seen. 08:35:27 yeah 08:36:17 oops half the server cluster just went down. Good thing that wasn't the entire thing or service might have been interrupted for more than a few seconds 08:41:48 pikhq: If tarcieri ever makes some real concrete decisions, Reia could be excellent 08:42:42 (Reia being an attempt at a sane [Ruby-like in this case] language on the erlang VM) 08:50:00 ... Wut. 08:50:13 The population of Manhattan was *decreased* in the past 100 years. 08:50:28 s/was/has/ 08:50:44 It used to be 2.3 million, it's now 1.5 million. 08:54:24 Though the population of New York City itself has shot way up; it's simply spread out to the other boroughs of the city... 08:54:27 Still. damn. 09:05:15 http://en.wikipedia.org/wiki/Moutza 09:05:19 how offensive. 09:41:59 -!- Vorpal has joined. 09:57:49 > [1..] >>= return 09:57:50 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 10:02:20 > [1..] 10:02:21 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 10:02:34 > zipWith [1..] [1..] 10:02:35 Couldn't match expected type `a -> b -> c' 10:02:36 against inferred type `[... 10:02:57 @type zipWith 10:02:58 forall a b c. (a -> b -> c) -> [a] -> [b] -> [c] 10:06:28 > zipWith (\x y -> [x..y]) [1..] [100..] 10:06:29 [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2... 10:06:42 > zipWith (\x y -> [x..y]) [1..] [..1] 10:06:43 : parse error on input `..' 10:06:53 > zipWith (\x y -> [x..y]) [1..] [0..-inf] 10:06:54 Not in scope: `inf'Not in scope: `..-' 10:06:58 > zipWith (\x y -> [x..y]) [1..] [0..-9999999999999999999999999999] 10:06:59 Not in scope: `..-' 10:07:14 > zipWith (\x y -> [x..y^2]) [0..] [0..] 10:07:15 [[0],[1],[2,3,4],[3,4,5,6,7,8,9],[4,5,6,7,8,9,10,11,12,13,14,15,16],[5,6,7,... 10:16:49 @src liftM 10:16:49 liftM f m1 = do { x1 <- m1; return (f x1) } 10:17:55 liftM = (return.) 10:18:20 -!- Patashu has joined. 10:19:09 > zipWith (\x y -> [x/2..y^2]) [0..] [0..] 10:19:10 [[0.0],[0.5,1.5],[1.0,2.0,3.0,4.0],[1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5],[2... 10:19:28 > zipWith (\x y -> [x^0.5..y^2]) [0..] [0..] 10:19:30 Ambiguous type variable `t' in the constraints: 10:19:30 `GHC.Real.Integral t' 10:19:30 ... 10:19:47 > liftM2 (,) [0..10] [0..10] 10:19:48 [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(0,10),(1,0),(... 10:19:56 Lymia: might want to try ** instead of ^ 10:20:02 ** is for floating point numbers. 10:20:33 :t ((**),(^)) 10:20:33 > zipWith (\x y -> [x**0.5..y**2]) [0..] [0..] 10:20:34 forall a a1 b. (Floating a, Num a1, Integral b) => (a -> a -> a, a1 -> b -> a1) 10:20:35 [[0.0],[1.0],[1.4142135623730951,2.414213562373095,3.414213562373095,4.4142... 10:20:39 Yay. 10:20:42 Insta huge numbers. 10:20:49 ...wooo 10:21:24 liftM2 (,) is instant cartesian product. 10:21:29 so useful in programming of course. 10:23:06 @src on 10:23:07 (*) `on` f = \x y -> f x * f y 10:24:00 @src ap 10:24:00 ap = liftM2 id 10:26:23 > let plane = map (take 10 . repeat) in plane 10:26:24 Overlapping instances for GHC.Show.Show ([a] -> [[a]]) 10:26:24 arising from a us... 10:26:55 > let plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane 10:26:57 [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0... 10:30:40 > let plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane;coords = liftM2 (,) [0..10] [0..10] in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane 10:30:42 : parse error on input `;' 10:31:28 > let {plane = map (take 10 . repeat) $ take 10 (repeat 0) in plane; coords = liftM2 (,) [0..10] [0..10]} in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane 10:31:29 : parse error on input `in' 10:31:48 uh, okay. 10:32:03 -!- MigoMipo has quit (Read error: Connection reset by peer). 10:32:53 s/ in plane// 10:34:00 > let {plane = map (take 10 . repeat) $ take 10 (repeat 0); coords = liftM2 (,) [0..10] [0..10]} in zipWith (==) (map (\(x,y) - > plane !! x !! y) coords) plane 10:34:01 : parse error on input `-' 10:34:15 well, I'm going to bed now. Good night. :P 10:34:30 s/- >/->/ 10:41:17 :t (,) 10:41:18 forall a b. a -> b -> (a, b) 10:41:25 oh 10:41:34 @src (,) 10:41:34 Source not found. Take a stress pill and think things over. 10:41:40 @hoogle (,) 10:41:41 Prelude undefined :: a 10:41:41 Test.QuickCheck.Batch bottom :: a 10:41:41 Data.Function fix :: (a -> a) -> a 10:41:47 hm 10:41:56 I guess that wasn't quite right 10:43:05 data (,) a b = (,) a b 10:43:20 Deewiant, is that a tuple? 10:43:25 Yes 10:43:28 aha 10:43:48 Deewiant, I thought tuples were special syntax. 10:43:51 or hm 10:43:56 :t (,,) 10:43:57 forall a b c. a -> b -> c -> (a, b, c) 10:44:02 heh, I guess not 10:44:20 They are, somewhat 10:44:35 But GHC still defines them like that 10:44:39 hm 10:44:56 Deewiant, so ghc specific? or standard haskell? 10:45:11 data (,) a b = (,) a b is GHC specific, I'm fairly sure 10:45:15 ah okay 10:45:29 Yeah, it's in GHC.Tuple 10:45:40 So it could just be builtin in other environments 10:45:47 but it seems to be included in Prelude yeah 10:46:07 Well yes, (,) is guaranteed to exist and work 10:46:22 ah 10:49:12 -!- pikhq has quit (Ping timeout: 248 seconds). 10:49:22 -!- pikhq has joined. 11:36:22 -!- foocraft has joined. 11:40:37 -!- TOGoS has quit (Read error: Connection reset by peer). 11:45:00 -!- TOGoS has joined. 12:02:54 -!- SimonRC has quit (Ping timeout: 260 seconds). 12:10:20 -!- SimonRC has joined. 12:32:33 -!- foocraft has quit (Ping timeout: 252 seconds). 12:55:40 -!- Demetrius has joined. 12:56:53 -!- FireFly has joined. 13:02:10 -!- foocraft has joined. 13:18:20 -!- invariable has joined. 13:19:29 -!- invariable has quit (Remote host closed the connection). 13:20:00 -!- ralc has joined. 13:20:18 -!- variable has quit (Remote host closed the connection). 13:20:51 -!- variable has joined. 13:21:07 -!- Patashu has quit (Ping timeout: 246 seconds). 13:32:49 -!- Sgeo has joined. 13:36:19 -!- foocraft has quit (Ping timeout: 255 seconds). 13:37:12 -!- Deewiant has quit (Ping timeout: 248 seconds). 13:38:26 -!- Deewiant has joined. 13:50:14 -!- foocraft has joined. 14:00:05 -!- TOGoS has left. 14:46:30 -!- azaq23 has joined. 15:21:37 -!- Sgeo has quit (Ping timeout: 255 seconds). 15:23:13 oerjan: hi 15:28:14 "available frequency steps: 2.27 GHz, 2.27 GHz, 1.60 GHz, 800 MHz" <--- err, what? That looks wrong. 15:31:13 Maybe it's a rounding thing, and the two highest are, say, 2271 and 2270 MHz. 15:31:17 "available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz" 15:32:00 fizzie, 2271 and 2270 sounds silly. 15:32:05 as in pointless 15:32:14 I doubt intel would add that to a mobile core 2 duo. 15:32:18 but hm 15:34:23 well I don't know how to extract the info to verify the rounding thing 15:35:01 aha, found it 15:35:07 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 15:35:07 2267000 2266000 1600000 800000 15:35:12 fizzie, looks like you were right 15:35:24 I wonder why though 15:37:11 -!- malorie has left. 15:38:37 It could have a "full-speed" mode separate from "scaled-frequency" modes, maybe, and then they've wanted to make it possible to run it close-enough to full speed without switching away from the scaled-frequency operation. (But that's just a guess; I don't have a clue about the details of cpufreq implementation.) 15:39:04 hm 15:39:38 Does your cpufreq-info report the stats in % of time spent in different modes? Which 2.27 GHz it uses? 15:39:48 cpufreq stats: 2.27 GHz:18,01%, 2.27 GHz:1,58%, 1.60 GHz:2,29%, 800 MHz:78,12% (169038) 15:39:51 and 15:39:54 cpufreq stats: 2.27 GHz:7,35%, 2.27 GHz:0,70%, 1.60 GHz:1,77%, 800 MHz:90,18% (3298838) 15:39:58 for the different cores 15:40:21 (what is that number in parens at the end?) 15:40:43 fizzie, so it seems it uses both 15:41:18 I guess the cpufreq governors just put them on a sorted line and go through all when stepping up to meet demand. 15:41:23 "cpufreq stats: 2.80 GHz:2.14%, 2.60 GHz:0.07%, 2.40 GHz:0.05%, 2.20 GHz:0.06%, 2.00 GHz:0.05%, 1.80 GHz:0.39%, 1000 MHz:97.24% (82236)" 15:43:47 The PPC iBook had two cpufreq speeds -- 533 MHz and 1066 MHz -- and it had some sort of huge latency thing when switching, I think I recall from syslog that it decided to not use the ondemand governor because of that. 15:45:43 -!- Phantom_Hoover has joined. 15:48:49 Phantom_Hoover, hello! 15:49:09 Hello Demetrius. 15:49:09 Phantom_Hoover: You have 6 new messages. '/msg lambdabot @messages' to read them. 15:49:12 Oh god 15:49:17 How can he even 15:49:21 There wasn't an update 15:50:01 -!- azaq23 has quit (Quit: Leaving.). 16:01:11 fizzie, heh 16:04:17 -!- Sgeo has joined. 16:04:52 -!- Kustas has joined. 16:06:49 -!- comex has joined. 16:10:04 -!- pikhq_ has joined. 16:10:13 -!- pikhq has quit (Ping timeout: 260 seconds). 16:19:35 -!- elliott has joined. 16:33:21 02:12:21: elliott__: I estimate 8% for me. Incidentally, do you know what the "the Doctor is being awesome" music is called? 16:33:26 coppro: I think I did at one point but have now forgotten. 16:34:47 02:23:01: yes, if $_ were global terrible things would happen. 16:34:47 02:23:08: instead it's a weird pseudo-global thing. 16:34:50 CakeProphet: it is just an "our" 16:34:52 dynamic variable 16:35:28 02:27:21: !perl $s='q{q[q]}';$s=eval$s for 1..11;print$s 16:35:29 02:27:22: ​muhahahahahahaha 16:35:30 lovely 16:35:38 -!- Kustas has quit (Quit: restart). 16:36:08 !perl print 16:36:09 ​open0 16:36:18 !perl print open 0,<0> 16:36:28 !perl print open 0 . <0> 16:36:28 ​1 16:37:38 -!- Kustas has joined. 16:37:49 02:55:03: this is so very very awesome: (elliott you better visit this link when you read the logs) http://www.youtube.com/watch?v=sjtzib0G9Rs 16:37:50 god yes 16:38:47 03:59:12: future elliott: Good post-400 xkcd: http://xkcd.com/602/ 16:38:47 There are good post-400 xkcds but... this is not one of them. 16:38:51 -!- monqy has joined. 16:40:45 06:08:28: sbahj related http://www.youtube.com/watch?v=u7YfVmY9Qjs 16:40:45 heh 16:41:26 I finally successfully performed a Second Life experiment I've been wanting to do for a while 16:51:54 I have created... LIFE! 16:56:03 elliott: evidence indicates they played that theme at least three times that weekend; I was there for two that weren't in the video. Those coils are pretty surreal 16:56:17 third life 17:02:35 Sgeo won't tell us what he experimented SOB 17:09:09 -!- MigoMipo has joined. 17:11:33 Oh, sorry, was afk 17:11:58 Experimented to determine whether or not gravity takes longer to take effect at higher altitudes. It does. 17:12:32 Unless there's something else going on that I'm not realizing 17:12:36 lolwut 17:12:44 it doesn't take longer to take effect 17:12:56 gravity is always taking effect 17:13:56 coppro, I'm talking about Second Life. When an object in Second Life goes from being weightless to having weight, it takes an amount of time dependent on altitude for it to start detectably moving 17:14:08 ah 17:21:09 lol coppro 18:06:11 -!- augur has quit (Remote host closed the connection). 18:11:36 -!- elliott has quit (Remote host closed the connection). 18:13:33 -!- augur has joined. 18:13:59 -!- Kustas has quit (Quit: over and out). 18:15:29 -!- elliott has joined. 18:24:41 -!- augur has quit (Remote host closed the connection). 18:26:37 -!- augur has joined. 18:32:21 -!- wareya has quit (Read error: Connection reset by peer). 18:32:55 -!- wareya has joined. 18:33:46 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:36:00 -!- Phantom_Hoover has joined. 18:45:08 -!- augur has quit (Remote host closed the connection). 18:52:31 -!- olsner has joined. 19:02:27 What is it with people on /r/IAmA thinking that famous people care about them in the slightest. 19:04:18 -!- pikhq has joined. 19:04:27 -!- pikhq_ has quit (Ping timeout: 252 seconds). 19:07:26 -!- pumpkin has changed nick to copumpkin. 19:14:33 -!- sebbu has joined. 19:14:33 -!- sebbu has quit (Changing host). 19:14:33 -!- sebbu has joined. 19:17:31 -!- sebbu2 has quit (Ping timeout: 250 seconds). 19:19:58 so one of the talks was about implementing boolean circuits by putting chloroform and grease inside an MRI machine 19:20:30 ;) 19:20:52 and i have this feeling that the woman got a tiny orgasm every time she said the word "unconventional" 19:22:22 did A Universal Flying Amorphous Computer have anything interesting to say 19:22:36 also there was a talk about fsa and tm's reading input from the future and they opened up with a fucking discussion of the grandfather or whatever paradox and i almost yelled NOOOOOOOOOOOOOOOOOOOOOOOOOO 19:22:49 :D 19:23:02 would you like a hug oklopol you sound distressed 19:25:20 it's like, you're 2 and you go hmm how does this walking thing go... ah, it goes this way. *few years pass* hmm okay i've mastered this *more years pass* god this stuff is boring, left right left right yeah yeah maybe i'll find a chair and then in fucking 10 years EVERYONE STARTS GOING WOW LOOK AT THESE STICKS UNDER ME WHAT IF I DO LIKE THIS THEN I'LL LIKE MOVE AND SHIT HAHAHA LOOK OKLOPOL I CAN *WALK* WHAT DO YOU THINK ABOUT WALKING?!? 19:25:54 (actually i don't remember when ppl learn to walk) 19:26:24 erm and that was about time machines if it was not clear for some reason 19:26:43 time machines are like walking? 19:27:18 no, but the grandfather paradox is something 4-year-olds think about before they grow a brain 19:28:02 see i'm also so tired of saying i hate time travel that i have to make it interesting for myself 19:29:15 elliott: universal blah is on thursday 19:29:42 The grandfather paradox is pretty stupid as a thing to think about. 19:29:47 hey oklopol 19:29:51 time travel is awesome 19:30:06 hey umm remember a few weeks or something ago when i said i'd totally solved a prob i've been trying to solve for a year and that it was my third attempt which was the charm and then i realized how fun it doesn't work 19:30:21 rtjiog 19:30:25 No. 19:30:32 elliott and oerjan were here at least 19:30:38 in any case, I HAVE TOTALLY SOLVED IT NO 19:30:38 W 19:30:45 WHAT IS IT 19:30:46 i wonder if that was a freudian slip 19:30:48 i solved ur mom 19:31:35 i killed a 19:32:10 Phantom_Hoover: an n-dimensional picture is when you color Z^n with a finite set of colors in such away that everything except some finite product of intervals gets # as color and the product of intervals gets colors from some set S 19:32:19 oklopol: omg raciest................ 19:32:36 a picture-walking automaton is a nondeterministic automaton that walks on the cells of a picture, accepting if there is a computation that leads to a final state 19:32:44 stop being a raciest omg..................... 19:33:00 ": /" 19:33:33 you start from some initial state at a corner and your rules are of the form Q x (S \cup {#}) -> 2^(Q x {directions here}) 19:33:57 so depending on what state you are in and what you read, you choose some state given by the rule and a move in some direction 19:34:13 Phantom_Hoover: look at this raciesm... 19:34:26 elliott, it is so racyy. 19:34:28 *racy 19:34:33 [asterisk]racyy 19:34:34 now, we define NFA and FNFA as the classes of picture languages (sets of pictures) you can define when the automaton is allowed to exit the picture it is accepting, and not exiting it, respectively 19:34:42 i proved NFA = FNFA in all dimensions 19:34:54 oklopol: ur raciesm against blak people discusts me......... 19:34:57 in the sense that i haven't yet realized why my proof is wrong this time 19:34:59 :) 19:36:16 for two dimensions, you can find the proof in my master's thesis, but i left dimensions above 2 open 19:36:29 because the proof refused to generalize 19:36:57 the feeling between coming up with the solution and realizing it's crap = <3 19:37:40 you're a shit 19:37:42 :) 19:38:28 im shit? :( 19:38:57 sorry 20:00:45 * Phantom_Hoover concludes that RobotRollCall is by now just an annoying power user. 20:00:56 why 20:01:41 Because in http://www.reddit.com/r/askscience/comments/hsrsq/what_would_happen_in_terms_of_gravity_if_you/ she says that all the other answers aren't giving the whole story and proceeds to reel off her own spiel about field theory. 20:02:17 Thing is, the top answer *does* explain it, although not rigorously, while hers just says "the field in a shell is zero. It just is". 20:03:43 "So if the sun were to just blink out of existence we would follow our orbit for another 8 minutes before everything went to hell?" THIS PERSON HAS CLEARLY NEVER READ THE ED STORIES 20:03:54 "Stuff doesn't blink out of existence, so that's, to put it bluntly, not an interesting question." --RobotRollCall 20:04:08 See what I mean? 20:04:21 She seems to take glee in crushing unrealistic hypotheticals. 20:04:23 -!- augur has joined. 20:04:38 ARE YOU SURE YOU AREN'T JUST UPSET ABOUT YOUR OWN UNREALISTIC HYPOTHETICALS 20:04:39 elliott, link to that one? 20:04:47 And no, because she didn't do it to me. 20:04:57 ">Okie doke, so let's say something accelerated the sun very quickly… 20:04:58 No, let's not. Let's consider only things that are actually possible." 20:05:02 OK she's an asshole. 20:05:09 She is. 20:05:19 Linklinklink so I can try to take her apart for this. 20:05:34 It's linked by someone complaining about RRC at the top of your link. 20:05:36 You can find it. 20:07:32 -!- pikhq_ has joined. 20:09:57 -!- pikhq has quit (Ping timeout: 250 seconds). 20:15:02 hmm 20:15:06 maybe I'll have to use IO for this 20:15:36 it seems to be the only way to make it all work it right 20:15:42 (unsafePerformIO causing problems? shock and horror) 20:16:47 elliott: Where "this" == ? 20:17:20 pikhq_: I'm working on an interning library 20:17:31 so that e.g. you can do Scheme symbols with "Interned String" 20:17:44 pikhq_: and it uses reallyUnsafePtrEquality# behind the scenes in the Eq instance 20:18:23 ... That's frightening. 20:18:43 your mom is frightening 20:33:19 interning library? 20:38:34 coppro: what? 20:38:44 Interned in a library. 20:39:09 what is an interning library? 20:39:32 A library for interning people in. 20:39:58 -!- Rugxulo has joined. 20:40:37 I actually found Ben Olmstead's old Befunge-93 compiler (MCBC), but it doesn't work :-( 20:40:53 nevertheless, for any completist who wants a copy, get it here: 20:40:55 http://web.archive.org/web/20040221222300/http://www.mines.edu/students/b/bolmstea/mtfi/mcbc10.zip 20:41:00 just FYI 20:42:10 And with that you will be back into the night? 20:42:24 ;-) 20:43:02 I just thought it was cool, esp. since I could never find the damn thing ... though ironically it crashes (SIGSEGV) on any input, no matter how simple 20:46:59 we should mirror that 20:47:54 yes ... and BTW I never found the fabled "Betty" compiler that Wikipedia mentions 20:48:45 even BFC mentioned is long gone (though I once found a copy somewhere but forget where, some forum) 20:49:40 It was too awesome for this world. 20:49:56 Chris Pressey did do a minor bugfix for his official BEF a few months ago too 20:50:34 yeah 20:50:37 he comes here occasionally 20:50:47 -!- CakeProphet has quit (Ping timeout: 252 seconds). 20:50:54 I saw him in here once or twice, but that was rare (and before the refresh) 20:51:21 the refresh? 20:51:30 He was here pretty much all the time last year 20:52:21 -!- CakeProphet has joined. 20:52:22 -!- CakeProphet has quit (Changing host). 20:52:22 -!- CakeProphet has joined. 20:52:56 BEF refresh, bugfix 20:54:24 ah 20:54:31 > zip "abcd" "bcd" 20:54:33 [('a','b'),('b','c'),('c','d')] 20:54:39 > zip "abcd" "cd" 20:54:40 [('a','c'),('b','d')] 20:54:45 hmph 20:55:02 > zip "abcd" [(),(),(),(),()] 20:55:03 [('a',()),('b',()),('c',()),('d',())] 20:55:54 > zip (map ("abcd"!!) [0,2..]) (map ("abcd"!!) [1,3..]) 20:55:55 [('a','b'),('c','d'),(*Exception: Prelude.(!!): index too large 20:56:00 where's oerjan when you need 'im 20:56:15 ?pl \x y -> x:y:[] 20:56:15 (. return) . (:) 21:03:31 ?hoogle [a] -> [(a,a)] 21:03:31 Test.QuickCheck two :: Monad m => m a -> m (a, a) 21:03:31 Prelude zip :: [a] -> [b] -> [(a, b)] 21:03:31 Data.List zip :: [a] -> [b] -> [(a, b)] 21:03:48 hmm 21:04:31 -!- Demetrius has quit (Quit: gnite!). 21:10:15 -!- Patashu has joined. 21:14:23 -!- CakeProphet has quit (Ping timeout: 240 seconds). 21:16:09 -!- CakeProphet has joined. 21:16:09 -!- CakeProphet has quit (Changing host). 21:16:10 -!- CakeProphet has joined. 21:22:17 !pl \x->(x,x) 21:22:28 ?pl \x->(x,x) 21:22:29 join (,) 21:22:32 Also, yeah. 21:24:39 -!- Rugxulo has quit (Quit: ChatZilla 0.9.87 [Firefox 3.6.10/20101005225428]). 21:25:15 pikhq_: no that's not it 21:25:31 I want "abcd" -> [('a','b'),('c','d')] but actually I need to handle the odd case too so basically never mind 21:36:04 > zip ["la","le","li","lo","lu","ra","re","ri","ro","ro"] [0..] 21:36:05 [("la",0),("le",1),("li",2),("lo",3),("lu",4),("ra",5),("re",6),("ri",7),("... 21:36:17 ?pl \x y -> string x >> return y 21:36:18 (. return) . (>>) . string 21:36:29 > zipWith ((. return) . (>>) . string) ["la","le","li","lo","lu","ra","re","ri","ro","ro"] [0..] 21:36:30 Not in scope: `string' 21:36:56 ?pl \x y -> x >> return y 21:36:57 (. return) . (>>) 21:37:50 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 21:38:18 ?pl \x y -> (x*10) +y 21:38:18 (+) . (10 *) 21:47:13 -!- CakeProphet has quit (Ping timeout: 246 seconds). 21:49:07 -!- CakeProphet has joined. 21:49:08 -!- CakeProphet has quit (Changing host). 21:49:08 -!- CakeProphet has joined. 21:53:31 -!- Patashu has quit (Ping timeout: 250 seconds). 21:58:32 elliott: Yeah doesn't work unfortunately because I don't believe open returns the filehandle it returns a success value. 21:58:51 yeah 21:59:14 elliott: and yes, $_ is an our variable but in many situations it becomes either dynamically or lexically local, I'm not sure which though. 21:59:25 I think dynamic. 21:59:37 Isn't the definition of our a dynamically local variable? 22:00:06 no our is a "shared package variable", which basically means it's dynamic global. 22:00:22 "As $_ is a global variable, this may lead in some cases to unwanted side-effects. As of perl 5.9.1, you can now use a lexical version of $_ by declaring it in a file or in a block with my. Moreover, declaring our $_ restores the global $_ in the current scope." 22:00:29 Ah, so it's literally just a global variable 22:00:44 But you can use our to make it temporarily local 22:03:41 -!- ralc has quit (Quit: Leaving). 22:04:54 -!- CakeProphet has quit (Ping timeout: 276 seconds). 22:05:38 -!- sebbu2 has joined. 22:05:38 -!- sebbu2 has quit (Changing host). 22:05:38 -!- sebbu2 has joined. 22:07:31 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:09:20 -!- sebbu has quit (Ping timeout: 252 seconds). 22:09:20 -!- sebbu2 has changed nick to sebbu. 22:09:59 -!- pikhq has joined. 22:10:00 -!- pikhq_ has quit (Ping timeout: 240 seconds). 22:23:44 -!- augur has quit (Remote host closed the connection). 22:24:11 -!- augur has joined. 22:25:00 -!- oerjan has joined. 22:25:59 where's oerjan when you need 'im 22:26:13 sipping his coffee in a restaurant 22:26:14 yeah its fucking unacceptable 22:26:18 he should be hanged 22:26:28 oerjan: well lah-de-dah mister fancy 22:26:37 if you're so rich then why don't you buy an ipad so you can always be bugged by me :| 22:26:42 WHEREVER YOU GO 22:26:53 middle of the night, BEEP BEEP "oerjan i need haskell help" 22:27:02 i'm not rich. 22:27:14 shaddap 22:28:08 > zip (map ("abcd"!!) [0,2..]) (map ("abcd"!!) [1,3..]) 22:28:09 [('a','b'),('c','d'),(*Exception: Prelude.(!!): index too large 22:28:21 > zip (map (cycle "abcd"!!) [0,2..]) (map (cycle "abcd"!!) [1,3..]) 22:28:22 [('a','b'),('c','d'),('a','b'),('c','d'),('a','b'),('c','d'),('a','b'),('c'... 22:28:23 yeah, turns out I actually don't need that function :D 22:28:31 digit :: Parser Integer 22:28:31 digit = choice $ zipWith (>>) (map (try . string) digits) (map return [0..]) 22:28:31 where digits = ["la", "le", "li", "lo", "lu", "ra", "re", "ri", "ro", "ru"] 22:28:35 would be nice if you could make that a bit less ugly 22:28:44 oops did i just reveal what i'm writing :D 22:29:05 -!- CakeProp1et has joined. 22:29:17 huh 22:29:26 huh? 22:29:27 is it that syl language? 22:29:39 yeah; I am bored 22:29:49 so I'm going to write the BEST SYL IMPLEMENTATION EVARRR 22:29:55 -!- CakeProp1et has quit (Client Quit). 22:30:07 we're talking multiple backends, C FFI here 22:30:27 -!- CakeProphet has joined. 22:31:35 digit = choice [try (string d) >> return n | d <- digits | n <- [0..]] 22:31:53 but... but you made it less point-free... 22:31:55 * oerjan has never tried that zip comprehension before 22:32:01 also that should be a comma before n, not | 22:32:02 no? 22:32:12 SOMETIMES LESS POINT-FREE IS BETTER 22:32:19 integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return 22:32:20 oerjan: I agree entirely. 22:32:23 wanna de-ugly that too? :P 22:32:49 um no, i believe | is the syntax for the "zip these together" comprehension extension 22:32:53 ah 22:33:08 it might not be an extension any more what with haskell twentyten 22:33:09 oh well hm 22:33:16 point-free 22:33:58 the main problem I have with point-free is I can't READ ANYTHING. 22:34:14 Illegal parallel list comprehension: use -XParallelListComp 22:34:15 :( 22:34:20 CakeProphet: that's your problem, not point-free's. 22:34:25 or, well, sometimes it's the code's problem. 22:34:38 not if the code is point-free, that is never wrong 22:34:38 :t (*>) 22:34:39 forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f b 22:34:45 :t ($>) 22:34:45 Not in scope: `$>' 22:34:47 but, well, I can't read obfuscated perl, doesn't make perl a bad language :D 22:34:49 oh hey 22:34:49 :t (>$) 22:34:50 Not in scope: `>$' 22:34:51 where's olsner wher eyou need him 22:34:52 bah 22:34:53 the answer -- RIGHT HERE 22:34:59 but i ... forget what ... i ... was ... oh yes thats what 22:35:03 @hoogle f a -> b -> f b 22:35:03 Control.Applicative (<$) :: Functor f => a -> f b -> f a 22:35:03 Control.Applicative (*>) :: Applicative f => f a -> f b -> f b 22:35:03 Prelude (>>) :: Monad m => m a -> m b -> m b 22:35:06 olsner: bochs has some kind of interface to its console, right? 22:35:10 so OS stuff can print debug to it 22:35:14 elliott: Haskell isn't a bad language. I'm saying point-free style, in very complicated situations, results in a mess of code that takes far too long to decipher. 22:35:15 hm 22:35:21 elliott: a mess of very very concise code. 22:35:23 :P 22:35:24 CakeProphet: Let me rewrite what you said to actually be not wrong: 22:35:34 CakeProphet: Point-free style, when misapplied, results in a mess. 22:35:36 Similarly: 22:35:41 Perl, when misapplied, results in a mess. 22:35:50 ..sure. 22:36:15 elliott: hmm, yes istr reading something like that from the config menus... I think it might not be enabled by default though 22:36:19 Point-free, when it can be executed well -- which it usually can be if you have the right combinators -- is more readable than the pointful version (to someone who's experienced reading Haskell) 22:36:30 It's essentially a higher level of abstraction, just one that can be misapplied. 22:36:36 digit = choice . zipWith (<*) [0..] $ try . string <$> digits 22:36:39 I don't really see where Perl comes into play with the readability of point-free style. But sure, non-relevant comparisons are fun. 22:37:02 > fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1 22:37:03 [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,... 22:37:21 olsner: beautiful 22:37:32 elliott: ^ better? 22:37:37 no, but olsner's is 22:37:45 :( 22:37:47 i kid, i haven't looked at yours 22:37:48 i will now 22:38:02 oerjan: that's pretty nice 22:38:09 right now I'm trying to make integer less ugly though, but I'll save that 22:38:17 actually I'll use it 22:38:30 since the parallel comprehension is non-standard 22:38:55 :t digits 22:38:55 Not in scope: `digits' 22:38:57 elliott, how goes the spec!! 22:39:00 ah, Parsec. 22:39:08 Vorpal: hi bro 22:39:11 @hoogle digits 22:39:11 Prelude floatDigits :: RealFloat a => a -> Int 22:39:11 Numeric floatToDigits :: RealFloat a => Integer -> a -> ([Int], Int) 22:39:11 Numeric lexDigits :: ReadS String 22:39:18 elliott, hallo! 22:39:18 CakeProphet: digits is a local define. 22:39:21 Vorpal: sup 22:39:25 elliott: ..oh, nevermind then. 22:39:43 elliott, not well, there is a computer spec missing. And how are you? 22:39:58 not feeling* 22:40:09 Vorpal: actually legitimately ill 22:40:14 elliott, ouch 22:40:24 elliott, well then you have time for the spec now! 22:40:28 YEAH NOW YOU FEEL BAD FOR MAKING FUN OF MY SITUATION ;_____; 22:40:38 elliott: looks like you just write to port e9, if it's enabled: http://heim.ifi.uio.no/~inf3150/doc/tips_n_tricks/e9hack.html 22:40:44 Vorpal: but what if the painkillers make me insane :/ 22:40:49 what is <*? 22:40:54 elliott, can they do that? 22:40:56 olsner: heh, noice 22:41:01 Vorpal: i don't know, i'm too ill to think clearly 22:41:12 integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return 22:41:48 elliott, ouch 22:41:49 Vorpal: see, i'm writing crazy code like that 22:41:54 clearly not sane right now 22:41:56 elliott, well get off irc, and rest then 22:42:10 elliott, that code looks fine to me. What is liftA2 though? 22:42:14 I don't remember that one 22:42:16 are you advising me to stay in bed all day and waste time, because that's... exactly what i'm doing 22:42:21 @hoogle (*>) 22:42:21 Control.Applicative (*>) :: Applicative f => f a -> f b -> f b 22:42:22 Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b 22:42:22 Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b 22:42:25 Vorpal: liftM2, but s/Monad/Applicative/ 22:42:29 elliott, ah 22:42:39 elliott, and uh. <|> is? 22:42:46 I believe Parsec's choice operator. 22:43:04 oerjan: your digit doesn't type 22:43:07 similar to a | in a regex or... many other things I don't remember the names of. 22:43:09 oh right, that makes quite a lot of sense then 22:43:09 Vorpal: actually the applicative choice thing too 22:43:13 ah 22:43:17 even more sense 22:43:27 erm, Alternative rather 22:43:29 elliott, now what does it do? 22:43:35 ...applicative choice? I still need to learn the rest of Applicative. 22:43:38 Vorpal: (<|>) :: Alternative f => f a -> f a -> f a 22:43:46 CakeProphet: it's just a generalisation, pretty much 22:43:48 elliott, no I meant the code in general 22:43:49 CakeProphet: I hide Parsec's 22:43:59 because the Alternative operator works on the Parsec monad too 22:44:01 Vorpal: what it says on the tin 22:44:12 elliott, meh, too tired to parse it atm 22:44:17 elliott: right, but does Applicative have a notion of success and failure like Parsec? 22:44:23 what is <*? <-- oh hm, elliott: s/<*/<$/ 22:44:42 CakeProphet: no, like I said, Alternative does 22:44:45 ?src Alternative 22:44:45 class Applicative f => Alternative f where 22:44:46 empty :: f a 22:44:46 (<|>) :: f a -> f a -> f a 22:44:56 > [9,0] <|> [0,9] -- hmm 22:44:57 [9,0,0,9] 22:44:59 right 22:45:04 (think list monad) 22:45:18 oerjan: yay, works 22:45:25 ah okay. 22:45:31 name :: Parser String 22:45:31 name = concat . many1 $ liftA2 (:) normalCons vowel 22:45:32 alas this doesn't 22:45:35 for obvious reasons 22:45:40 ?pl \x y -> [x,y] 22:45:40 (. return) . (:) 22:45:42 sigh 22:45:49 elliott: looks very much like MonadPlus 22:45:55 ?src MonadPlus 22:45:56 Source not found. You type like i drive. 22:46:06 CakeProphet: I actually think Alternative /is/ MonadPlus 22:46:08 yeah, it is 22:46:09 what an insult 22:46:21 CakeProphet: it's just that a lot of the haskell library doesn't consider things above monads 22:46:27 elliott: for list it seems to be exactly the same. 22:46:31 it is the same, always 22:46:39 similarly, liftM2 is superfluous 22:46:42 it's the same as liftA2 22:46:46 but we haven't had Applicatives as long as monads 22:46:48 elliott: concat <$> up there 22:46:50 thus why all this stuff is duplicated 22:47:03 ah so <$ is fmap.const 22:47:13 Couldn't match expected type `[Char]' with actual type `Char' 22:47:13 Expected type: ParsecT 22:47:13 String () Data.Functor.Identity.Identity [Char] 22:47:20 :t fmap.const 22:47:21 forall a b (f :: * -> *). (Functor f) => b -> f a -> f b 22:47:24 :t (<$) 22:47:26 forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a 22:47:30 yep 22:47:40 at least the type is the same 22:47:50 Vorpal: same thing :) 22:47:54 according to the documentation it's the same thing. 22:47:58 elliott, come on, (+) and (-) have the same type, don't they? 22:47:59 yeah 22:48:06 :t (-) 22:48:08 forall a. (Num a) => a -> a -> a 22:48:09 :t (+) 22:48:09 what's the name of the principle that lets you derive facts from types 22:48:10 forall a. (Num a) => a -> a -> a 22:48:11 :t (*) 22:48:12 forall a. (Num a) => a -> a -> a 22:48:13 see 22:48:15 what's the name of the principle that lets you derive facts from types 22:48:27 because I think we could deduce that (fmap . const) and (<$) are the same by just the types 22:48:27 elliott, now we know that multiplication is addition! :P 22:48:32 or well hm 22:48:32 elliott: parametricity 22:48:35 ?src Functor 22:48:35 class Functor f where 22:48:35 fmap :: (a -> b) -> f a -> f b 22:48:43 yeah 22:48:48 I have a hunch it would work here 22:48:59 okay 22:49:00 and i think it applies to fmap.const = (<$) 22:49:05 let's see ... (a -> f b -> f a) 22:49:16 yeah 22:49:18 it has to look like 22:49:25 at least assuming a Functor instance respecting the laws 22:49:25 \a b -> fmap _ b 22:49:27 I think you can make more functions of the same type by using undefined 22:49:30 because that's the only way to get an f thing 22:49:39 and the only (a -> b) here is const 22:49:41 since we can't inspect our a 22:49:50 Ah there's an instance for MonadPlus m => Alternative (WrappedMonad m) 22:49:53 so yeah, there is only one function of the type (a -> f b -> f a) 22:50:22 olsner: yeah basic parametricity only works for terminating functions, although there is some research on adding non-termination and seq 22:50:24 elliott, unless you involve bottom I think? 22:50:31 Vorpal: yeah yeah, those aren't real functions 22:50:34 total function, if you will, whatever 22:50:41 (it's a feature of System F lambda calculus) 22:50:42 name = concat <$> many1 (liftA2 (\x y -> [x,y]) normalCons vowel) 22:50:43 :t seq 22:50:44 oerjan: so agley :( 22:50:44 forall a t. a -> t -> t 22:50:46 :t id 22:50:46 :t many 22:50:47 forall (f :: * -> *) a. (Alternative f) => f a -> f [a] 22:50:47 forall a. a -> a 22:50:50 hm 22:51:01 > many [1] 22:51:04 mueval-core: Time limit exceeded 22:51:10 heh 22:51:12 :) 22:51:20 > many (return 9) 22:51:21 wtf is the t. in seq's type? 22:51:21 No instance for (GHC.Show.Show (f [t])) 22:51:21 arising from a use of `M76367029... 22:51:25 > many (Just 9) 22:51:27 Vorpal: "forall a t." 22:51:28 mueval-core: Time limit exceeded 22:51:31 elliott, *oh* 22:51:37 elliott, why couldn't they say so :P 22:51:40 Vorpal: it's a type variable 22:51:42 Vorpal: what? 22:51:44 it does 22:51:51 elliott, the forall is implicit 22:51:52 seq :: a -> b -> b -- from GHCi 22:51:54 wait no 22:51:58 I fail at reading 22:51:59 Vorpal: forall a t. a -> t -> t 22:51:59 -!- variable has quit (Remote host closed the connection). 22:52:02 wake me up 22:52:05 note that ghci actually omits all top-level foralls 22:52:11 ah right 22:52:12 because they can be unambiguously abbreviated 22:52:13 elliott: sequence [normalCons, vowel] 22:52:16 (and this is in haskell itself) 22:52:17 oerjan: oh nice 22:52:18 :t undefined 22:52:19 forall a. a 22:52:33 -!- variable has joined. 22:52:57 night → 22:53:13 " but, well, I can't read obfuscated perl, doesn't make perl a bad language :D" <<< but doesn't it kind of make the coding style bad? or maybe i misunderstood what your point was 22:53:27 elliott: iirc i saw someone apply parametricity to typeclasses like Functor before; basically you need to add the typeclass methods as extra parameters 22:53:32 > pure [] 22:53:33 No instance for (GHC.Show.Show (f [a])) 22:53:33 arising from a use of `M19706092... 22:53:39 :t pure [] 22:53:40 forall a (f :: * -> *). (Applicative f) => f [a] 22:54:08 oerjan: right 22:54:15 oerjan: well, it's easy to prove "by hand" 22:54:28 oklopol: sure, but we're considering point-free style a language here, not a style 22:54:33 jesus Haskell code can be confusing... 22:54:40 haskell is easy 22:54:51 oklopol: i.e. the general point is "~(there are unreadable examples of X -> X is unreadable)" 22:55:04 > pure 9 :: [Integer] 22:55:06 [9] 22:55:12 uh, sure, once you learn everything. Might as well say anything is easy. 22:55:24 haskell is easier than C 22:55:41 what elliott said 22:55:55 eh. I don't feel like making language comparisons today. 22:56:11 " oklopol: sure, but we're considering point-free style a language here, not a style" <<< hmm okay accepted 22:57:14 Haskell itself is easy. Learning everything about its libraries is not so much. 22:57:33 -!- Vorpal has quit (Ping timeout: 260 seconds). 22:57:49 what's not so much about it 22:58:14 maybe it just isn't a lot 22:59:03 CakeProphet just got owned 22:59:20 uh, if you say so. 22:59:21 owned like a nigger! 22:59:40 more like: CakeProphet just got interpretted literally! 23:00:59 whatever you say slave boy :| 23:02:47 > let x = (:) <$> Nothing <*> y; y = x <|> pure [] in x 23:02:48 Nothing 23:03:06 > let x = (:) <$> Maybe 5 <*> y; y = x <|> pure [] in x 23:03:06 Not in scope: data constructor `Maybe' 23:03:12 > let x = (:) <$> Just 5 <*> y; y = x <|> pure [] in x 23:03:15 mueval-core: Time limit exceeded 23:03:25 er.. what. 23:03:43 Why does that return Nothing. 23:03:49 > some Nothing 23:03:50 Nothing 23:03:56 :t some 23:03:57 forall (f :: * -> *) a. (Alternative f) => f a -> f [a] 23:04:00 ah 23:04:02 f [a] 23:04:38 > some (Just 9) 23:04:42 mueval-core: Time limit exceeded 23:04:49 strict evaluation? 23:04:50 > fmap (take 9) (some (Just 9)) 23:04:51 note that ghci actually omits all top-level foralls <-- there's a flag for that 23:04:54 mueval-core: Time limit exceeded 23:05:00 oerjan: but it's desirable :P 23:05:06 at least for confused beginners 23:05:33 elliott: so basically what I interpret from these bits of code is that I'll never really want to use some or many. 23:05:46 well this is lambdabot and Maybe, both of which are contrived 23:05:48 > some [9] 23:05:52 mueval-core: Time limit exceeded 23:05:56 what are some and many even meant for, anyway? 23:05:57 same thing.. 23:05:58 I haven't checked 23:06:07 :t some 23:06:08 forall (f :: * -> *) a. (Alternative f) => f a -> f [a] 23:06:12 Alternative 23:06:21 > pure [] <-- it's ambiguous which Applicative you are using so lambdabot ends up creating a dummy type for it, which of course has no Show instance 23:06:28 oerjan: right. 23:08:00 :t pure (*3) <*> 5 23:08:01 forall a (f :: * -> *). (Num a, Applicative f, Num (f a)) => f a 23:08:20 heh. 23:08:35 might be useful for Signal t :) 23:09:02 grr, windows sends mousewheel events to the focused window, not to the window under the cursor 23:09:19 > (*3) <*> 5 23:09:20 Overlapping instances for GHC.Show.Show ((a -> b) -> b) 23:09:20 arising from a u... 23:09:22 olsner: huh? surely not 23:09:27 you can scroll background windows in Windows, can't you? 23:09:36 I think the top window gets a chance to /handle/ it 23:09:40 but if it declines it bubbles downwards 23:09:52 > ((*3) <*> 5) (+) 23:09:52 Overlapping instances for GHC.Show.Show (a -> a) 23:09:53 arising from a use of `... 23:10:19 > ((*3) <*> 5) (-3) 23:10:20 -9 23:10:31 excellent. I can now obfuscate arithmetic. 23:11:10 elliott: hmm, however the mechanism, the effect is that the wrong window scrolls :) 23:11:16 > ((*3) <*> 5) (-4) 23:11:16 -12 23:11:28 > many "a" 23:11:32 mueval-core: Time limit exceeded 23:11:40 wtf 23:11:48 :t many 23:11:49 forall (f :: * -> *) a. (Alternative f) => f a -> f [a] 23:11:50 the src for many is: 23:11:51 :t some 23:11:52 forall (f :: * -> *) a. (Alternative f) => f a -> f [a] 23:11:58 (can you run SC2 in linux somehow? that would eliminate all my windows problems) 23:12:00 > let x = (:) <$> Maybe 5 <*> y; y = x <|> pure [] in x 23:12:01 Not in scope: data constructor `Maybe' 23:12:06 replace Maybe 5 with your parameter 23:12:18 olsner: expand SC2 23:12:24 Starcraft 2 23:12:29 CakeProphet: i asked olsner. 23:12:29 yes, starcraft 2 23:12:35 ah yes 23:12:36 elliott: nope too bad. 23:12:43 olsner: http://appdb.winehq.org/objectManager.php?sClass=version&iId=20882 23:12:45 gold rating, not bad 23:12:52 @src some 23:12:53 some v = some_v 23:12:53 where many_v = some_v <|> pure [] 23:12:53 some_v = (:) <$> v <*> many_v 23:13:26 oh it's just some v = v <|> many v 23:13:34 many v can be zero 23:13:54 ugly definition 23:14:46 so I'm wondering.. 23:15:01 can a time-varying signal be a monad? 23:15:23 elliott: cool, looks like there is some chance of success then! 23:15:24 I know it can in the discrete case, since list is a monad, but what about in the continuous case? 23:16:09 or wait can it 23:16:12 @src many 23:16:12 Source not found. Do you think like you type? 23:16:20 sheesh 23:16:55 http://www.haskell.org/ghc/docs/6.12.1/html/libraries/base/src/Control-Applicative.html#Alternative 23:17:33 CakeProphet: functions are monads, yes 23:17:45 I'm not sure if you can analogise the function monad instance to the list instance. oerjan? 23:18:03 ah indeed it was right 23:18:13 elliott: hm? 23:18:22 oerjan: can a time-varying signal be a monad? I know it can in the discrete case, since list is a monad, but what about in the continuous case? 23:18:23 i.e. 23:18:29 type DiscreteSignal t = [t] 23:18:33 type ContinuousSignal t = Time -> t 23:18:37 where Time is a real, conceptually 23:18:53 both have monad instances, but is the monad instance to the latter analogisable as a "continuous" version of the former (list monad)? 23:19:02 indeed the >>= definitions don't correspond much 23:19:10 right 23:20:19 iirc the -> monad _is_ analogous to the ZipWith monad 23:20:49 that might be useful, but I don't know how the ZipWith monad works. 23:21:10 well i'm not sure it's defined in the library, even 23:21:14 er *ZipList 23:21:23 > ZipList [1,2,3] 23:21:24 No instance for (GHC.Show.Show (Control.Applicative.ZipList t)) 23:21:24 arising ... 23:21:30 wtf 23:21:33 newtype ZipList a = ZipList { getZipList :: [a] } 23:21:33 instance Functor ZipList where 23:21:33 fmap f (ZipList xs) = ZipList (map f xs) 23:21:42 oerjan: try getZipList 23:21:55 WHY THE FUCK DIDN'T THEY ADD A SHOW INSTANCE 23:22:08 CONOOOOOOOOOR 23:22:08 oerjan: not cool enough. 23:22:27 pure x = ZipList (repeat x) 23:22:29 indeed, looks like a function ;D 23:23:00 I wonder if (ZipList a) is the same as (Integer -> a) if you only have the Functor/Applicative/Monad instances (not the constructor) 23:23:21 well ZipLists can be finite 23:23:39 but otherwise, that's essentially what i recall discovering 23:24:38 oerjan: no they can't, if you don't have the constructor 23:24:40 > getZipList $ ZipList [1,2,3] >>= \n -> ZipList [4,5,6] 23:24:40 No instance for (GHC.Base.Monad Control.Applicative.ZipList) 23:24:40 arising fro... 23:24:44 sadly 23:24:45 pure results in an infinite list 23:24:49 and return is ofc = pure 23:24:54 so there's no way to get a finite list 23:24:57 elliott: erm you cannot construct id 23:25:03 only constant functions 23:25:25 oerjan: hmm, can't you with <*>? 23:25:51 how? both arguments are repeats 23:25:53 > let foo n = pure n <*> foo (succ n) in foo 0 :: ZipList Integer 23:25:55 No instance for (GHC.Enum.Enum 23:25:55 (GHC.Integer.Type.Intege... 23:26:03 > let foo n = pure n <*> foo (n+9) in getZipList (foo 0) 23:26:04 *Exception: stack overflow 23:26:11 hm oh 23:26:21 > let foo n = pure (const n) <*> foo (n+9) in getZipList (foo 0) 23:26:22 *Exception: stack overflow 23:26:25 meh 23:27:16 > getZipList (pure (const 1) <*> pure undefined) 23:27:16 [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:27:56 since it cannot _look_ at undefined, it cannot distinguish pure undefined from anything else 23:28:16 right 23:28:40 and your recursion is going in the wrong _direction_, you aren't actually moving _along_ the list 23:28:44 right 23:29:23 so if I made a union of [t] and (Float -> t) I could define applicative/monad/functor instances but they would have different semantics for each case. 23:29:44 CakeProphet: have you been paying attention? 23:29:48 there is more than one list monad 23:29:54 and one of them acts like functions 23:30:16 no I haven't actually. you guys started talking about stuff that is currently over my head so I stopped paying attention. :) 23:30:23 elliott: pure f <*> pure x = pure (f x) so you cannot construct anything other than pure x just from the methods in _any_ Applicative instance 23:31:25 oerjan: right 23:31:34 oerjan: same with Monad I think 23:31:58 hm right... 23:35:18 integer = natural >>= liftA2 (<|>) ((string "hu" *>) . return . negate) return 23:35:36 :t (*>) 23:35:36 forall (f :: * -> *) a b. (Applicative f) => f a -> f b -> f b 23:36:09 :t ((?p *>) . return . negate) 23:36:09 forall (f :: * -> *) a b. (?p::f a, Applicative f, Monad f, Num b) => b -> f b 23:36:43 oh -> instance 23:36:46 ?p? 23:36:47 Maybe you meant: ? pl 23:36:59 CakeProphet: dynamic scoped variable 23:37:01 ah 23:37:22 dammit Maharba respond quickly ;D 23:37:28 useful for getting types out of lambdabot without needing to add \p -> to everything 23:38:25 05:30:23: I'd guess that an entirely nature or an entirely nurture explanation for homosexuality is oversimplifying things. Homosexuality is associated with notably different brain chemistry (for the person's gender), so I'd guess there's an inherited propensity that's either repressed or reinforced based on the person's experiences 23:38:25 05:31:04: Many diseases, conditions and other types of deviations work like this. 23:38:25 irc user rodgerthegreat proves abnormality of homosexuality, news at eleven 23:38:42 @hoogle optionally 23:38:42 No results found 23:38:46 @hoogle optional 23:38:46 Control.Applicative optional :: Alternative f => f a -> f (Maybe a) 23:38:47 Text.Parsec.Combinator optional :: Stream s m t => ParsecT s u m a -> ParsecT s u m () 23:38:47 Text.ParserCombinators.ReadP optional :: ReadP a -> ReadP () 23:40:24 @hoogle f a -> f (a -> b) -> f b 23:40:25 Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b 23:40:25 Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b 23:40:25 Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b 23:40:50 > (0$0 <**>) 23:40:51 The operator `Control.Applicative.<**>' [infixl 4] of a section 23:40:51 must h... 23:41:00 > (0$0 >>=) 23:41:00 The operator `GHC.Base.>>=' [infixl 1] of a section 23:41:00 must have lower pr... 23:41:33 ?info (>>=) 23:41:33 (>>=) 23:41:36 ?info (>>=asd 23:41:36 Unbalanced parentheses 23:41:40 ?info (>>=) :: dicks 23:41:40 (>>=) :: dicks 23:41:42 wat 23:41:47 ?help info 23:41:47 help . Ask for help for . Try 'list' for all commands 23:41:51 presumably it's an error correction then 23:42:58 06:04:40: in my opinion, functional languages are pretty and clean looking, but are an *inherently* inefficient way of programming, because they don't work remotely like conventional hardware does. Magical perfect compilers that can optimize in every conceivable fashion could theoretically balance this, but Magical perfect compilers do not exist. I like my imperative languages. 23:42:58 has rodgerthegreat ever actually said anything that's true? i'm honestly curious 23:42:59 oklopol? 23:43:21 elliott: integer = natural <**> choice [negate <$ string "hu", return id] 23:43:30 oerjan: hot 23:45:11 elliott: obviously roger doesn't know how Haskell works. 23:45:21 > (0$0 <|>) 23:45:22 The operator `Control.Applicative.<|>' [infixl 3] of a section 23:45:22 must ha... 23:45:37 must ha...! 23:45:44 elliott: i guess <|> rather than choice suffices 23:45:59 integer = natural <**> (negate <$ string "hu" <|> return id) 23:46:00 nice 23:46:14 > (0$0 <$) 23:46:14 The operator `GHC.Base.<$' [infixl 4] of a section 23:46:15 must have lower pre... 23:46:51 remembering precedence does get a bit hairy 23:46:57 > 0 <$ [1..] 23:46:58 [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,... 23:47:23 so is <$ less precedent than <|>? 23:47:43 presumably it's an error correction then <-- iirc... 23:47:51 ?enfo ( 23:47:51 Maybe you meant: echo undo 23:47:55 ?echo ( 23:47:55 echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "elliott!~elliott@unaffiliated/elliott", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":?echo ("]} rest:"(" 23:47:59 xD 23:48:00 ?info do x <- test; f x 23:48:01 test >>= \ x -> f x 23:48:05 ah, undo 23:48:47 CakeProphet: <$ is 4, so binds tighter than <|> at 3 23:49:10 so what are negate and string "hu"? 23:49:14 CakeProphet: note that's the point of my > (0$0 ...) tests above 23:49:16 :t negate 23:49:17 forall a. (Num a) => a -> a 23:49:34 string "hu" is a Parsec parser which parser precisely that string 23:49:39 string is from Parsec ri--yes 23:49:45 *parses 23:50:01 so what on earth is that <$ doing to String "hu" 23:50:03 *string 23:50:19 elliott: hm i just realized... does string do try internally? 23:50:34 oerjan: ah, it should 23:50:38 but doesn't 23:50:44 oerjan: yeah I believe it backtracks on failure. 23:50:47 CakeProphet: it's throwing away the monadic result (which is just "hu" iirc) and replacing it by the negate function 23:50:51 CakeProphet: wrong 23:50:56 I had to use (try . string) in digit 23:50:57 integer = natural <**> (negate <$ try (string "hu") <|> return id) 23:50:59 oerjan: fix't 23:52:51 CakeProphet: Parsec has a strange model for avoiding keeping too many possible backtrackings. basically once a parser parses a single character correctly, it refuses to backtrack to other options for it, unless you use the try combinator 23:53:36 so you have to be careful to use try if you have multiple possible parses starting with the same character 23:53:51 that's conventional, not strange, isn't it :) 23:54:23 i don't know if that's conventional, LALR(1) parsers certainly don't do that... 23:54:31 well for combinator parsers 23:55:04 although i saw a brief discussion of the matter after the recent attoparsec fiasco on reddit 23:55:34 me too :D 23:55:40 so when <*> and friends apply to Parsec they don't change the matching behavior only the result? 23:55:43 that's where i picked up the opinion that it was conventional ;D 23:56:05 CakeProphet: yep. that's sort of the essence of Applicative combinators, they can only modify results 23:56:41 so since the right-hand side of <**> is being applied to the left hand side, is string "hu" actually doing any matching? 23:57:13 -!- GreaseMonkey has joined. 23:57:13 -!- GreaseMonkey has quit (Changing host). 23:57:13 -!- GreaseMonkey has joined. 23:57:14 CakeProphet: of course 23:58:07 <**> is the same as liftA2 (flip ($)) iiuc 23:58:26 ah, based on the type I thought it was flip (<*>) 23:58:48 but uh 23:58:55 @src (<*>) 23:58:56 Source not found. Where did you learn to type? 23:59:00 oh i hope not, as that's would make it useless... 23:59:10 CakeProphet: Applicative method 23:59:14 @src Applicative 23:59:14 class Functor f => Applicative f where 23:59:15 pure :: a -> f a 23:59:15 (<*>) :: f (a -> b) -> f a -> f b 23:59:46 <**> is flip <*> IIRC 2011-06-07: 00:00:08 -- | A variant of '<*>' with the arguments reversed. 00:00:09 (<**>) :: Applicative f => f a -> f (a -> b) -> f b 00:00:09 elliott: what? that would be useless 00:00:11 so.... 4hu is -4? 00:00:19 oerjan: well it's an aesthetic thing... 00:00:30 CakeProphet: no, luhu is -4 00:00:38 oh 00:00:48 > [1,2] <**> [(+5), (+10)] 00:00:48 [6,11,7,12] 00:01:03 > flip (<*>) [1,2] [(+5), (+10)] 00:01:04 [6,7,11,12] 00:01:11 elliott: nope i was right :) 00:01:25 ah ookay, because with liftA2 or whatever you're doing when you call <**>, you're chaining the two monads together with >> 00:02:02 ...somewhere. 00:02:37 oerjan: um i am quoting from the code itself here 00:02:44 -- | A variant of '<*>' with the arguments reversed. 00:02:44 (<**>) :: Applicative f => f a -> f (a -> b) -> f b 00:02:44 (<**>) = liftA2 (flip ($)) 00:02:51 crock of shit documentation 00:02:54 CakeProphet: well another way to say it, is x <**> f = flip ($) <$> x <*> f 00:03:11 oerjan: oh i think it means the arguments to the _function_ 00:03:11 right 00:03:40 elliott: yeah it also reverses the intuitive execution order, which is why <**> is useful here... 00:03:59 oerjan: I was basically forgetting that, since Parsecs matching semantics are carried through >>=, when you use things like applicative functions you're still chaining together the parsers. I'm not entirely sure what I thought was going on before. 00:06:04 CakeProphet: well this is sort of because by convention when you make monads into applicatives you let <*> have a left-to-right execution order 00:06:24 it occurs to me that would be an entirely correct Applicative instance to do it reversely, actually. 00:06:37 in fact you could make a newtype for it, does it exist? 00:06:53 ?hoogle liftM3 00:06:53 Control.Monad liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r 00:06:54 ?hoogle liftA3 00:06:55 Control.Applicative liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d 00:08:11 i don't find it, but it would be like 00:08:22 okay with fundeps, saying a -> b is basically saying that a decides what b is yes? 00:08:29 "If the function returns, this is an expression, otherwise it is a statement." 00:08:33 insert vomiting 00:09:01 I'm not entirely sure what that DOES, but I think I understand the /concept/ 00:09:15 elliott: lol. if a function doesn't return, it's probably not a function. 00:09:41 instance Applicative a => Applicative (Reverse a) where pure x = Reverse (pure x); (Reverse f <*> Reverse x) = Reverse (x <**> f) 00:09:43 elliott: from what is that 00:09:46 monqy: [[SyL]] 00:09:47 (I'm vomiting too) 00:10:01 strapping young lad? 00:10:03 newtype Reverse x = Reverse x 00:10:13 erm 00:10:17 monqy: on the esowiki 00:10:23 * elliott complains on the talk page 00:10:28 newtype Reverse a x = Reverse (a x) 00:11:19 CakeProphet: ^ i believe that would give you a modified Applicative which did all execution chaining in the opposite direction 00:11:31 but still fulfilled all the laws (i assume) 00:12:15 so is this language's special thing purely based on what names it uses for things 00:12:32 pardon my highly technial terminology 00:12:59 monqy: well it's kind of neat to have every program be fully pronouncable 00:13:17 if you remove all the whitespace you can have, like, full function definitions be "words" 00:13:19 which is nice aesthetically 00:13:23 but yes the semantics are nothing special 00:13:40 i'm just implementing it because i'm bored 00:14:10 it's not precisely the first pronunciation-based language 00:14:16 implement speech to text for it 00:14:20 (Ook!) 00:14:35 oerjan: true, but that's not really the same thing :P 00:14:50 where by speech to text I mean speech to program 00:15:22 I confess that the main reason I'm implementing it is because I can call the implementation sylladex 00:15:32 :( 00:15:52 monqy is disappointed in my shallow reference-based reasons for implementing languages. 00:15:58 always 00:18:33 -!- calamari has joined. 00:18:49 maharba is a bad person 00:20:15 -!- calamari has quit (Client Quit). 00:20:18 you should see his evil twin mwahaharba 00:21:37 elliott: were there any remaining functions to prettify? 00:22:50 oerjan: not yet, but there will be as soon as maharba replies :D 00:36:31 does anyone know of a hash function that optimises for the size of the resulting hash? 00:36:35 like crc but less... useless 00:36:38 like 00:36:41 a dynamic-length hash i guess... 00:36:50 right now I'm imagining maharba meant "if the function terminates, it is an expression; otherwise, it is a statement". makes everything better. 00:36:50 hmm i'm not thinking right 00:36:58 monqy: xD 00:37:04 beautiful 00:43:38 ais523 00:43:38 it's amazing how inconsistent Crawl's interface actually is, it's much worse than NetHack's 00:43:39 -- http://crawl.develz.org/learndb/index.html 00:43:43 wisdom 00:44:07 -!- GreaseMonkey has quit (Quit: The Other Game). 00:45:11 -!- GreaseMonkey has joined. 00:45:11 -!- GreaseMonkey has quit (Changing host). 00:45:11 -!- GreaseMonkey has joined. 00:50:10 ?pl \x -> "gah" ++ [x] 00:50:10 ("gah" ++) . return 00:51:12 elliott: cheating. 00:51:36 pure is shorter than return... 00:51:48 oerjan: xD 00:52:06 oerjan: but import Control.Applicative is not shorter than an empty string. 00:52:36 CakeProphet: i was assuming he had it imported already 00:53:17 :t optional 00:53:18 forall (f :: * -> *) a. (Alternative f) => f a -> f (Maybe a) 00:53:39 > optional [1] 00:53:40 [Just 1,Nothing] 00:53:55 however if n*2 > 26 where n is the number of uses of return, then you will save bytes overall. 00:54:19 assuming you don't already have Control.Applicative imported, which you probably do. :P 00:55:03 this isn't about golfing :P 00:55:14 IT'S ALWAYS ABOUT GOLFING. 00:55:15 > reverse.(:"hag")$'i' 00:55:16 "gahi" 00:55:25 SAYS YOU 00:55:54 grossly, SyL is not whitespace-irrelevant 00:56:08 lack of unambiguous number terminators :( 00:56:11 angry square mouth man is angry that you never use him and always use his pure counterpart (:[]) 00:56:51 @hoogle x -> f x 00:56:51 Data.Generics.Aliases unGM :: GenericM' m -> a -> m a 00:56:51 Prelude return :: Monad m => a -> m a 00:56:51 Control.Monad return :: Monad m => a -> m a 00:57:20 hm... 00:57:28 @hoogle a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m 00:57:43 thread killed 00:58:02 > (<$"a") 1 00:58:03 [1] 00:58:14 CakeProphet: what 00:58:34 monqy: I don't know, ask lambdabot. 00:58:43 no I mean 00:58:45 why would you do that 00:58:47 or angry square mouth man, depending on what you're referring to. 00:58:55 ???? 00:59:22 monqy: why do we do anything? why can I answer questions with more vague generic questions that apply to any situation? 00:59:23 SHUT UP STUPID FLY 00:59:40 why would you search for that function 00:59:45 to find it. 00:59:50 I mean 00:59:51 it's a quest. 00:59:54 OF KNOWLEDGE 01:00:05 it's pretty obvious that it doesn't exist 01:00:08 if you think about it 01:00:17 also what's this about (: []) 01:00:17 ...why? 01:00:24 it does exist obviously 01:00:27 oh wait 01:00:29 no it doesn't 01:00:32 i mean, apart from nudefined 01:00:41 because it returns a polymorphic parameter it isn't given 01:01:08 :t zipWith13 01:01:09 Not in scope: `zipWith13' 01:01:12 :t zipWith9 01:01:12 Not in scope: `zipWith9' 01:01:15 :t zipWith5 01:01:15 forall a b c d e f. (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] 01:01:31 oerjan: ban maharaba plz he is crime of no replying 01:01:40 now why does zipWith5 even exist... 01:01:55 because sometimes you've got to zip 5 lists, I mean come on. 01:02:16 but never 9 01:02:17 NEVER 01:02:29 :t (,,,,,,,,,,,,) 01:02:29 forall a b c d e f g h i j k l m. a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m) 01:02:45 define tuples in template haskell, make generic zipwith 01:02:57 :t zap 01:02:57 oerjan for the win. 01:02:57 Not in scope: `zap' 01:03:00 monqy: there's that proposal for hlists as tuples 01:03:07 (a,b,c) == a :- b :- c :- HNil or whatever 01:03:08 :t zapp 01:03:09 Not in scope: `zapp' 01:03:14 which I guess you define like 01:03:18 hm didn't it get added recently 01:03:30 @hoogle [a -> b] -> [a] -> [b] 01:03:30 Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b 01:03:30 Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b 01:03:30 Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b 01:03:38 hmm wait 01:03:41 I could use that in Shiro... 01:04:26 (zapp? being the equivalent of ap / <*> for zipping, naturally) 01:05:02 data CZ = CZ 01:05:02 data CS r = (:-) {-# UNPACK #-} !Value {-# UNPACK #-} !r 01:05:04 wonder if that would work 01:05:08 -!- FireFly has quit (Quit: swatted to death). 01:05:13 i.e. two-dimensional is CS (CS CZ) 01:06:29 i'm pretty sure unpacking / unboxing only works with fields of fixed size, possibly even fixed type 01:07:01 oerjan: hmm, right 01:07:04 :t ((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)) 01:07:05 forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5 01:07:05 d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10 01:07:05 d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11 a12 b12 c12 d12 e12 f12 g12 h12 i12 j12 k12 l12 m12. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k - 01:07:05 > l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m), a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 -> 01:07:05 c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 -> l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> ( 01:07:07 [7 @more lines] 01:07:10 ?more 01:07:10 a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3), a4 -> b4 -> c4 -> d4 -> e4 -> f4 -> g4 -> h4 -> i4 -> j4 -> k4 -> l4 -> m4 -> (a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l4, m4), a5 -> b5 -> 01:07:11 @more 01:07:11 c5 -> d5 -> e5 -> f5 -> g5 -> h5 -> i5 -> j5 -> k5 -> l5 -> m5 -> (a5, b5, c5, d5, e5, f5, g5, h5, i5, j5, k5, l5, m5), a6 -> b6 -> c6 -> d6 -> e6 -> f6 -> g6 -> h6 -> i6 -> j6 -> k6 -> l6 -> m6 -> ( 01:07:12 ?more 01:07:13 ?more 01:07:13 a6, b6, c6, d6, e6, f6, g6, h6, i6, j6, k6, l6, m6), a7 -> b7 -> c7 -> d7 -> e7 -> f7 -> g7 -> h7 -> i7 -> j7 -> k7 -> l7 -> m7 -> (a7, b7, c7, d7, e7, f7, g7, h7, i7, j7, k7, l7, m7), a8 -> b8 -> 01:07:13 ?more 01:07:14 ?more 01:07:15 ?more 01:07:15 c8 -> d8 -> e8 -> f8 -> g8 -> h8 -> i8 -> j8 -> k8 -> l8 -> m8 -> (a8, b8, c8, d8, e8, f8, g8, h8, i8, j8, k8, l8, m8), a9 -> b9 -> c9 -> d9 -> e9 -> f9 -> g9 -> h9 -> i9 -> j9 -> k9 -> l9 -> m9 -> ( 01:07:17 a9, b9, c9, d9, e9, f9, g9, h9, i9, j9, k9, l9, m9), a10 -> b10 -> c10 -> d10 -> e10 -> f10 -> g10 -> h10 -> i10 -> j10 -> k10 -> l10 -> m10 -> (a10, b10, c10, d10, e10, f10, g10, h10, i10, j10, k10, 01:07:19 l10, m10), a11 -> b11 -> c11 -> d11 -> e11 -> f11 -> g11 -> h11 -> i11 -> j11 -> k11 -> l11 -> m11 -> (a11, b11, c11, d11, e11, f11, g11, h11, i11, j11, k11, l11, m11), a12 -> b12 -> c12 -> d12 -> 01:07:21 e12 -> f12 -> g12 -> h12 -> i12 -> j12 -> k12 -> l12 -> m12 -> (a12, b12, c12, d12, e12, f12, g12, h12, i12, j12, k12, l12, m12)) 01:07:23 yea verily this is a good use of the channel 01:07:33 :t (((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,, 01:07:34 ,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,, 01:07:34 parse error (possibly incorrect indentation) 01:07:35 ,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,))) 01:07:38 lol. 01:07:39 `-` 01:07:41 No output. 01:07:55 :t (.............................................................................................................................................................................................................................................................................................................................................................................................................................) 01:07:57 Not in scope: 01:07:57 `................................................................................................................................................................................................ 01:07:57 ....................................................................................................................................................................................................... 01:07:57 ......................' 01:08:02 :( 01:08:04 good job 01:08:15 :t let a x = (,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a) 01:08:16 forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5 01:08:16 d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10 01:08:16 d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m), 01:08:16 a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 -> c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 -> 01:08:16 l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> (a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3), 01:08:18 [6 @more lines] 01:08:25 :t (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) 01:08:26 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:08:26 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:08:26 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:08:26 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:08:28 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:08:30 [16 @more lines] 01:08:42 woohoo 01:09:08 needs moar zipWith 01:09:14 eek ghc defines that many? 01:09:17 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a) 01:09:20 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:09:20 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:09:20 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:09:20 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:09:20 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:09:22 [379 @more lines] 01:09:28 (i think the haskell report only requires up to 15 or something) 01:09:29 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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) 01:09:34 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:09:34 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:09:34 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:09:34 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:09:34 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:09:36 [889 @more lines] 01:09:39 ...... 01:09:44 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a) 01:09:52 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:09:52 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:09:52 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:09:52 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:09:52 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:09:54 why would you do this 01:09:54 [1569 @more lines] 01:10:04 OK 01:10:06 I'll take it to PM~ 01:10:07 >:3 01:10:19 yes we need no filthy lambdabotsex here in public 01:10:21 get a room 01:10:46 OR NOT 01:10:48 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,) x in (a,a,a,a,a,a,a) 01:10:49 parse error on input `in' 01:10:51 :< 01:10:59 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,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) 01:11:00 A 71-tuple is too large for GHC 01:11:01 (max size is 62) 01:11:01 Workaround: use nested tuples or define a data type 01:11:04 :< 01:11:12 Disappointing. 01:11:15 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,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) 01:11:16 A 70-tuple is too large for GHC 01:11:17 (max size is 62) 01:11:17 Workaround: use nested tuples or define a data type 01:11:24 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,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) 01:11:31 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:11:32 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:11:32 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:11:32 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:11:32 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:11:33 [1711 @more lines] 01:11:37 :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (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,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) 01:11:39 I love how they suggest a workaround. As though anyone needs a 72-tuple. 01:11:51 forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 01:11:51 t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109 01:11:51 t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148 01:11:51 t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187 01:11:51 t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226 01:11:55 CakeProphet: what workaround 01:11:58 CakeProphet, yep. 01:11:59 Lymia: i thought you were taking it to pm 01:12:02 elliott, couldn't. 01:12:07 lambdabot didn't respond. >:( 01:12:08 CakeProphet: oh i see 01:12:17 Lymia: you need ?type or @type 01:12:17 not :t 01:12:21 elliott: 21:11 < lambdabot> Workaround: use nested tuples or define a data type 01:12:25 Lymia: also, take pics 01:12:32 @more 01:12:33 CakeProphet: right 01:12:33 t227 t228 t229 t230 t231 t232 t233 t234 t235 t236 t237 t238 t239 t240 t241 t242 t243 t244 t245 t246 t247 t248 t249 t250 t251 t252 t253 t254 t255 t256 t257 t258 t259 t260 t261 t262 t263 t264 t265 01:12:33 t266 t267 t268 t269 t270 t271 t272 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 t281 t291 t301 t311 t321 t331 t341 t351 t361 t371 t381 t391 t401 t411 t421 t431 t441 01:12:33 t451 t461 t471 t481 t491 t501 t511 t521 t531 t541 t551 t561 t571 t581 t591 t601 t611 t621 t631 t641 t651 t661 t671 t681 t691 t701 t711 t721 t731 t741 t751 t761 t771 t781 t791 t801 t811 t821 t831 01:12:33 t841 t851 t861 t871 t881 t891 t901 t911 t921 t931 t941 t951 t961 t971 t981 t991 t1001 t1011 t1021 t1031 t1041 t1051 t1061 t1071 t1081 t1091 t1101 t1111 t1121 t1131 t1141 t1151 t1161 t1171 t1181 01:12:33 t1191 t1201 t1211 t1221 t1231 t1241 t1251 t1261 t1271 t1281 t1291 t1301 t1311 t1321 t1331 t1341 t1351 t1361 t1371 t1381 t1391 t1401 t1411 t1421 t1431 t1441 t1451 t1461 t1471 t1481 t1491 t1501 t1511 01:12:35 [1938 @more lines] 01:12:58 I need to learn more Haskell... 01:13:07 ..I need to get op privs. 01:13:57 XD 01:14:06 CakeProphet++ 01:14:13 CakeProphet: i was slightly tempted there 01:14:30 at least a kick. 01:14:37 not a kickban :P 01:14:39 `addquote [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] I need to learn more Haskell... ..I need to get op privs. 01:14:40 ​441) [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] I need to learn more Haskell... ..I need to get op privs. 01:14:46 possibly the backstory lessens the humour of that one :D 01:14:53 -!- foocraft_ has joined. 01:15:01 what humour 01:15:02 it's all gone 01:15:14 monqy: there is no humour because I AM NOT ENGLISH. 01:15:15 foocraft_: stop crafting foos 01:15:15 dissected with the frog 01:15:36 or we'll put you behind bars 01:15:49 ohhh snap! 01:16:57 ^ http://www.youtube.com/watch?v=y8m3wC5pH-8 01:17:28 oh snap 01:17:39 -!- foocraft has quit (Ping timeout: 240 seconds). 01:17:40 oerjan: can you ban Maharba[exclamation mark][asterisk]@[asterisk] preemptively for not replying 01:17:42 yes, a 3 second youtube video. 01:19:03 yes, i can. 01:19:12 maybe i'll implement some other language but still call the implementation sylladex 01:19:13 mwahahaha 01:19:54 meanwhile, the loper blog has now completely degenerated into idiocy 01:20:06 * CakeProphet is devising one of those self modifying thingamajiggers. 01:20:14 fascinating 01:20:17 what's loper now 01:20:22 loper-os.org 01:20:27 oh that 01:20:34 it used to be interesting if you could get past stanislav's... stanislavosity 01:20:37 now it's... not 01:20:40 consisting of the self-modifying language and a sister ESOTERIC REGULAR EXPRESSION LANGUAGE. 01:20:49 CakeProphet: latter already exists (cyclexa) 01:22:03 but is it awesome? 01:22:13 the key here is that mine will be awesome. 01:22:18 it's tc :) 01:22:23 it's an ais lang 01:22:28 -yawwwwn- 01:22:35 it's actually really interesting 01:22:38 ask him about it sometime. 01:22:58 perhaps I shall. 01:22:59 only time I heard of loper was in a conversation about laughing at the losethos guy I forget his name 01:23:12 monqy: stanislav is like the losethos guy but less insane 01:23:14 and more coherent 01:23:34 It makes sense that some hypotheticals are unanswerable 01:23:47 oh, sgeo is here. 01:23:51 But not things like what if the sun stopped existing, would we still orbit 01:24:07 hi sgeo 01:24:09 Hi 01:25:08 wow I'm trying to read the loper blog 01:26:15 Sgeo: um that's because "the sun stopped existing" is a violation of energy conservation, so it reduces to "if this thing ruled out by the laws of physics happens, what would the laws of physics say about this intuitively related thing" 01:27:33 -!- zzo38 has joined. 01:30:14 to make the sun "disappear" _without_ violating energy conservation and general relativity, you would have to actually _move_ the energy at lower-than-light-speed somewhere, at which point you could try to calculate the results 01:31:10 oerjan: There's another means. 01:31:29 oerjan: except that it's more like freeze-framing the universe in a debugger, and removing the sun itself 01:31:29 oerjan: The sun could exhibit an exceptionally improbable instance of quantum teleportation. 01:31:40 sure, the laws of physics don't actually allow this, except maybe as pikhq said 01:31:43 but we can model it conceptually 01:31:55 pikhq: hm 01:32:01 (assuming that wave-particle duality holds for such large objects, which is admittedly an open question) 01:32:01 just have a special "event" sun-disappears which has those effects on state, in the laws of physics 01:32:10 and evaluate it to the point where you can be sure that sun-disappears never interacts with the earth 01:32:12 i'm explaining this badly 01:32:14 but basically 01:32:26 you can "implement" things that don't interact with everything else in the universe, in the laws of physics 01:32:35 and as long as you can prove that no such unevaluatable interaction occurs 01:32:41 you can say what the effects would be without actually reconciling this paradox 01:33:02 which is why we can give a perfectly satisfactory answer to the question "what would happen to our orbit if the sun disappeared instantly?" 01:33:50 And that answer is, of course, "Nothing, until the lack-of-gravity and lack-of-light propogates (about 8 minutes)". 01:33:59 elliott: um i interpret "unanswerable" as there is no answer that can be deduced from anything we can plausibly do 01:34:15 oerjan: you mean we can't test it? 01:34:19 of course one could make up hypotheses 01:34:21 that's not what's being asked, the question is one of theory 01:34:57 oerjan: We can make very highly plausible hypotheses from our understanding of valid theories. 01:34:59 oerjan: the question is actually -- "If the laws of physics had a special-case mechanism which made a special state transition at this particular arbitrary point, then what would happen?" 01:35:19 oerjan: now, this is answerable as long as the specific scenario doesn't actually cause some kind of logical contradiction in the theory 01:35:24 even if the theory as a whole has "impossible" scenarios 01:35:37 oerjan: Which is the only reasonable way to interpret questions about such hypotheticals. 01:35:45 oerjan: i mean /any/ hypothetical question is like this 01:36:34 I don't see where RRC made such a comment to someone who asked such a question, link? 01:36:36 Doesn't matter if the hypothetical situation itself could, likely, never be tested without an infinite improbability drive. 01:36:51 Sgeo: see log 01:37:08 Help me understand (self.askscience) 01:37:08 submitted 5 hours ago by Numerous1 01:37:09 If humans are NOT supposed to be monogamous, and are supposed to find the best genes, survival of the fittest and all that, why do humans fall in love? 01:37:14 totes question for /r/askscience 01:38:03 "The other way of quantifying distance is to imagine freezing time at some instant, and then physically measuring the distance between A and B using a series of rulers. Of course, you can't freeze time and physically measure cosmological distances. But you can compute what those instantaneous distances are, using inferences gleaned from astronomical observations and some maths." 01:38:12 why robotrollcall, it looks like you're using a hypothetical impossible scenario here 01:39:07 It's not on http://www.reddit.com/r/askscience/comments/hsrsq/what_would_happen_in_terms_of_gravity_if_you/ as far as I can tell, or her userpage 01:39:07 Did she delete it? 01:39:17 its linked from that thread 01:39:19 didn't einstein explain this measuring distance stuff pretty thoroughly 01:39:37 http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/ 01:39:45 oerjan: i'm just mocking 01:40:15 "Personally, I think the #1 reason to distrust Bitcoin is that both the libertarian nuts and the gold nuts love it." hmm... this person isn't thinking right 01:41:07 Ah, ty 01:42:35 RRC: "Okie doke, so let's say something accelerated the sun very quickly 01:42:35 No, let's not. Let's consider only things that are actually possible." 01:43:05 yeah, that's the objectionable comment IMHO 01:44:20 http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/c1tvm5c well, this does make sense 01:44:23 three days without homestuck update, starting to lose ability to metabolise 01:44:40 elliott, SJAHJ update recently. 01:44:47 Sgeo: the situation is not comparable 01:44:50 and i'm aware of the sbahj update 01:52:10 http://www.nbcnewyork.com/news/local/123187958.html 01:52:14 >how dose i tor 02:00:11 It's more brazen than anything else by lightyears. 02:00:32 Is Shumer utterly unaware that Tor is also being used to keep the website anonymous? 02:00:37 *Schumer 02:01:46 "It's an online form of money laundering used to disguise the source of money, and to disguise who's both selling and buying the drug" - Schumer on Bitcoins 02:02:26 -!- _foocraft has joined. 02:05:44 -!- foocraft_ has quit (Ping timeout: 250 seconds). 02:07:04 elliott: cyclexa is indeed interesting. 02:08:02 I now have some new ideas for my own language. But I'll be focusing more on the ability to define new matching/zero-width operators. 02:11:27 so the language I'm brainstorming currently resembles a traditional language designed for pattern matching more than it resembles a regular expression language. I guess that makes it esoteric. :P 02:15:53 CakeProphet, you mean Perl? 02:16:00 No. :P 02:16:06 #!/bin/perl -sp0777i Perl in a nutshell. 02:16:53 it's still a regular expression language, it's just slightly more verbose. 02:16:59 and has more operators. 02:17:08 that do things not related to matching patterns in text. 02:17:39 essentially they're treated as zero-width assertions. 02:18:11 are you talking about perl or your new language now? >:) 02:18:17 new language. 02:19:24 -!- Lymia has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D | #!/bin/perl -sp0777i but yes, step one will the regular expression language. step two is the self-modifying language. Because the second one will be able to use pattern matching constructs in the first. 02:19:38 -!- elliott has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 02:19:47 :< 02:19:57 you can bash any lang w/ obfuscated code. 02:19:57 perl out of a nutshell 02:20:36 you can even bash bash with obfuscated code. 02:21:30 and in the above example of obfuscated Perl, you can even obfuscate code with bash and bash that too. 02:22:27 There is a result of my experiment that is not according to my theory, though 02:22:43 Sgeo: time to revise the theory. 02:22:51 At low enough gravity, the test object higher up never responded to gravity, but the one nearer the ground did 02:23:01 ...woah. 02:23:07 some kind of field? 02:23:26 I did predict such an effect, but not that low down, and didn't think strength of gravity could affect it 02:23:44 This is in Second Life, btw 02:24:10 My current hypothesis for an explanation is that terminal velocity is lower for lower gravity 02:24:26 elliott, golfed code vs obfuscated code. 02:24:26 oh. lol. well, in actual physics, the strength of gravity most certainly determines the effective radius of the field (even though it's theoretically infinite iirc). 02:25:19 and by "strength of gravity" I actually mean the mass of the object. 02:25:22 Sgeo, just break out the disassembles. 02:25:43 that doesn't help for serverside 02:27:06 Sgeo: try adjusting the gravity and see if the inverse square law applies. If it does you should be able to calculate some kind of cutoff distance for a given mass to not be affected by the gravity. 02:27:33 cutoff distance? 02:28:10 Hmm, test if gravity is as strong in the air as near the surface? 02:28:30 What is big G on Second Life? 02:28:46 yes, basically. and test if it's inversely proportional to the square of the distance, specifically. 02:29:40 -!- _foocraft has quit (Ping timeout: 240 seconds). 02:29:48 um note in ordinary gravity it's distance to the earth's _center_, not the surface 02:29:52 I doubt it, but I'll try it 02:29:56 oerjan: right. 02:30:09 -!- Kustas has joined. 02:30:17 Sgeo: yeah I'm probably expecting too much from Second Life there. :P 02:30:35 I think it's easier to test terminal velocity first, though 02:30:52 but it would explain why objects off the ground wouldn't be affected by a low gravity. 02:31:03 i should do that in elliottcraft 02:31:03 *higher off the ground 02:31:19 infinite threedee plane OBVIOUSLY HAS A CENTRE 02:31:23 CakeProphet, I have a diferent explanation 02:31:58 elliott: is that going to be like a crazy physics playground? 02:32:07 because I would totally play that. 02:32:16 If terminal velocity is not enough to pull the object down 1 representable float within 1 frame, then gravity can't do anything 02:32:19 something that like updated Garry's Mod would be awesome. 02:32:48 Sgeo: ah. That makes some sense. 02:32:58 Then again, the oberved approximate cutoff suggests, under my model, that in low gravity, terminal velocity is reached in about a second, so that seems a bit... um, weird 02:33:03 but does it explain why the elevation matters? 02:33:07 CakeProphet: minecraft done right. by which i mean: completely differently/ 02:33:09 But I should just measure it already 02:33:18 more similar to dwarf fortress, even. 02:33:25 elliott: it should be an awesome physics playground.. 02:33:25 CakeProphet, yes. Higher elevation == representable floats are more distant 02:33:40 elliott: ...text based? 02:34:26 or more similar in that it's more complex. 02:34:42 CakeProphet: no, threedee 02:34:50 :p 02:35:53 elliott: Make it first-person style with AWESOME PHYSICS GUNS that can do things like shoot a projectile through the air and remote detonate it to produce a sustained gravity field at the center of the blast point. 02:36:10 I like to call representable floats of altitude "cosmic shells" 02:36:13 It's more fun 02:36:38 elliott: and a gun that dilates time in a region of space. 02:36:48 no. 02:37:00 ..and then make it a puzzle game. 02:37:05 FINE. I'll just make my own game. 02:37:07 that's for asteroids ii 02:37:12 (time dilation) 02:37:38 I think time dilation would be an excellent element to a puzzle game. Along with a gravity field generating thing. 02:37:41 It's theoretically possible that the gravitational delay I observed is a measuring artifact, I guess. 02:37:52 But the fact that gravity stopped at higher altitudes is not an artifact. 02:37:58 (for low enough gravity) 02:38:13 asteroids ii is a shooter though. but the engine could be reused. :p 02:38:18 Sgeo: perhaps you've discovered a theory of special Second Life relativity. 02:39:10 that has nothing to do with the real one.. 02:39:28 are you suggesting second life isn't real 02:39:42 what? of course not. 02:39:52 I am a second life character, after all. 02:42:56 -!- _foocraft has joined. 02:47:06 beware of the crafty foos 03:14:20 -!- pikhq_ has joined. 03:14:48 -!- pikhq has quit (Ping timeout: 260 seconds). 03:14:54 odd, for some reason my mouse just decides to not work for several seconds at a time. 03:23:29 if it does not affect the keyboard the same way, then it's something esoteric 03:31:24 CakeProphet: after typing? 03:38:59 -!- Sgeo_ has joined. 03:39:11 -!- Sgeo has quit (Ping timeout: 255 seconds). 03:51:30 elliott: sometimes. But that's a different problem related to me accidentally brushing the touchpad, which somehow interferes with the mouse I believe. 03:53:33 CakeProphet: system -> preferences -> mouse -> touchpad, disable "disable touchpad while typing" 03:53:35 (ubuntu) 03:53:42 that might help. very annoying behaviour. 03:57:06 -!- Sgeo has joined. 03:58:16 god i feel ill 03:59:19 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 03:59:58 still no homestuck update. world as we know it starting to decompose. suicide imminent. 04:00:58 "I certainly sat in lots of Scheme design meetings where I pushed for obvious things like branch cuts, error handling, and other "useful" things and was told that such things would ... make the language "too useful" [thus meaning too many people would flock to it and it would be the end of the designers' ability to do the things to the language that _they_ wanted to do]." 04:01:00 --Kent Pitman 04:01:31 Ah, yes, avoid success at all costs. 04:02:05 -!- olsner_ has joined. 04:02:11 To be fair, in Haskell that's achieved by trying to pack in as much abstraction as possible, rather than omitting useful things. :p 04:02:44 It's definitely a sentiment I can get behind, though; god knows how many ideas are ruined because the thinker starts considering other people. 04:03:31 http://christian-success-institute.org/ DEVELOPING SUCCESSFUL CHRISTIAN ENTREPRENEURS THROUGH BIBLICAL SUCCESS PRINCIPLES 04:04:02 * elliott checks if Eigenclass has updated lately. 04:04:07 Nope. 04:05:18 -!- olsner has quit (Ping timeout: 252 seconds). 04:12:27 hey pikhq_ 04:12:30 how much does everything suck 04:14:07 -!- Lymia_ has joined. 04:14:07 -!- Sgeo has quit (Ping timeout: 276 seconds). 04:14:40 -!- Lymia has quit (Disconnected by services). 04:14:42 -!- Lymia_ has changed nick to Lymia. 04:14:44 -!- Lymia has quit (Changing host). 04:14:44 -!- Lymia has joined. 04:16:46 current suckage level: 62.8% 04:17:28 you forgot "and rising" 04:17:36 also, that's far too low a value 04:18:06 Sturgeon's law would imply that only an infinitesimal percentage of things do not suck 04:18:28 Woah, I'm like... writing a language spec. 04:18:35 it's been like 3 years or so I think? 04:18:37 CakeProphet, you are? 04:18:46 yes, I'm working on a regular expression language. 04:18:55 that like, makes sense and stuff. 04:18:56 I usually just write troll languages nowadays. 04:19:01 http://esolangs.org/wiki/Befunge/index.php 04:19:01 http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php 04:19:33 (both named after talk pages spambots repeatedly created; I made the article versions so that the admins couldn't legitimately keep the talk pages protected to prevent vandalism :D) 04:21:12 Well, that was astounding. 04:21:26 Somehow, Firefox was causing swap thrashing without having any pages in swap. 04:21:54 I do believe that's a whole new level of fail. 04:23:01 ewww swap. groooss. 04:23:57 I have no idea why my computer decided to allocate 244 KBs of swap when it's only used 1.6 gigs of memory out of 3.7 04:24:09 It had 0 swap. And thrashing. 04:24:20 *And it was fucking swap thrashing*. 04:24:32 At least, that's what iotop showing kswapd using a bunch of IO tells me. 04:24:53 * CakeProphet uses Chrome, has no problems other than Flash crashing occasionally. 04:25:18 Chrome actually uses more virtual memory than Firefox, although I think less real memory 04:25:24 Since all the code can be shared, pretty much 04:25:29 Of course, virtual memory is irrelevant on sixtyfour-bit 04:25:51 The thing with Chrome for me is that it scales much better with large numbers of tabs whereas Firefox doesn't. 04:26:41 elliott: also see: frequent crashing in Firefox 04:27:17 A program written in an unsafe language crashing? I'm shocked. 04:27:26 Chrome crashes semi-often too, but it's at least usually localised to a tab or a few. 04:44:46 -!- CakeProphet has quit (Ping timeout: 250 seconds). 04:44:55 -!- CakeProphet has joined. 04:44:56 -!- CakeProphet has quit (Changing host). 04:44:56 -!- CakeProphet has joined. 04:45:12 -!- CakeProphet has changed nick to Kallisti. 04:45:22 Yeah, virtual memory is basically a non-issue. Heck, mmap the entire address space and it doesn't even matter. 04:45:54 (well, except that your page table might hate you if you don't madvise to tell Linux to use huge pages) 04:46:21 -!- Kallisti has changed nick to CakeProphet. 04:48:52 night 04:49:19 sleep well. 04:51:36 -!- oerjan has quit (Quit: Good night). 04:54:19 -!- CakeProphet has quit (Ping timeout: 240 seconds). 04:54:25 -!- elliott has quit (Ping timeout: 276 seconds). 04:57:32 -!- CakeProphet has joined. 04:57:32 -!- CakeProphet has quit (Changing host). 04:57:32 -!- CakeProphet has joined. 04:58:36 -!- Sgeo has joined. 05:21:59 -!- Patashu has joined. 05:31:22 And now, the comic is technically no longer Dresden Codak's full-time job. 05:31:32 Let's see if this changes anything at all with the update schedule. 05:34:30 pikhq_: nonsense. 05:36:38 CakeProphet: Previous observations seem to suggest this will be utterly unnoticable. 05:37:12 -!- augur has quit (Remote host closed the connection). 05:42:23 -!- Kustas has quit (Quit: disco out of the blues). 05:46:27 " has rodgerthegreat ever actually said anything that's true? i'm honestly curious" <<< i cannot quite recall such a miracle 05:46:43 then again i recall very few concrete things he has said and many of them you just pasted 05:49:10 -!- pikhq has joined. 05:49:20 -!- pikhq_ has quit (Ping timeout: 240 seconds). 05:49:38 " 05:31:04: Many diseases, conditions and other types of deviations work like this." <<< also what he says about homosexuality sounds correct enough in the sense that the correct modern explanation to everything is "it's complicated" 05:50:40 but i guess you were more worried about his calling gays diseased, so to speak. 05:51:53 It amuses me somewhat that, for a while, I could have probably been called a Christian deist... 05:52:06 Which is such a contradiction in terms I can't help but giggle. 05:52:38 why is it a contradiction? 05:53:09 oklopol: Typically, Christianity holds that there is a large amount of divine intervention in the world. 05:53:16 Deism holds that there is none. 05:54:10 oh that was deism hu 05:54:29 i guess i'm a deist then! 05:54:43 Yeah, deism is the belief that there was a deity who created the world and has since not intervened. 05:55:11 well you know i get this nice feeling in my balls if i think the big bang had a beard and liked marshmellows. 05:55:32 It's perhaps the only theistic claim that doesn't directly contradict known empirical evidence. 05:55:45 *allows 05:55:55 Though, having no basis *in* empirical evidence, it is most likely bullshit. 05:56:31 well it makes it rather meaningless and thus the adult thing is not to talk about it 05:56:33 let's go weak atheism! 05:56:40 Buddhism has some theistic claims that are supported by empirical evidence. Particularly the positive effects of meditation on the brain. 05:56:46 though 05:56:48 CakeProphet: That's not a theistic claim. 05:56:53 that might stretch the definition--yes, that. 05:56:55 CakeProphet: A theistic claim is a claim that there is a deity. 05:57:18 yeah because prayer certainly never has effects on the brain 05:57:29 I interpreted theistic as meaning "something that concerns religious practice", but that's not quite right. 05:57:34 The common subset of the beliefs termed "Buddhism" does not contain a theistic claim. 05:57:36 meditation is different from prayer 05:57:55 Supernatural claims, sure, but not theistic ones. 05:57:55 pikhq: Is Therevada the most common subset? 05:58:16 Not "the most common subset". "The common subset". 05:58:39 As in, the set of beliefs that is common to all beliefs which are called "Buddhism". 05:58:44 ah 05:59:00 INTERSECTION 05:59:12 Though, actually, I'm pretty sure Therevada is fairly close to that. 05:59:19 somewhat. 05:59:22 coppro: i'm not saying they're the same thing, i'm saying i doubt meditation is better 05:59:53 You've got to be pretty damned careful when discussing Buddhism, though. It makes Christianity look homogenous. :P 06:01:03 coppro: Whoo, weak atheism! 06:01:09 what's weak atheism 06:01:20 oklopol: The belief that there is *probably* no deity. 06:01:28 Therevada is at least the most traditional. The common subset would be parts of the Pali Canon I think. 06:01:36 the teachings therein, that is. 06:01:55 And that, even if there is, there is no reason to think *that* there is currently. 06:02:14 As opposed to strong atheism, the belief that there absolutely, positively, IS NOT a deity. 06:02:21 mm 06:02:36 and has as much logical foundation as any theistic claim 06:02:49 Strong atheism is not a very common position. 06:02:50 i'm sure it does 06:03:19 Though it is a commonly held position of strawmen. 06:03:36 From now on, all atheists will be assigned fuzzy atheism values determining their strength of belief in a lack of a deity. 06:04:05 -!- _foocraft has quit (Ping timeout: 255 seconds). 06:04:36 -!- augur has joined. 06:04:38 There's also the belief that atheists... Hate $DEITY (typically YHWH). 06:04:42 That one confuses me greatly. 06:04:54 I can't hate something that I don't believe in. 06:05:01 pikhq: that one's not special to atheists 06:05:02 Yeah, precisely. 06:05:12 coppro: Oh? 06:05:14 coppro: Oh dear. 06:05:32 pikhq: though it's possible to hate that other people believe such a thing. Or to hate the concept itself. So that's not out of the question, and would be very similar to hating the deity itself for someone who believes these things. 06:05:36 Any person not of $RELIGION hates $DEITIES[$RELIGION] 06:05:37 duh 06:06:08 CakeProphet: Distinct from hating the deity personally, though. 06:06:26 I CLEARLY DESPISe EVERY DEITY EVER 06:06:26 * @{$DEITIES{$RELIGION}} if this is Perl.. of course. :D 06:06:32 pikhq: right. 06:06:32 BANJO CAN SUCK MY COCK 06:06:47 there should be a term for people who love to talk about this stuff, that's really all that matters. maybe theist should mean that. 06:07:02 i'd be the only atheist in town 06:07:21 then again i love telling people how annoying these talks are when they occur, so i guess i'm just as bad 06:07:41 I enjoy my stance of agnosticism, primarily because I don't have to explain much. 06:07:53 CakeProphet: Do you believe that there is a deity? 06:08:10 pikhq: I believe that I can't know the answer to that question. 06:08:22 What's your best guess? 06:08:25 no 06:08:34 weak atheis 06:08:39 s/$/t/ 06:08:39 CakeProphet: I'm not asking "Do you think there is a deity, or do you think there is not a deity?" 06:08:45 -!- oklopol has quit. 06:08:53 CakeProphet: I'm asking "Do you think 'There is a deity' is definitely a true statement?" 06:09:20 pikhq: I know exactly what you asked. :P There are multiple questions I can't know the answer to. 06:09:28 Applying aristolean binary on/off logic to deities and religion is a GREAT idea guys!!! 06:09:39 Let's argue about undecidable questions 06:09:48 eeh eeh eeh! do do do! 06:09:51 * Patashu smug 06:09:53 Patashu: Fuck you and your lack of reading comprehension. 06:10:22 I prefer to apply nine-valued vdhl logic to logical statements about deities. 06:10:44 I believe that the truth of "There is a deity" is U (uninitialized) 06:10:49 http://www.abelard.org/category/category.php 06:10:52 this guy will free ur mind 06:10:57 CakeProphet: Then you're an atheist. Congrats. 06:11:15 CakeProphet: BTW, 9-valued VHDL logic is definitely a good choice for this. :P 06:11:25 pikhq: well, sure. Atheism and agnosticism aren't mutually exclusive believes. 06:11:28 what's VHDL logic again? high, low, don't know, don't care, error... 06:11:29 *beliefs 06:11:32 CakeProphet: Quite true. 06:12:35 Patashu: I believe there are two for "true" and "false" with no high and low impedence quality. 06:13:00 so that's...six in total? 06:13:04 if you meant no/high/low 06:13:11 Patashu: I'm going to insist on a proof that this person has attended an "Intro to Logic" course. 06:13:26 or a Philosophy class would do. 06:13:32 Patashu: http://en.wikipedia.org/wiki/IEEE_1164 06:13:36 there. :D 06:14:07 CakeProphet: Well, yes. Any course with a satisfactory treatment of deductive logic would work, really. 06:14:29 ty cakeprofit 06:14:33 err, prophet 06:14:34 O:) 06:15:12 there's 6 for (weak|strong) (true|false|unknown), then high impedence, don't care, uninitialized 06:15:20 -!- Vorpal has joined. 06:15:21 interesting 06:15:45 Patashu: Also, this discussion seems to start off with wrong *premises*. 06:15:50 the true, false, unknown bit is also a ternary logic system in itself. 06:16:02 and then the strong weak stuff comes from four-valued logic used in circuits. 06:16:04 yeah, though not a useful one I think? 06:16:09 right 06:16:09 things that, I don't know anything about. (circuits, that is) 06:16:22 Patashu: ternary logic can be useful. 06:16:26 Patashu: Categorical logic is not commonly used these days, due to being a relatively weak system of logic. 06:16:30 I agree it can be useful 06:16:43 but if one of the values is 'unknown'...unless that's a specific value, not the value is unknown? 06:16:59 in programming languages, it's not common to have a real ternary logic system though. Most languages simply treat the undefined value as false. 06:17:09 unknown is a specific value. 06:17:17 representing the case where the truth is unknown. 06:17:28 mmk 06:17:39 It's truth-functional propositional logic that's commonly used, and the discussion you linked to doesn't even make any claims against it. 06:17:41 (true or unknown) = true; (false or unknown) = false 06:17:50 (though, the claims it *does* make are non-sense) 06:17:57 s/non-sense/nonsense/ 06:18:02 (true|false) and unknown = unknown 06:18:10 it all makes intuitive sense. 06:20:22 not unknown = unknown 06:21:11 what about fuzzy logic? 06:21:12 I'm not sure how conditional statements work, or anything like that. I assume you just construct everything with (and|or) and not 06:21:15 true and 0.6*true = 0.6*true 06:21:16 Patashu: what about it? 06:21:30 fuzzy logic doesn't really work that way, I think. 06:21:55 well, if it has a 60% chance of being true and a thing that is always true, the and is 60% too 06:22:03 that's not the same as fuzzy logic 06:22:19 that's probability logic. 06:22:30 fuzzy logic is a "degree" of truth. 06:22:57 x AND y = minimum(truth(x), truth(y)) 06:23:03 according to wikipedia 06:23:17 although that's just one way of defining it 06:23:35 okay that makes sense. 06:23:45 or is max I'd imagine. 06:23:59 and not is 1-p 06:25:01 you could also define it as with probability. With and as multiplication, and or as addition with a maximum value of 1. 06:25:36 depends on the application. 06:25:39 -!- jcp has quit (Ping timeout: 244 seconds). 06:26:41 :t (||) 06:26:42 Bool -> Bool -> Bool 06:26:52 honestly the boolean operators should be typeclass methods. 06:27:55 http://www.captchart.com/post/2546187692/corgling-good-submitted-by-stammsternenstaub I want one 06:28:02 :t min 06:28:03 forall a. (Ord a) => a -> a -> a 06:28:19 > min True False 06:28:20 False 06:28:22 thought so 06:28:26 is there an Unknown in haskell? 06:28:32 not in Bool no 06:28:40 there's Nothing, which is of type Maybe t 06:28:46 which can act as an unknown value. 06:28:52 there's undefined 06:28:55 or a number of things. But it doesn't fit into the ternary logic model. 06:28:55 One could define a Trivalue type just fine. 06:29:27 though you'd have to give true and false a different name 06:29:33 data Trivalue = Unknown | True | False -- Note: will need a qualified import 06:29:43 CakeProphet: Or do a qualified import of Prelude. 06:29:44 ah, or do that. 06:30:16 undefined is something quite different from unknown in this sense. 06:30:28 Yeah, bottom is very different. 06:30:45 I wasn't paying attention so I didn't know what you were talking about 06:30:52 monqy: Trivalue logic. 06:31:02 mm 06:31:08 Perl employs a kind of three-valued logic between true, false, and undefined 06:31:18 how does it work there 06:31:19 damnit I have all these tabs open but everyone is talking about things on IRC and they are interesting 06:31:20 -!- jcp has joined. 06:31:58 undef is considered false in a boolean context, but many functions will return undef to signify something different than true and false. 06:32:05 usually "another kind" of false. 06:32:27 and then there's defined(x), which returns true for both true and false values, but false for undef. 06:32:39 I think SQL does ternary logic 06:32:44 with true/false/null 06:33:26 is true or null = true? 06:33:47 think so...let me try and find out 06:33:48 or is it like most languages where null/nil/undef is a special kind of false value. 06:34:03 None in the case of Python. 06:34:05 according to ye wikipedia: http://en.wikipedia.org/wiki/Three-valued_logic#Applications 06:34:13 You could rather easily do trivalue logic in Java. 06:34:41 Note that a missing value is not the same as either a numeric value of zero, or a string value of zero length. 06:34:45 Though you'd have to do the operators manually. I'm at least pretty sure that trying to do an operator on a Null will get you an exception. 06:35:00 huh, operator on a null/ 06:35:04 in java only objects can be null 06:35:07 and primitives won't work on objects iirc 06:35:14 Oh? Fuck Java even more. 06:35:15 because you can't define operators for things 06:35:30 well except for the capital letter object versions of primitives and strings, of course 06:35:31 which are Special 06:35:39 one of my favorite things about Perl logic is that the boolean operators also serve as control flow statements. and/or return the last parameter evaluated. 06:35:47 iirc the biginteger class has a big ass list of add(biginteger a, big integer b) type methods 06:35:55 I was, of course, referring to the objected version of Bool... 06:36:01 hmmmm 06:36:02 one second 06:36:10 yes a boxed Bool can be set to null. 06:36:10 I hate it when people use boolean operators as control flow 06:36:18 CakeProphet: That's actually fairly common in imperative languages... 06:36:19 bugs me so much 06:36:27 CakeProphet: As typically, the boolean operators short-circuit. 06:36:39 monqy: why? it's not very difficult to follow and makes things very convenient. 06:36:41 Boolean has compareTo, equals, booleanValue 06:37:00 CakeProphet: You can, in fact, do it in C, though not as usefully without GNU expression statements. 06:37:03 compareTo throws nullpointerexception 06:37:03 CakeProphet: it's not very difficult to follow until it gets difficult to follow 06:37:04 oh lord 06:37:12 equals does not thank god 06:37:13 pikhq: but in C for example they return bool. Perl literally returns whatever the parameter was. Perl doesn't actually have boolean data types. 06:37:42 CakeProphet: No they don't. 06:37:44 lots of languages are like that aren't they 06:37:47 CakeProphet: They return int. 06:38:01 pikhq: er, right. 06:38:02 CakeProphet: C doesn't actually have boolean data types. 06:38:11 scheme and lua, for two 06:38:16 (well, there's _Bool, but that's just an integer type) 06:38:18 pikhq: bool is a kind of synonym for int, yes. 06:38:44 haskell is lazily evaluated so you never need that nonsense 06:38:55 ...I'm not talking about short-circuiting. 06:39:12 well then 06:39:18 haskell is functional so you never need that nonsense 06:39:41 I'm saying. you can do things like: function($x || 4) and it will return 4 if $x is false. 06:40:28 monqy: that was more directed to above statements that I didn't have time to respond to. 06:40:52 Aaaah, bad type systems. 06:40:56 heheheh 06:41:04 more like "almost no type system" 06:41:11 I must say I do like a good type system 06:41:14 CakeProphet, that example sounds perlish 06:41:25 it is very perlish. 06:41:44 CakeProphet: You see, bad! 06:41:50 $x //= 3 will give $x a value of 3 if it's currently holding undef (which it does by default) 06:41:56 CakeProphet, what does it do in perl? 06:42:03 And it definitely has an extensive type system. Those damned sigels would have no meaning otherwise. 06:42:11 the $x || 4 one I mean 06:42:35 same sort of thing as || does in shell? 06:42:44 anyway in haskell you'd probably use the maybe monad for that sort of thing 06:42:46 Vorpal: function is just a dummy name. || returns the last value evaluated by short-circuiting or. 06:42:50 Vorpal: I think so. 06:42:54 ah 06:42:57 yes sounds like it 06:43:11 and <|> 06:43:19 CakeProphet, it would just equal 1 in C. I have to say that is somewhat saner 06:43:27 at least I think you'd use <|> and Maybe 06:43:28 well, 1 or 0 06:43:35 that sort of construct that is 06:44:01 which language has more operators. haskell or perl? 06:44:04 Vorpal: it's the exact same effect, except you can now pass the original value to outer expressions. 06:44:22 haskell operators are just functions 06:44:25 Patashu, I would assume haskell, though maybe not if you limit yourself to prelude 06:44:28 dunno about perl 06:44:33 Vorpal: because if $x || 0 returns 0, that is false in boolean context. $x || 4 would return 4, which is true. 06:44:45 Patashu, and only count those that you don't need ` for 06:45:00 CakeProphet, hm 06:45:03 yeah when I say operator I mean 'funny symbol string' 06:45:09 :D 06:45:26 Patashu: Then Haskell. 06:45:28 Haskell has more operators for sure. 06:45:35 > let (~~!~~) = (++) in "look " ~~!~~ "operator" 06:45:37 Patashu: Because there are infinitely many possible such things. 06:45:39 mueval-core: Time limit exceeded 06:45:42 oops 06:45:44 lol 06:45:45 nice 06:45:45 oh 06:45:48 does perl let you define your own operators? 06:45:49 I used a bad thing 06:45:53 Vorpal: No. 06:46:02 ah, definitely haskell then 06:46:04 > let (.+.) = (++) in "look " .+. "operator" 06:46:04 you can however overload existing operators OO-style. 06:46:06 "look operator" 06:46:09 :) 06:46:10 there's a library for perl that lets you define new operators 06:46:13 by chaining unambiguous ones together 06:46:24 eww 06:46:29 so... perlish! 06:46:34 haha perl 06:46:35 yep! 06:46:48 and there's a template system for C++ that lets you define constants by drawing cubes 06:46:58 Patashu, *blink* 06:46:58 because it's an unambigous series of operators once all the whitespace is removed 06:47:03 let's see if I can find it again 06:47:03 Patashu, care to link me? 06:47:19 wow what 06:47:19 but anyways, Perl's boolean operators are awesome because I don't have to pull out if statements to do something very very simple, like return a default value in the case that something is false/undefined. 06:47:23 http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha! 06:47:40 Vorpal: It used a similar trick to that IOCCC entry that computed pi by examining its own area. 06:48:05 pikhq, that one depended on K&R CPP iirc? 06:48:20 Vorpal: I don't think it was anything inherent. 06:48:30 CakeProphet: Perhaps you should use a better language. 06:48:38 pikhq, hm. 06:49:30 CakeProphet: what languages do you know, anyway 06:50:51 http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha! <-- ew 06:50:53 Perl, Python, C, Java, C#, Haskell (though it escapes me very quickly), sh. Those are the ones I'm pretty comfortable with. 06:51:13 so you're comfortable with haskell but it escapes you? 06:51:19 yep. 06:51:24 haskell is definitely complex to learn. I know some of it. But there is so much of it. 06:52:07 I now Haskell. Syntax and semantics. All of the abstract modules that most Haskell programs rely on? No. 06:52:14 *know (I also know English) 06:52:31 CakeProphet: I find the abstractions to be utterly simple, personally. 06:52:50 Of course, I'm a freak who picked up Haskell in a week. 06:52:51 :P 06:53:28 pikhq, haskell has a vast standard library. I only know a fraction of it yet. 06:53:41 Vorpal: Prelude really isn't that large. 06:53:52 Some of the other stuff that comes in GHC is, though. 06:54:13 pikhq, I meant stuff like Control.Whatever and so on 06:54:29 Control.CategoryTheoreticalAbstractionNumberFourteen 06:54:35 Yeaaah, that's not standard stuff. 06:54:36 coppro, :D 06:54:43 pikhq, well, it is used quite a bit 06:54:44 Some of it ships in the Platform, though. 06:54:51 pikhq, if we keep to prelude I'm quite okay 06:54:54 Languages I don't know as well (I'll be constantly referring to reference material, but I know the language itself): C++, PHP, Javascript, Scheme 06:54:56 That "some" is relatively easy, though. 06:54:56 I know C++ and java and I can pretend to know haskell, bash and python 06:54:57 aw yeah!!! 06:55:00 I need to learn more languages 06:55:17 I try not to know php 06:55:17 Patashu: I can pretend to know Ruby. :) 06:55:19 (The misuse of Theoretical instead of Theoretic was a design mistake that was standardized early and no one has since bothered attempting to correct in order to maintain backwards compatibility) 06:55:22 CakeProphet: Pretty much all C++ programmers will need to keep a reference manual handy. 06:55:23 hehe 06:55:24 monqy: me too. 06:55:29 CakeProphet: C++ is just too big to keep in your head. 06:55:42 couldn't you do some kind of aliasing thing to let you use either? 06:56:01 either of? 06:56:10 theoretic or theoretical 06:56:43 Patashu: it's a highly contentious issue 06:56:49 haha 06:56:50 I know C very well. Bash I know intimately. Haskell I know some of. And then there is a crapload of other languages which I knew but haven't used much or know some of and so on, including everything from pascal and vhdl to python and scheme. 06:57:49 monqy: the main trying to not know PHP is a good idea is because it's a very poorly designed subset of Perl with a standard library that makes absolutely no sense. 06:57:53 *main reason 06:57:56 python is easy to pretend to know 06:58:19 Python was the first language I completely mastered. 06:58:30 wasn't difficult. 06:58:31 There's a lot of languages where you can hum a bar and I can fake it. 06:58:35 CakeProphet: I am the sort of awful person who dislikes it when people like php 06:58:42 monqy, I actually coded in it though (python that is) 06:58:50 mostly university stuff 06:58:54 python is easy to code in 06:58:58 yes 06:59:11 oh erlang, I know that fairly well. Better than haskell definitely. 06:59:14 I used to think Python was a good language. I have since learned better. 06:59:33 I can pretend to know erlang but I don't know any of the standart guard/function/whatever names 06:59:35 CakeProphet, I'm mostly annoyed at python's abysmal speed. 06:59:41 even pypy is utterly slow 06:59:57 I don't judge languages based on implementation speed 07:00:06 I don't see what's so special about python though 07:00:07 what kind of person thinks -python- is a bad language 07:00:10 ?_? 07:00:11 monqy, true, but I have yet to see a fast python implementation 07:00:38 monqy: someone who exects more and doesn't enjoy being treated like a child from the perspective of the language designer. 07:00:41 er 07:00:44 ^ Patashu 07:00:49 heheheheh 07:00:54 Patashu: If nothing else, there's the bit about van Rossum being convinced that TCO is a misfeature. 07:00:55 Patashu, come on, dynamically typed, and not pattern matching. At least erlang has the latter. 07:01:15 okay guys 07:01:16 this is it 07:01:19 what is The Best Language 07:01:24 all languages suck 07:01:26 yep 07:01:30 * Patashu goes home 07:01:32 Patashu, that depends on what you plan to use it for 07:01:32 Haskell has the lowest level of suck. 07:01:40 I have to agree with pikhq on that one. 07:01:42 I think I'll learn python next anyway, can't be worse than java 07:01:46 pikhq, haskell would not be very good for programming FPGAs in 07:01:52 Patashu: you should learn Perl because it is the best thing ever. 07:01:56 I should huh 07:01:58 Vorpal: I was giving a statement about the general case. 07:02:00 Patashu: and Python is much better than Java. 07:02:11 pikhq, I'm saying it is domain dependent which is the best language 07:02:12 I know python has a module for making GUIs/graphics stuff in it somewhere 07:02:14 does perl? haskell? 07:02:22 Vorpal: Most languages do. 07:02:23 imagining using opengl from within haskell gives me a shiver 07:02:24 haskell is good until I get really annoyed with what it lacks and how it's a pain to metaprogram 07:02:25 there are some things where sed is excellent. 07:02:25 Erm. 07:02:26 Patashu: ^ 07:02:28 Patashu: uh, what? 07:02:34 doesn't make sed a good language for most tasks 07:02:52 also I have a gripe about infix operators but that is just me 07:02:59 Patashu, yes, I think the existing opengl bindings for haskell are pretty much a direct mapping 07:03:00 Patashu: The only issue with the OpenGL binding in Haskell, for instance, is that it's all in IO, and hence not that Haskelly. 07:03:02 which... sucks 07:03:08 yeah that's what I mean 07:03:12 opengl is a global variable state machine 07:03:14 haskell is not 07:03:19 Python is actually pretty good at metaprogramming. But, so is any decently made dynamically typed and interpreted language 07:03:50 The only languages that are "pretty good" at metaprogramming are Lisps. 07:03:57 indeed 07:04:00 yep 07:04:40 easy to metaprogram, yes. I was talking about pure capability. 07:04:58 pure capability: do it by hand 07:06:53 as I see it, at a certain point, languages are all about making things nice (in a general enough sense to encompass safety and friends) 07:07:40 Even more generally, languages are all about making things good. 07:07:54 insert definition of good. 07:08:05 I'll equate nice and good here so we can agree 07:08:27 oh yes, we were always in agreement. 07:08:49 languages are about communication, be it between humans, between a human and a compiler, between two programs or whatever. 07:09:13 but is it nicegood communication 07:09:20 monqy, possibly 07:09:29 monqy, but why does English exist then? ;P 07:09:34 :'( 07:09:46 okay, French is harder to learn, definitely. 07:09:51 is french better 07:09:56 what 07:10:00 than english 07:10:04 I said harder to learn, that means worse 07:10:06 oh 07:10:23 I meant in terms of elegance, power, lack of ambiguity, and friends 07:10:27 "Harder to learn" is not an objective statement regarding languages. 07:10:31 of course, all natural languages suck apart from lojban possiblyu 07:10:34 possibly* 07:10:40 Lojban is not a natural language. 07:10:41 lojban is very natural 07:10:42 It's a conlang. 07:10:48 true 07:10:49 of course I jest 07:11:23 pikhq, what is a generic term for languages used to communicate between humans then? 07:11:31 verbal? 07:11:32 human languages? 07:11:36 hm 07:11:36 not necessarily verbal 07:11:39 yeah true 07:11:57 do you need a more generic term? 07:12:06 I guess "human languages" work 07:12:06 (less generic?) 07:12:23 though it *does* exclude aliens. 07:12:24 "Natural languages" is a term but only if you exclude constructed ones. 07:12:40 fizzie, constructed ones should be included. That was the point. 07:12:46 There's not a commonly used generic term. 07:12:48 Didn't bother to read backscroll, and it shows, yes. 07:13:05 fizzie, speaking of which. Hi. 07:13:05 "Spoken language" doesn't include sign languages, "natural language" doesn't include conlangs, ... 07:13:17 "Human language" probably includes programming languages. 07:13:22 afaik language only referred to how humans communicated until programming came along 07:13:30 I meant human languages as in meant for human communication 07:13:34 hm I should learn to *speak* Lisp. 07:13:42 programming language would be meant primarily for communication with machines 07:13:42 just to fuck up the term "spoken languages" 07:13:47 so you'd verbalize a program that outputs the result you want to communicate? 07:13:53 Patashu: And then came Chomsky. 07:13:54 Open bracket open bracket... 07:14:02 Patashu, no that is it rendered in English 07:14:15 Or would you come up with a syllable for each symbol 07:14:19 So ( would be like weoop 07:14:23 and ) is deeoop 07:14:30 you need to speak the *actual* language. Presumably somehow speaking the AST. 07:14:37 -!- sebbu has quit (Ping timeout: 276 seconds). 07:14:43 hm 07:14:51 well then you can't use sugar can you :( 07:15:00 oh good point 07:15:10 if you want to learn to speak a programming language, learn to speak golf script 07:15:16 it'll take you the least amount of time 07:15:22 good point 07:15:26 speaking perl would be pretty great 07:15:48 monqy, oh god, I wonder what a typical JAPH would sound like XD 07:16:33 how would a human interpret something like erlang 07:16:38 http://spikedmath.com/272.html 07:16:50 monqy, hm... 07:16:59 assuming actual use of concurrency and friends 07:17:38 generally, interpretation of any sort of complicated control/flow would be interesting 07:18:02 monqy: There is no requirement that concurrency be implemented by many *actual* simultaneous threads of execution. 07:18:10 monqy, using Petri nets you could understand them I guess. 07:18:11 It's sufficient to merely keep track of multiple program counters. 07:18:16 but that is not what you asked 07:18:52 pikhq, and registers. erlang compiles to a register machine byte code iirc. 07:19:26 Ah, right, it does. 07:19:30 pikhq: right, but for a human to keep track of it at all (in common conversation) would be nice 07:19:38 where by nice I mean hilarious 07:20:26 where by hilarious I mean interesting 07:21:17 monqy, where by interesting you mean nice? 07:21:25 possibly 07:23:32 a language with really crazy flow and necessitation of a lot of memory 07:23:53 designed to be difficult for human communication 07:24:21 I need to find a way to ethically measure terminal velocity 07:24:30 ethically? 07:25:12 you're still talking about second life right? 07:25:15 Yes 07:25:16 always 07:25:31 Can you explain second life ethics? 07:25:33 I'm dropping stuff off of high heights 07:25:40 I set it up so that they're "temporary" 07:25:45 After some time, they die 07:25:46 alternatively, an extremely straightforward language where nearly all remembering is done as part of learning it 07:25:48 But they're dying too soon 07:25:51 designed to be easy for humans to use 07:25:59 They're dying too soon 07:26:08 Sgeo: why not make them something other than temporary? 07:26:09 monqy, which language is that 07:26:11 Disabling the temporary might mean accidentally leaving litter all over the place 07:26:25 CakeProphet, I'll probably set them up to respond to a simwide command to die 07:26:31 Vorpal: purely hypothetical, as far as I know :( 07:26:49 monqy, ah. a language with really crazy flow and necessitation of a lot of memory <-- that one likely does exist though 07:26:50 Sgeo: is it you that enjoys MUDs/text-based-games? 07:27:07 SL isn't text-based 07:27:11 I know. 07:27:14 sgeo is the virtual worlds guy 07:27:18 he enjoys virtual worlds 07:27:20 monqy, I would suggest something based on malbolge 07:27:28 Sgeo: do you enjoy MUDs? 07:27:39 since they are very much like virtual worlds. 07:27:39 CakeProphet, MUSHes, a little 07:27:41 and MOOs 07:27:47 Sgeo, what about table top rpgs? 07:27:54 Sgeo: well, right, I use MUD as a general term for all of those things. 07:27:54 Vorpal, I do like Paranoia 07:27:59 oh my 07:28:16 Sgeo, what about the classical ADnD? 07:28:21 the problem with MUSH is it has awful syntax. MOO is a little better. 07:28:44 s/n/\&/ 07:28:51 does malbolge have crazy control flow 07:29:00 monqy, very. Check the esolang wiki 07:29:03 ooh 07:29:18 Paranioa? 07:29:19 CakeProphet, I like MOO coding, at least from what I understand of it, but LambdaMOO may as well be dead, there's no one there 07:29:22 Paranoia* 07:29:25 Vorpal: no need to escape things in the replacement string of a substition. ;) 07:29:26 The RPG? 07:29:30 Oh, yes. 07:29:30 Lymia, yes 07:29:33 I should host that. 07:29:34 :D 07:29:41 CakeProphet, you fail at sed 07:29:48 CakeProphet, & means "the match" 07:30:01 CakeProphet, so *yes* I need to escape it 07:30:05 Vorpal: so..... s/n/n/? 07:30:17 CakeProphet, that is what s/n/&/ would do yes 07:30:23 ah. 07:30:25 CakeProphet, which is quite pointless 07:30:28 yes. 07:30:58 yes, I do fail at sed. Because I use Perl instead. oh ho! 07:31:12 master of rhyme. 07:31:20 ooh "Set code pointer to the value pointed to by the current data pointer." always good 07:31:41 variable goto considered harmful 07:32:11 monqy, malbolge still? 07:32:17 malbolge always 07:32:35 Patashu, you are talking about malbolge. I would just say "malbolge considered harmful" 07:32:51 is there variable goto in non-malbolge languages? 07:33:06 gcc c has it 07:33:20 Patashu, most assemblers have it 07:33:27 thought so 07:33:31 indirect jump or so 07:34:20 ridiculous continuation usage such as to emulate variable goto 07:34:28 a favorite pasttime 07:34:37 ew 07:36:49 the fakest thing in the world is freddiew beating stacker: http://www.youtube.com/watch?v=-e_NiwPz-MQ 07:37:20 My terminal velocity hypothesis is slowly being debunked 07:41:17 Sgeo, so Second Life does inverse square law? 07:41:41 Lymia, wasn't trying to measure that 07:41:58 Wasn't taking notes on exact velocities either 07:52:16 -!- zzo38 has quit (Remote host closed the connection). 08:01:42 I enjoy this IOCCC entry: http://www0.us.ioccc.org/2000/primenum.c 08:03:31 though it's not very obfuscated... 08:19:32 CakeProphet, I like the one that is shaped like an aircraft 08:19:32 OR IS IT? 08:19:36 forgot which year 08:19:57 that is some absurd timing. Quiet for many minutes, and then we spoke within a second of each othjer 08:20:00 other* 08:20:05 1998 08:20:12 it's a flight simulator. 08:20:32 CakeProphet, calling it a simulator is stretching it 08:21:00 CakeProphet, I mean, it doesn't even stall. Or behave reasonably in any way 08:21:12 well... I don't actually run any of this code I just go by the description. 08:21:14 http://www0.us.ioccc.org/1994/schnitzi.c 08:21:20 this is by far my favorite one that I've seen so far. 08:22:16 it opens a file and mirrors it along a diagonal. Running it on itself produces a program that does the same thing. 08:25:59 wow, that's neat 08:28:24 my thoughts too 08:28:26 -!- Vorpal has quit (Ping timeout: 248 seconds). 08:28:53 though I don't believe running it a second time will work. 08:29:07 according to the .hint file 08:31:55 well no, that would be impossible I think. applying the program twice to itself should produce the original. I think I misread. 08:32:09 ah, it's not perfectly symmetrical. 08:33:12 -!- olsner_ has quit (Quit: Leaving). 08:49:46 Oh hey, the author of that program lives in Marietta, GA too 08:50:19 I wonder if he still does. 09:01:11 heh, there's an entry that is: #include "/dev/tty" 09:01:32 won best abuse of the rules. 09:05:39 nice 09:16:30 -!- monqy has quit (Quit: hello). 09:16:41 -!- myndzi has quit (Ping timeout: 255 seconds). 09:22:05 -!- myndzi has joined. 09:25:10 -!- pikhq_ has joined. 09:25:13 -!- pikhq has quit (Ping timeout: 260 seconds). 09:28:18 CakeProphet, so... 09:28:21 It's a C compiler? 09:28:21 =p 09:31:56 CakeProphet, link to the /dev/tty thing? 09:31:59 Also, the rule added to stop it. 09:32:48 -!- GreaseMonkey has quit (Quit: The Other Game). 09:33:04 Lymia: http://www0.us.ioccc.org/1988/spinellis.hint 09:33:20 ...change .hint to .c to see the source code. But I have no idea why you would do that since I told you what it was. 09:34:13 wait 09:34:17 #include "/dev/tty" 09:34:18 ... 09:34:19 oh my god 09:34:22 it includes whatever you type 09:34:30 Yes. 09:34:33 O_O 09:39:29 -!- Tritonio has joined. 09:51:40 `run head -c 10 /dev/random 09:51:44 No output. 09:51:52 `run ls /dev/random 09:51:54 No output. 09:52:55 aw 09:54:10 -!- Vorpal has joined. 09:56:26 CakeProphet, hm, the IOCCC is dead now however? 09:56:27 what other horrible things could you include 09:56:33 include a socket, have C code streamed from other computer? 09:56:44 Patashu, #include "/dev/urandom" 09:56:49 thought of that 09:56:52 but it'd never generate code 09:56:54 or end for that matter 09:56:54 wait, no, it cannot be used 09:56:55 yes 09:57:26 I often sit and stare at /dev/urandom seeing if it will ever output a C program... 09:57:36 can you include a named pipe? 09:58:02 CakeProphet: but all it does is perl, right? 09:58:16 lol 10:02:08 but it'd never generate code 10:02:09 well 10:02:16 unlikely 10:02:19 'never' 10:02:20 but it *could* happen 10:02:21 you know what I mean 10:02:36 Patashu, I'm still catting it waiting to get a free copy of every book written 10:02:47 how would you know when you had it? 10:02:48 it would be interesting to attempt to express as a probability. 10:02:52 also, extremely complicated. 10:03:07 Patashu, well, some sort of sense when interpreting it as ascii? ;P 10:03:20 what's the shortest possible C program? 10:03:35 with some compilers the null string is an acceptable C program. 10:03:41 & 10:03:43 er 10:03:47 what he said. 10:03:55 i was gonna do ^ :p 10:04:25 otherwise I think it would be like... 10:04:40 int main(); 10:04:41 ? 10:04:44 no. 10:05:03 it needs to have -something-, right? 10:05:04 you'd basically just declare an empty main. 10:05:21 int main(){return 0;} 10:05:22 CakeProphet, const char main[] = "\0"; <-- likely to segfault 10:05:23 no it can be empty I believe. Just { } 10:05:31 if it even compiles 10:05:37 doesn't it -have- to return something? guess it depends on the standard 10:05:57 Patashu, main? not in C99. Then main has an implicit return 0 at the end 10:06:02 stupid change IMO 10:06:22 can't main be void as well? 10:06:43 CakeProphet, not in standard C afaik 10:08:05 this might be of interest: http://golf.shinh.org/p.rb?Timeout 10:08:20 according to whatever (probably extremely lax) compiler golf.shinh.org uses, this is a valid C program 10:08:24 main=-277; 10:08:33 and so is this 10:08:33 main='\xfe\xeb'; 10:08:42 > (1/256)**(length "int main {}") 10:08:43 No instance for (GHC.Float.Floating GHC.Types.Int) 10:08:43 arising from a use of... 10:08:51 bah 10:08:58 > (length "int main {}") 10:08:59 11 10:09:06 > (1/256)**11 10:09:07 3.2311742677852644e-27 10:10:19 there is your probability of randomly picking 11 bytes and getting that string. 10:11:41 however, if you combine that probability with several hundred variations of short C programs you might get some more reasonable odds. 10:12:14 http://moonbase.rydia.net/mental/blog/programming/zipperfs 10:12:26 but anything more than a few bytes becomes effectively indistinguishable from 0 10:12:39 "one can cd into a lambda-term in bash." 10:12:41 wtf 10:12:45 > ((1/) . genericLength . group . sort $ "int main {}") ^ (length "int main {}") 10:12:47 1.1641532182693481e-10 10:13:22 Deewiant: hmmm? 10:13:48 Patashu, so, wait. 10:13:51 CakeProphet: Filtering out bytes that don't exist in "int main {}" 10:13:57 You could submit a string that looks like main='[binary blob]'; 10:14:18 And.. win. 10:14:19 With C. 10:14:20 Deewiant: er, why? 10:14:25 well, of course 10:14:26 good luck 10:15:21 CakeProphet: Just to see how much it would increase the odds 10:15:35 ah okay. 10:16:20 > (1/256)^(length "main=-277;") 10:16:21 8.271806125530277e-25 10:17:10 so yeah, effectively not ever going to happen. 10:17:54 > ((^).(1/).genericLength.nub)<*>length $ "main=-277;" 10:17:56 2.8679719907924403e-10 10:18:37 perhaps the odds of generating /any/ valid C program is significant... but still most valid C programs are going to have /tiny/ probabilities of occuring randomly, so I don't think their summation will be much better. 10:19:44 What about the odds of getting any valid Perl program? 10:19:48 10:20:33 considering it's based entirely on program length there's probably a better chance because Perl has a larger number of valid, small programs. 10:20:44 still very small though. 10:20:47 Did this conversation start on Reddit? I remember seeing something like this before 10:21:04 No this conversation started with weird #includes 10:22:17 Weird #includes were mentioned on Reddit 10:22:20 -!- Tritonio has quit (Quit: Leaving). 10:22:23 how the fuck: 10:22:24 ubuntu@ubuntu:~$ cat /dev/urandom | strings | tr "\n" " " | while read -d -n1 s; do echo -n $s; sleep 0.1; done 10:22:24 ,J[g? 3 +! ?krNQAudiobooks Desktop Documents Downloads imazing Music Pictures Podcasts Public Templates Ubuntu One VideosR ML7AkM:X %X_8Pl OC@U #D| 10:22:41 Moth decided to fly into my eye 10:24:51 lolwhut 10:25:05 if "$s" happens to be "*", echo $s will list all non-dot files in current dir. 10:25:25 ah, yes. 10:25:50 ahhh 10:26:07 how do i prevent it from happening? 10:26:21 echo -n "$s", perhaps. 10:26:23 echo -n "$s" 10:26:44 does "$s" not fix it? 10:26:54 or is globbing still on with double quotes? 10:27:32 seems to have worked 10:27:44 indeed. 10:27:48 `run ls "*" 10:27:50 No output. 10:28:08 `run ls "*" 2>&1 10:28:10 ​/bin/ls: cannot access *: No such file or directory 10:32:31 btw /dev/urandom is quite good at generating befunge programs 10:32:46 :P 10:33:34 `run echo * 10:33:35 ​1 babies bin bluhbluh env foo paste ps quine.pl quine2.pl quine3.pl quotes quotese tekst tmpdir.11854 тэкст 10:59:06 `run cat quine3.pl 10:59:07 ​syntax error at quine3.pl line 2, at EOF. \ Execution of quine3.pl aborted due to compilation errors.. 10:59:13 `run cat quine2.pl 10:59:15 ​#!/bin/perl \ open 0; print while <0> 10:59:18 `run cat quine1.pl 10:59:20 No output. 10:59:25 `run cat quine.pl 10:59:27 ​open 0; print <0> 11:02:08 what happens if a control character is in a befunge program? 11:02:13 compile fail? interpreter fail? ignored? 11:02:21 no compiler rather 11:02:29 well, maybe 'when loaded into memory' fail 11:02:36 Patashu, it reflects off it when running 11:02:40 really? 11:03:15 yes 11:03:24 how come though? I guess it's a good behaviour for \0 11:03:35 Invalid commands do that 11:03:39 yeah 11:03:59 I'm not sure if any interpreter does UTF-8, if so I guess you could get invalid code points 11:04:02 other than that however 11:06:12 Patashu, I used somewhat filtered output from /dev/urandom for fuzz testing. Filtered to reduce reflecting since I wanted to test the behaviour of actual commands. Found a few crash bugs that way (division by zero in a fingerprint, and a few other things) 11:06:22 does befunge expect windows or unix style line breaks? 11:06:29 vorpal: yeah that's a good use of it 11:06:34 Patashu, both! 11:06:38 Patashu, mac style too 11:06:46 does it look at the first one it finds and use that? 11:07:02 Mixed should work 11:07:06 mixed works 11:07:09 yeah 11:07:18 ah ok 11:08:08 Patashu, for cfunge at least the only way you can get a loading error would be a system call for reading failing. Since it uses mmap it couldn't use /dev/urandom directly (you can't mmap character devices) 11:08:21 oh and out of memory I guess for too large program 11:09:20 also mmap is nice. That way you don't have to deal with newlines split across fgets() chunks and so on 11:09:26 (for the \r\n case) 11:09:53 it's amazing how something as simple as how to break up lines is done differently on every OS 11:10:20 well the mac case doesn't apply on OS X iirc 11:10:25 only on older mac os 11:12:51 Deewiant, does ccbi handle unicode for the source? 11:13:05 Old versions did, not currently 11:13:11 Deewiant, how comes? 11:13:41 Because I read the spec as disallowing unicode 11:13:48 (past tense) 11:14:13 ah 11:14:21 Deewiant, you used to argue otherwise 11:14:54 Like I just said, I used to think Unicode isn't allowed and now I think it is :-P 11:15:32 Deewiant, hm, but isn't there a limit to the largest character constant allowed in source 11:15:46 some very large value 11:16:00 2^31-1 yes 11:16:18 Deewiant, ah yes that doesn't completely cover unicode does it? 11:16:42 0x10ffff covers practically all unicode you'll run into 11:16:51 Deewiant, but not the complete unicode 11:18:04 I forget how exactly 0x110000 and upwards works 11:18:24 Is it closer to user-defined or undefined by Unicode 11:18:28 isn't the private use area up there somehow 11:18:31 somewhere* 11:19:00 0x100000 - 0x10fffd is private use 11:19:51 I'm pretty sure that 110000 and upwards is not part of unicode 11:20:08 Of course you can encode it with UTF-any and use it internally but you can't call it unicode anymore 11:20:12 Not completely sure though 11:20:19 hm 11:20:43 But in any case, you can always map anything up to 0xffffffff to the corresponding 32-bit signed integer and thus never break the rule of "no larger than 2^31-1" ;-) 11:21:15 true 11:21:17 which will we run out of first, unicode addresses or ipv6 addresses? 11:21:50 the "burn rates" are very different. 11:21:52 hard to tell 11:22:09 although I suspect unicode will be replaced before ipv6 is replaced 11:30:57 -!- clog has quit (Ping timeout: 240 seconds). 11:31:03 -!- clog has joined. 11:36:05 -!- azaq23 has joined. 11:39:21 -!- ais523 has joined. 11:53:15 -!- ralc has joined. 12:05:19 -!- ralc has quit (Quit: Leaving). 12:19:39 -!- ais523 has quit (Read error: Connection reset by peer). 12:20:17 Huh. That's strange. 12:20:50 As I approach the point where gravity starts working again, when I give the object weight..... gravity starts to affect it, just a little, then stops 12:21:58 SL edge case testing? 12:24:40 -!- ais523 has joined. 12:29:43 Not helping is the fact that I'm not 100% sure if the function I'm using to scale down gravity actually scales down gravity 12:40:20 My previous points about gravity, that it does take longer to take effect at higher altitudes 12:40:31 Well, this new experiment seems to be in conflict with that 12:48:03 Time to start doing an automated binary search for the minimum gravity that stays active 12:50:36 -!- Kustas has joined. 12:51:07 -!- Kustas has quit (Client Quit). 12:52:28 http://esolangs.org/wiki/Andrei_Machine_9000 12:53:08 Help me figure this out. 12:53:09 D: 13:02:39 -!- Kustas has joined. 13:03:06 -!- Kustas has quit (Client Quit). 13:03:59 Lymia: it's like a massively more complex version of Eodermdrome 13:05:08 also, that syntax is insane 13:05:19 I notice the example only uses the wimpmode syntax, which isn't fully general 13:05:21 Show suitable is it for making a golfing contest around? 13:05:31 if you want to go mad I guess 13:05:35 So* 13:05:45 So is it suitable for making a golfing contest around* 13:06:11 * Lymia needs sleep... 13:06:15 Lymia, that was some weird typos yeah 13:06:52 I'm not sure what I was thinking.... 13:07:10 ais523, how hard is it to implement? 13:07:10 ais523, wimpmode? I don't see any mention of that in the article 13:07:24 Lymia: really nasty 13:07:29 pattern-matching on graphs always is 13:07:33 Golfing contest nasty? 13:07:42 Vorpal: the alternative syntax for graphs 13:07:42 you'd have to be mad to codegolf that 13:07:45 Lymia: no, worse 13:07:53 the sort of thing where getting a working program at all would take hours or days 13:08:11 oklopol could probably do it in a few hours, but lesser mortals like me would take ages 13:08:14 ais523, that is. a contest to make an implementation of it. 13:08:21 oh, an implementation of it 13:08:27 hm 13:08:30 Lymia: writing in it looks like it would be easier than implementing it 13:09:33 ais523, so if I asked you to golf it... 13:09:39 Lymia, would you make a contest to make a befunge-98 interpreter with all the fingerprints ccbi implements, including TRDS? 13:09:50 well okay, that would be even harder. 13:10:10 Vorpal: I'd say implementing TRDS would be easier than AM9K, but take longer 13:10:16 as in, it's more obvious how to go about it and what to do 13:10:16 ais523, heh 13:10:20 true 13:10:23 but there's more work involved 13:10:38 ais523, aren't there any good algorithms for pattern matching on graphs? 13:10:44 that you could simply make use of 13:10:51 Hah! Minimum absolute gravity IS altitude dependent! 13:10:52 I don't know 13:11:14 but the particular sort of pattern matching involved there could match several independent parts of the graph 13:11:20 I wouldn't be surprised if it was NP-complete or worse 13:11:26 ah 13:11:47 and a programming language where every independent step of execution is NP-complete is going to be a pain to implement, and very slow even if you manage it 13:11:54 huh. Why did the lamp and the external monitor suddenly flicker. 13:12:20 no change to the laptop's internal monitor. 13:12:29 thunderstorm maybe. hrrm. 13:13:02 ais523, I need a reference implementation. Keep it secret. 13:13:05 ais523, why is it that thunderstorms can cause electric devices to flicker? 13:13:13 Lymia, make it yourself? 13:13:16 Vorpal: because they disrupt the power supply 13:13:16 k 13:13:30 ais523, hm, how? induction? 13:13:36 no, lightning hitting power cables 13:13:43 or outdoor transformers 13:13:49 that has a noticeable effect on things like the voltage 13:13:54 must be quite some way from here though. No thunder sound 13:14:08 sometimes during a thunderstorm the power companies have to switch between main and backup circuits a lot 13:14:14 ah 13:14:15 and they often have slightly different voltages 13:14:47 ais523, is that done automatically? The switching I mean. 13:15:06 Vorpal: I thin kso 13:15:07 *think so 13:15:59 ais523, how damaging is it to electronics? 13:16:06 http://esolangs.org/wiki/Network_Headache < zzo, you... 13:16:18 it varies on what those electronics are 13:16:36 things that are sensitive often have extra circuitry to filter out unexpected voltage changes 13:16:37 ais523, computers, TFT-monitors, that sort of stuff 13:17:03 and you can get "surge protectors" that do the filtering themselves (they tend to filter out not just surges but spikes and similar issues) 13:17:22 hm 13:18:22 Lymia, fun that it is implemented! 13:18:52 ais523, should probably get a surge protector at some point. Cheaper than an UPS surely? 13:19:01 yep, pretty cheap 13:19:10 you can get them crossed with multi-way power strips 13:19:54 I looked at UPSes but most of the capacity that would be useful to me seems to have internal fans or suchlike. 13:20:04 and I aim for a quiet environment 13:23:47 http://esolangs.org/wiki/MONOD < Let's start a golf contest for this. 13:24:16 I remember that one 13:24:17 It's great 13:44:32 -!- oerjan has joined. 13:50:40 -!- nooga has joined. 13:50:46 aaaaaaaaaaargh 13:51:02 How do I binary search on a value that, each comparision, comes out differently? 13:51:07 This is nuts 13:51:14 Of course, I'd have to find a range or something 13:51:28 Sgeo: that's nuts :D 13:51:37 although i have still pondered the problem 13:52:20 (basically, my idea was never to do a comparison that could contradict a previous one) 13:53:02 I NEED TO CODE SOMETHING INNOVATIVE OR ELSE I WILL DIE 13:53:19 which i think binary search usually does. actually i think i pondered the more tricky problem of doing that while _sorting_ 13:53:52 (still possible, i believe) 13:55:02 oerjan, by comparision, I mean determining whether the value is higher or lower than my current estimate. I can't know what the value is, and the value keeps changing. 13:55:13 maybe umm... regex jit compiler (optimizing) 13:55:46 in fact you might think one criterion of an efficient sorting algorithm would be that it does just that... never gives the comparisons a chance to contradict themselves, because that means you knew what the answer should be and not every comparison can then give information 13:55:54 *that would mean 13:56:02 nooga, why would you die 13:56:03 nooga: program a shell optimizer 13:56:17 that sees things like sort | head, and uses a different version of sort that goes O(n) rather than O(n log n) in that case 13:56:19 Sgeo: well are you trying to constantly change your estimate, and it changes only slightly each time? 13:56:33 *the actual value only 13:56:45 so it's a what, a fuzzy binary sort? 13:56:47 I don't know how much the actual value changes 13:56:48 Vorpal: my tasks are so mind numbing that i can feel a constant loss of grey matter 13:56:55 could you take the average of N samples? 13:57:04 Patashu: search, but yeah that sounds like it 13:57:05 nooga, do what ais523 said 13:57:11 yeah search I mean 13:57:19 With the naive binary search I've been doing, I got 0.003125 and 0.006250 13:57:28 thunderstorm near 13:57:29 cya 13:57:30 Wildly different answers as far as I'm concerned 13:58:00 I don't know if just continuing to do this, and averaging, will.. do anything useful 13:58:15 Well you have a rough estimate 13:58:18 that sees things like sort | head, and uses a different version [...] <-- i thought it was possible to make a sort which did that automatically if cut off, see ghc's sort 13:58:21 Why not take samples around that range 13:58:23 ais523: a bit crazy ;] 13:58:23 graph it and look at the graph 13:58:41 oerjan: it may be, but I think that relies on the way Haskell does laziness 13:58:49 and the way UNIX pipes do laziness isn't good enough 13:59:11 does ghc's lazy sort work in every single way? could I ask for element number 8 and it would optimize around that? 13:59:16 or the last element 13:59:31 And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not 13:59:40 Ooh, statistics time blargh 13:59:51 Sgeo: hm i guess this is a distribution finding problem restricted by your only being able to get one bit of information on each sample 14:00:10 Minimum Absolute Gravity was so much easier. At a lower altitude I got 0 always, higher altitude non-0 14:00:12 i cannot say i recall seeing that :P 14:00:13 oerjan, yes 14:00:22 finding the eighth highest element is as computationally difficult as finding all the first eight, isn't it? 14:00:35 I -think- so 14:00:36 unless you know in advance the length of the list and it's less than fifteen members long? 14:00:55 ais523: sounds reasonable, but i don't know 14:01:25 if you somehow proved seven numbers are higher than it and no others are without sorting those then that would do 14:01:29 but how would that even work, quicksort-ish? 14:01:46 -!- Vorpal has quit (Ping timeout: 248 seconds). 14:02:16 it seems possible to set up but too edge case-y 14:02:25 Patashu: you mean verifying that a number is the 8th highest in a list, rather than finding the 8th highest? 14:02:34 Sgeo: i vaguely recall something about order statistics which are used for comparing two completely unknown (but continuous) distributions 14:02:36 hrm... 14:03:09 Ugh, there are at least two different qays to ask "Is gravity working or not", and they give different answers. I just thought of a third. 14:03:16 *ways 14:03:29 Why does secondlife implement gravity to such a level 14:03:37 Really bored techies? 14:03:41 Well, not ways, so much as "what do you mean by 'working'"? 14:04:05 -!- TOGoS has joined. 14:04:05 I'm almost certain that it's just edge cases not being considered 14:04:15 Maybe you should file a bug report 14:04:23 FIX THIS IMMEDIATELY I CAN'T IMPLEMENT MY SPACE STATION LIKE THIS 14:05:02 And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not <-- are both random and changing? if so you cannot do much more than getting a heap of comparisons between them, can you... but that could still be enough to check statistically what you want 14:05:09 I just want to know why gravity sometimes starts then stops. 14:05:15 If it's low enough 14:05:22 floating point rounding errors? 14:05:29 ais523, probably 14:05:35 But I want to know the exact nature of these 14:06:36 And by probably, I mean yes, I'm almost certain that's what's going on, and that's what I want to understand better. 14:07:26 perhaps they're actually using a random algorithm for small values >:) 14:07:31 lol 14:07:50 it might be some kind of multithreading race condition that makes it essentially random 14:08:41 like if gravity is 0.5 of what is needed to go one minimal step each time unit, then it does so randomly half the time 14:08:42 I think it's more likely that the physical framerate keeps changing 14:09:12 The unit of time is dependent on how laggy the server is. 14:09:58 ouch 14:16:07 Maybe Havok documentation has all the answers or something, and I should just go read it 14:18:07 Havok documentation is behind a paywall 14:18:09 * Sgeo sads 14:21:18 Maybe if I try the experiment in a less laggy place, I'll get similar results more consistently? 14:22:13 presumably 14:44:00 -!- Patashu has quit (Ping timeout: 240 seconds). 14:46:27 -!- MigoMipo has joined. 14:49:02 -!- oerjan has quit (Quit: leaving). 14:56:52 -!- FireFly has joined. 15:00:03 -!- Sgeo has quit (Ping timeout: 255 seconds). 15:04:21 -!- Sgeo has joined. 15:05:16 Is there a name for a function similar to call/cc except it never returns? 15:25:56 -!- sebbu has joined. 15:25:56 -!- sebbu has quit (Changing host). 15:25:56 -!- sebbu has joined. 15:27:49 -!- sebbu2 has joined. 15:27:49 -!- sebbu2 has quit (Changing host). 15:27:49 -!- sebbu2 has joined. 15:30:59 -!- sebbu has quit (Ping timeout: 260 seconds). 15:39:11 -!- oklopol has joined. 15:49:28 -!- zzo38 has joined. 15:54:15 -!- FireFly has quit (Read error: Connection reset by peer). 15:57:06 What kind of measurement of the size of a program can you use? * Bytes * Lines * Pages * Semicolons * Tokens * Executable file size 15:58:36 -!- TOGoS has left. 15:58:47 -!- sebbu2 has changed nick to sebbu. 16:05:07 -!- pikhq_ has quit (Ping timeout: 250 seconds). 16:05:07 -!- pikhq has joined. 16:09:32 Depends on what you're using the measurement for. 16:12:13 But what kind of ideas you have for what measurement, and what it can be used for? I am thinking generally just to see a measure of how large that a large program is. 16:14:42 -!- Phantom_Hoover has joined. 16:14:48 Hmm, I wonder... 16:14:49 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 16:17:00 * Sgeo lays out the syntax he's been imagining for his language 16:17:12 @messages 16:17:12 You don't have any new messages. 16:17:17 :( 16:17:37 https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006245.html 16:17:46 Erg, wow, I should have used pastie 16:19:39 -!- Vorpal has joined. 16:27:02 GGGGC: Seemingly consistently faster than Java's GC? :) 16:27:28 -!- FireFly has joined. 16:28:55 Gregor, ooh cool. 16:29:31 Gregor, how did you test it? Using the same code but with java's gc and then with yours? 16:31:37 Using Boehm's GCBench as well as binary trees. It's not really fair since Java is JITting and I'm not, but the code is trivial here so hopefully the GC is the biggest price. 16:31:47 -!- zzo38 has left. 16:34:00 Going to ISMM this year gave me two good ideas, both of which helped :) 16:43:01 I have not the slightest idea how to make something into an AST 16:43:30 Or even enough Javascript to visualize what an AST looks like in Javascript 16:43:50 ... uhhh, that's pretty sad? 16:44:03 It... doesn't seem that complex. 16:44:12 It's not. 16:45:07 http://pastie.org/private/hf2bkigtu21ciny5oso3a acceptable syntax or nightmare from hell syntax? 16:45:39 And semantics 16:50:34 Sgeo, what language is that? 16:50:43 Phantom_Hoover, the language I want to make 16:50:54 Why the pipes? 16:51:30 Inspired by Fancy lambdas, which are kind of like Ruby lambdas except with the arguments on the outside of the {} 16:51:38 Why, do the pipes suck? 16:51:49 Is function(){} better? 16:51:58 No, they just confused me. 16:52:23 But yeah, that doesn't look impossible to ASTify. 16:53:12 But does it look like a decent language to work with? That is, should I not be shot for making it? 16:53:35 GO 16:54:10 Sgeo, dunno about that; ask elliott if you want a 'yes'. 16:54:25 Erm, 'yes you should be shot'. 16:54:55 -!- ais523 has quit (Read error: Operation timed out). 16:55:04 {x y z: something something something} 16:55:20 .......ooooooooohhhhhhh 16:55:44 Wait, but then, I can't have the { on a separate line after the arguments 16:56:06 Hmm, not sure how important tha is to me 16:56:14 a matter of style 16:56:39 -!- ais523 has joined. 17:01:26 -!- olsner has joined. 17:11:28 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 17:13:57 full grammar for PCRE is probably longer than a full grammar for ANSI C 17:14:12 so KISS 17:14:51 PCRE? 17:15:21 This language is not a regex. 17:17:15 can you write a PCRE that matches all PCRE:s? 17:17:36 I assume so. 17:17:48 Wait, maybe not. 17:18:27 PCREs can't match things recursively, can they? 17:18:43 PCRE is TC. 17:18:51 I kind of thought PCRE:s were even turing complete (or whatever the corresponding term is for grammars, fully recursive?) 17:19:01 and there pikhq said it too, proof? 17:20:04 http://big-o.nl/apps/pcreparser/pcre/PCREParser.html#name.grammar 17:20:07 this is not all 17:20:15 only a subset ;o 17:21:37 -!- elliott has joined. 17:22:10 Hi elliott 17:22:22 I posted a sample of the language I'm imagining. 17:23:01 oh joy 17:23:01 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 17:23:07 oh joy 17:23:12 oh joy 17:23:16 elliott is here 17:24:06 yeah 17:24:10 i'm always here 17:24:35 http://esolangs.org/wiki/Snack 17:24:39 this fucking shit should be illegal 17:25:02 elliott: the TURKEY BOMB style of esolanging, except not innovative or interesting in any way? 17:25:03 ais523: You have 1 new message. '/msg lambdabot @messages' to read it. 17:25:07 @messages 17:25:07 Phantom_Hoover said 56m 57s ago: Here you go. 17:25:17 ais523: hey, you didnt follow the instructions 17:25:23 [asterisk]didn't 17:25:25 ah no, more like Deadfish 17:25:29 and I'm a rebel in that way 17:26:08 "SIMPLE Interpreter:" 17:26:10 What. 17:26:40 Suggest we all gang up on SmallBug. 17:26:45 wait, that language is actually worse than DeadFish 17:27:30 Therefore, it will have more implementations than DeadFish? 17:27:36 I hope not 17:27:48 Phantom_Hoover: Now now, they clearly do not understand what they are doing. 17:27:54 at least DeadFish was a) aware it was possible, and b) almost interesting 17:27:55 I have helpfully clarified on http://esolangs.org/wiki/Talk:Snack. 17:28:27 between this and NetFuck, we sure are getting a lot of dreck today 17:28:31 erm, nowadays 17:28:51 Esme... makes no sense to me 17:28:57 ais523: that interpreter is ... interesting 17:29:02 wtf did "stack" come from? 17:29:16 oh, and I'm not sure cin >> stringvar actually works as expected 17:29:21 Sgeo, fun fact: my first significant conversation on #esoteric was confirming that I didn't make Esme. 17:29:29 elliott: if it's a std::string, I think it does 17:29:32 lol 17:29:35 or at least, it does something moderately sane 17:29:50 I'd like to read that log 17:29:56 hmm, I think Dagoth may have made Esme just to troll zzo38 17:29:59 I'm adding Category:Shameful. 17:30:04 Phantom_Hoover: don't 17:30:12 elliott, why, wrath of graue? 17:30:13 the more it's used the more diluted it gets 17:30:34 I removed it from a bunch of pages a while ago because of that 17:30:38 It's only used on FURscript and Esme. 17:30:40 elliott: that one almost deserves shameful, but I'm not quite sure 17:30:46 ais523: yes, it's definitely close 17:30:47 it needs category:languages, anyway 17:30:48 And you just called it the worst language on the wiki. 17:31:05 the whole point of shameful is that it's rare enough that people wouldn't determine its existence 17:31:06 I think we'll have to see what SmallBug does next to decide, we must be cautious with this important task of ours 17:31:19 (and I'd definitely delete the category description page if someone created one, it doesn't work if it isn't a redlink) 17:31:31 ais523: re: troll zzo, [[Talk:Esme]] is a pretty funny page 17:31:41 elliott: I know, that's what I was referring to 17:31:56 10.01.12:11:57:27 The sysrq key? ← this was honestly the first thing I said in-channel. 17:32:16 hmm, the stub template on [[Hashes]] implies that we actually want someone to expand it 17:32:20 I find this quite a dangerous remark to have 17:32:32 (diff) (hist) . . Language list‎; 17:28 . . (-12) . . Phantom Hoover (Talk | contribs) (Undo revision 23225 by Special:Contributions/SmallBug (User talk:SmallBug) No. Just no.) 17:32:34 Expansion can only be interesting. 17:32:35 Phantom_Hoover: that was unwarranted 17:32:48 :[~~~~K] $[L.~K] -> Q !L <- Q 17:33:32 * elliott categorises 17:33:46 elliott: wrt your rvv edit summary, it's referring to novelty contact lenses designed to make your eyes look different as part of a halloween costume 17:33:58 ais523: yes, but what a thing to spam a wiki with 17:34:11 well, generic spam won't get very far, you'll just be outspammed 17:34:12 it's obviously a wiki spambot/person, because it used the correct syntax 17:34:19 highly specific spam is more likely to get the results you want 17:34:23 you know 17:34:29 ais523: I suppose it's just trying to get the googlejuice 17:34:34 but what wiki doesn't use nofollow? 17:34:48 the latest trick is creating thousands of different domains, each optimised for a slightly different query 17:34:53 and making them all soft-redirects to your actual site 17:35:08 well, there are probably later tricks I don't know about 17:35:17 I just consider that one particularly ridiculous 17:36:08 when i was 12 and tried to learn Delphi, my idea of perfect computer language was that it would let me to easily write a tetris clone with constructs like: make green rectangle, move rectangle etc. 17:36:38 elliott, if FURscript is shameful, then Snack is unquestionably shameful. 17:37:11 probably inventor of FURscript was 13 when he invented it and now he's ashamed 17:37:34 Phantom_Hoover: have you /seen/ FURscript? 17:37:42 [DIRFORMAT="DIRECTORY","BYPASSSECURITY?"] FORMATS A DRIVE AND ASKS WHETHER TO BYPASS ALL RESTRICTIONS 17:37:43 elliott, I just did. 17:38:07 heh, the WRITE command has different syntax 17:38:23 BASIC fan probably 17:38:32 elliott maybe 17:38:40 olsner: ? 17:38:53 elliott: hmm, given that it's formatting a drive but given a dir as an argument, I wonder if it's intended for POSIXy systems? 17:38:53 elliott: I was suggesting that you invented furscript 17:39:09 the only plausible way I can think of to specify a drive using a directory is to specify mountpoint 17:39:16 ais523: considering that the compiler was to be written in VB6, I doubt it 17:39:17 (see talk page) 17:39:21 ais523: and C:\ 17:39:23 D:\ 17:39:23 etc. 17:39:26 "The structure is based off a mix of html, turbo pascal, and BASIC." <-- rright 17:39:46 It is, of course, unrelated to FurryScript. --Zzo38 18:33, 11 August 2009 (UTC) 17:40:09 ais523: have we moved over to Timwi's server yet? 17:40:14 I'm not keeping track of these thing 17:40:15 s 17:40:35 elliott: not as far as I know 17:40:39 :D 17:41:06 Timwi offered a server? 17:41:15 Did he win the NetFuck prize? 17:41:16 Phantom_Hoover: no, he "offered" to take over 17:41:20 because Graue is such a terrible person 17:41:20 "but I think he got as far as a text box and a copyright notice before going back to programming his graphics calculator. " 17:41:27 I loved TI-BASIC 17:41:29 (because Graue wouldn't respond to his email asking for sysop rights) 17:41:32 I'm offended. 17:41:37 elliott, where. 17:41:45 Wait, is it TI-BASIC? 17:41:51 Phantom_Hoover: FFS, it's in the logs, stop expecting me to know where something happened. 17:42:22

Copyright (C) Alex Smith 2011

17:42:32 ais523: wat 17:42:43 elliott, since Gregor stopped updating the codu HG logs, I haven't had searchable logs. 17:43:05 Phantom_Hoover: How does this relate to me having to nkow where every damn thing happened? 17:43:11 Besides, get the rsync glogbot logs. 17:43:13 That's what they're for. 17:43:18 elliott: it's a text box and a copyright notice 17:43:21 Oh, right. 17:43:23 I'm not sure if it actually /works/, though 17:43:27 ais523: heh 17:43:34 FWIW, there is no indication anywhere that they exist. 17:43:46 and that textarea syntax is really old-fashioned 17:43:50 because I learnt HTML far too long ago 17:44:01 Phantom_Hoover: there is in glogbot's help message 17:44:09 would you like it to spam the channel at regular intervals instead? 17:44:18 !logs 17:44:22 try it 17:44:42 ais523: AFAIK that's the current textarea syntax 17:44:48 whoa, really? 17:44:55 ais523: well, except that not doing it with CSS probably makes you a bad person 17:44:59 I at least expected the dimensions to be done with CSS nowadays 17:45:08 I'll check the spec 17:45:11 elliott, no, but I would like it if it indicated their existence in the page on codu, or in the topic of #glogbot. 17:45:14 and I hate that syntax because it basically means you have to guess the browser user's screen width and font size 17:45:21 rather than having it become a sensible size automatically 17:45:32 no wonder browsers are offering resizable textboxes as a feature nowadays 17:45:40 glogbot has a channel? 17:45:44 ais523: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-textarea-element 17:45:55 yep, rows and cols still exist 17:46:02 and don't appera to be deprecated, either 17:46:05 [asterisk]appear 17:46:10 but ofc, there's basically no reason not to use CSS instead 17:46:11 Fucking HTML. 17:46:11 Oh, and the rsync command provided doesn't actually work. 17:46:25 Phantom_Hoover: topic of glogbot: 17:46:27 "See !glogbot_help for how to use it." 17:46:29 !glogbot_help 17:46:32 -glogbot- glogbot is a logging bot. Source: https://codu.org/projects/stuff/logbothg/ . Anyone may request that glogbot log their channel by inviting it: /invite glogbot . This usually requires ops. It will stop logging a channel if kicked: /kick glogbot . If you cannot /invite or /kick it, you can also ask Gregor to add or remove your channel. See also !glogbot_cmds, !logs . 17:46:37 WHOOPS TURNS OUT IT DOES GIVE YOU THAT INFORMATION 17:46:43 And the rsync command does work, you fucked it up. Quit whining. 17:46:46 "If the cols attribute is specified, its value must be a valid non-negative integer greater than zero. If applying the rules for parsing non-negative integers to the attribute's value results in a number greater than zero, then the element's character width is that value; otherwise, it is 20." 17:46:47 -!- zzo38 has joined. 17:47:02 how arbitrary 17:47:06 elliott, I copied and pasted it from glogbot's own message. 17:47:09 ais523: how is that arbitrary? 17:47:13 it's just handling a parse error 17:47:16 Phantom_Hoover: you fucked it up. 17:47:24 elliott: wouldn't it make more sense to treat the attribute as not there 17:47:30 rather than picking 20 for the width out of thin air? 17:47:31 elliott, "rsync --size-only -avz rsync://codu.org/logs/glogbot/ logs/" 17:47:36 ais523: 20 is the default width if it's not specified 17:47:40 ouch 17:47:40 ais523: so it /does/ act like it's not there 17:47:43 for a multiline text box? 17:47:49 ais523: hysterical raisins 17:47:51 Please tell me a) where that is fucked up and b) where it deviates from the command given in !logs. 17:48:16 Phantom_Hoover: Seriously, just shut up, I am not your personal tech support, especially when you're being this whiny. 17:48:25 You haven't even told anyone what error you received, just "it doesn't work", which is laughable. 17:49:02 elliott, maybe I wouldn't be "whiny" if your immediate response hadn't been to treat me like an idiot. 17:49:12 Phantom_Hoover: seriously. shut up. 17:49:24 And if I so obviously fucked up, why would you even need to know the error? 17:50:03 It was clearly my idiocy in composing it; such an astonishing intellect as yours would be able to point out the error without effort. 17:50:08 I once wrote some perl that read C source code and spit out still compilable C source, but fucked up with random indentation, single line declarations (with initializers), mixed bracing style and use of whitespace, and added comments like "increment i" when it saw "++i". 17:50:24 I love the choice of Perl as a language for doing that munging, it seems to fit somehow 17:50:27 And the new Nintendo console is (surprise, surprise) approximately 4 Wiis duct taped together. 17:50:32 Or, 8 Gamecubes duct taped together. 17:50:36 cool 17:50:47 just came up with a new hack for hardware that doesn't even exist yet 17:50:51 pikhq: really, it doesn't need to be that much powerful than the Wii to hit Nintendo's core market, though 17:51:03 ais523: Yeah, true. 17:51:04 apparently, an LED can also be used as a light *sensor* 17:51:13 does it even need to be *any* more powerful than wii? 17:51:13 cheater_: that's not surprising at all 17:51:19 ais523: The Wii U is pretty fucking stupid, though. 17:51:23 in fact, a regular diode can be if you cut the top open 17:51:25 they should've just made a new controller like everyone else 17:51:31 in the future, when monitors are made out of LEDs, you could imagine a possible hack to the monitor's firmware to make it a camera 17:51:35 pikhq: the name is a pretty silly start, at least 17:51:40 Its *controller* is probably more powerful than the Wii. 17:51:42 not only is it stupid, it's also difficult to pronounce 17:51:43 granted, it wouldn't be too focused, but you could post-process that 17:52:08 so you could stalk people with LED monitors 17:52:15 The *controller*, the *controller* has a 6.2" display and a touch screen. 17:52:47 does it even need to be *any* more powerful than wii? 17:52:54 The Wii is getting really dated, to be honest 17:53:03 pikhq: this reminds me of the GameCube games designed to use a GBA as the controller 17:53:10 I gather that Super Mario Galaxy 2 was a bit of a pain to develop because the console is so outdated 17:53:28 some of the best games tend to be done on consoles getting outdated, though 17:53:35 indeed 17:53:37 because they bring together a lot of talent to work out how to really use the consoles well 17:53:41 ais523: Except as an official accessory. 17:53:42 also, "Wii U"? are Nintendo /aiming/ for bad names at this point? 17:53:51 Pee U 17:53:53 Weyoun? 17:54:06 I wonder if the Wii U will also support Gamecube games & controllers. 17:54:25 elliott: but was the wii any more powerful than gamecube? my point is that they just need to stick it a new box with a new name and a new controller and they could be done as far as most of their customers are concerned 17:54:27 If so, then it will be fucking absurd. 17:54:37 olsner: yes, the Wii was more powerful than the gamecube 17:54:51 olsner: The Wii had a higher clocked PowerPC. 17:54:51 pikhq: well, the Wii needs the Classic Controller, rather than a Wiimote, for many of its games 17:54:58 and you can substitute a GameCube controller instead 17:55:04 GCN: CPUIBM PowerPC "Gekko", 486 MHz 17:55:06 Wii: CPUIBM PowerPC-based[1] "Broadway" 17:55:09 So, anyone who doesn't think wanting help is whining want to tell me what "rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1526) [Receiver=3.0.7]" means? 17:55:12 no clock rate info, but I'll bet >486 MHz 17:55:20 It was 700-something. 17:55:27 ais523: The Wii U supports Wii controllers. 17:55:49 olsner: yeah, the Wii was more powerful than the gamecube by quite a bit 17:55:50 The Nintendo Wii does use many similar hardware to GameCube. 17:56:01 http://en.wikipedia.org/wiki/Nintendo_GameCube#Technical_specifications 17:56:01 http://en.wikipedia.org/wiki/Wii#Technical_specifications 17:56:26 zzo38: The Wii's backwards compatibility is done by, basically, dual-booting. 17:56:34 (Once I put a game in and it did not recognise it as Wii so it started it in GameCube mode, it displayed the title screen correctly, including animation, but did nothing else.) 17:56:48 zzo38: heh, really? 17:56:50 that's impressive 17:56:51 Yeah, it just has a port of the Gamecube's OS to the Wii. That's their BC. 17:57:07 pikhq: with what zzo38 said, I wonder if it even needed porting 17:57:16 I mean, apart from controller support, I guess 17:57:43 elliott: ok, so maybe a *little* bit more than putting same thing in a new box will be required :P 17:58:00 It occurs to me that Nintendo could introduce absolutely any new controller they wanted and people wouldn't dismiss it, just because of how badly that backfired with the Wii 17:58:04 The hardware access was radically different on the Wii; all hardware access went through an ARM chip, for the sake of DRM. 17:58:11 were they decent trolls, they'd have exploited this 17:58:33 elliott: Well, their new controller is making the NES brick look ergonomic. 17:58:48 I don't see how they'll pull off the fancy Wiimote stuff with it 17:58:57 it doesn't exactly look like a very good sword or tennis racquet 17:59:02 You can also use a Wiimote. 18:00:01 hmm, the screen is actually quite clever, because it allows for secret information 18:00:09 which has always been an advantage of internet play IMO 18:00:36 apple why are you emailing me about the new os x version... 18:00:46 elliott: do you want me to email you about the new os x version too? 18:00:50 Yeah, this is the *second* means of doing that the Wii U has to offer, BTW. 18:00:57 pikhq: what's the first? 18:00:59 Phantom_Hoover, I don't think wanting help is whining, but I'm not exactly capable of helping you, sorry. 18:01:01 GBA link. 18:01:16 ah, the Wii U can do that? 18:01:26 you'd think they'd at least use DSes or 3DSes 18:01:33 Presuming GC compatibility, which honestly would take little more than a couple extra lines off of a motherboard. 18:02:02 Idea of screen, I already had similar idea. And actually some older systems had it too, I think, just ones that nobody used. 18:02:09 pikhq: it would need controller ports 18:02:11 being able to link up to a DS as a controller would be cool 18:02:38 that's the big issue with some other consoles and backwards compatibility, the major issue to using old controllers was the lack of correctly-shaped ports 18:03:07 ais523: Actually, the big issue was no freaking way to execute old software. 18:03:26 Nintendo does not have this problem, because they've been using the PowerPC since the Gamecube. 18:03:31 pikhq: I'm not talking about old software, but just use of old controllers for new games 18:03:36 Aaaah. 18:03:51 Is there any information on the system specs of the U? 18:03:55 Yeah, that's basically a non-issue. If you want to support old controllers, it's easy. 18:04:09 hmm, the console itself looks quite ugly 18:04:13 in comparison with the Wii 18:04:16 Especially with older consoles where the controllers used the same damned protocol. 18:04:27 (which actually had functional use, too; you could fit it practically anywhere) 18:04:57 I have many ideas making up my own system instead. It will not have these kind of problems! I fix many things. And it will describe *everything* in the manual. 18:05:06 zzo38: i can hardly wait. 18:05:24 "Claims have been made that the new machine is significantly more powerful than the PlayStation 3 and Xbox 360." 18:05:32 source is IGN and Kotaku, so I'm not about to start believing that immediately 18:05:51 I already got some people who can build the circuitboards and stuff like that. 18:06:15 elliott: It's not like it'd be *too* hard. 18:06:24 zzo38: assuming it's not massively overpriced and there's a sensible way to ship it from Canada, I'd buy it 18:06:25 "01net also claims to know some of the technical specifications of the new console (translation from Develop): "CPU is custom IBM PowerPC with three cores, GPU should be an ATI from the R700 family, with a shader unit at version 4.1. RAM should be at least 512 MB."[19]" 18:06:30 Just slip a more recent multicore processor and a modern GPU in there. 18:06:34 I made some timesheets programs for their company and I told them I can have barter instead of paid in cash 18:06:36 -!- augur has quit (Write error: Broken pipe). 18:06:49 IT'S TOO DAMN HOT! 18:07:01 Of course, Nintendo's still running technology that's competitive with the PS2. :P 18:07:58 pikhq: and the PS2 was so successful that that's a good thing 18:08:14 it's always impressive how low-spec consoles tend to be 18:08:15 ais523: The first few units produced will probably be overpriced but they will also be colored in gold and have other stuff specific to the limited editions. So, the normal edition will not be overpriced, but will have the same electronic hardware basically, can run the same software, and so on. 18:08:28 you need, like, a PC with twice the specs to get the same quality out of them 18:08:40 because people optimise aggressively for consoles since they're uniform 18:08:41 pikhq: why Canada? 18:09:08 coppro: Wut. 18:09:13 coppro: did you mean to ping me with that? 18:09:17 I thought zzo38 was Canadian 18:09:25 Yes I am Canadian 18:10:00 yeah, I meant ais523 18:10:09 zzo38: how much will the gold edition cost 18:10:09 misread 18:10:32 makes more sense for ais523 to want a Canadian one due to price, but there's region-locking and format issues if you do that 18:10:45 elliott: I don't know how much any edition will cost yet 18:10:53 coppro: it's just that I assumed that zzo38 being in Canada, that's where they'd be made 18:11:05 zzo38: not even approximately? 18:11:17 -!- nooga has quit (Ping timeout: 240 seconds). 18:11:17 coppro: you think /zzo's/ console will have region-locking? 18:11:21 No. I have not selected the specific hardware parts yet. Only in general I have. 18:11:31 zzo38: can you leak any details? :D 18:12:37 ais523: oh, I thought you meant the Wii U 18:12:48 ah, no 18:13:01 gah, that name hurts my head just when I try to mentally pronounce it 18:13:17 thus, I have to skim comments containing it (no mental pronunciation) rather than read them (which does normally cause mental pronounciation for me) 18:13:18 It will have region-coding, but only for regions with different TV format (such as NTSC/PAL), and the programs and hardware that is built-in is all open so you can even override that. 18:13:19 -!- nooga has joined. 18:14:07 what games-containing media will it take? 18:14:14 So, the Canadian software should work fine in United States, and in Japan, but to use in England it is PAL so it is different. 18:14:27 zzo38: In the modern world, there's no need for that. 18:14:39 yeah, if the software outputs digitally that's unnecessary 18:14:41 -!- monqy has joined. 18:14:56 elliott: DVD. Also USB for small files downloadable from kiosks or whatever, if such things exist. 18:15:17 ew, optical media :( 18:15:37 USB also works so you do not need to use optical media if you do not like it. 18:15:39 The hardware can have built-in converters for video formats anyway 18:15:41 zzo38: you realise that USB drives are competitive with DVD for storage space, btw? 18:15:55 in fact, with an SDHC cart, it can far surpass DVDs 18:15:59 [asterisk]card 18:16:01 (plus USB reader) 18:16:01 Especially USB 3 18:16:11 coppro: er, that only affects speed, no? 18:16:50 well yes 18:16:53 but speed is important 18:16:58 fuck loading screens 18:17:05 coppro: sure... it's hard to be slower than optical drives, though 18:17:19 actually, personally I would just include a USB port or two, and no DVD drive -- after all, there are plenty of USB DVD readers 18:17:27 heh, yes 18:17:36 so you could support optical media entirely within software, and make the console smaller and (slightly) cheaper too 18:18:00 elliott: Thanks for the idea, I might consider that, maybe 18:18:15 No stupid CSS licensing fees too 18:18:34 coppro: CSS is optional isn't it? 18:18:42 yeah... 18:18:46 and if the console didn't support it, nobody would use it 18:18:49 so that's kind of irrelevant :P 18:18:51 -!- nooga has quit (Ping timeout: 246 seconds). 18:19:03 I was not going to license CSS anyways I was trying to make it to remove all CSS from the drive so that it must be done in software if at all. 18:19:25 yeah 18:19:46 If I choose not to have a optical drive, I will have more than 2 USB ports, though. 18:20:04 why would you ever need more than two media in at once? 18:20:12 (and also have sufficient power requirements that a USB hub wouldn't suffice?) 18:20:13 hmm 18:20:16 or are controllers USB too? 18:20:31 in which case, yeah, obviously you'd want like five ports 18:20:33 -!- nooga has joined. 18:20:34 No, controllers are not USB. 18:20:38 hmm, what are they? 18:20:45 Synchronous serial. 18:20:49 wtf 18:21:01 Packets are 32 bits. 18:21:09 it seems like it'd be simpler to do the controllers over USB too since you could reuse the driver 18:21:21 and also it means that if you used fewer controllers, you could use more storage media 18:21:28 -!- zzo38 has quit (Quit: zzo38). 18:26:51 -!- ais523_ has joined. 18:27:26 -!- ais523 has quit (Disconnected by services). 18:27:32 -!- ais523_ has changed nick to ais523. 18:31:56 -!- nooga has quit (Ping timeout: 276 seconds). 18:32:54 -!- nooga has joined. 18:34:44 -!- augur has joined. 18:34:49 beh 18:35:09 wat, nintendo's E3 press site is "open" 18:35:21 "open"? 18:35:28 as in it has an obvious username and password 18:35:31 http://press.nintendo.com/E32011/ username: E32011, password: nintendo 18:35:38 it even has videos 18:35:42 lol 18:35:47 elliott: did you guess them? 18:35:51 someone gimme a wget command to mirror everything :D 18:36:00 oh wait, the videos are huge 18:36:02 and the server is slow 18:36:03 and are the videos subdirs of that page? 18:36:11 ais523: it's an HTML page 18:36:13 with lots of info and links 18:36:26 I mean, are the links to subdirs of the directory the page is in? 18:36:32 yes 18:36:36 "Please note: Nintendo 3DS screenshots are provided as 2D images." 18:36:38 otherwise, if you follow all links, you can end up mirroring the whole Internet 18:36:45 -!- elliott has set topic: Please note: Nintendo 3DS screenshots are provided as 2D images. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 18:36:59 use peg/leg OR write parser by hand 18:37:04 I'm surprised this page doesn't have some spiel about NO UNAUTHORISED ACCESS 18:37:14 help me with decision 18:37:22 ESRB Age-Gate Notification: 18:37:23 This video/trailer may only be displayed if it is behind an age-gate that: (1) is age-neutral (i.e., requires the user to input their date of birth or select it from a drop-down bar); (2) employs reasonable technical measures to keep underage users from re-entering their age after initially being denied access; and (3) does not display any ESRB rating information on the trailer player or the age-gate itself. Failure to implement these requirement 18:37:23 s may jeopardize your ability to obtain material of this nature from us in the future. 18:37:26 I bet it's designed for people to access while still maintain plausible deniability 18:37:31 wat 18:37:48 you're... not allowed to tell people the ESRB rating? 18:38:04 elliott: it's basically "how old are you? PS if it's too low you don't get to get in, but we're not going to /tell/ you what it should be in the hope that you'll give your real DOB rather than calculating one that will let you in" 18:38:16 ah 18:38:25 is there anybody who doesn't just select the oldest age possible on those? 18:38:33 I don't know 18:38:45 I mean, who would bother picking out their real birthdate? 18:39:11 hmm, it seems everything on this press site is in a zip 18:39:16 even things that are only a few hundred kilobytes 18:40:04 elliott: wget -r -k -p -np (in an empty directory) might work 18:40:07 and I can't open the zip I tried 18:40:14 elliott: password-protected? 18:40:23 dunno, file-roller just gives up 18:40:26 ais523: the server's slow enough, and the files sufficiently numerous, that I don't care enough to mirror it 18:40:36 yep, I was just looking up out of curiosity 18:40:39 I mean, it's not like there's going to be any information or video or whatever here that won't be available publicly soon enough 18:40:54 * elliott nabs the upcoming list of [console] games, though 18:41:54 a /minute/ to download a thirty-seven kilobyte file 18:41:55 ? 18:41:57 really, nintendo? 18:42:16 it's going to take twenty hours to download this fifty-megabyte Wii factsheet, apparently 18:42:42 oh well 18:42:48 perhaps they're being Slashdotted (via something other than Slashdot) 18:43:46 ais523: probably by everyone with legitimate access :P 18:44:05 oh, it looks like it's on /v/ 18:44:10 that probably explains it 18:44:36 it'll probably all be in a torrent by the end of the day 18:46:27 elliott: you actually checked 4chan in order to see if they were responsible for massive access to a site? 18:46:37 or was it a guess followed by asking someone likely to know / checking a page likely to indicate? 18:46:54 ais523: no, I googled the url 18:47:09 ah, clever 18:47:21 I'm surprised Google even indexed them; they're 404'd already 18:47:24 the threads, that is 18:47:31 although I'm surprised that Google finds results from 4chan, given how quickly the threads are deleted 18:47:35 ah, seems you are too 18:47:37 pseudo-snap 18:47:51 perhaps Google pay for a constant stream of changes to 4chan, just like they do to Wikipedia 18:47:56 I have a feeling Google does a lot more than just spidering nowadays 18:48:06 they probably try and "subscribe" to rapidly-updating websites via feeds or whatever 18:48:45 no dinosaurs 18:48:46 yep 18:49:02 also, they own quite a few of the rapidly-updating places, like YouTube and Blogger 18:49:33 ICH 18:49:50 SIE? 18:49:50 Deceased bug in bowl. Soap and _cold_ water enough to get it decently clean? 18:49:55 There is no hot water. 18:49:59 -!- KingOfKarlsruhe has joined. 18:50:02 no 18:50:04 it is not enough 18:50:06 you need hot water 18:50:09 elliott: guessing? 18:50:10 or all the germs will stay 18:50:14 ais523: no this is cold hard fact 18:50:19 trolling? 18:50:24 i'm offended 18:50:52 it's too hot 18:51:37 nooga: how hot 18:56:21 my gf's laptop refused to work 18:56:26 because of heat 18:57:15 nooga: have you tried bashing on the case a couple of times, a couple of centimetres further from the touchpad and to the left of the power switch, as soon as it starts to make the clicking noise? 18:57:28 or does she not have the exact same laptop as me? 18:59:44 and you guys make fun of me for not fixing these number keys :D 18:59:56 -!- foocraft has joined. 18:59:57 elliott: well, this is easily workaroundable 19:01:04 maharba continues to be a bad person for not responding to my questions ;( 19:01:27 hmm, just noticed: esolangs tend to disobey Wadler's law, don't they? 19:01:43 to the extent that DownRight didn't have a syntax at all until people forced one on me, and then came up with one quite quickly 19:02:06 ais523: /good/ esolangs disobey it 19:02:11 consider how many languages are /all about/ the syntaz 19:02:13 [asterisk]syntax 19:02:21 ais523: btw my proposed syntax for downright was much better :< 19:02:44 elliott: even BF derivatives tend not to argue a lot about comment syntax 19:02:51 heh, true 19:03:04 there's not much languages like postscript nowadays 19:03:35 underload 19:03:54 Sadly, what's the difference between lexical syntax and syntax? 19:04:01 elliott: thanks 19:04:19 Sgeo: lexical syntax is syntax of lexicals 19:05:41 just like in IOCCC, syntactic obfuscation is boring 19:06:37 unless it's tied into computation somehow 19:09:03 -!- oerjan has joined. 19:10:04 What isn't a lexical? 19:10:21 * Sgeo really, really needs to read about how to parse and lex and.. whatever code 19:10:58 weeps quietl 19:10:59 y 19:11:53 -!- lambdabot has quit (Ping timeout: 250 seconds). 19:12:22 Sgeo: hint, lexical != lexeme != lexical analyser 19:13:33 17:18:27: PCREs can't match things recursively, can they? 19:13:34 17:18:43: PCRE is TC. 19:13:44 the latter doesn't actually necessarily imply the former 19:14:15 because TC does not imply "input-complete" 19:14:19 the syntax for recursive matching is (?1) 19:14:22 or you can use other numbers 19:14:39 e.g. (a(?1)b) matches strings of a given number of a, followed by the same number of b 19:14:49 erm 19:14:52 that's only enough to make it a PDA, though, rather than TC 19:14:53 "input-complete"? 19:15:06 olsner: like the difference between TC and BF-complete, I think 19:15:18 s/the former/that PCRE can parse everything that is decidable/ 19:15:28 yeah that was the idea 19:15:43 consider how many languages are /all about/ the syntaz 19:15:58 Esolangs in general have extremely syntax, though. 19:16:04 Even the ones based on it. 19:16:09 extremely syntax 19:16:14 *simple 19:16:21 Extremely syntaz. 19:17:16 yeah obfuscation is usually limited to using unreadable base tokens, isn't it. 19:17:30 (e.g. single character ones) 19:17:44 oerjan: that's not even intentional obfuscation, I think 19:17:50 it can actually make langs easier to read when you're used to ir 19:17:52 *it 19:18:03 it's just the esolang's style 19:18:04 it just makes implementing it easier :P 19:18:26 I suspect that half the crappy BF derivatives were just caused by someone who wanted to try writing an interesting program with , but couldn't be bothered actually making something original. 19:18:26 also easier to parse... i suspect many esolangers would have trouble implementing a language which didn't use single-char tokens 19:18:46 oerjan: which is depressing 19:19:49 >:< 19:20:06 nooga: feel targeted? :P 19:20:20 ais523, is {a b c: code} vs |a,b,c| {code} for lambdas syntax or lexical syntax? I'm... guessing the latter, but not sure 19:20:23 i want a language that mutates during the parsing 19:20:45 > let x >:< y = x ++ y in "a" >:< "b" >:< "c" 19:20:51 eek 19:21:00 ;> 19:21:02 oerjan, eep 19:21:09 lambdabot existence failure 19:21:14 I want to learn how to do things sanely 19:21:18 oerjan: no I dont, this nice token just came to my head 19:21:29 lambdabot :( 19:21:32 come baaack 19:21:35 Sgeo: and this is certainly the place to learn *sane* ways to do stuff 19:21:39 Sgeo: I thought you'd have looked it up for yourself by now, but: http://en.wikipedia.org/wiki/Lexical_grammar 19:21:52 Sgeo: the former definitely. lexical syntax is about how you find your language's basic "words" 19:21:57 ais523: implying Sgeo would ever google anything when he could ask it awkwardly on irc instead 19:22:05 ty 19:22:07 elliott: well, people wouldn't imply that about me 19:22:12 (note that I didn't google it either) 19:22:14 ;s 19:22:20 ais523: the "awkwardly" part is important 19:22:25 yep 19:22:26 ais523: anyway, I am using google in the genericised sense here 19:22:31 looking it up on wikipedia counts 19:22:32 I often ask on IRC when I think it's the easiest way 19:22:35 since that's basically what googling would achieve anyway 19:22:40 "Please quote to me the dragon book. You may begin with chapter 1 for I know nothing." 19:22:45 Sgeo: e.g. because FORTRAN doesn't have a lexical syntax you get such absurdities as the famous FORI=1,10 vs. FORI=1.10 bug 19:22:53 olsner: i'll have to get permission from my dad first 19:23:05 oerjan: I'm not familiar; got a link? 19:23:17 (the former starts a for loop, the latter assigns to the variable FORI) 19:23:23 ah 19:23:34 elliott: I was about to tell you that, but oerjan was faster 19:23:39 INTERCAL of course does that on purpose :D 19:23:47 oerjan: actually, no it doesn't 19:24:04 it /almost/ does, but has a specific rule saying you aren't allowed to do things like that 19:24:07 ais523: um it doesn't use whitespace to separate tokens, doesn't it? 19:24:10 it's even in the original manual 19:24:17 oerjan: no, but it still tokenizes deterministically 19:24:30 DOX always parses as DO X 19:24:36 ais523: ok not that kind of example (which has horrendous lookahead) 19:24:54 the only corner case is DOREADOUT as DO READ OUT vs. DO REA DO UT 19:24:58 which caught out J-INTERCAL 19:25:08 heh 19:25:08 but people ignore that one as they can't figure out what the intended behaviour is anyway 19:25:30 the case I was referring to was array syntax 19:25:43 ais523: that example that the manual explicitly prohibits, I'm really sad about 19:25:49 who cares about infinite lookahead? 19:25:51 which requires unlimited lookahead to parse correctly, except that if you write a case that would require unlimited lookahead, compilers are allowed to crash 19:25:59 yes which is bad >:( 19:26:00 or, well, mis-parse it 19:26:01 and evil and wrong 19:26:02 I know C-INTERCAL does 19:26:05 and ITRALCEN won't do it 19:26:17 however, even handling the reduced version is insane 19:26:29 C-INTERCAL does so using a stack of bits, which is packed into an array of integers 19:26:35 that's a reason to do something, not to not do it :( 19:27:00 Sgeo: so basically if your language has multicharacter keywords or identifiers, it makes sense to have an initial stage that just finds the boundaries of those, that's lexical analysis, which also throws away whitespace and comments (which become irrelevant once you have done the division) 19:27:02 the funny thing is, I even found a program that hit the limit of nested spark/ears groups and had to increase the limit 19:27:15 oerjan: it doesn't really make sense IMHO 19:27:18 it's a bit of an obsolete notion 19:27:28 probably resulting from Joris' experiments in inlining an entire sequence of expressions into one 19:27:37 joris? 19:27:52 oerjan: probably the most active C-INTERCAL developer who isn't actually a maintainer 19:28:02 he's done a lot of useful work in finding/fixing bugs, and improving the optimiser 19:28:12 he should get more credit 19:28:32 i should actually write itralcen sometime 19:28:59 the world needs more INTERCAL impls 19:29:26 what level of compatibility would you be aiming for? -72? -72 with COME FROM and text I/O? common subset of C-INTERCAL and CLC-INTERCAL? something else? 19:29:29 yes, unfortunately itralcen is very precisely defined, and I don't really feel like writing a GNUstep program to run in qemu which communicates with the host machine via a socket 19:29:36 (to actually run ITRALCEN) 19:29:46 ok so that could possibly wait ;D 19:30:02 ais523: COME FROM isn't in a standard? 19:30:07 Deewiant: computed COME FROM isn't 19:30:08 ais523: at the very least, computed COME FROM 19:30:21 Deewiant: even original COME FROM isn't in the -72 standard 19:30:24 and there are no other standards 19:30:28 wow, really? 19:30:29 ok 19:30:29 ais523: the ideal would be to have its very special own set of extensions and compatibility libraries for C and CLC, though 19:30:39 elliott: like C and CLC do for each other 19:30:51 ais523: The implementation strategy is basically inspired by CLC I think 19:30:59 I think modern intercals should come with all the known COME FROM variants, including computed and parallel 19:31:01 is that even /possible/? 19:31:07 that would imply that somebody knew how CLC worked 19:31:09 haha 19:31:22 I only managed to reverse-engineer the basic outline, and CLC himself has long since forgotten 19:31:27 ais523: except that, instead of just having a separate orthogonal language jammed in, it'll be based on the program you're running rewriting itself 19:31:32 basically, it'll have self-modifying features 19:31:39 and all the basic commands will rewrite themselves down to primitives 19:31:52 which might be inline machine code, or maybe just VM instructions, etc. 19:32:06 will one of the primitives run arbitrary Perl, like in CLC-INTERCAL? 19:32:08 so basically, the whole language will be implemented in its macro system 19:32:13 ais523: boring 19:32:22 elliott: it's funny in context 19:32:28 especially as it's hardly used for anything 19:32:34 and is deliberately undocumented 19:33:10 hmm, I might bootstrap it by having the bootstrapping code be just one big instruction 19:33:18 [run arbitrary ] "huge string", basically 19:33:29 and that would set up the system to a point where it could run the macro system and self-modify 19:33:34 and the rest would be built up in ITRALCEN 19:33:49 and the actual bootstrapping script would just do "eval str_param" 19:34:03 thus reducing the amount of code not written in full valid ITRALCEN to a line or two 19:34:30 NATO vs Anonymous = LOL 19:34:50 ais523: I'm not sure how I'll actually handle parsing 19:35:08 ais523: I think every command will define how it's parsed, pretty much 19:35:22 elliott: note that CLC-INTERCAL's parser's interpretation of ambiguous statements was determined by experiment 19:35:23 elliott: i thought about it 19:35:24 So all it'd do is lex everything, and start running (which would equate to rewriting itself down to primitives, and then running those primitives) 19:35:26 Would | | be lexed into beginlambdarglist and endlambdaarglist or just pipe? 19:35:29 as nobody could work out what the results of the rules are 19:35:39 Sgeo: you can't do the former 19:35:46 lexers don't have that kind of information 19:35:52 Ok 19:35:55 Sgeo: elliott is right 19:35:57 also, note that if you support the whole of CLC-INTERCAL, the way a program parses or even lexes could change at runtime 19:36:09 nooga: thanks for the confirmation 19:36:30 ais523: same with my system, the /whole thing/ is based around commands parsing their invocations and then rewriting themselves 19:36:34 elliott: i was just about to answer him but then you came so I confirmed 19:36:39 ;f 19:36:46 nooga: :P 19:36:52 ais523: I'm aiming to handle that explicitly-forbidden infinite-lookahead example, anyway 19:37:14 but how do you un-rewrite if the meaning of a command was changed from behind you? 19:37:15 I still have more questions, but they'd probably be better answered by reading 19:37:16 -!- foocraft has quit (Quit: Leaving). 19:37:31 e.g. DO STASH .1 DO EXCHANGE STASH VARIABLE LIST WITH RETRIEVE VARIABLE LIST 19:37:35 followed by looping 19:37:52 at least, I can't remember the exact syntax of EXCHANGE, would you really expect me to? 19:37:59 but it's much simpler than CREATE's, at least 19:37:59 ais523: well, "the meaning of a command changing" is just newspeak for "the command has a branch" 19:38:18 elliott: ah, so you'd work out all the possible meanings of a command at compile time? 19:38:32 what if the CREATE statement was in a linked Befunge library rather than in the program itself? 19:38:34 ais523: possibly; OTOH, it sounds more fun to unrewrite 19:38:50 ais523: which would mean that I'd tag every part of the primitive call with the string of INTERCAL that it originated from 19:38:56 (I had to implement that as soon as I realised it would be possible, and not too difficult) 19:38:57 and then piece it together to unrewrite 19:40:12 ais523: I'm really tempted to make the only supported target platform Wine 19:40:26 elliott: the development tools will be a pain 19:40:32 ais523: Wine with Cygwin, I mean 19:40:36 but that's the only thing making it a bad idea 19:40:40 also, Cygwin doesn't run under Wine 19:40:43 all it'd require is for me to use a handful of Windows calls gratuitously 19:40:44 I know, I actually tried 19:40:46 ais523: ugh, still? 19:40:50 people have gotten it working in the past, IIRC 19:40:52 well, not last time I tried, at least 19:41:04 ais523: well, I could just link to Winelib 19:41:10 that doesn't prohibit you from linking to a POSIX libc, after all 19:42:06 ais523: ooh, I could make the rewrites "timeless" 19:42:20 invalid statements would simply not get rewritten, and executing something which can't be rewritten and isn't a primitive causes an error 19:42:29 then, CREATE would simply introduce a new command 19:42:30 hmm 19:43:09 elliott: Well, you'd get symbol conflicts if you didn't link to the system libc. 19:43:33 -!- Sgeo has quit (Ping timeout: 255 seconds). 19:43:37 pikhq: indeed, but the system is POSIX 19:43:40 (because it can run Wine) 19:43:54 True. So there's no real reason you *can't* just link to the system libc. 19:44:25 you have to to use Winelib, I think 19:44:58 Yes, and that's why you'd have symbol conflicts if you didn't use the system libc for your libc. 19:45:03 $ winegcc 19:45:03 winegcc: gcc-4.5 failed 19:45:05 top-notch tool 19:45:31 ais523: hmm, maybe I'll fork tcc for ITRALCEN 19:45:36 ais523: and make it compile into memory only 19:45:41 that way, I can make my inline instruction be "inline C" 19:45:51 haha 19:46:00 I'm deadly serious. 19:47:05 hmm, what's the Windows function to create a dirt-simple alert box? 19:47:08 :) 19:47:25 gah, that name hurts my head just when I try to mentally pronounce it 19:47:27 it occurs to me that I'll have to think of an actually decent reason to use Windows functions 19:47:33 elliott: MessageBoxEx, I think 19:47:35 Wii U NO LIKE IT? 19:47:37 unless they've changed it again 19:47:44 oerjan: AAARGH! 19:47:48 ais523: so, MessageBox then 19:47:53 ugh, hWnd 19:47:56 I'm not sure if that one ever existed 19:47:56 >how does I winapi 19:47:57 oh i forgot ais523 is allergic to puns 19:48:01 and that's the parent, you can pass in NULL 19:48:10 it is MessageBox in visual basic at least (was? dunno about .net) 19:48:10 if you don't have a window yourself to parent it to 19:48:14 LPCTSTR... 19:48:17 that's not a C string is it 19:48:37 not in the normal format, I don't think 19:48:37 (what do you _mean_ i would probably have done it anyway) 19:48:40 (LPCWSTR)L"Resource not available\nDo you want to try again?", 19:48:40 ugh 19:48:47 it's a *long* pointer to a constant wide (or ansi) string 19:48:55 olsner: that's what I was guessing 19:49:07 I didn't recognise the T, but guessed it indicated UTF-16 19:49:11 the first T, that is 19:49:16 a long pointer ahahaha 19:49:22 winapi: so bad??? 19:49:25 most API calls use long pointers 19:49:26 L stands for herp, T stands for derp, the rest is meaningless 19:49:38 ais523: calling MessageBox outside of WinMain is a dumb idea, right? 19:49:42 I'm trying to use a regular Unix main() 19:49:48 -!- Sgeo has joined. 19:50:00 /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory 19:50:02 r u srs 19:50:04 of course 19:50:07 wine doesn't support sixty four bit 19:50:08 elliott: a regular main() will emulate all the stuff you need to make it act like a C89 main, I thought 19:50:13 this just keeps getting betterer and betterer 19:50:27 TCHAR is either a char (for an ANSI string) or a WCHAR (on a Unicode platform). 19:50:40 hmm, is L"string" a Windowsism, or in one of the actual C standards? 19:50:44 I think the latter, but am not sure 19:50:48 I know it's basically only used on Windows 19:50:57 L"" makes a wchar_t string, it's standard 19:50:58 because other platforms tend to do their Unicode by hand 19:51:16 but you don't know what it means, it "can" be non-unicode 19:51:27 yep, depending on what wchar_t is 19:51:32 no wonder people generally do it by hand 19:51:36 even when it is unicode, sometimes it's UCS-4, sometimes UCS-2 and sometimes UTF-16 :) 19:51:52 utf-16 should just die 19:52:00 there's pretty much no justification to use it, ever 19:52:19 elliott: what's your opinion on the similar-but-different ucs-2? 19:52:37 ais523: UCS-2 can't even handle non-BMP, can it?? 19:52:42 "It is not possible to encode these code points in UCS-2." 19:52:42 indeed 19:52:43 even worse 19:52:54 yep 19:52:57 _T is either an empty macro or L, for defining TCHAR string literals. 19:53:08 UCS-2 is basically UTF-16 except surrogates are meaningless rather than being usable to express astral planes 19:53:22 UCS-2 made sense before the astral planes 19:53:26 now, it's unacceptable 19:53:26 fizzie: isn't _T in implementation namespace? 19:53:42 UTF-16 is acceptable only when you're upgrading from UCS-2, I guess 19:53:55 Which is why Windows uses it for internal APIs. 19:54:14 -!- zzo38 has joined. 19:54:28 test.c: In function ‘main’: 19:54:28 test.c:6:3: warning: passing argument 2 of ‘MessageBoxA’ from incompatible pointer type 19:54:38 ok i'll use _T and a cast 19:54:39 I have talked with the other project manager and can now answer some of your other questions. 19:54:41 ais523: At least it only gets defined if you ask for tchar.h. 19:54:54 We will not omit the optical drive in favor of USB only. 19:54:56 elliott: just disable warnings 19:55:10 that'll fix it! 19:55:22 zzo38: hm, why? 19:55:34 If it's MessageBoxA, it sounds like it's using the ANSI version, where you should be able to pass a char* too. 19:55:39 fizzie: error: ‘_T’ undeclared 19:55:41 guess wine doesn't have it 19:55:50 and no, it's MessageBox(), which I guess is defined to be MessageBoxA? 19:56:00 elliott: Two of the reasons are: * Optical discs are less expensive in general * Optical discs last longer in general * There are other reasons too 19:56:20 zzo38: optical disks last longer than USB disks? 19:56:21 that's not two reasons 19:56:22 I haven't heard that one. 19:56:23 Yes, but the fact it gets turned to MessageBoxA instead of MessageBoxTheOtherThing indicates ansi. 19:56:33 s/TheOtherThing/W/ 19:56:42 Right. 19:56:56 I DO NOT BELIEVE IN ASCII 19:57:04 -!- ais523 has quit (Read error: Connection reset by peer). 19:57:09 zzo38: anyway, I thought the point was that you could easily plug a USB DVD drive in, so it saves space overall 19:57:15 * elliott goes back to convincing winegcc to work 19:57:21 The gold edition is currently estimated at $20000.00 although the price will likely go down. Standard edition will be reasonably priced, though, although we cannot yet estimate the price. 19:57:27 I BELIEVE IN 1-BYTE UTF-8 19:57:29 * coppro explodes 19:57:30 $20000 19:57:36 is that a typo 19:57:40 Yes, it is very overpriced. 19:57:40 elliott: no 19:58:05 The standard edition will be way less than that. And even the price of the gold edition might not actually be that high, it is just estimate. 19:58:33 yay, I just ran a program that uses both fork and MessageBoxA 19:58:36 elliott: I think you're supposed to a) define some macro to say whether you want T stuff to mean wchar or char, b) include the header full of T stuff 19:59:02 (I will try to include enough stuff with the gold edition to justify the high price for the purchasers) 19:59:04 but using HerpDerpA functions with normal strings should work fine too 19:59:20 You can include to get the stuff, including the _T thing. 19:59:31 the stuff, including the thing :D 19:59:36 zzo38: you realise that's approximately five hundred times as expensive as the most expensive consoles, right? 19:59:48 woah, I think I just got a job. 20:00:12 CakeProphet: where at? 20:00:18 (Or explicitly define _UNICODE I guess, which should make it use to FooW functions that take wchar_t strings.) 20:00:35 lmao, the .exe winegcc generates is actually a shell script 20:00:38 elliott: Yes I do realize that. However, I did say that it is possible the price might go way down even before it is actually sold. Also, the standard edition is not going to cost anywhere near that high price, it is going to be a lot a lot less. 20:00:38 Wal-Mart. Working the night shift, stocking shit in the wee hours of the morning. 20:01:00 so, yet another brainfuck encoding, this one both herps and derps: https://gist.github.com/1013014 20:01:29 olsner: did you write this 20:01:38 elliott: yeah :/ 20:01:53 olsner: :( 20:03:08 ugh, sometimes I hate thunderbird 20:03:38 coppro: me too; for instance: whenever i'm using thunderbird 20:04:02 out of curiosity, what do you use? 20:04:11 gmail.com because i'm lazy as fuck 20:04:14 ah 20:04:18 it has a decent UI, at least 20:04:27 i've muscle-memoried the keyboard shortcuts mostly 20:04:38 Yeah, it's a non-terrible web UI. 20:04:40 my problem with gmail is the filtering was a bit braindead last I tried 20:04:43 I couldn't switch to any client without the conversation view, pretty much 20:04:45 the UI is good 20:04:46 Which is actually pretty amazing. 20:04:49 well, I don't know if I got the job yet, but they're asking me to meet them at the bathroom tomorrow at 10 AM, which PROBABLY means they're going to drug test me, and I'm pretty sure they don't drug test people without hiring them. 20:04:57 great, no setting to disable these disgusting automatic smileys in xchat 20:05:04 coppro: hmm, the only filters I have are 20:05:07 Matches: to:(agora-business@agoranomic.org) 20:05:07 Do this: Skip Inbox, Apply label "Agora"[etc.] 20:05:12 elliott: yes 20:05:20 what do you do that gmail can't handle? 20:05:26 but if you try to reapply such a filter after something happens like you accidentally delete a label 20:05:34 it filters the whole damn conversation 20:05:38 not individual mesasges 20:05:50 well... gmail doesn't really have a concept of "message" as something that can move 20:05:53 this is unacceptable when I'm using IMAP 20:05:59 i don't use imap :) 20:06:19 in particular, I keep A-B and A-D in separate folders 20:06:32 ugh 20:06:39 that's a terrible practice; I did that, but it turns out it makes reading things a royal pain 20:06:49 so I stopped as soon as I actually registered 20:07:19 now, if I switched to the web UI exclusively now that they have offline access, that would work; I'd have to learn that I can't do the separate folder thing which would be ok if a bit annoying 20:07:56 but there are a few other issues that annoy me sufficiently 20:08:13 better than thunderbird 20:08:21 actually, no 20:08:44 well, things in total are better with thunderbird 20:08:49 what about Sylpheed/Claws? those are pretty popular with the kind of silly people who use traditional-style desktop mail clients 20:09:02 if GMail could act as an IMAP client, I'd like that 20:10:03 I very much like the webserver I use 20:10:13 what? 20:10:27 My email is hosted on a server 20:10:30 to which I IMAP 20:10:32 I like this server 20:10:45 you typo'd; s/webserver/server/ 20:10:48 ah 20:10:54 meant mailserver 20:15:01 "Checking for exit in -lboost_regex" 20:15:04 *facepalm* 20:15:12 whee name mangling 20:15:18 DON'T BE RETARDED YOU RETARD 20:17:01 EXIT IS NOT EVER GOING TO BE IN -lboost_regex. EVER. 20:17:23 pikhq, where was this? 20:17:39 This is actually in the AX_BOOST_REGEX macro. 20:18:13 It does that test *using C*, no less. 20:18:42 ... It later goes on to do an AC_CHECK_LIB for *main*. 20:18:47 wtf 20:18:52 MAIN IS EVEN LESS LIKELY TO BE IN -lboost_regex. 20:18:57 im a oifd 20:19:13 FUCK YOU, BOOST. FUCK YOU. 20:19:30 elliott: yes ur 20:19:40 coppro: cob 20:19:48 Also, FOR THE LOVE OF GOD PEOPLE, USE PKGCONFIG. 20:19:59 IT IS STRICTLY BETTER THAN YOUR STUPID BULLSHIT. 20:20:08 I think what it's trying to see is if an empty program can successfully link to -lboost_regex 20:20:27 olsner: Yes, and AC_CHECK_LIB does not do that. 20:20:52 it might do that if you give it nonsensical symbol names to check for :P 20:21:23 AC_CHECK_LIB checks to see if you can successfully link a program that contains a reference to a symbol in a given library, *and then execute it*. 20:21:29 aoifj 20:23:09 So, if you use a symbol that's not in the library you're checking, you're doing it wrong and you suck. 20:23:24 Did I happen to mention that you should use pkg-config? 20:25:51 I do believe that you did 20:26:48 It bears mentioning often. As pkg-config is The Right Answer. 20:27:10 olsner: do you know how to get bochs to stop outputting all that junk when it starts up 20:27:27 elliott: nope 20:27:32 olsner: :( 20:27:38 its just such a pain to useeee 20:28:39 don't use it then? 20:29:00 are you proposing i use qemu :p 20:29:44 no, I was actually only proposing you don't use bochs :P 20:30:01 psht 20:30:09 whether that means replacing it or just ceasing all activity is up to you 20:30:21 youre a bad person 20:30:26 haha, right 20:30:33 I'm a bad person! 20:30:38 yes 20:30:40 youre all abd people, die 20:30:56 I'm not an abd person :( 20:31:09 youre the most abd fuckin person ive ever heard of 20:31:25 well of course I'm abd fuckin 20:31:25 ABD people, the very worst kind of people 20:31:28 who isn't? 20:31:36 im abd fuckin every day 20:31:51 I bet you're extremely syntax too 20:31:57 * pikhq kinda wonders what level of configurability eglibc actually *has*... 20:32:00 syntaz actually 20:32:09 i like parsing so i will write a parser for a language that you can use to write a parser which is jit compiled and parses text 20:32:25 Most definitely nothing comparable to uclibc, but still, curious. 20:33:48 like uh, grep specializer 20:34:02 it's the ... grepalizer! 20:34:04 i must prove it 20:34:34 i did it once but it sucked 20:34:52 i want to make a second attempt 20:35:00 btw 20:35:14 so what makes you think it will go better this time? 20:35:41 i was in a hurry because i wanted to show it on my university 20:36:08 i've got this Puss Ruby DSL, in which you define grammar and then it generates random strings that comply to that grammar 20:36:45 what would happen if one defined a grammar of that DSL to generate random grammar definitions and feed them into the Puss itself 20:37:30 pusseption? 20:38:04 sorry, I mean P U S S E P T I O N, of course 20:38:19 https://github.com/nooga/puss 20:38:33 i must check it 20:38:53 but i don't want to accidentaly divide by 0 20:38:58 The world needs a fresh recursion meme. 20:39:10 indeed 20:39:14 or 20:39:15 not 20:39:26 Yo dawg, division by zero, I N C E P T I O N... they're all tired. 20:39:37 yep 20:39:46 elliott: you mean the ones we have are good enough? 20:39:46 division by zero is a recursion meme? 20:39:58 elliott, it's often used as one. 20:40:03 howso 20:40:06 olsner: no i mean they suck 20:40:17 By which I mean people reference it when recursion crops up. 20:40:52 "The Seventh Voyage", in which a spaceship defect forces Tichy through a series of time vortices, creating a multitude of temporal copies of Tichy. 20:41:01 from the Star Diaries by S. Lem 20:41:24 could be a good source of confusing paradoxes 20:41:49 Hmm. eglibc is rather less configurable than I'd hoped. 20:42:01 Though still a hell of a lot better than glibc. 20:43:43 It's possible to make a glibc that won't use dlopen with static linking. That's nice, at least. 20:44:09 brb 20:44:15 nooga, has anyone read the Star Diaries? 20:45:46 what's the star diaries 20:45:57 monqy, exactly. 20:46:19 Wow, apparently just getting rid of eglibc's locale support suts a giant swath of the libc's size. 20:46:20 DAMMIT MAHARBA 20:46:23 i'm emailing that bastard 20:46:32 You must be logged in and have a valid e-mail address in your preferences to send e-mail to other users. 20:46:33 oh come on 20:46:42 * elliott confirms his fucking email address 20:47:09 This user has not specified a valid e-mail address, or has chosen not to receive e-mail from other users. 20:47:10 lol 20:47:20 i guess i will just wait then 20:48:41 SUCKER 20:48:46 what 20:48:57 shut up tarski............ 20:50:15 banach-tarski banach-tarski 20:50:21 HYOURE A BANACH 20:50:49 Hmm, does Banach-Tarski work as a recursion meme... 20:51:14 probably not 20:51:16 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 20:51:25 i'll ban your ach tarski 20:51:31 Not to the layman, no. 20:51:45 banach-tarski works both as a recursion meme and as a recursion meme, separately 20:52:04 people who exist suck 20:52:32 hmm, LtU has slown down lately 20:52:41 elliott: NEEDS CONTROL GROUP FOR VERIFICATION 20:52:42 and Arcane Sentiment hasn't seen a post since April 20:53:47 Is Arcane Sentiment written by a Clojure fan? 20:59:21 -!- elliott has quit (Remote host closed the connection). 21:00:03 -!- elliott has joined. 21:00:43 is there really no haskell package for fixed-sized arrays... 21:00:45 i.e. three by three by three 21:01:03 encoded in the type 21:01:20 I mean I know I could do ((a,a,a),(a,a,a),(a,a,a)) but that's ugly 21:01:40 type Cool a = ((a, a, a), (a, a, a), (a, a, a)) 21:02:30 elliott: (a,a,a,a,a,a,a,a,a) then? :) 21:02:35 didn't i see a linear algebra package like that when someone was asking for how to do gauss elimination in haskell a while ago 21:03:06 (for bfjoust scoring) 21:03:18 and btw did anyone ever get that implemented 21:03:23 elliott, ISTR something like that. 21:03:28 well there's 21:03:28 hmatrix-static library: hmatrix with vector and matrix sizes encoded in types 21:03:35 Phantom_Hoover: there's repa, but that just encodes dimension in type 21:03:39 oerjan: nobody has yet, AFAIK 21:03:46 Also, aren't you essentially talking about dependent typing? 21:04:18 ...no. 21:05:18 Um. 21:05:38 elliott: oh wait you actually want arrays, not matrices? 21:05:43 oerjan: yeah 21:05:45 i.e. not linalg related 21:05:47 I mean, the array type depends on the dimensions, no? 21:05:56 Phantom_Hoover: Yes. This has nothing to do with dependent types. 21:06:08 If you think it does, you are mistaken about what dependent types are. 21:06:23 "In computer science and logic, a dependent type is a type that depends on a value" 21:06:27 (WP) 21:06:40 Phantom_Hoover: this is ok without dependent types because you have to encode the dimensions as a _type_, you cannot convert it from a value 21:06:52 oerjan, oh, that makes more sense. 21:06:55 oerjan: it is ok even if you have values at the type-level. 21:07:00 there is no use of the dependent function arrow. 21:07:13 it's definitely not dependent typing 21:07:20 elliott: well i mean it's ok in haskell 21:07:28 Right. 21:08:23 iirc didn't ghc recently get an extension where integer literals could be used as types, was that for this kind of stuff... 21:08:44 It did? 21:08:49 That would be really nice, do you have any links? 21:10:01 :1:2: 21:10:02 Couldn't match expected type `()' with actual type `Grid (S n0) a0' 21:10:02 In the first argument of `(:*:)', namely `() :*: () :*: ()' 21:10:02 In the expression: (() :*: () :*: () :*: X) :: Grid T3 () 21:10:06 derp herp 21:10:44 > (9DOLLAR SIGN0:) 21:10:48 :( 21:10:50 no lambdabot, no dollar sign 21:12:47 *Main> :t () :*: () 21:12:47 () :*: () :: Grid n () ~ () => GridS n () 21:13:04 beautiful~ 21:13:59 i think : has same precedence as ++, 6 or so 21:14:09 Constraint is no smaller than the instance head 21:14:09 in the constraint: Show (Grid n t) 21:14:09 (Use -XUndecidableInstances to permit this) 21:14:10 or wait 21:14:10 sob 21:14:21 data GridS n t = t :*: Grid n t 21:14:22 deriving instance (Show (Grid n t)) => Show (GridS n t) 21:14:24 why is this not ok :( 21:14:39 elliott: um doesn't the (0$0 :) trick work in ghci? 21:15:09 oerjan: yes yes yes fix my bug 21:16:30 well "Constraint is no smaller than the instance head" looks pretty accurate 21:17:39 but i want the show ;_; 21:19:59 i think : has same precedence as ++, 6 or so 21:20:00 five actually 21:20:24 ah 21:20:53 N :*: (N :*: N) :/: (N :*: (N :*: N) :/: N :*: (N :*: N)) 21:20:54 oh come on 21:20:56 i may have misunderstood; at least i cannot find these number literal types in the language options 21:21:02 I said it was infixr why don't you take that into account :( 21:21:19 oerjan: but hey look, planet overkill: http://sprunge.us/IAJR 21:21:33 Show instances don't; we've discussed this before i think 21:21:53 *derived Show instances 21:22:17 define showsPrec yourself if you want it to be nice 21:22:27 yeah yeah :D 21:24:57 class (Show t => Show (Grid s t)) => Grid s t where 21:25:00 that's not a valid constraint, is it. 21:27:57 er no? 21:28:14 you might want a , there 21:28:33 or wait 21:28:49 http://www.youtube.com/watch?v=Wiy_eHdj8kg 21:28:55 Cool. 21:29:03 oerjan: nope 21:29:29 oerjan: hmm, now i'm venturing into dependent typey territory (wanted to make xs!n a type error if n is too big :D) 21:32:41 argh... this is irritating 21:47:59 oerjan: i'm still working on it :D 21:49:45 oh 21:49:46 this won't work 21:49:48 because of how I... argh 21:53:55 i'm writing an infinite, recursive loop that won't kill the stack :D 21:54:02 in C 21:55:17 _portable_ C? 21:59:16 -!- wareya has quit (Read error: Connection reset by peer). 22:00:10 -!- wareya has joined. 22:01:38 oerjan: i wish haskell had proper overloaded integers :( 22:01:57 (you can't define a LessThanFour type where (4 :: LessThanFour) causes a type error) 22:02:27 -!- azaq23 has quit (Quit: Leaving.). 22:04:09 * Phantom_Hoover → sleep 22:04:30 -!- Phantom_Hoover has quit (Quit: Leaving). 22:14:16 oerjan: i use cdecl and pop function address from the stack as an argument 22:14:52 nooga: so, not portable. 22:15:30 who cares 22:15:39 it's a hack 22:15:41 PERFECTIONISTS 22:17:14 nooga: well it's not /C/ 22:18:11 nor /b/ 22:18:23 nor /d/ 22:24:41 -!- oscuro has joined. 22:24:44 -!- oscuro has quit (Client Quit). 22:44:53 -!- augur has quit (Remote host closed the connection). 22:50:14 nooga: You could just assume GNU C and make it easy on yourself. :P 22:51:49 For example, ''pabi'' plus ''raha'' (5) is written ''gahaha pabi raha''. 22:51:51 gahaha 22:51:55 monqy: gahaha 22:52:47 mmmm syl 22:53:21 gahaha is a good name for addition 22:56:58 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:04:38 -!- olsner has quit (Quit: Leaving). 23:05:25 pikhq: hey i'm reading a log where you mock me for proposing writing everything above the kernel and drivers in a high-level language because you'd need a supercomputer to do anything :D 23:05:27 thought you should know 23:06:37 O-o 23:06:50 nooga: its ok hes less of a terrible person now 23:06:56 SLIGHTLY LESS 23:07:06 nooga: I have learned that C sucks terribly. 23:07:20 i heard that i'm a terrible person 23:07:24 lol apparently Singularity is proof that nothing good will come from Microsoft ever :DDDD 23:07:30 it's ok to mock all you guyses past selves right 23:07:35 And that smart algorithms > smart microöptimizations, 99% of the time. 23:07:35 i mean i do it to your present selves so i figure 23:07:45 from GLaDOS while playing portal 2 23:08:01 00:32:36: Bring back Lisp Machines! Write the OS in Lisp and let the user-mode language be Haskell! 23:08:01 00:32:49: VIVA LA GRAPH REDUCIÃ<93>N! 23:08:02 00:33:23: You say this because you are unfamiliar with anything more low-level than a simple GUI. :P 23:08:03 hurt my feelings :( 23:08:09 (vim messing up the unicode, that is) 23:08:54 Also, if you're *going* to do C, it should suck less. 23:09:19 apparently if lisp machines were at all good at anything they would still be being made because there's a niche market for them :x 23:09:22 -!- Tritonio has joined. 23:09:49 Haskell machine? 23:09:59 someone should make a lisp cluster in one FPGA chip 23:10:05 CakeProphet: Reduceron 23:10:06 http://www.cs.york.ac.uk/fp/reduceron/ 23:10:06 massive thunk registers. 23:10:11 nooga: stanislav is ostensibly working on a lisp fpga :P 23:10:17 oh 23:10:19 CakeProphet: It's a symbolic graph-reduction FPGA machine 23:10:28 CakeProphet: Specified in York Lava, which is a Haskell library for declarative hardware 23:10:35 It's the coolest damn thing ever 23:10:49 declarative hardware sounds mind blowing 23:10:54 I'm not sure if your definition of cool is representative. 23:11:05 -!- dnm_ has left. 23:11:09 CakeProphet: How is this not cool. 23:11:19 nooga: see YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz 23:11:25 nooga: also, ais' work is similar to this 23:11:33 in that he's working on something "one level up" from VHDL 23:11:37 that's declarative 23:11:55 that's why he's spending his days compiling algol 60 code into vhdl :) 23:12:04 -!- Patashu has joined. 23:12:24 But yeah, the Reduceron is just the coolest thing. and the memos are mind-expanding. 23:12:46 I've heard similar things about various drugs. 23:12:52 Shush you. 23:13:17 cool 23:13:38 nooga: but yeah, the entire Reduceron is specified in York Lava 23:13:58 there's also an emulator in ~seven hundred and fifty lines of C 23:14:03 (including whitespace and comments) 23:14:09 with speculative evaluation, too 23:14:10 what are we talking about? 23:14:18 Patashu: The Reduceron http://www.cs.york.ac.uk/fp/reduceron/ 23:14:20 yeah, i'm reading the emulator src ;] 23:14:23 at the moment 23:14:32 or rather browsing it 23:14:33 Patashu: a purely-functional, symbolic graph reducing CPU architecture 23:14:36 implemented on FPGAs 23:14:49 wait what 23:14:56 Define "wait what" :P 23:15:13 nooga: look at fpga/Reduceron/Reduceron.vhd... gotta love generated code :D 23:15:18 so it's haskell in ur circuitry 23:15:28 Patashu: "ur circuitry"? 23:15:46 The actual stuff the Reduceron evaluates is more like term-rewriting languages (think Q, Pure) than Haskell 23:15:51 But yes, it's functional hardware. 23:16:08 Defined with York Lava, which is a Haskell library for declarative hardware development that outputs to VHDL. I feel like I'm repeating myself. 23:16:13 Probably because I am repeating myself. 23:19:47 !addinterp len perl $_=<>;print length 23:19:47 ​Interpreter len installed. 23:19:56 !delinterp len 23:19:57 ​Interpreter len deleted. 23:19:58 -!- augur has joined. 23:20:01 !addinterp len sh wc -c 23:20:01 ​Interpreter len installed. 23:20:06 !len abcd 23:20:07 ​5 23:20:12 !delinterp len 23:20:13 ​Interpreter len deleted. 23:20:15 !addinterp wc sh wc 23:20:16 ​Interpreter wc installed. 23:20:18 !wc abc def 23:20:18 ​1 2 8 23:20:25 !delinterp wc 23:20:25 ​Interpreter wc deleted. 23:20:34 !addinterp wc sh wc -wm 23:20:34 ​Interpreter wc installed. 23:20:35 I think what you're looking for is.. 23:20:37 !wc abc def 23:20:38 ​2 8 23:20:41 Excellent. 23:20:45 nope.. 23:20:49 Nope? 23:20:54 It shows words, and characters. 23:20:57 elliott: lol at the vhdl code 23:20:58 Looks good to me. 23:21:16 nooga: you should look through the memos, they're really cool 23:21:26 !delinterp wc 23:21:27 ​Interpreter wc deleted. 23:21:27 i will, but tomorrow 23:21:28 !addinterp len perl $_=<>;print `wc $_` 23:21:28 ​Interpreter len installed. 23:21:37 CakeProphet: ... 23:21:40 for a start 23:21:41 that won't work 23:21:43 for a second 23:21:44 got to go, good night 23:21:44 SRSLY? 23:21:50 elliott: what won't work? 23:21:53 nooga: night 23:21:54 CakeProphet: your perl 23:22:01 ...because? 23:22:10 `wc $_` 23:22:12 No output. 23:22:21 ...uh, okay? 23:22:26 !wc -c "sup dawg" 23:22:26 think about it. 23:22:38 fail 23:22:38 I am. 23:22:39 you forgot sh 23:22:44 !sh wc -c "sup dawg" 23:22:44 ​/usr/bin/wc: sup dawg: No such file or directory 23:22:52 btw, it's actually 23:22:53 !sh wc -c sup dawg 23:22:54 ​/usr/bin/wc: sup: No such file or directory 23:22:55 you don't quote it at all 23:23:08 why do I sh? 23:23:25 what? 23:23:33 ` ` /is/ sh... 23:23:34 No output. 23:23:45 i meant in 23:23:47 !wc -c "sup dawg" 23:24:11 ? 23:24:14 I forgot sh in that? 23:24:16 sigh 23:24:26 your version is borken, simple as :P 23:26:16 -!- nooga has quit (Ping timeout: 258 seconds). 23:26:53 !addinterp wc perl $_=<>;print `wc $_` 23:26:53 ​Interpreter wc installed. 23:26:57 !wc -c sup dawg 23:26:58 ​/usr/bin/wc: sup: No such file or directory 23:27:11 lol 23:27:20 !delinterp len 23:27:20 ​Interpreter len deleted. 23:28:53 !delinterp wc 23:28:53 ​Interpreter wc deleted. 23:29:03 hmm 23:29:19 not useful if I can't specify options as well as the standard input. 23:29:24 i'm doing so 23:29:35 with Perl right? :P 23:29:42 nope 23:29:59 not going to be as awesome then... 23:30:36 !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\b[^-].*//'`; text=`echo "$text" | sed 's/.*\b\([^-]\)/\1/'`; echo "$text" | wc $opts 23:30:37 ​Interpreter wc installed. 23:30:39 `wc abc 23:30:41 No output. 23:30:45 !wc abc 23:30:46 ​1 1 4 23:30:49 oh god... 23:30:50 !wc -c abc 23:30:51 ​1 1 4 - 23:30:55 bah 23:30:56 i'll fix it later 23:34:08 -!- FireFly has quit (Remote host closed the connection). 23:34:20 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:36:06 !perl $_="test";@x=s/test//g;print @x 23:36:07 ​1 23:36:23 * elliott drools over the reduceron memos some more 23:36:57 "To see the impact of the dynamic sharing analysis, look at the 23:36:57 differences between the numbers of updates and unwinds. Without any 23:36:58 sharing analysis, these numbers would be the same. On average, the 23:36:58 dynamic sharing analysis avoids 60% of updates." 23:37:41 oerjan when i make the perfect computer you can have one ok 23:37:47 * elliott kind 23:41:13 OK 23:41:37 oerjan: you were meant to say "thank you you are so kind" 23:42:07 -!- pikhq_ has joined. 23:42:07 Danke schön, Sie sind so Kind 23:42:33 :D 23:42:43 caret _______ caret 23:42:48 * oerjan whistles innocently 23:42:50 oops now you guys know my widemouthed secret too 23:45:31 -!- pikhq has quit (Ping timeout: 260 seconds). 23:45:51 !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W*\w*)*/; $opt=join(' ', m/$r/); s/$r//;print `echo "$_" | wc $opt` 23:45:51 ​Interpreter wc2 installed. 23:46:01 !wc2 -c sup dawg 23:46:02 ​11 23:46:07 ...not quite. 23:46:30 -!- Tritonio has quit (Quit: Leaving). 23:46:32 stop using perl asshole 23:46:35 :( 23:46:48 `run echo "-abc donkeys" | sed 's/\b[^-].*//' 23:46:49 ​- 23:46:51 ... 23:46:52 ..asshole? What about Perl makes me an asshole. 23:46:59 CakeProphet: perl :| 23:47:00 ok now for good sh time 23:47:11 `run echo "-abc donkeys" | sed 's/\( \|^\)[^-].*//' 23:47:13 ​-abc 23:47:29 `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]//' 23:47:31 No output. 23:47:36 `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]\)/\/' 23:47:36 fuck 23:47:37 No output. 23:47:37 X just fucked up 23:47:43 !delinterp wc2 23:47:43 ​Interpreter wc2 deleted. 23:47:45 -!- elliott has quit (Remote host closed the connection). 23:48:11 -!- elliott has joined. 23:48:45 !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts 23:48:45 ​There is already an interpreter for wc! 23:48:48 !delinterp wc 23:48:48 ​Interpreter wc deleted. 23:48:48 !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts 23:48:49 ​Interpreter wc installed. 23:48:54 !wc abc 23:48:54 ​1 1 4 23:48:58 !wc -c abc 23:48:59 ​4 23:49:08 hmm... 23:49:08 oh 23:49:10 !delinterp wc 23:49:10 ​Interpreter wc deleted. 23:49:16 !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts 23:49:17 ​Interpreter wc installed. 23:49:20 !wc -c abc 23:49:20 ​3 23:49:23 nice 23:49:27 !wc -m abc 23:49:28 ​3 23:49:29 !wc -l abc 23:49:29 ​0 23:49:32 !wc -wm abc 23:49:33 ​1 3 23:49:34 !wc -w -m abc 23:49:35 ​1 3 23:49:39 CakeProphet: bow to your new god 23:49:44 !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W+\w+)*/; m/$r/; $opt=$1; s/$r//;print `echo "$_" | wc $opt` 23:49:44 ​Interpreter wc2 installed. 23:49:48 !wc -wm abc 23:49:49 ​1 3 23:50:04 AWWW YEAH I'M LEIBNIZ 23:50:05 fail 23:50:08 !addinterp wc2 23:50:10 !wc 23:50:13 ROFL 23:50:17 -ahem- 23:50:23 that's because you STOLE It. 23:50:33 !wc2 -wm abc 23:50:34 ​2 2 9 23:50:37 haha 23:50:40 why are there bans on this channel 23:50:45 could someone please remove them all 23:51:09 they're all for you 23:51:09 why 23:51:09 :( 23:51:15 in case you ever want to use those hosts 23:51:17 they irk me 23:51:18 :D 23:51:21 * #esoteric Banlist: Tue Mar 29 04:26:23 honey!*@beehive.insectopia.us kornbluth.freenode.net 23:51:24 thats an important ban oklopol 23:51:26 !delinterp wc2 23:51:26 ​Interpreter wc2 deleted. 23:51:28 why 23:51:31 because honey 23:51:33 we are at war 23:51:34 with the bees 23:51:45 please remove that 23:51:47 you should totally remove the shutup bans though oerjan 23:51:49 i have a bee nest outside my window 23:51:51 not joking here 23:51:56 oerjan: could you remove the bans 23:52:08 really think those people are trying to get in? 23:52:30 shutup would definitely return if its ban was removed 23:53:30 !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print `echo "$_" | wc $opt` 23:53:31 ​Interpreter wc2 installed. 23:53:37 !wc2 -c abc 23:53:37 ​1 2 7 23:53:42 ...? 23:53:44 lol 23:54:29 we already did a ban list cleanup not _that_ long ago 23:54:53 those are all over a month old 23:55:26 definitely think we need shutup unbanned 23:55:37 elliott: fix my program for me. 23:55:42 ...by which i mean something like < 6 months ago 23:55:44 CakeProphet: i did, by rewriting it in sh, in the past 23:56:00 !delinterp wc2 23:56:00 ​Interpreter wc2 deleted. 23:56:44 !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print;#print `echo "$_" | wc $opt` 23:56:44 ​Interpreter wc2 installed. 23:56:49 !wc2 -c test teorkjwerijwer 23:56:49 ​-c test teorkjwerijwer 23:57:02 ...WHUT. 23:57:22 nt;# 23:57:34 t//;print;#print `ec 23:57:34 yes I know that was intentional. 23:57:35 to be precise 23:57:47 homp;/^\w*([-]\W+\w+)*/;$o 23:57:53 well thats not... kosher. 23:57:57 or is it. 23:57:58 hmm. 23:58:03 is that a boolean matching? 23:58:03 -!- lambdabot has joined. 23:58:03 what? 23:58:07 yes. 23:58:26 ah I know what I could do... 23:58:31 !delinterp wc2 23:58:32 ​Interpreter wc2 deleted. 23:58:47 * oerjan hugs lambdabot 23:59:20 !addinterp wc2 perl $_=<>;chomp;s/^\w*([-]\W+\w+)*//;$opt=$1;print;#print `echo "$_" | wc $opt` 23:59:20 ​Interpreter wc2 installed. 23:59:23 !wc2 -c test 23:59:24 ​-c test 23:59:25 .... 23:59:33 something's wrong with the regex then. 23:59:55 ooooh 23:59:57 right. :P 2011-06-08: 00:00:02 !delinterp wc2 00:00:02 ​Interpreter wc2 deleted. 00:00:25 !addinterp wc2 perl $_=<>;chomp;s/^\W*([-]\w+\W+)*//;$opt=$1;print `echo "$_" | wc $opt` 00:00:26 ​Interpreter wc2 installed. 00:00:30 !wc2 -c abc 00:00:30 ​1 2 6 00:00:35 fffff 00:00:41 but yeah Iwas confusing \w and \W 00:00:53 \w stands for "word character" not "whitespace" 00:01:32 !delinterp wc2 00:01:32 ​Interpreter wc2 deleted. 00:02:51 > mapM (length <$>) [lines, words, id] "test\nho there" 00:02:52 Couldn't match expected type `GHC.Types.Char' 00:02:52 against inferred type... 00:02:52 im...robot 00:02:58 f 00:03:10 im...robot 00:03:11 im...robot 00:03:12 im...robot 00:03:12 im...robot 00:03:12 im...robot 00:03:16 im...robot 00:03:18 im...robot 00:03:26 could this ircing get any better??? 00:03:47 oh duh 00:04:19 !addinterp wc2 perl $_=<>;chomp;s/^\s*((?:[-]\S+\s+)*)//;$opt=$1;print;print `echo "$_" | wc $opt` 00:04:19 ​Interpreter wc2 installed. 00:04:24 !wc2 -c weorjsoidfjiuwehriuwheriuhweriuh 00:04:25 ​weorjsoidfjiuwehriuwheriuhweriuh33 00:04:38 okay, now I'm Leibniz. 00:04:47 except with emulating wc as an IRC bot command 00:04:51 instead of calculus. 00:04:57 !delinterp wc2 00:04:57 ​Interpreter wc2 deleted. 00:05:20 !addinterp wc2 perl $_=<>;chomp;s/^\s*((?:[-]\S+\s+)*)//;$opt=$1;print `echo "$_" | wc $opt` 00:05:20 ​Interpreter wc2 installed. 00:05:23 Hmm. include-what-you-use may be the single greatest boon to porting something to work on musl. 00:05:41 musl? 00:05:46 A simple libc. 00:06:43 > mapM (length.) [lines, words, (pure.)] "test\nho there" 00:06:44 [2,3,13] 00:07:05 And include-what-you-use is a static analysis tool built with clang that does, well, what you think it does. 00:07:10 !addinterp sh++ perl $_=<>;print `$_` 00:07:11 ​Interpreter sh__ installed. 00:07:21 elliott: it's an improved sh because it runs through perl... 00:07:59 I recommend using it in the future. 00:11:12 lol 00:11:35 elliott: also, because there was totally an implied golfing contest, my code has few bytes with whitespace removed 00:11:43 *fewer 00:12:07 !delinterp wc2 00:12:07 ​Interpreter wc2 deleted. 00:12:49 !addinterp wc2 perl $_=<>;chop;s/^\s*((?:[-]\S+\s+)*)//;print`echo "$_"|wc $1` 00:12:49 ​Interpreter wc2 installed. 00:12:58 -ahem- and now even fewer. 00:20:41 Hmmmm. I think that I might be able to get GNU coreutils to coöperate with me. Near as I can tell, the stupid bits of gnulib are actually just someone being overzealous. 00:20:53 That is, I may well be able to fix it via rm. 00:21:49 but why would you want gnu coreutils 00:23:21 I was just wondering, mostly. 00:23:45 I'm going to be amused if the portability problems of GNU shit is because they just stuck too much stuff from gnulib in there. 00:26:52 How much money do I make working at FSF? 00:27:01 :3 00:27:17 stallman's foot clippings 00:28:47 I wonder why stallman is the butt of so many jokes. He's a pretty cool guy, doesn't afraid of anything. 00:29:06 *facepalm* 00:29:08 #if 1 00:29:13 # include 00:29:13 #endif 00:29:27 Guess what won't work anywhere at all? 00:29:36 pikhq_: ... 00:29:47 lolwhut 00:29:53 Incidentally, that header only exists on OS X 10.5. 00:30:00 pikhq_: xlocale.h? 00:30:02 it's quite common 00:30:20 /* MacOS X 10.5 defines the locale_t type in . */ 00:30:24 Well, that's what they claim. 00:30:28 ah 00:30:38 glibc does the same but they #include in s/\?/> 00:32:49 * elliott myndzi 00:32:50 * myndzi elliott 00:33:52 coppro: on an utterly pedantic note, I don't think you have to escape the ? if there's nothing in front of it. 00:36:04 though it would be an interesting extension if a ? at the beginning of the regex signified that the null string is acceptable or something. 00:36:43 equivalent to (?:...)? around the entire expression 00:37:48 -!- cheater_ has quit (Ping timeout: 248 seconds). 00:40:47 -!- cheater_ has joined. 00:52:20 I have no idea what I would be doing with myself if I had never learned how to program. 00:52:31 -!- oklopol has quit (Ping timeout: 258 seconds). 00:52:56 I'd probably write a lot more. 00:53:25 and would have become an English major or something awful like that. 00:54:26 elliott: link me an interesting data structure that I haven't heard of. 00:56:18 and on yet another unrelated note, they should REALLY put something like fclabels into Haskell by default, and completely redo the record syntax. 00:56:57 haskell records are pretty much the worst yeah 00:57:24 because as it currently stands there is no higher-order mechanism to re-set record fields cleanly. 00:57:42 without using fclabels, which uses template haskell I believe. 00:57:49 we also need some kind of type-directed name resolution. 00:57:51 http://hackage.haskell.org/trac/haskell-prime/wiki/TypeDirectedNameResolution 00:57:58 CakeProphet: you can derive the accessors manually if you want to avoid TH 00:58:20 expand TH plz. 00:58:26 oh 00:58:27 nvm 00:58:28 :P 00:59:04 well it's not so much that I want to avoid it, it's just that the fclabels syntax to declare something as a fclabel is somewhat ugly. 00:59:27 you can omit the $() in ghc 7 00:59:36 data Point = Point { _x :: Integer, _y :: Integer } 00:59:40 mkLabels [''Point] 00:59:43 that's not so bad. 01:00:31 elliott: essentially this proposal is proposing a kind of overloading. Which I think is a good idea(tm) 01:00:41 it isn't 01:00:47 we already have overloading (typeclasses) 01:00:51 -!- Sgeo has quit (Ping timeout: 252 seconds). 01:00:52 (unstructured overloading is Dangerous) 01:01:10 it's in fact just exactly what it says on the tin ... type-directed name resolution :P 01:03:19 elliott: to me the . lexeme seems somewhat unecessary. 01:04:35 brb 01:04:38 you could just overload the accessor name based on the type of the first argument (read: type directed name resolution) but skip the . syntax, which already has enough things that it represents. 01:06:24 -!- augur has quit (Remote host closed the connection). 01:08:13 the only problem would be that :t accessorName is now ambiguous, or would refer to only one while hiding all others. But, that proposal has that problem as well. 01:22:58 back 01:23:10 CakeProphet: that's really ugly. and no, the proposal doesn't have the latter problem 01:23:15 note that most of the later sections are just /ideas/ 01:23:26 and the ones that involve two functions with the same name in the same module scope are bad ones :) 01:24:00 I don't see anything wrong with M.accessor x 01:24:49 http://hackage.haskell.org/trac/haskell-prime/wiki/ExistingRecords#First-classsyntax 01:24:58 M.accessor x is ugly. 01:25:03 and verbose. 01:25:08 I do like this proposal. Except the second syntax form is kind of weird and isn't really needed. 01:25:09 M is usually more than one letter :P 01:25:28 anyway WHAT WE REALLY NEED IS ML-STYLE MODULES DAMMIT 01:25:42 so what's wrong with "accessor x", where the name is resolved by the type of x? 01:27:11 > let (=:) x = "test" in (=:) 3 01:27:12 "test" 01:28:29 @hoogle (~) 01:28:29 Test.HUnit.Base (~:) :: Testable t => String -> t -> Test 01:28:30 Test.HUnit.Base (~=?) :: (Eq a, Show a) => a -> a -> Test 01:28:30 Test.HUnit.Base (~?) :: AssertionPredicable t => t -> String -> Test 01:28:31 so what's wrong with "accessor x", where the name is resolved by the type of x? 01:28:36 because unstructured overloading is Scary. 01:28:51 CakeProphet: lazy pattern 01:28:58 it's equally structured to x.accessor 01:29:11 there's just no sugar. 01:29:23 CakeProphet: no, it's not about sugar 01:29:32 the .accessor denotes something very important here, it conveys the intent 01:29:46 > case Nothing of ~Just x -> "This will break " ++ x 01:29:47 : Parse error in pattern 01:29:51 erm 01:30:01 > case Nothing of ~(Just x) -> "This will break " ++ x 01:30:04 i feel http://r6.ca/blog/20090511T013939Z.html is quite relevant here 01:30:07 mueval-core: Time limit exceeded 01:30:10 even though it's about a more dynamic kind of dispatch than this. 01:30:12 > case Nothing of ~(Just x) -> "This will break " ++ x 01:30:15 "This will break *Exception: :(3,0)-(4,21): Irrefutable patter... 01:30:30 oh FUCK NO fly 01:30:35 get the FUCK out of this room 01:33:00 elliott: I thought it was about structured overloading.. 01:33:38 CakeProphet: yes but "f x" doing any kind of overloading is Scary :) 01:33:51 what's unstructured about "accessor functions are special, can overlap in a namespace, and are resolved by the type of their first argument" 01:34:58 scary for the timid, I suppose. It changes absolutely nothing about the semantics. It's purely a syntax thing to convey a smidgeon of extra warning that something (apparently) EVIL is going on. 01:35:00 um what? "accessor functions are special"? 01:35:06 type-directed name resolution works on /every/ function 01:35:35 right, that's what you're defending, I'm defending someting else. 01:36:12 guys what does fly poo look like 01:36:16 this is important 01:36:23 miniscule. 01:36:43 ok so this thing on my bed 01:36:45 isnt fly poo 01:36:52 oh its fluff 01:37:02 if it's large enough to cause alarm probably not. 01:40:05 -!- augur has joined. 01:40:21 I mean, accessor functions are already special in the sense that they're automatically generated. It would be perfectly reasonable to specialize them a small step further by allowing their names to be disambiguated by first argument. Regular functions don't /need/ type-directed name resolution so they should be excluded. 01:41:09 because, yes, unstructured overloading is scary. 01:42:17 overloading of record field names is not scary, and is pretty commonly encountered in languages. 01:43:58 overloading of the . symbol to be a kind of reversed function application, a means to qualify variable names, and function composion... is pretty scary. 01:44:18 -!- oklopol has joined. 01:46:07 back 01:46:16 CakeProphet: but dude 01:46:18 you can pass accessor functions around 01:46:27 treating applications of accessor functions differently to all other functions 01:46:30 with the exact same syntax 01:46:33 and the exact same naming rules 01:46:38 is the most perverse, horrible thing ive ever heard of 01:46:49 and goes right against everything i know about the spirit of haskell i.e. no insane non-local shit like that 01:47:09 anyway . as composition already needs spaces around it because of module resolution 01:47:16 ideally I would prefer some kind of unicode for composition 01:47:19 -!- Sgeo has joined. 01:47:22 so that . could be less weird like that 01:47:24 but it's like that anyway 01:47:28 so we might as well take advantage of it 01:49:12 four days without homestuck update :'( 01:50:13 There isn't going to be a Flash, is there? 01:50:38 I mean, I'd assume there would be, if not for the fact that the point of Doc Scratch narrating seems to be to prevent it 01:55:18 see formspring. no flash till EOA 01:55:46 The last Bonobo Conspiracy update was July 10, 2010 02:07:12 and? 02:11:15 -!- fizzie has quit (*.net *.split). 02:11:16 -!- Wamanuz3 has quit (*.net *.split). 02:11:16 -!- ttm_ has quit (*.net *.split). 02:11:16 -!- Herobrine has quit (*.net *.split). 02:11:16 -!- HackEgo has quit (*.net *.split). 02:11:17 -!- yiyus has quit (*.net *.split). 02:11:24 -!- HackEgo has joined. 02:11:25 -!- Herobrine has joined. 02:11:31 Just noting that some webcomics are kind of sad in how irregular updates have become, and MSPA hasn't hit that point 02:11:40 -!- yiyus has joined. 02:11:41 -!- Wamanuz3 has joined. 02:11:42 -!- ttm_ has joined. 02:13:35 -!- EgoBot has quit (Remote host closed the connection). 02:13:46 -!- EgoBot has joined. 02:14:08 DAMMIT TARSKI 02:15:47 Sgeo: so... "some comics are dead -> a comic which has updated as often as twenty-one pages in one day not updating for four consecutive days, despite there being no Flash update coming, is irrelevant"? :p 02:15:57 ofc it's not actually a big deal that it hasn't updated, but still 02:16:23 elliott: GHC could easily substitute the first argument of the accessor name to be a until the type is known. It doesn't have to resolve it immediately. :) 02:16:31 CakeProphet: um how is that relevant 02:17:20 -!- fizzie has joined. 02:17:27 elliott: it's relevant because it has nothing to do with insane non-local shit. 02:17:50 it is definitely non-local; the semantic definition of "f x" can change just because the definition of f was changed 02:17:53 consider that 02:18:13 newtype MyMonadStack a = MyMonadStack { runMyMonadStack :: LotsOfTransformers a } 02:18:15 is often used but also 02:18:22 newtype MyMonadStack a = MyMonadStack (LotsOfTransformers a) 02:18:27 runMyMonadStack (MyMonadStack m) = m 02:18:28 is used too 02:18:31 in similar proportions 02:18:42 well fuck 'em. 02:18:46 to have this kind of trivial refactoring drastically change the semantics of every function application in another module 02:18:48 is completely insane 02:18:49 and terrible 02:18:50 time to make my Haskell/Perl hybrid. 02:18:54 ugh 02:18:57 you have terrible taste 02:19:18 How do you make a Haskell/Perl hybrid? 02:19:26 carefully. 02:19:41 badly 02:19:54 hybrid in principle, not in exact semantics, of course. 02:20:00 -!- augur has quit (Remote host closed the connection). 02:25:00 functional style (not ncessarily pure), powerful type system, convenient syntactic/semantic constructs, general awesomeness all around. 02:27:17 sounds like you want perl 6. 02:28:03 tab gc time 02:28:11 "Running at only 91.5MHz on an FPGA, the Reduceron is faster than mature bytecode implementations of Haskell running on a 2.8GHz PC." ;; wow, I had no idea things were /this/ good 02:28:36 it would be cool if there was some automatic parallelisation stuff going on too with a many-cored graph reducer... 02:29:05 hmm, "bytecode implementations" 02:29:09 I wonder if that's excluding GHC? 02:29:18 yes 02:29:24 are you sure? 02:29:26 considering that GHC isn't a bytecode implementation.. 02:29:34 ghc has a few stages which could be described as similar to bytecode 02:30:03 well, that's probably not what they mean, in the context of final state execution. 02:30:09 s/state/stage/ 02:30:15 oerjan I think knows more than me, but spineless tagless g-machine? 02:31:50 ah: 02:31:51 On average, the Wide Reduceron (on FPGA) outperforms the Reduceron, 02:31:51 Yhc, and Nhc98 bytecode interpreters (on PC). All of these implementations 02:31:51 share a common frontend, so each interpreter runs the same core Haskell programs. 02:32:14 "The leading native-code compiler GHC performs many advanced optimisations. For example, GHC spots that the critical safe function in Queens is 02:32:14 strict, so need not be instantiated on the heap. Similar optimisations might be 02:32:14 used in a future Reduceron implementation, but architectural changes would be 02:32:16 Hugs is bytecode right? 02:32:19 times slower than GHC -O2 (on PC)." 02:32:21 no, hugs is a straight interpreter 02:32:23 still 02:32:31 4.85 slower than GHC with -O2 02:32:31 is 02:32:32 really impressive 02:32:41 because the Reduceron is an /FPGA/ running at 91.5MHz... 02:33:04 so a modest improvement in hardware should make it run faster I'd think. 02:33:16 yes, although investing into getting such optimisations working would be a more productive use of time 02:33:27 yeah. 02:33:36 brute force doesn't usually scale :) 02:34:06 unless you have elastic super powers. 02:34:22 i should ask ais about fpgas again. 02:34:25 then you can scale to whatever you please.. 02:34:33 or Vorpal, he's done some stuff with them iirc. 02:34:53 they are just so expensive, though :( 02:36:41 doesn't ghci use a bytecode backend 02:36:49 http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html ;; bet this is shit 02:36:57 cheap though 02:37:20 and seemingly their highest-end "starter kit" (i.e. thing anyone could ever hope to afford) 02:37:33 * elliott checks xilinx 02:37:42 (fucking duopolies) 02:38:06 gah, xilinx's site is user-hostile 02:38:50 JESUS I JUST WANT SOMETHING ORDERED BY PRICE 02:38:56 hate you hate you hate you 02:39:35 Atlys Spartan-6 FPGA Development Kit$349 02:39:35 ($199 for academic customers)A complete, ready-to-use development platform based on a Xilinx Spartan-6 LX45 FPGA, the Atlys kit features high-end peripherals and is an ideal host for complete digital systems built around embedded processors like Xilinx’s MicroBlaze. 02:39:35 Spartan-6 FPGA SP605 Evaluation Kit$495Conveniently delivers all the basic components for developing cost and power-sensitive applications that require transceiver capabilities in one package. 02:39:41 stab my eyes out 02:40:06 i kind of want to try the reduceron but im not paying hundreds of pounds more for something that is compatible with the reduceron toolchain :D 02:40:29 Clocking 02:40:29 50-MHz on-board oscillator 02:40:36 ok so it's about half as fast as the one the reduceron guys used i guess 02:41:25 ok they used Virtex-5 it seems 02:41:46 oh my fuck xilinx site 02:41:47 i hate your shits 02:42:57 elliott: start a t-shirt business. 02:43:01 what 02:43:06 find trendy things to make t-shirts about. profit. 02:43:36 especially obscure trendy nerdy things. Read xkcd for ideas. 02:44:01 id rather stab my eyes out 02:44:12 but you can't make money from that! 02:44:20 fuck you i can do whatever i want 02:45:06 your reduceron isn't going to be much use if you can't write Haskell programs because you don't have any ideas. 02:45:12 ideas for what 02:45:17 s/ideas/eyes/ :P 02:45:24 anyway i don't want a reduceron well i mean i do but 02:45:28 i mostly want to write my OWN SHIT YEAAAAAAAH 02:45:38 dont tell anyone that im essentially talentless and unmotivated 02:46:00 hey you can write a wc shortcut faster than me. 02:46:20 that's just because i have a functioning brain ;DDDDDD 02:47:13 hey, that's not nice. 02:47:31 im sorry can yo ufind it in ur hert.... to forgive me......... 02:48:05 ..no? asshole. 02:50:59 ok 02:51:59 * elliott cry 02:52:46 -!- elliott has set topic: hurt feelings on irc: the game | | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 02:52:47 * Topic for #esoteric set by elliott!~elliott@unaffiliated/elliott at Tue Jun 7 19:36:45 2011 02:52:54 wtf happened there 02:53:03 -!- elliott has set topic: hurt feelings on irc: the game | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 02:53:48 elliott: must have been a server glitch. 02:54:03 or a bad copy-paste. 02:54:12 what? never. 02:54:42 always use fresh paste when copying 02:55:26 Always kill it before you yank it. 02:56:38 gross gross 02:57:11 you know nothing of my work. 02:59:48 so I decided for my regexp language it would be a good idea to not make bare symbols means "match this character", which makes things a lot easier when trying to specify a complex language of any sort. 03:00:31 so you use quotes to match literal strings of text. *(capturename = "literalstring") 03:00:43 I also decided to make * and friends prefix, because that's how I roll. 03:01:20 also () doesn't implicitly capture to a numeric group because that's lame when you can just assign to variables. 03:02:23 -!- Lymia has quit (Ping timeout: 276 seconds). 03:04:04 -!- elliott has quit (Remote host closed the connection). 03:04:56 -!- elliott has joined. 03:06:16 whos a... 03:06:29 i dunno 03:06:50 ...whut? 03:06:53 ar 03:07:21 should I attempt to call an ambulance? 03:08:33 I'm going to take a Benadryl and a melatonin. If anything bad happens, blame my dad who claims he gives that to his patients all the time 03:08:48 absolutely nothing bad will happen. 03:09:27 CakeProphet: wtf are you talking about 03:09:30 thats a fatal dose 03:09:31 jesus Sgeo 03:09:33 get to a fucking hospital 03:09:37 you can take a whole bottle of melatonin tablets and be fine. 03:09:46 elliott: what the fuck were /you/ talking about? 03:10:09 CakeProphet: JESUS CHRIST do you KNOW what benadryl and melatonin fucking do together? 03:10:16 Sgeo trust me please jesus christ get to a hospital 03:10:22 you could die 03:12:21 its funny because sgeo is actually on his way right now 03:14:15 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 03:15:18 If I were to say I took 8 pills of Tylenol, how would elliott actually attempt to tell me that that's bad, given that he pretends things like this are bad 03:15:27 (this==benadryl + melatonin) 03:15:53 It is bad. It is as bad as anything else. 03:16:27 no... not really. 03:16:29 Sgeo: guess what 03:16:39 there are definitely different levels of bad in relation to drugs. 03:16:40 Sgeo: i am not here to tell you what cocktail of deadly drugs will or will not end your life 03:16:57 Sgeo: actually I believe you would also survive 8 tylenol as well. 03:17:03 is this a complicated troll or ignorance at work? i can't tell! 03:17:04 im sorry ive not yet explained to you... but this is not...... an internet doctor.......... 03:17:13 myndzi: what, Sgeo? 03:17:17 i had to go check out the details of tylenol to be sure i wasn't misremembering 03:17:19 lol yes 03:17:27 Erm, 16 tylenol then 03:17:31 "if i take a bunch of tylenol i bet that's not bad either!!!" 03:17:36 myndzi: no he just doesn't have any kind of built-in reaction to making a fool of himself in public 03:17:43 myndzi, I didn't say that 03:17:56 it appears to be unrectifiable 03:18:10 most lethal concoctions of drugs will result in you vomiting and thus surviving. If you really want to kill yourself with drugs the best way is to also take an anti-vomiting agent (there is a fancy term for it but I can't remember the name) 03:18:23 lol 03:18:24 CakeProphet: erm tylenol is paracetamol is it not? 03:18:32 or take one bullet to the head every hour until success 03:18:35 I know Tylenol is dangerous, I'm just saying if I didn't, what would elliott say if I said I was taking it? 03:18:35 so actually, a bunch of them is an excellent way to kill yourself 03:18:39 elliott: er, no. 03:18:48 Sgeo: probably that it was dangerous? 03:18:49 acetominophen 03:18:53 *aceta 03:18:55 same thing 03:18:58 Sgeo: i think there would be more obvious signs that you were fucked 03:19:01 CakeProphet: um that's another name for paracetamol 03:19:07 oh, well then yes. :) 03:19:13 every drug has TWO NAMES! 03:19:21 CakeProphet: well that's actually quite a large cause of death 03:19:22 myndzi, unless it has 3 03:19:23 because it's awesome that way 03:19:26 it just takes ages 03:19:28 and is really painful 03:19:34 i don't think you just vomit it up 03:20:05 eh, i think most over the counter stuff that is dangerous includes things to make you puke if you take too much 03:20:09 well, okay, 16 tylenol MIGHT kill you. But most suicide attempts with medicine fail for that reason. 03:20:10 or something like that 03:20:26 CakeProphet: right, but actually paracetamol is one of the exceptions, overdoses are _really_ bad 03:20:38 CakeProphet: there's a bunch of stories of suicidal people taking a bunch of paracetamols as a cry for help 03:20:48 CakeProphet: get woken up from unconsciousness hours later 03:20:55 CakeProphet: told to call their family because they're going to die slowly and painfully 03:21:02 lovely. 03:21:05 totally 03:21:33 Maybe I just don't have a reaction to making a fool of myself in here? 03:21:34 moral: always try to suicide with something harmless like ibuprofen 03:21:39 man, if I ever kill myself, I will know exactly what I'm doing. I have this shit down. 03:21:51 (ok ibuprofen overdoses can do some bad shit but it's not going to be that bad) 03:21:52 I will most certainly die as a result. 03:22:01 Sgeo: you mean we alone have to experience this shit?? 03:22:02 FUCK 03:22:06 where did we go wrong 03:22:45 * CakeProphet makes a fool of himself on #esoteric quite often. 03:23:04 we are all fools. 03:23:08 except maybe oerjan. 03:23:16 he's got a ph.d and shit. 03:24:47 elliott: itym N-(4-hydroxyphenyl)ethanamide 03:24:55 CakeProphet: BTW, a normal dosage of Tylenol can actually cause liver failure in rare cases; it's *very* close to the lethal dose. 03:25:13 coppro: go fuk urself 03:25:15 Tylenol, BTW, is the leading cause of liver failure. 03:25:19 pikhq_: good to know. 03:25:21 Not drinking. Tylenol. 03:25:26 It is *fucking scary shit*. 03:26:01 pikhq_: doesn't help that it's in a lot of non-tylenol drugs 03:28:16 Yup. 03:30:42 pikhq_ you also get a free Perfect Computer 03:30:48 that makes my cost-free receiver list: oerjan, pikhq 03:31:25 * pikhq_ barfs some more at gnulib's usage 03:32:20 " 03:32:21 A notable feature of our new design is that each of its six 03:32:21 semantic reduction rules is performed in a a single-clock cycle. All 03:32:21 the necessary memory transactions required to perform a reduction 03:32:21 are done in parallel. The Reduceron performs on average 0.55 03:32:23 hand-reductions per clock-cycle. A hand-reduction is a reduction 03:32:25 that programmer would perform in by-hand evaluation trace of a 03:32:27 program; it includes function application and case analysis, but not 03:32:29 machine-level reductions such as updating and unwinding." 03:32:56 A function to *concatenate file names* ends up pulling in basically a reimplementation of stdio.h. 03:33:16 That's it. I give up on GNU. It is the worst software. 03:33:26 http://esolangs.org/wiki/Brainfuck#External_resources 03:33:27 sigh 03:33:32 pikhq_: serious question. 03:33:36 pikhq_: oh man i totally want you to meet your few-years-ago self 03:33:41 pikhq_: would you help write a libc? 03:34:01 * elliott predicts the answer: "yes if musl didn't already exist" 03:34:09 coppro: No, but only because there is already a libc I find entirely satisfactory, modulo a small handful of missing bits. 03:34:13 k 03:34:15 i was riiiiiiight 03:34:17 musl! 03:34:19 coppro: why did you ask? 03:34:28 elliott: I may be writing a libc 03:34:44 coppro: for what purpose? 03:34:46 -!- augur has joined. 03:34:54 elliott: LLVM project 03:35:02 coppro: why are existing libc unsuitable? 03:35:04 legit question 03:35:20 If only PCC could build Busybox and Linux. Then, I could have a GNU-less system up and running easily. 03:35:32 pikhq_: clang? 03:35:32 Though, there is rather a lot of GTK software. Ah well. 03:35:35 pikhq_: pcc kind of sucks though. 03:35:39 also, you'd still need binutils 03:35:44 elliott: musl is unsuitable due to GPL. 03:35:51 coppro: musl is not GPL. 03:35:58 coppro: musl is not GPL 03:36:04 sorry, lpgl 03:36:04 elliott: Clang needs a C++ library. 03:36:05 *gpl 03:36:10 pikhq_: it has one 03:36:11 coppro: why does lgpl make it unsuitable? 03:36:12 mostly complete 03:36:17 elliott: LLVM project is BSD 03:36:20 coppro: and? 03:36:28 coppro: why does LLVM need to integrate musl? 03:36:29 elliott: Would you like a list of C++ libraries that can bootstrap? 03:36:35 pikhq_: what? 03:36:49 coppro: I'm not sure how the license is a problem here, or anything 03:36:50 elliott: GNU's. That's it. There are no other suitable free C++ libraries. 03:37:02 Though LLVM's is at least getting there. 03:37:03 pikhq_: it was coppro who mentioned that llvm has a c++ library, not me 03:37:05 pikhq_: I believe libc++ can do so on Mac 03:37:06 not sure though 03:37:15 oklopol: hey, we agreed to meet up some time in 2014, didn't we? I think I lost the plan. 03:37:31 Presently, though, you need GNU to get clang working. 03:37:37 elliott: because the LLVM project can't have a libc that is LGPL, since it's a BSD-licensed project... what's so hard to understand? 03:37:42 pikhq_: You need a C++ compiler 03:37:47 ** := a*(ia); *. ** "|" #awww yeah 03:37:49 coppro: Why does musl need to be "part" of the LLVM project? 03:37:49 it's perfectly capable of compiling itself 03:37:51 Hence why I care about PCC *at all*. PCC can bootstrap, very quickly. 03:37:52 coppro: I do not understand. 03:38:01 coppro: Yes, except for the need for a C++ library. 03:38:18 elliott: k 03:38:24 coppro: that was a request for clarification 03:38:35 pikhq_: Suppose that it compiled and worked under libc++ 03:38:43 which is not that far off on Linux 03:38:44 like... I don't expect the pcc team to suddenly announce "We're importing uClibc!" 03:38:54 idgi, why does the fact that LGPL is not the same license as LLVM matter 03:38:59 what's the goal 03:39:03 coppro: If libc++ worked on musl, or could be ported easily, then I would be entirely satisfied with clang. 03:39:15 Except for the simple fact that Linux doesn't build yet... 03:39:19 pikhq_: It's supposed to be as C-library agnostic as possible 03:39:23 pikhq_: Enough of Linux builds 03:39:27 Which I think is the only major thing that *doesn't*. 03:39:28 While I have no complaint if you use BSD-license, I do not want to use BSD-license for my own projects. (Although I make some projects in the public domain, which is compatible with BSD-license so it isOK) 03:39:49 coppro: So, in short, clang is still a WIP, but it is *very very close*. 03:39:55 pikhq_: there are some issues with parts of the C++ library being unimplementable on top of a purely standard C library, though 03:40:01 elliott: I suspect LLVM is attempting an embrace/extend/extinguish on GNU's build chain. 03:40:11 coppro: Hence why I said "or could be ported easily". 03:40:19 pikhq_: we will never know, since coppro has apparently decided he doesn't want to answer me any more 03:40:25 pikhq_: is musl posix-compliant? 03:40:36 coppro: Not quite, but nearly so. 03:40:40 if so, the required facilities are logical extensions 03:40:42 in locale 03:40:55 What is musl and clang and these things? 03:40:57 in particular, if every locale-aware function has an _l version, I think it's good 03:41:25 if musl already has _l functions, adding them to the others is a fairly straightforward transformation 03:41:35 possibly even something clang could do automagically 03:41:50 I'm pretty sure it does, though its locale support is somewhat anemic. 03:41:53 coppro: are you actually going to answer my simple question...? i'm actually curious. 03:41:56 It supports C.UTF-8 as its locale. 03:42:08 pikhq_: not just "C"? 03:42:08 Yeah, it has _l functions. 03:42:19 coppro: Nope, it's very specifically UTF-8. 03:42:27 Because ASCII is old and retarded. 03:42:30 pikhq_: that's non-compliant :/ 03:42:43 And a very minor issue. 03:42:48 or well it is if it doesn't support "C" 03:42:56 coppro: are you /ignoring me 03:42:58 if it just has "C.UTF-8" as the default, no issues 03:42:59 elliott: no 03:43:17 ASCII is not retarded. 03:43:18 elliott: I think e/e/e is a bad way of putting it, but is effectively the goal 03:43:31 given that GNU has already actually e/e/ed the build chain 03:43:31 coppro: why not just endorse musl? 03:43:35 it is pointless to duplicate work 03:43:48 elliott: because Apple, the main sponsors, want BSD 03:43:51 and I don't think even Apple would object to an LGPL libc, though of course they won't likely be switching because they're BSD 03:44:15 "The default locale is named C.UTF-8 and has all the required properties of the C or POSIX locale, plus UTF-8 semantics for high bytes. Collation is plain codepoint-order, and character classes are based on Unicode." 03:44:19 Okay, there we go. 03:44:39 ah ok 03:44:42 that's fine then 03:44:47 and not relevant to the C++ stuff 03:44:50 coppro: well if the justification is just "Steve Jobs wants us to duplicate the large amount of work that goes into creating a conformant, fast, lightweight libc because he's being unreasonable about licenses", then who the hell would want to devote time to that?? 03:45:24 But what if you are using a single-byte encoding and do not want UTF-8? Then there might be some problem. I think UTF-8 already has the feature that sorting using normal strcmp can still work with Unicode 03:45:33 elliott: Well they have their own libc so it's actually irrelevant to them directly 03:45:38 Seems that what it's missing is some C99 math functions, *perhaps* a few wide character interfaces, POSIX priority scheduling options, and stuff added in POSIX 2008. 03:45:45 crud 03:45:48 locale_t was 2008 03:45:59 pikhq_: musl has some oh-eight stuff 03:46:05 coppro: What header would it be in? I can check. 03:46:05 coppro: precisely... so I don't see the need to do anything more than endorse musl. 03:46:12 coppro: it just sounds like completely duplicated work. 03:46:13 pikhq_: locale.h; possibly xlocale.h 03:46:19 elliott: the simplest answer is that LLVM wants a complete toolchain. LLVM is BSD-license 03:46:31 it would make no sense to add some LGPL stuff to it 03:46:34 It has locale_t. 03:46:35 coppro: ok, so "we're being pointlessly anal about licenses, and we want to NIH things" 03:46:39 of course it's goddamn duplicated work 03:46:42 that's why GPL sucks 03:46:48 coppro: IT'S LGPL 03:46:55 elliott: s/GPL/copyleft/ 03:46:56 sorry 03:46:57 GPL is unacceptable for licenses 03:46:58 LGPL isn't 03:47:11 coppro: LGPL isn't copyleft in the "bad" sense because _it doesn't affect linkers_ 03:47:22 elliott: it's not absurd copyleft 03:47:34 but it makes no sense from the LLVM project's perspective either 03:47:41 come on, it is absolutely ridiculous for LLVM to want to duplicate a massive amount of effort because "we want a COMPLETE toolchain (for no reason) under this SPECIFIC license (because of our egos)" 03:47:43 suppose someone is considering using LLVM 03:47:49 pointless waste of time 03:47:49 but then they see that it's LGPL 03:47:53 and they don't do LPGL code 03:47:56 well shit 03:48:01 Anyways, musl is a libc I'm actually happy with on a technical basis. 03:48:03 wow you're... actually making less than 0 sense. 03:48:04 lots of corporate users won't touch any GPL 03:48:17 coppro: lots of corporate users aren't exactly going to switch out their libc 03:48:18 elliott: you have not worked in the software industry 03:48:18 I *actually understand how the damned thing works*. 03:48:28 elliott: you'd be surprsied 03:48:30 *surprised 03:48:57 elliott: The corporate world runs around Windows. Each compiler has its own libc there. Any further questions? 03:49:00 coppro: ok... so "we're going to duplicate a massive amount of work for (a) our egos (b) so that a few corporate idiots will be happy"? Is anyone not using LLVM right now because it doesn't have its own libc? 03:49:14 "Oh, I was going to use LLVM, but it doesn't have a graphical display server? Skip it." 03:49:19 elliott: Not AFAIK, but the project would like to provide that and I agree with that idea 03:49:28 elliott: also, duplicated work is not all bad in this instance 03:49:39 I still haven't heard a single good reason for llvm to provide a libc 03:49:40 if there are more viable options, e/e/e is less likely to happen 03:49:46 Anyways, I'm certainly uninterested in writing a libc when there's a perfectly *great* one already around. 03:49:49 elliott: because why not? 03:49:52 pikhq_: k 03:50:01 coppro: because why not? 03:50:08 by that logic LLVM should provide a complete fucking OS and application set 03:50:26 elliott: why does LLVM provide a C compiler? 03:50:33 clearly that's not part of the project 03:50:36 coppro: because it's a compiler project. 03:50:39 no 03:50:42 it's a compiler backend project 03:50:52 it obviously isn't 03:51:05 whatever, i'm done with this conversation, it has reached heights of stupidity I thought impossible 03:51:09 k 03:51:42 pikhq_: please go extend every locale aware function to have one with an _l suffix that takes a locale_t 03:51:49 (if it already has _s, make it _sl) 03:52:18 What are the locale-aware functions, anyways? 03:52:37 any function that is defined in the C spec to alter its behavior when the locale changes 03:53:06 If LLVM becomes with many good things than GNU, then maybe it will be good thing idea to use. 03:53:09 there is going to be a paper to this effect in front of the C committee at some unspecified time in the future 03:54:37 zzo38: Already, it's generally got a better toolchain than GNU... 03:54:48 coppro: What, incidentally, are the chances of binutils being replaced? 03:55:09 pikhq_: high 03:55:22 coppro: to what effect? 03:55:24 pikhq_: there's already an integrated assembler on some platforms 03:55:42 pikhq_: Does it optimize? There are some features of GNU that should be used, such as, being able to declare array with [0] is good thing I think 03:55:47 elliott: 23:51 < coppro> pikhq_: please go extend every locale aware function to have one with an _l suffix that takes a locale_t 03:55:53 oh 03:56:09 zzo38: The optimizer is not quite as good as GCC's yet, but it has other advantages 03:56:16 like having a compiler that doesn't suck 03:56:19 coppro: you know, it might be worth contacting eta labs about relicensing and integrating musl. 03:56:36 maybe unlikely, but a better use of time than writing yet another libc when a very good one has just recently been created. 03:56:59 pikhq_: not sure what will happen to the ELF linker 03:57:20 pikhq_: in theory it's unnecessary as you could create a platform where all libraries are linked in bitcode form 03:57:35 elliott: At present, most of the locale-aware functions only look at the globally stored locale. That is, a global variable that needs to have a lock over it in a large number of functions. 03:57:39 -!- Sgeo has quit (Ping timeout: 255 seconds). 03:57:54 coppro: Yes, as long as they do not change the license so that it is no longer acceptable, then it should be OK. 03:58:02 coppro: True, there is the llvm-ld. 03:58:29 more importantly, C++ needs thread-safe access to those functions in specific locales and cannot do so because it can't lock them unless it just pauses every other thread 03:58:51 Also, the optimizer may not be *quite* as good as GCC, but it is *definitely* good enough for general use. 03:58:55 yeah 03:59:09 Actually, I'd even call pcc's good enough for general use, and that's not as good as LLVM. 03:59:18 GCC is very slow. Is LLVM faster? 03:59:42 Is it less messy than GNU programming? 03:59:42 zzo38: Yes, clang's something like 3 times faster. 03:59:55 I actually can understand LLVM source code. 04:00:10 can't wait for Diablo 3. 04:00:18 it must surely be as epic as Starcraft 2. 04:00:20 It's not exactly elegant, but it's actually readable by humans. 04:00:31 pikhq_: Then I suppose those things do help. 04:01:44 declare an array with [0]? 04:01:48 why would you ever do that 04:02:20 obfuscation of a pointer, perhaps. 04:02:48 Patashu: It's a GNUism for indicating that at the end of a structure is a dynamically allocated array. 04:02:58 oh? hmm, okay 04:03:16 There's a different means of doing it in C99, and so [0] is a deprecated GNU extension. 04:03:39 LLVM uses that pattern in C++ without a standard syntax 04:05:49 Oh, wow. Apparently current SVN checkouts of clang builds pretty much all of Linux. 04:06:16 And the integrated assembler works, making it so that the only GNU thing needed ATM to build Linux is GNU ld. 04:06:30 -!- Lymia has joined. 04:07:21 yeah 04:07:31 I wasn't sure if the integrated assembler was that mature 04:07:33 but apparently it is 04:08:38 it'd be cool to have a fully clang/musl system 04:09:06 Surprisingly, it's not that far off. 04:09:14 * elliott plays around with this modular synthesiser 04:09:23 I think all that's needed is LLVM's libc++... 04:10:18 pikhq_: get on it then 04:10:33 pikhq_: C++ is irrelevant 04:10:39 at least for a basic Linux system. 04:10:52 elliott: clang itself needs C++, though. 04:11:07 oh right 04:11:13 ugh 04:11:16 someone should fix that :p 04:20:30 I think using [0] makes more sense than the C99 way, actually. 04:20:57 this is fun 04:21:02 zzo38: seriously? 04:21:04 [0] makes more sense than []? 04:22:44 elliott: Yes. Since, in a structure, the size of the structure when measuring, is only the part before that array. So, you put [0] to mean its sizeof measures 0 and when added to everything else, you can then add to sizeof, the number of elements and malloc, you can do it. And it should be allowed [0] anywhere in a structure, not necessarily at the end (but most commonly use at the end). 04:22:51 Wow. GCC can be bootstrapped with a non-GCC compiler. 04:22:54 Clang. 04:23:09 At least to me, it makes mathematical sense. 04:23:40 pikhq_: EDG's been doing it for years, but it's proprietary 04:24:17 It's kinda sad that it's notable when a compiler builds GCC. 04:24:35 It seems like the sort of package you'd want to be able to build on anything that's no completely crazy. 04:24:38 s/no/not/ 04:24:47 -!- oerjan has quit (Quit: Good night). 04:24:54 no, that would make it too easy for people to infect it with proprietary software 04:24:56 In TeXnicard, I have used a [0] array in a union. 04:25:04 or use it on systems where proprietary software is known to lurk 04:25:07 zzo38: you're a bad person 04:25:42 coppro: ... Which you generally can do, because GCC until very recently has been effectively the only compiler not from Microsoft. 04:25:51 coppro: Why do you think I am a bad person? 04:26:12 pikhq_: not at all true 04:26:29 (I'm discounting the proprietary UNIX vendor's C implementations, because, well, you can discount everything else from them.) 04:26:44 pikhq_: are you familiar with EDG? 04:26:51 Oh, right, EDG. 04:27:04 It also uses sizeof(struct{...}) 04:27:21 zzo38: That's entirely valid. 04:27:27 if a little evil 04:27:30 A bit weird, but entirely valid. 04:27:43 If a C compiler doesn't handle that, it's a pretty big bug. 04:27:48 yeah 04:28:06 hrmhrmhrm 04:28:37 pikhq_: Yes I know that, and I have it being used in some macros for allocating nodes. 04:28:52 goddamn it 04:29:19 Why is it "a little evil"? 04:29:27 Anyways, it seems to me that you'd really *want* for a C compiler to be able to at least build on any ISO C89 platform. 04:29:36 pikhq_: C99 04:29:41 let's not bury ourselves in the past 04:29:55 If not anything supporting K&R... 04:30:11 god no 04:30:20 coppro: The idea being to allow you to get a sane C environment up and running on anything. 04:30:22 So, is switching everything over to prefix/infix instead of the traditional prefix/postfix for regular expressions going to freak anyone out? 04:30:27 If you use [0] to allocate an array then the compiler should just do the same things as if a positive number is in there, it would make most sense, at least to me. 04:30:27 Rather than being stuck with retardedly old shit. 04:30:31 er *infix/postfix 04:31:09 coppro: I don't care if you pull this off by just building a retardly simple compiler to build the rest of the thing, BTW. 04:31:22 (for an example of something "retardly simple", see TCC) 04:36:24 * elliott wonders if SmallBug will freakout on us for being so ~rude~ 04:37:14 Incidentally, it'd be *really* awesome to have a full, tiny UNIX building with TCC. :P 04:37:42 Not as a serious thing, but y'know, just as a toy. An OS with every bit understandable... 04:37:45 pikhq_: well it can build a modified kernel... 04:37:51 linux that is 04:37:51 ... I'm describing Minix, aren't I. 04:37:57 elliott: That was 2.4. 04:38:41 pikhq_: so? :P 04:38:55 also, minix is a microkernel, which is probably not an aid to having a really small understandable system 04:39:01 No! You have to make a book. Such as, write the operating system with CWEB. And then sell the book with the DVD in the back cover. 04:39:08 elliott: Minix is entirely intended as a small, understandable system. 04:39:26 It's also a textbook. 04:39:38 pikhq_: yes but that doesn't mean it succeeds. 04:39:40 zzo38: -_- 04:40:25 elliott: _-_ 04:40:31 elliott: Your criticism of microkernels probably comes from how fucked up HURD is... 04:41:07 pikhq_: No, I'm just saying that if you want a self-contained, tiny system, a microkernel is probably an impediment to that 04:41:15 It's abstraction designed to make something easy that you don't want to do (extend the system) 04:41:22 Aaah. 04:43:47 Screw microkernals, I run on this: http://www0.us.ioccc.org/2004/gavin.c 04:44:18 I specified "UNIX" for a reason. :P 04:44:33 it would be fun to golf a unix kernel (not golf as in raw bytes or lines of code, but) 04:44:55 unfortunately, question is, define Unix 04:44:59 something that can run bash? 04:45:12 that means running a pretty GNU-compatible libc 04:45:18 pdclib won't cut it 04:45:21 (probably) 04:45:37 tcc implies ELF 04:45:47 but doesn't tcc also depend on linux somehow? dunno 04:45:50 implies implies implies 04:46:00 (are the ELF headers linux-only?) 04:46:39 The ELF headers aren't Linux-only; they *should* exist in the same place on all ELF platforms. 04:47:00 writing a filesystem would be fun 04:47:12 And there's rather a lot of ELF platforms... 04:47:48 even though I'm not quite sure how filesystems work :( 04:48:00 Such as "every non-Microsoft console since 2000". :P 04:48:26 elliott: Filesystems are really, truly nothing special. 04:48:37 i know 04:48:45 but like HOW DO YOU APPEND A DIRECTORY ENTRY TO A DIRECTORY :D 04:48:49 HOW DOES SHOT COMPUTER :( 04:48:54 Just one of a handful of fairly mundane data structures on disc. 04:49:04 hmm, I suppose you could just have a pointer at the end of every directory entry 04:49:06 and do it linked-list style 04:49:09 That IOCCC operating system is not even complete 04:49:10 and just allocate randomly all over the disk 04:49:20 but like do you need a freelist of blocks? 04:49:39 elliott: You do also need to implement, basically, a malloc. 04:50:29 diskmalloc :D 04:52:05 does anyone happen to know what the brightness-equivalent of resolution is in a camera? 04:53:20 like what the term for that is? 04:53:42 I'm going with "color space". 04:54:12 as in, how much brightness you can fit in? 04:54:15 sounds like a property of color space to me 04:54:30 no no, i mean how many distinct brightness levels you have 04:55:01 it may as well be a property of the color space/color depth 04:55:03 greyscale is still a monochromatic colorspace but there are many kinds of greyscale depending on how finely you cut the greyness 04:55:10 color depth, maybe thats it 04:55:20 yeah color depth 04:55:21 there you go 04:55:54 thank you, Patashu! 04:56:49 Patashu: you need to submit some awesome bf joust contestants to revive the sport again :P 04:56:59 hah 05:12:16 so what if my bfjoust program is really long? 05:12:20 ? 05:12:23 how do I submit it? 05:12:31 [exclamation mark]bfjoust 05:12:34 most of the current programs are really long 05:12:59 http://codu.org/eso/bfjoust/in_egobot/?C=S;O=D 05:13:04 largest program is 200K 05:13:32 space_elevator kicked off the recent "zomg huge programs" streak though, at 38K 05:13:41 those are machine-generated, I think 05:13:44 anticipation is 05:13:50 the furry-furry programs are, although actually 05:14:01 their K ratings are wrong because they include the base-sixtyfour encoding of the perl program that generated them 05:14:10 definer2 is generated too 05:14:16 (all these meaning partially generated, ofc) 05:14:23 dunno about defend9.75 but I think so 05:14:32 the waterfall programs were 05:14:33 yeah 05:14:35 slowpoke too I think 05:14:45 we really need quintopia's scoring system though. 05:14:54 CakeProphet: btw http://codu.org/eso/bfjoust/in_egobot/report.txt 05:23:43 I don't really have a place I can host my program. 05:24:01 um sprunge.us 05:24:28 has anyone attempted to genetically create bfjoust programs? 05:25:02 yes. 05:26:08 my bf joust program is the best of all 05:26:24 an efficient killer 05:26:41 lol 05:26:45 youre about to submit a shitty program aren't you 05:26:49 never. 05:26:56 oh so you are concealing it from us 05:27:03 unpossible. 05:27:43 so uh, what's the best way to git from a git. 05:27:47 * CakeProphet has never used git before. 05:29:19 what 05:29:26 how's git relevant to bf joust 05:29:43 don't worry about it. 05:30:14 so uh, 5.2 is a good score right? 05:30:22 CakeProphet: no. btw please submit things in-channel 05:30:31 nope. :) 05:30:34 it makes us antsy if the board changes without us knowing :< 05:30:40 you will laugh at how excellent my program is 05:30:50 why is rushpolarity STILL so high up 05:30:51 it's so ooooold 05:30:55 CakeProphet: please, it's a matter of common courtesy 05:31:20 i could set up a bot to constantly refresh the hg log, but it'd be easier just to submit in channel. 05:31:26 wtf is vlad even supposed to be 05:31:54 the impaler. :) 05:31:57 Patashu: it's really successful for some reason 05:32:01 CakeProphet: i mean the strategy. 05:32:12 oh, well http://sprunge.us/LPcT 05:32:16 as you can see, it's genius. 05:32:19 yes i can see it. 05:32:23 augh 05:32:26 i'm asking how you made it, apart from vomiting on the keyboard 05:32:28 anyway, congratulations, you're at position 48 05:33:16 btw you don't have to paste it 05:33:16 http://codu.org/eso/bfjoust/in_egobot/ 05:33:18 just find it in the list 05:33:24 oh nvm it's not in the list 05:33:29 probably because it didn't beat anyone 05:33:36 it did, but it was on the bottom 05:33:37 so it got trimmed 05:34:00 yeah what I meant 05:34:03 CakeProphet: but seriously, it's vastly preferred if you submit programs in-channel. especially since the activity tends to generate interest in bf joust. 05:34:21 elliott: well the idea was to go forward the minimum of 10 spaces, fill it with stuff because presumably that will slow someone down, and then proceed to blindly wipe everything in front of it to 0. 05:34:22 lol at this 05:34:23 CakeProphet_vlad.bfjoust vs Gregor_return_of_ehird_defend8mwahahaha.bfjoust 05:34:24 <<><<<><><><><><><><> <><<<<><><><><><><><> 6 05:34:24 Gregor_return_of_ehird_defend8mwahahaha.bfjoust wins. 05:34:29 some nice parity going on there 05:34:37 CakeProphet: let's put it this way 05:34:45 CakeProphet: any attack program will have obliterated you before you even get to their flag 05:34:51 because you waste endless cycles putting dummy values up 05:34:57 also, you don't seem to be aware of the various abbreviations that exist. 05:35:04 Patashu: sieved up all the kettles 05:35:07 nope, just looked at the wiki article 05:35:14 the top part 05:35:15 :) 05:35:21 the wiki article sucks 05:35:27 because quint rewrote it making it unreadable 05:35:37 look on the bright side 05:35:38 read http://esolangs.org/w/index.php?title=BF_Joust&oldid=21108 instead 05:35:40 ah I see the * syntax 05:35:40 you beat anticipation.bfjoust 05:35:41 :p 05:36:02 Patashu: well it's a sufficiently stupid program that "advanced" defenders and the like might get confused :P 05:36:09 hah, yes 05:36:23 yes, I was hoping that I would be jousting against very complicated defensive things. 05:36:43 yeeeeeeeeees 05:36:47 well there's always a mix on the hill 05:36:51 well, you even lost to my not very complicated things 05:36:51 soooo 05:36:58 because whenever the hill is full of defensive programs, attack programs do really well 05:37:00 and vice versa 05:37:06 so basically the hill is always quite balanced. 05:37:41 I don't really see a sane way to encode any kind of logic when the other program can mess with my variables. 05:37:59 CakeProphet: that is because you are not an experienced jouster :) 05:38:19 ... does x86_64 have delay-slot semantics??? 05:38:25 basically: set up large decoys before cells if you /really/ need scratch space. but generally, you don't want to store any values 05:38:31 use [] as a conditional of sorts 05:38:38 set up tripwires and use them to work out what the program is doing 05:38:46 CakeProphet: read http://esolangs.org/wiki/BF_Joust_strategies 05:38:47 it's there for a reason 05:38:54 just read what elliott posted 05:38:56 it's practically How to Write Joust Programs: The Manual. 05:38:56 it is enlightenin 05:38:57 yeah 05:38:59 soul transcending even 05:39:47 CakeProphet: basically it goes through a bunch of simple to advanced attack and defence techniques, then covers all the number-one programs from the start of egobot's bf joust tournament setup to the present day, with explanations of the most interesting programs, and traces and animations in the online egojsout tool. 05:43:10 elliott: I think I would probably go with a defensive strategy. or the poke. 05:43:39 So, nobody knows if x86_64 has delay-slot semantics :P 05:43:47 I don't have a clue what that is 05:43:56 youre a delay slot 05:44:02 slottiest delay slot in all the galaxy 05:44:09 To put it differently, why did GCC generate this code: 05:44:10 call*368(%rdx) 05:44:10 movqGGGGC_fytheConstBank(%rip), %rdx 05:44:18 wow are you still working on fythe stuff? 05:44:23 Uhh, yes? 05:44:28 Given that GGGGC_fytheConstBank[368] is my function. 05:44:33 sorry, just before my fythe commits there had been none for like five thousand years :D 05:44:35 I'm planning to keep working on bignums soon btw 05:44:48 elliott: You should look at GGGGC, not Fythe :P 05:45:03 I got distracted building a friggin' amazing general-purpose GC. 05:45:27 Gregor: Does it have finalisers yet. 05:45:32 * elliott prepares the "WHOOPS you suck". 05:46:20 a defensive poke vibrator 05:47:10 Gregor: I'M GOING TO DROP THE WHOOPS YOU SUCK IF YOU DON'T REPLY SOON 05:49:22 BTW, is there a reason you use T-Rex instead of RE2? The latter is better-maintained and I would guess faster (though I don't have any benchmarks). OK, RE2 doesn't do backreferences, but it doesn't look like T-Rex does either. 05:49:44 And both are C++, although T-Rex seems to have a few C wrappers that you'd have to whip up by hand with RE2. 05:49:58 (Also RE2 handles Unicode; dunno about T-Rex.) 05:50:34 elliott: It doesn't have finalizers, I've been working on threadsafety. 05:50:37 And T-Rex is in C. 05:50:47 Also I don't use it unless PCRE is unavailable :P 05:51:06 http://codu.org/projects/fythe/hg/index.cgi/rev/8d99109d97d7 ;; Oh, it just has a C++ wrapper. 05:51:11 And even then you have to say "No seriously I want this bullshit" 05:51:16 Gregor: Doesn't T-Rex support different things to PCRE though? 05:51:22 'cuz, like, that's totally stupid if so :P 05:51:37 So does JS regex; I haven't defined what subset of regex Fythe is supposed to support yet. 05:51:39 (Personally I'd advocate for always using RE2 since it'll make parsing stupidly fast, but then I'm me :P) 05:51:53 (Also because using backreferences in regexp literals in a parser is a sign of insanity.) 05:51:58 (And not the good kind ether.) 05:52:00 [asterisk]either 05:53:36 Sweet logic from Elliottcorp: "I sure am really fucking ill. And getting to sleep is a royal horrible pain when I'm feeling like this! OBVIOUS SOLUTION: DON'T SLEEP". 05:58:04 Gregor: Hmm. I bet Fythe works on PCC and musl. 05:58:19 Because you don't suck. :P 05:58:50 Implying Gregor isn't the worst person. 05:59:51 Oh, poo, it depends on GMP. I will have to build that. 06:01:14 pikhq_: YOU CAN THANK ME FOR THAT ;D 06:01:28 Note that arithmetic is what you might call broken right now because I'm a lazy ass wrt the bignum support. 06:02:21 elliott: I like space elevator. :) 06:03:47 spelevator 06:04:54 Come on, libtool, if you're going to get your nasty teeth in everything couldn't you at *least* have the decency to check if shared libraries can be built? 06:07:15 -!- pingveno has quit (Ping timeout: 246 seconds). 06:09:06 i should try BF Joust :) 06:09:21 -!- pingveno has joined. 06:11:47 alright, time to try a better program. 06:13:13 comex: good luck :P 06:13:22 comex: the current hill is _extremely_ competitive. 06:13:35 the top program was considered game-breaking by its author for a while 06:13:54 how can a bfjoust program be 'game breaking'? 06:14:41 Patashu: because the only programs that beat it might do terribly against all other types of opponents, etc. 06:14:55 aah 06:16:16 wow, there's a new king 06:16:27 i didn't think bf joust saw much activity most times ;) 06:16:37 slowrush has really sorta stood the test of time it seems, for which i am glad 06:16:47 'cause damn i don't want to write anything all complicated ;p 06:16:59 myndzi: it had a huge burst of activity earlier this year 06:17:15 and simple programs can still do very well, it's just that they tend to turn into complicated programs very quickly 06:17:17 just ask Gregor :P 06:18:44 har 06:18:48 i was here during that time i think 06:28:33 elliott: so, ] doesn't remember the starting point of the while right? 06:28:43 Uh, what? 06:28:45 starting tape element that is. 06:28:55 it's only interested in whether or not the current cell is zero. 06:28:57 it looks at whatever tape element is under your guy 06:29:03 right. 06:29:07 just checking. :P 06:29:12 if you want to check the starting point use some <>s 06:29:21 it's more flexible this way 06:30:00 not if I go back more spaces on each loop. :P 06:30:05 *want to go 06:30:28 aah 06:30:37 the tape length is guaranteed to be within a finite range, so... 06:30:44 you could write a program to generate whatever algorithm you're after 06:30:48 program can be as big as you want 06:30:50 yeah 06:30:54 that's the standard practice nowadays 06:31:00 try to detect tape length and what the program's doing, react accordingly 06:31:08 with big partially-generated programs 06:31:20 (with a generator tailored to that one algorithm, that is) 06:31:33 CakeProphet: You could look at some of Gregor's generated programs, they include the Perl code used to generate them 06:31:42 (as base-sixtyfour; running them as Perl produces the Perl code) 06:31:48 (this is because BF Joust doesn't have full comments) 06:32:00 how on earth can you deduce the board length 06:32:21 Didn't you READ space_elevator? :P 06:32:39 But basically, number of cycles passed + where the opponent has tripwires + where the opponent's flag is + a bunch of other stuff = deduction. 06:33:19 I wonder how randomly_arbitrarily_large bfjoust would fare 06:33:26 Patashu: wat? :P 06:34:13 as opposed to randomly_fairly_small bfjoust which is what we have 06:34:37 Hey, Homestuck update, finally. 06:34:45 Patashu: oh 06:34:48 Patashu: the original tapes were very long 06:34:49 tl;dr it sucked 06:34:51 yeah 06:34:54 figured 06:36:01 "Let's pull back from this ever narrowing dark pocket. All this uncertainty is wearing thinner than the only pair of pants in an immortal's wardrobe." 06:37:53 oh come the fuck ON Scratch did you just pull the "ONLY KIDDING THAT WASN'T THE ALPHA TIMELINE" shit 06:38:29 huh, so that's quarters' ability 06:38:53 wait, what was it? I must have missed it 06:39:08 you've noticed the top banners change right 06:39:13 I was too busy fantasising about making Scratch speak in sentences of five words of four syllables each at maximum 06:39:15 Patashu: yes of course :P 06:39:20 give them anotherl ook 06:39:22 oh wait 06:39:25 disappearing into the quarter? 06:39:32 it's some kind of pokeball 06:39:34 apparently 06:39:37 right 06:39:42 the gif loaded wrongly for me 06:40:14 But seriously what a cheap recovery. 06:42:38 elliott: I'm going to do this one entirely by hand over the course of several days. 06:42:54 CakeProphet: You want to be testing it really regularly :P 06:42:57 Or you'll just end up with a shitty program. 06:43:01 Use egojsout extensively, it is REALLY useful. 06:43:07 Oh, and SEND THE COMMANDS IN-CHANNEL >:| 06:44:03 Patashu: (...but seriously how come all the deceased members of the Felt are back to life. Spades has all his injuries, so this isn't pre-intermission.) 06:44:07 (Maybe he's travelled back in time.) 06:44:19 I'm not sure, I hadn't even thought of that 06:44:27 I just assumed pre-intermission 06:44:56 Patashu: The banner on 5738 makes that even less likely X-D 06:45:20 -!- Deewiant has quit (Ping timeout: 276 seconds). 06:45:29 -!- Deewiant has joined. 06:45:40 hah 06:45:53 but...jack noir = spades slick right? so he can't die. right?? 06:50:21 elliott: egojsout, what is that? 06:50:33 http://codu.org/eso/bfjoust/egojsout/index.php 06:50:34 I am too lazy to read things before I plunge into something, obviously. 06:50:37 as seen on the wiki 06:50:46 CakeProphet: you should _really_ read the entire strategies page. 06:50:50 or you _will_ get beaten mercilessly 06:51:00 basically egojsout is an interactive warrior development/debugging tool 06:51:13 it lets you pit any two warriors against each other, see a full trace of the execution, an animated version so you can see how the programs are operating... 06:51:25 it's basically vital for developing warriors. 06:51:33 see all the "Trace and animation" links on http://esolangs.org/wiki/BF_Joust_strategies 07:06:04 elliott: who is left in egojsout? 07:06:26 what do you mean? 07:06:29 you can give it any two programs 07:06:40 CakeProphet: nobody is left. only our dead souls. 07:06:43 hth 07:07:12 ... 07:07:21 I mean, which program is left and which is right. 07:07:41 left istop 07:07:42 is top 07:07:44 right is bottom 07:10:00 -!- monqy has quit (Quit: hello). 07:11:03 the tape length is always 10... 07:11:32 it should let you adjust it 07:12:10 ah it does. 07:12:23 NOT USER FRIENDLY 07:12:37 brainfuck is user friendliness paramount! 07:12:56 sucks at doing fast fourier transforms though 07:13:30 CakeProphet: um that's what all the links are for 07:13:35 first line is sieve, second line is kettle 07:13:40 from left to right are the tape lengths 07:13:54 sieve? kettle? 07:14:12 Patashu: sieve means + increments and - decrements for both players 07:14:16 kettle means that + and - are swapped for one player 07:14:17 oooooh 07:14:19 and kettle is- right 07:14:21 interesting 07:14:25 i named these and will never apologise for their naems. 07:14:27 [asterisk]names. 07:14:36 remember how flipping polarity used to be a viable strategy? 07:14:38 yeah 07:14:41 <-- GUY WHO PUT A STOP TO THAT HERE 07:14:55 lol oh wow i remember people rerunning programs ten times just to get a good tape length 07:15:11 but yeah we need quintopia's fixed-point scoring system IMHO 07:15:32 http://esolangs.org/wiki/Talk:BF_Joust#Scoring 07:16:30 interesting 07:16:37 -!- Phantom_Hoover has joined. 07:21:02 Phantom_Hoover: how is a donkey 07:21:44 elliott: my current program beats slowpoke at some of the small boards and some of the middle boards. 07:22:12 http://codu.org/eso/bfjoust/egojsout/?l=c8f08955801dce28866a597d4ef33ea66dfba938&r=9a8203d4a81d0e908f795647f147054a602211bf 07:22:18 Anything can be beaten part of the time, it's beating stuff consistently that's troublesome 07:22:41 *sigh* 07:22:41 Phantom_Hoover: You have 21 new messages. '/msg lambdabot @messages' to read them. 07:22:54 Wow, how did I manage that. 07:23:06 CakeProphet: lol ok so it basically doesn't beat it at all 07:23:08 that's an unquestionable loss 07:23:11 remember that slowpoke is /slow/ 07:23:12 yes I know 07:23:13 try it against a rush program 07:23:23 allegro beats it on every single configuration 07:23:28 almost instantly 07:23:41 elliott: on small boards my program is a rush program. Just needs some finetuning. 07:24:03 Looking at it, it's a rush program on every configuration, just a bad one :P 07:24:26 Loses against the furry furry girls on pretty much every configuration. 07:25:01 Hmm, you are actually fairly competitive with waterfall 07:25:12 Three, that is 07:25:13 elliott, congratulations, you have broken lambdabot with your stupidly large number of messages. 07:25:17 On two you win but only by a small margin. 07:25:29 elliott: yeah there are ties and shit on waterfall 07:25:33 TIES 07:25:37 CakeProphet: Fuck you, you beat ICA. 07:25:42 Un-for-fucking-givable. 07:26:32 Loses against spelevator :P 07:26:51 badly. 07:27:15 so what would make it more defensive? 07:28:11 Uhh, a complete rewrite? They're orthogonal strategies. 07:28:19 is it deliberate that there's no 'wait' command? 07:28:24 You can write a hybrid, but that's really two programs fused into one. 07:28:25 . is wait 07:28:26 Patashu: . is a nop 07:28:28 ah ok 07:28:38 it wasn't listed 07:29:01 The revised version 07:29:01 User:ais523 introduced a revised version of BF Joust, with the following changes: 07:29:01 A new command . is added, which does nothing but takes one cycle 07:29:03 That's in the old revision 07:29:07 In the new one, it's with every other command 07:29:13 Which is saner, but unfortunately the text itself is unreadable :P 07:29:38 merge 'em then 07:29:43 elliott: well I blindly rush the first 5 cells the flag could be, and then go back and try to set up a defense but it seems by the time I get to that point they're already beyond my tripwire. 07:30:16 CakeProphet: To be perfectly honest, this is the kind of program that would have done well two years ago :P 07:30:22 Patashu: Too lazy. :p 07:30:27 Maybe if we get another resurgence. 07:31:02 holy shit 07:31:08 holy fucking shit 07:31:10 question period 07:31:35 elliott: I guess mine isn't generated and massive enough. 07:31:43 doesn't help that I'm a shitty BF programmer. :P 07:31:44 so? 07:31:46 mine isn't generated 07:31:51 it's still like 10th for some fucking reason 07:32:06 coppro: what 07:32:12 I tie with i_like_turtles 07:32:16 elliott: it's almost respectable 07:32:17 Patashu: yours is a modified version of a polarity thing iirc :P 07:32:24 Mine isn't generated and it's third 07:32:24 the MPs are actually letting each other talk 07:32:25 coppro: what is 07:32:27 oh 07:32:41 -!- zzo38 has quit (Quit: Others he will beat and that will be neat.). 07:32:53 coppro: that would never happen in britain 07:32:54 atrocious 07:33:34 elliott: it got particularly out of hand last Parliament 07:33:45 going in, they all said they wanted a better parliament, but no one believed them 07:33:53 turned out they seemed to actually mean it, at least so far 07:34:00 coppro: i'm fucking disgusted. 07:34:03 coppro: ok we're coming over. 07:34:05 elliott: I seem to win quite often on small boards. 07:34:05 the queen and everyone. 07:34:07 politicians not interested in long term well being of nation 07:34:08 film at 11 07:34:09 we're going to rebuild your society. 07:34:18 you have clearly been led astray by your lumberjacks. and kindness. 07:34:28 CakeProphet: it's easy to win on small boards, because you can do a lightspeed rush 07:35:16 well right 07:35:18 which is what I do. 07:41:13 how do you trick someone into suiciding. 07:41:41 -!- Vorpal has joined. 07:42:48 CakeProphet: complicatedly 07:42:52 hi Vorpal what fpga board should i buy 07:43:54 elliott, I will tell you what I know about that if you give me the spec to the computer first 07:44:20 do you want to know a spoiler......................................... 07:44:29 elliott, however, why are you interested in an FPGA? 07:44:36 coppro: MPs, *talking*? 07:44:39 I'm reading extensively about the Reduceron 07:44:47 coppro: What's next, a constitution? 07:44:49 elliott, what is the spoiler? 07:44:54 and am getting interested in purely-functional hardware 07:45:06 Vorpal: i never.........made a spec i................ was too busy doing.......... other things........... 07:45:15 elliott, ... when will you do it then 07:45:19 pikhq_: Canadian MPs 07:45:25 Oh, wait, Canada. Technically has a constitution. 07:45:33 They talk. Typically all at once 07:45:39 except not today, apparently 07:45:40 Dammit, need some other way of poking fun. 07:45:58 Harder to do for Canada, because their government is *less* ridiculous. 07:46:02 Vorpal: i don't know, ph has been waiting for like at least five months 07:46:09 Harder to do for Canada, because their government is *less* ridiculous. <--- than US? yes 07:46:14 you can't rush genius 07:46:15 or uh 07:46:18 Vorpal: Than the UK, actually, in this case. 07:46:20 bah, brainfuck programming is difficult. :P 07:46:20 you can't rush mismotivated 07:46:30 elliott, you did it for bsmnt 07:46:34 Well. It's still a monarchy ruled by divine right. 07:46:35 yeah, and nobody since 07:46:39 That's pretty ridiculous. 07:46:49 elliott, anyway I guess I'll go ahead without you then 07:46:49 i had the spark that day, maybe i'll have the spark tomorrow, maybe two days in the future, but relying on me is generally a bad plan 07:47:07 elliott, dude you won't survive university if you can't keep deadlines 07:47:21 pikhq_: If I see 5 conservatives vote against party lines and see an opposition-moved amendment on a government bill, I will go to Ottawa and attempt to hug every MP 07:47:26 Well to be fair there is significantly less resting on creating a spec for you. 07:47:37 Also your deadlines kept not actually being deadlines anyway. 07:47:45 pikhq_: also I will publicize this promise 07:47:58 actually I might raise the numbers a bit 07:48:04 given that they've four years to implement them 07:48:11 coppro: So, some dude ruled the country, and had his kid take over, and so on, right? And you call this a way to rule a country? 07:48:19 coppro: You deserve everything you get, you git. 07:48:21 :P 07:48:25 elliott, are you using EDF or LST scheduling for your life? 07:48:43 Vorpal: Boy howdy, that's undoubtedly a really hilarious joke I don't get. 07:48:51 elliott, no I'm serious 07:48:59 I Wikipediad it. Hilarious. 07:49:07 elliott, which method do you think works best for real life. 07:49:15 pikhq_: If by 'rule' you mean 'sit in a different country and only get directly involved very rarely, the last time to help a politician commit political suicide in order to implement the most intelligent economic measure attempted in 50 years', sure, got no problem 07:49:18 elliott, I'm utterly serious. 07:49:31 Vorpal: I don't know, but I do know that my inability to "do X now" makes using any actual algorithm pointless. 07:49:35 EDF sounds a lot like me 07:49:41 Patashu, ah 07:50:02 coppro: Still less ridiculous than the UK. Where the Queen could do just about anything... 07:50:07 (and get lynched for it, mind.) 07:50:12 Patashu, LST works better in the presence of sporadic tasks iirc. 07:50:17 yeah 07:50:52 pikhq_, if she tried to do it, that right would very quickly be revoked 07:51:04 Vorpal: As I said, "and get lynched for it". 07:51:07 yeah 07:51:14 coppro: Y'know what? Fuck it. Think you could invade? 07:51:35 pikhq_, how does US and CA compare to each other wrt this? 07:51:40 pikhq_: I love framing 07:51:51 MAYBE I'LL JUST ASK AIS ABOUT FPGAS INSTEAD ;_______________; 07:52:13 Vorpal: The US is nominally ruled by just consent of the governed, and there exists no single individual with a high level of power. 07:52:31 counterexample: koch bros 07:52:35 pikhq_, well, only nominally. 07:52:38 Patashu: "Nominally". 07:52:44 In practice, it depends. 07:52:44 oh, nominally, sure 07:52:48 Sometimes, that's how it works. 07:52:55 in practice, most people do what they're told/what their parents do 07:52:59 because of lack of free time 07:53:01 sometimes that's how it works? r u srs 07:53:12 Sometimes, the President has large brass testicles and can effectively act as monarch. 07:53:21 elliott, heh I ended up doing an ineiros. I have a "restore session" tab listed in the "restore session" one. 07:53:40 Vorpal: OK Mr. FPGA "Enemy-Of" Vorpal 07:53:57 "Bad person" 07:53:59 And this turns out both good and bad, depending. 07:54:01 elliott, iirc you need state of the art for redueron. 07:54:08 elliott, simpler ones won't work 07:54:15 Bush is the most recent example of it turning out bad. 07:54:17 Vorpal: It only ran at ninety megahertz, but that's probably irrelevant :P 07:54:27 And only thirty-two kilowords of heap :P 07:54:31 Anyway I don't expect to run the Reduceron. 07:54:34 elliott, how many gates did it use? 07:54:34 And by "bad" I mean "holy fuck, he's probably fucked over the next few generations". 07:54:40 I just want the best evaluation board that I can afford. 07:54:52 Vorpal: I don't know; the VHDL file is available but it is generated code. 07:55:13 elliott, ah, you need to feed it into the synthesiser to get that info out 07:55:38 elliott, anyway, the PC software... The cheap editions are generally very sucky from what I understood 07:55:44 "It requires over 07:55:44 2,000 logic gates, but this is less than 1% of our FPGA’s logic-gate 07:55:44 capacity." ;; comment on one specific piece of functionality 07:55:45 I used the pro version at university 07:55:52 Vorpal: I could always pirate the software, couldn't I? 07:56:11 elliott, not sure how easy it is to find such specialised software... 07:56:27 True. 07:56:35 http://torrentz.eu/search?f=xilinx 07:56:35 http://torrentz.eu/search?f=altera 07:56:38 Doesn't look too bad. 07:56:58 elliott, I only used xilinx boards. You might get more info from ais on this stuff 07:57:18 elliott, only the windows versions from what I can see 07:57:26 xilinx at least makes linux versions too 07:57:34 Anyway, I pretty much just want something that can run something bigger than "hello world", and that can do serial I/O :P 07:57:42 (Why serial? 'Cuz it's fucking simple.) 07:57:59 Plugging serial into a MacBook Air (via an adapter of course): HEIGHT OF WEIRDNESS? 07:58:20 elliott, the board I programmed used parport. Anyway serial is easy. You can do the basics with two GPIO pins! 07:58:50 elliott, assuming you mean UART 07:59:01 It would be kind of sad if the Reduceron required a high-end board. 07:59:09 I mean, it's generated code, but I presume the design is probably simply that complex. 07:59:16 if you want USRT it would be more complicated 07:59:35 Vorpal: I know nothing of serial ports TBH, I just know that they're meant to be simple to program with :P 08:00:04 `/win 2 08:00:07 No output. 08:00:23 elliott, I have no idea how many gates it would use. You would have to test synthesise it for the model in question 08:00:35 Can I do that without buying anything? :-P 08:03:09 elliott, unsure 08:03:39 I get the feeling it would be easier just to rob the high-end kits from a university. 08:03:45 elliott, anyway programming FPGAs is *nothing* like writing a normal program 08:04:16 completely different paradigm from any other sort of programming 08:04:21 I'm aware, but then I learned functional programming after a lifetime of imperative languages too. 08:04:38 And anyway there is always that thing ais is working on. :p 08:04:47 (I plan to play with York Lava which looks cool too.) 08:05:18 elliott, best way to describe VHDL would perhaps be as writing event driven code using imperative style in the time domain or something like that. 08:05:50 elliott, basically it is better to approach it as electronics engineering rather than as programming 08:06:15 Which is great 'cuz I know no EE at all. 08:06:22 But event-driven shit is something I'm relatively comfortable with. 08:06:29 circuitry is very different - you can parallelize it as much as you want for starters 08:06:43 it is *easier* to make it parallel than serial even 08:06:55 I mean, doing stuff in a serial order is *hard* in vhdl 08:07:41 you would need to do some sort of flip-flop to keep track of which state you are in. That is probably a screenful of code alone. 08:08:00 elliott, and you need to take care of the clock signal in most places. 08:08:21 UNLESS I MAKE EVERYTHING CLOCKLESS. 08:08:35 Vorpal: You should look at the Reduceron's VHDL file, it's hilarious. 08:08:48 elliott, ghdl + gtkwave might be a good way to learn the basics, by simulating 08:09:16 c22274 : and2 port map (w22274_0,w74_0,w228_0); 08:09:16 c22254 : or2 port map (w22254_0,w22255_0,w22274_0); 08:09:16 c22250 : or2 port map (w22250_0,w22251_0,w22254_0); 08:09:16 c83 : or2 port map (w83_0,w84_0,w22250_0); 08:09:16 c22276 : inv port map (w22276_0,w138_0); 08:09:16 c22277 : inv port map (w22277_0,w151_0); 08:09:18 c22275 : and2 port map (w22275_0,w22276_0,w22277_0); 08:09:19 UNLESS I MAKE EVERYTHING CLOCKLESS. <-- uh. 1) damn hard 2) Most FPGAs are based on a clocked design, so it won't work well 3) damn hard 08:09:20 c82 : and2 port map (w82_0,w83_0,w22275_0); 08:09:25 c22280 : or2 port map (w22280_0,w1670_0,w1689_0); 08:09:27 c22282 : or2 port map (w22282_0,w68_0,w202_0); 08:09:28 c22281 : or2 port map (w22281_0,w1708_0,w22282_0); 08:09:30 c22279 : or2 port map (w22279_0,w22280_0,w22281_0); 08:09:32 elliott, looks normal apart from the generated names 08:09:32 c22285 : or2 port map (w22285_0,w208_0,w1536_0); 08:09:35 quality code 08:09:41 -!- augur has quit (Remote host closed the connection). 08:09:43 Vorpal: it's thousands of lines of that 08:09:53 the file is literally almost fifty thousand lines long 08:10:03 elliott, that is in an architecture joining components right? 08:10:06 before that there's a lot of 08:10:07 attribute INIT of c21952: label is "0"; 08:10:07 attribute INIT of c21948: label is "0"; 08:10:07 attribute INIT of c21965: label is "0"; 08:10:07 attribute INIT of c21961: label is "0"; 08:10:07 attribute INIT of c21976: label is "0"; 08:10:08 attribute INIT of c21984: label is "0"; 08:10:11 attribute INIT of c21992: label is "0"; 08:10:12 uh wtf 08:10:12 attribute INIT of c22000: label is "0"; 08:10:15 attribute INIT of c22008: label is "0"; 08:10:16 and at the start there's a lot of 08:10:18 elliott, I have no idea what that means 08:10:18 w22412_0, 08:10:20 w22418_0, 08:10:21 nice spam 08:10:24 w22419_0, 08:10:26 w22417_0, 08:10:28 elliott, link the file? 08:10:28 w22421_0, 08:10:30 w22422_0, 08:10:32 w22420_0, 08:10:34 w22416_0, 08:10:35 I'd like to check it 08:10:36 w22411_0, 08:10:38 w22410_0, 08:10:39 elliott, yes yes 08:10:40 w22405_0, 08:10:42 w48_0, 08:10:44 w41_0, 08:10:45 op! 08:10:46 w40_0, 08:10:48 w39_0, 08:10:48 stop the spam 08:10:50 come on 08:10:50 Patashu: yw 08:10:54 Vorpal: Tried to sprunge it but then I just realised it's a meg big 08:10:56 Oh shut up 08:10:58 elliott, link it? 08:11:02 I didn't paste that much >_> 08:11:03 I mean 08:11:06 where did you get it from 08:11:08 http://www.cs.york.ac.uk/fp/reduceron/reduceron.tar.gz 08:11:11 fpga/Reduceron/Reduceron.vhd 08:11:13 is what you want 08:11:23 elliott, that is in an architecture joining components right? 08:11:25 what does this mean? 08:11:33 The Reduceron is described in York Lava, not VHDL 08:11:38 York Lava just compiles to VHDL 08:11:44 (York Lava is a Haskell library) 08:11:49 wha 08:11:52 Wha? 08:11:59 it *crashed* kate 08:12:03 Nice. 08:12:15 when I tried to scroll 08:12:16 (For a brief introduction to York Lava, see YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz.) 08:12:49 what the fuck 08:12:53 it is all one entity?? 08:13:07 elliott, okay that is no normal vhdl. 08:13:18 Vorpal: It's. Generated. Code. 08:13:25 How many times do I have to say this. 08:13:37 elliott, yes but where the fuck is the non-structural definitions 08:13:43 Why would there be any? 08:13:56 elliott, because somewhere there has to be, or there is nothing to synthesise 08:14:04 Oh, do you mean a "top level"? 08:14:08 See extra/. 08:14:12 README.txt and top.vhd. 08:14:23 elliott, the fpga/Reduceron/Reduceron.vhd file *is* the top level as far as I can tell 08:14:27 See extra/. 08:14:31 it just joins together other components yeah 08:14:33 Top-level .vhd and .ucf files that basically connect the reduceron to 08:14:33 the LEDs and switches on the XUPV5 board (also known as ML509). 08:14:50 elliott, I would suggest that fpga/Reduceron/Reduceron.vhd is the top level one yeah 08:15:13 Does that answer your question about "where are the non-structural definitions"? 08:15:21 hm top.vhd isn't it 08:15:51 Has to be; that's all there is. 08:15:53 hm 08:16:07 Are you _sure_ it's not top.vhd? 08:16:36 elliott, structural architectures is basically a way to join together many behavioural architectures. Like saying "place component foo and bar, and connect foo.out2 to bar.in1" or such 08:17:05 presumably, it is joining together all those w560_0 things 08:17:10 the problem here is that "architecture structural of Reduceron is" 08:17:11 -!- pikhq has joined. 08:17:34 hm 08:18:37 elliott, I mean there is process in the top.vhd file 08:18:54 Are you sure structural architectures can't do more than you're thinking? 08:18:55 w22497_0 : std_logic; 08:19:19 elliott, could be. Actually they are freetext names. There are conventions though. 08:19:34 elliott, and this doesn't seem to follow those conventions for names. 08:19:45 Well it's generated code. 08:19:45 red_instance : Reduceron 08:19:45 port map ( 08:19:45 finish => fin, 08:19:45 result1 => result(0), 08:19:45 result2 => result(1), 08:19:47 result3 => result(2), 08:19:49 result4 => result(3), 08:19:50 yes right 08:19:53 (That's hand-written, obviously.) 08:20:00 elliott, that looks like a structural one to me yes 08:20:01 -!- pikhq_ has quit (Ping timeout: 240 seconds). 08:20:07 Right. 08:20:13 elliott, it is just I would expect a shitload of "begin process" in the generated one 08:20:13 Well, why's there nothing to synthesise? 08:20:27 Why? 08:20:41 Note that York Lava is still based around signals and the like. 08:20:42 elliott, because how else would you do a latch or a flip-flop 08:20:45 It's not compiling Haskell to VHDL or anything. 08:21:05 Vorpal: Maybe look at YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz to see its architecture. 08:21:17 It's short. 08:21:21 Ish. 08:21:27 Quite a wide overview. 08:22:01 elliott, right. But where are all the latches and so on! 08:22:14 library unisim; 08:22:14 use unisim.vcomponents.all; 08:22:14 use work.all; 08:22:15 hrrm 08:22:21 Latches? Who needs 'em? 08:22:31 elliott, flip-flops though 08:22:57 Can they be simulated by anything lower-level in VHDL terms? :p 08:23:07 elliott, processes that is how you do them 08:23:18 Obviously there is another way, or the Reduceron wouldn't work. 08:23:27 elliott, I suspect use unisim.vcomponents.all; might be it perhaps 08:23:30 Seriously, look at YorkLava.txt. It's pretty damn low-level at its core. 08:23:44 http://www.xilinx.com/itp/3_1i/data/fise/xst/chap03/xst03007.htm 08:23:54 That's a summary of unisim.vcomponents.all. I think. 08:24:11 I like how the Verilog code is consistently shorter and less noisy. 08:25:48 -!- nooga has joined. 08:26:15 elliott, everything is processes in verilog iirc 08:26:47 elliott, anyway top.vhd contains a set of flip-flops I can tell 08:26:55 if (rising_edge(clock)) then 08:26:55 saved_switches <= switches; 08:26:56 after all 08:27:28 fucked up indentation in that file 08:29:19 elliott, what, Lava uses two-valued logic? 08:29:37 normally in VHDL you have 7-valued logic., 08:29:39 s/,// 08:29:41 Who says low and high are the only values of Bit? :P 08:29:49 hm right 08:29:56 data Bit = 08:29:56 Symbol { componentName :: String 08:29:56 , numOutputs :: Int 08:29:57 , parameters :: [Parameter] 08:29:59 , inputs :: [Bit] 08:30:01 , instanceRef :: IORef (Maybe InstanceId) 08:30:03 , outputNumber :: OutputNumber 08:30:05 , outputSignal :: Signal 08:30:06 heh 08:30:07 } 08:30:09 THAT'S TOTALLY A BIT YO 08:30:11 (It's symbolic, obviously :P) 08:30:13 -- | Logic '0'. 08:30:15 low :: Bit 08:30:17 low = makeComponent "low" 08:30:19 {- Inputs: -} [] 08:30:23 {- Outputs: -} 1 08:30:25 {- Simulate: -} (\[] -> [repeat False]) 08:30:27 {- Params: -} [] 08:30:29 {- Continue: -} (\[o] -> o) 08:30:30 elliott, can it be high impedance? 08:30:31 -- | Logic '1'. 08:30:33 high :: Bit 08:30:35 high = makeComponent "high" 08:30:37 {- Inputs: -} [] 08:30:39 {- Outputs: -} 1 08:30:41 {- Simulate: -} (\[] -> [repeat True]) 08:30:43 {- Params: -} [] 08:30:45 {- Continue: -} (\[o] -> o) 08:30:47 logic2 :: String -> (Bool -> Bool -> Bool) -> (Bit, Bit) -> Bit 08:30:48 sigh 08:30:49 logic2 name f (a, b) = 08:30:53 makeComponent name 08:30:54 spam 08:30:55 {- Inputs: -} [a, b] 08:30:55 come on 08:30:57 {- Outputs: -} 1 08:30:59 {- Simulate: -} (\[a, b] -> [zipWith f a b]) 08:31:01 {- Params: -} [] 08:31:03 {- Continue: -} (\[o] -> o) 08:31:05 Vorpal: Dunno :P 08:31:07 Vorpal: What. 08:31:09 It's helpful spam. 08:31:11 :< 08:31:39 Can I just record forever as my stupidity that I didn't realise x+y = (x^y) | ((x&y) << 1) until really recently. 08:32:09 elliott, for signed integers?! 08:32:41 Vorpal: ... 08:33:00 elliott, I'm wondering what you are talking about here 08:33:11 Unsigned, obviously. 08:33:14 ah 08:33:21 ;o 08:33:37 XOR is just addition without carry, AND gives you the locations of all the bits where there would be a carry. 08:33:51 Which means that the next digit needs setting, so you shift it one and OR it in. 08:33:52 elliott, wait something must be wrong, why don't we all use that instead of complex carry forwarding networks. 08:34:05 'Cuz that's probably slow? 08:34:13 it doesn't *look* slow to me 08:34:19 Hmm, maybe it fails if there's a cascaded carry. 08:34:27 elliott, it must do that. 08:34:32 Are you suuuuuuuuuuuuure 08:34:54 elliott, not 100% sure no. But it looks faster than ripple carry to me at least. 08:35:01 > but adding is not a bitwise operator.[/color] 08:35:01 ....but it is easy to implement in terms of bitwise operators, as long as you remember the truth table for the full adder. 08:35:02 Not in scope: `but'Not in scope: `adding'Not in scope: `is'Not in scope: `b... 08:35:04 DAMMIT GOOGLE YOU ARE INCONCLUSIVE 08:35:17 "A full adder has three inputs: addend, augend and carry in and two outputs: 08:35:17 sum and carry out. Carry in is 0 for the rightmost bit. Make a truth 08:35:17 table and note that the exclusive or is very useful." 08:35:23 STOP BEING A FUCKING SOCRATES TELL ME THE ANSWER 08:35:40 aha 08:35:41 Vorpal: 08:35:41 Addition can be viewed as a sequence of bitwise operations. 08:35:41 Exclusive or-ing the addend and augend yields all of the partial 08:35:41 sum bits; while and-ing the addend and augend yields all of the 08:35:41 carry bits. Shift the carry bits left one position. 08:35:43 Put the partial sum in the addend. 08:35:45 If there are no 1's in the carry bits, then you're done and the 08:35:47 result of the addition is in the addend. 08:35:49 Otherwise put the carry bits in the augend and repeat. 08:35:53 So mine is actually just one step in a loop. 08:35:57 elliott, indeed 08:36:07 elliott, I said it wouldn't work like that :P 08:36:26 and this explains why we use complex full adders and carry and so on instead 08:36:38 elliott, what I don't get is why people don't use double adders or such lined up 08:36:44 double the speed 08:36:54 Lava> synthesiseHalfAdd 08:36:54 Creating directory 'HalfAdd/' 08:36:55 Writing to 'HalfAdd/HalfAdd.vhd' 08:36:57 Done. 08:36:59 HI-TEQUE 08:37:02 elliott, not quite, but close I think. 08:37:10 Vorpal: it was a joke but okay 08:37:19 -!- augur has joined. 08:37:24 oh man type level naturals 08:37:27 WHAT IS NOT THE BEST ABOUT THIS 08:37:35 elliott, in circuitry you can trade speed for time to a large degree. 08:37:36 err 08:37:39 speed for space* 08:37:40 I meant 08:37:50 The function 'vat' indexes a vector. 08:37:50 Lava> (13 :: Word N4) `vat` n2 08:37:50 low 08:37:50 A static type error is given if the index is out of bounds. 08:37:52 WELL LAH DE DAH 08:38:11 elliott, you could in *theory* do a 32-bit adder as a 2-level network of and and or gates for each output 08:38:19 !bfjoust anti_slowpoke_stolen_from_Deewiants +++(>)*8(>[++[-]]+)*21 08:38:26 ​Score for CakeProphet_anti_slowpoke_stolen_from_Deewiants: 18.1 08:38:29 elliott, the required space however would be stupidly large 08:39:17 A static type error is given if the index is out of bounds. <-- how is this different from vhdl? Array indexing going out of bounds would likely fail at synthesis 08:39:25 all Dewiant had to do was change his initial + to +++ to get a perfect score against slowpoke. :D 08:39:26 Yeah, but it's at Haskell type-check time. 08:39:34 (Haskell runtime is when the VHDL is output.) 08:39:42 tl;dr Fancy type-level natural shit. 08:40:18 {-# OPTIONS_GHC -fglasgow-exts -XUndecidableInstances -fcontext-stack=1024 #-} 08:40:20 Always a good sign. 08:40:32 elliott, oh btw vhdl synthesis is slow. I worked on systems with dual core 2 quads at university when I did that. For the basic stuff I did then it still took like half a minute 08:40:41 Vorpal: Eurgh. 08:40:48 elliott, expect synthesising redueron to be an over-nighter at least 08:41:04 elliott, this is why you do simulation :P 08:41:14 Xilinx provides a cool utility called Data2MEM. Given a bit-file, 08:41:14 this utility can change the initial contents of a specified set of 08:41:14 block RAMs. This allows us to change the program in the Reduceron's 08:41:14 code memory without having to resynthesise, which would take ages. 08:41:26 elliott, indeed 08:41:31 elliott, overnighter at least :P 08:41:32 York Lava provides the following constructs for writing behavioural 08:41:32 descriptions. 08:41:33 woah no way, slowpoke vs slowpoke = tie 08:41:38 this is the important part 08:41:39 CakeProphet: No shit sherlock 08:41:48 CakeProphet, of course a program ties against itself 08:42:20 newMult :: N n => New (Mult n) 08:42:20 newMult = return Mult `ap` newReg `ap` newReg `ap` newReg 08:42:20 shiftAndAdd s = 08:42:20 While (s!b!val =/= 0) $ 08:42:20 Seq [ s!a <== s!a!val!shr 08:42:21 , s!b <== s!b!val!shl 08:42:24 , s!b!val!vhead |> 08:42:26 s!result <== s!result!val + s!a!val 08:42:28 , Tick 08:42:30 ] 08:42:32 shr x = low +> vinit x 08:42:34 shl x = vtail x <+ low 08:42:36 prettyyyyyyyyy 08:42:38 not ashamed of the spam 08:42:40 that was pretty 08:42:42 you all had to see it 08:43:07 elliott, anyway I hope you like reading time graphs. Like these http://www.2lazy.nl/MartinsBlog/mpp_images/exp1_gtkwave.jpg (found by google image search) 08:43:19 elliott, generally that is what you get from simulation 08:43:28 Vorpal: Doesn't it have serial emulation? :P 08:43:55 elliott, simulation for vhdl means writing a test program, that provides a set of input signals over time, then checking the output signals. 08:44:03 LOOK AT ALL THESE VIBES OF MINE YOU'RE HARSHING 08:44:06 elliott, so simulation for vhdl is very much like unit testing. 08:44:08 LOOK AT THEM 08:44:12 elliott, what 08:44:31 "Making plans isn't the same as being alive!" 08:44:36 elliott, anyway I don't know any vhdl simulation tool that lets you do interactive input to them 08:44:43 Vorpal: :( 08:45:08 elliott, vhdl is very... enterprisy. 08:45:22 MAKES A MAN WANT TO BECOME A RENEGADE AND USE VERILOG ALL HIS LIFE 08:45:28 OR, ALTERNATIVELY, STAB HIS EYES OUT 08:45:38 elliott, I have no clue about verilog, but isn't it pretty similar 08:45:50 LESS WORDS 08:45:52 elliott, also come on, vhdl has an ada/pascal like syntax. Who doesn't love that. 08:45:57 EVERYONE 08:46:09 dude slowpoke is ridiculous. 08:46:17 CakeProphet: Reading the explanation of it? 08:46:42 the stuff that's in the source code anyways 08:46:50 CakeProphet: it's generated, don't bother 08:46:55 elliott, anyway I can't find any traces of the 7-valued logic in york lava. 08:47:01 elliott, that will be "fun" then 08:47:02 Vorpal: btw the York Lava code for Reduceron is actually quite readable. 08:47:18 emulator/emu.c is still the most understandable bit of code though :P 08:47:26 heh 08:47:38 -- | A time-varying binary signal is clasically a list of booleans. 08:47:38 type Signal = [Bool] 08:47:49 elliott, yep, york lava's Bit is 2-valued 08:47:53 elliott, sad 08:48:01 Vorpal: Why's that sad :P 08:48:28 elliott, because ieee.std_logic_1164 is a lot more useful in practise than vhdl's built in 2-valued logic 08:48:34 Why :P 08:48:42 elliott, see http://en.wikipedia.org/wiki/IEEE_1164 08:49:01 elliott, it allows you to detect conflicting signals, like two strong drives on the same wire and what not 08:49:06 Well don't do that then. 08:49:16 elliott, and you can do weak drive, very useful 08:49:19 I like how it's seven-valued but actually nine-valued. 08:49:22 and high impedance of course 08:49:36 err 08:49:40 elliott, typo on my part then 08:49:46 No, it's called seven-valued, I think. 08:49:48 elliott, it was about a year ago I last used vhdl 08:49:50 Because two values don't count. 08:49:53 Uninitialised and don't care. 08:49:54 I think. 08:49:56 But still. So stupid. 08:50:04 elliott, don't care is utterly useful 08:50:14 Yeeeeees :P 08:50:14 elliott, for example 08:50:23 elliott, lets say you want to drive a 7-segment display 08:50:39 and you get the input on 4 wires, so BCD coding basically (same as binary in this interval) 08:50:42 And you wanted one of them to flicker on and off at random whims because "hey, I don't care". 08:50:43 RIGHT????? 08:51:05 elliott, that means that some of the input combinations are not valid. Which means you can output whatever is easiest on those 08:51:15 since they never happen 08:51:21 this can simplify gates and so on 08:51:25 Heh :P 08:51:34 An impossible branch just trailing off to the edge of the circuit. 08:51:36 elliott, so yes don't care is very useful 08:51:42 The impossible happens => circuit catches fire 08:51:43 elliott: I don't understand how these programs know when to reverse their polarity without relying on any kind of temporary variable. 08:51:43 IT SAVED GATES 08:51:56 CakeProphet: Nested branches. Lots and lots and lots of nested branches. 08:51:59 Lots of nested branches. 08:52:00 Tripwires. 08:52:00 Lots of nested branches. 08:52:04 CakeProphet: Read the ENTIRE strategy pages. 08:52:04 elliott, let me get a real example of this. I have it on a paper somewhere 08:52:07 CakeProphet: That INCLUDES all the program summaries. 08:52:09 ah yes found it 08:53:17 for the first segment in a 7-segment display (the upper on on the left side) we can do this given the inputs A,B,C,D: C+A+BC+D'B' where ' is "invert previous symbol" 08:54:12 Nice :P 08:54:14 elliott, this gives the right outputs for 0-9, which is the valid domain. However, it will give strange results for the values not allowed. Basically don't care means that the compiler can optimise without regard to what the result of these undefined values will be 08:54:29 elliott, which in this case hugely simplifies the logic 08:54:30 Where do you actually specify don't care there? 08:54:58 elliott, well in the example I gave, I did it in the Karnaugh diagram I made on paper. I did this example for redstone logic, so no vhdl here 08:55:13 Does redstone have don't care? :P 08:55:52 elliott, no, but it doesn't matter. Because it is used so that I can assign that specific combination whatever value is easiest 08:55:54 redstone, a robust model for circuitry 08:55:59 Patashu, har. 08:56:02 (lol) 08:56:20 elliott, http://en.wikipedia.org/wiki/Karnaugh_map 08:56:32 oh, you mean you did not actually write C+A+BC+D'B' 08:56:38 but a diagram with each input/output enumerated 08:56:38 right 08:57:03 elliott, yes, then I try to encircle power of two sizes in the diagram. The larger area, the simpler the gate 08:57:17 elliott, thus for don't care values I can encircle them *if* it would make the area greater. 08:57:29 I AM SO GLAD I LIVE IN THE WORLD OF HAPPY DIGITAL BINARY LOGIC. 08:57:31 IT'S SO FUCKING AWESOME. 08:57:52 I'ma ask ais if his ALGOL compiler outputs code with that fancy seven-valued stuff so I don't have to :P 08:58:04 And then spend two whole years coercing him out of his overly-legalistic mindset so that I can get a leaked copy. 08:58:12 THIS IS MORE PRODUCTIVE THAN ATTEMPTING TO UNDERSTAND VHDL 08:58:20 elliott, another case. Data bus. You definitely want the value Z there (high impedance) 08:58:33 OBVIOUSLY 08:59:07 elliott, well, you have to basically disconnect from sending to the data bus when you aren't sending 08:59:14 elliott, this is done by high impedance 08:59:29 if you didn't, then you would drive it to zero or to one all the time. Not a good idea. 08:59:50 elliott, read the introduction to http://en.wikipedia.org/wiki/Tri-state_buffer 09:00:07 Vorpal: http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html How shitty is this. 09:00:20 It's ubercheap which is nice. 09:00:30 elliott, I have never used altera. But it looks like York lava is xlinix specific 09:00:40 But actually it's the most expensive Altera starter kit that isn't completely unaffordable. 09:00:49 I mean ignoring things like "Cyclone IV GX Transceiver Starter Kit" which is just, what is that even. 09:01:02 Vorpal: I was just asking for opinions on the specs. 09:01:12 trying to find them on the page atm.. 09:02:04 elliott, where is the spec for the actual FPGA found on that board 09:02:24 You mean Cyclone III? 09:02:25 elliott, you just gave me the spec for the board itself 09:02:27 Or something more specific? 09:02:30 "Cyclone III EP3C25F324 FPGA" 09:02:32 that one 09:02:34 http://www.altera.com/products/devices/cyclone3/cy3-index.jsp 09:02:40 http://www.altera.com/products/devices/cyclone3/overview/cy3-overview.html has model info. 09:03:00 24,624 logic elements it seems? 09:03:05 yep 09:03:07 That is... piddly, isn't it. 09:03:13 probably not enough for redueron no 09:03:19 high impedence means you'll be overwritten by any other value, right? 09:03:22 remember 2000 was less than 1% 09:03:23 One of the Reduceron papers said twenty-k was less than one percent of their capacity. 09:03:28 It was twenty-k 09:03:30 not two-k 09:03:35 Vorpal: I realise that I've no hope of running the Reduceron 09:03:43 oh wait 09:03:44 Patashu, err, more like *you* won't overwrite anyone else 09:03:45 it was two-k yeah 09:03:57 Vorpal: But still, is that enough to ... do anything with? 09:04:00 what's the result if two signals conflict? 09:04:08 elliott, ask ais on that 09:04:12 Patashu, X 09:04:13 Vorpal: Gah :P 09:04:27 Can you make an FPGA catch fire with VHDL? Say yes. 09:04:43 elliott, possibly you could make it overheat if there isn't adequate cooling 09:05:10 elliott, hm 594 kilobits 09:05:13 not a lot of ram 09:05:38 It has megabytes doesn't it? 09:05:40 Just on the board. 09:05:55 elliott, yes but that will be somewhat more annoying to access you see 09:06:02 elliott, for a start it will be fixed to byte IO 09:06:30 elliott, likely they only provide the library of vhdl modules to access it in some more expensive edition 09:06:51 Vorpal: I'm tempted to build my own little York Lava-esque thing where absolutely everything is done at the bit level :P 09:07:06 Thirty-two-bit word? Why, that's just thirty-two bits in a tuple. 09:07:07 elliott, hm? But with 7-valued logic? 09:07:11 NO, NICE BINARY EVERYTHING 09:07:17 BINARY LOVE HAPPY EVERYTHING NICE YUM HAPPINESS HUGS ALWAYS 09:07:17 9-valued logic! 09:07:19 or possibly more 09:07:21 Thirty-two-bit word? Why, that's just thirty-two bits in a tuple. <-- vhdl does this :P 09:07:40 Patashu, not sure what more useful values you could add 09:07:42 Vorpal: Then byte IO to RAM is indeed inconvenient... it's eight times too much!!!!! 09:07:54 elliott, eh 09:08:31 # Quartus® II Web Edition (FPGA design software) 09:08:31 # ModelSim®-Altera Web Edition (FPGA simulation software from ModelSim) 09:08:33 web edition? 09:08:35 Web edition. 09:08:38 what the crap is that 09:08:40 That... sure is... promising... 09:08:45 WHAT HAVE THEY COME UP WITH THIS TIME 09:08:58 elliott, yes, the thing is, the software is what they really charge you for 09:09:16 elliott, the FGPA itself is relatively cheap compared to the software for developing 09:09:22 It's like Macs, except that nobody actually wants to use the software at all. 09:09:43 Vorpal: Do the synthesisers have a command-line interface? 09:09:52 no clue 09:09:56 Frankly if I can avoid creating a single "project" or "solution", it will not bother me in the slightest. 09:09:57 :p 09:10:08 well, the barrier of entry on bfjoust is too steep now. So I think I'm going to not pursue that anymore and get some sleep. 09:10:17 elliott, let me check a project directory from xilinix stuff 09:10:35 CakeProphet: Is that... surrender I hear? 09:10:42 I thought you were going to spend a week on this : ( 09:10:55 Vorpal: Unfortunately Xilinix's site is a huge huge pain to navigate. 09:10:56 elliott, this was from a lab at university: 09:10:58 $ ls 09:10:58 automake.log full_blink.cmd_log full_blink.lso full_blink.pad full_blink.syr full_blink.ucf _impact.cmd Project.dhp vsim.wlf 09:10:58 blinkers.dhp full_blink.data full_blink.mfd full_blink_pad.csv full_blink_tb.fdo full_blink.ucf.untf _impact.log __projnav _xmsgs 09:10:58 blinkers.ise full_blink.gyd full_blink.mod full_blink.pnx full_blink_tb.udo full_blink.vhd _ngo __projnav.log xst 09:11:00 blinkers.ise_ISE_Backup full_blink._hrpt full_blink.ngc full_blink.prj full_blink_tb.vhd full_blink.vm6 _pace.ucf tmperr.err 09:11:03 full_blink.bld full_blink.jed full_blink.ngd full_blink.rpt full_blink.tim full_blink.xml pepExtractor.prj transcript 09:11:06 full_blink_build.xml full_blink.lfp full_blink.ngr full_blink.stx full_blink._trpt half_blink.vhd prjname.lso work 09:11:06 no I'm not good at programming in brainfuck, and I definitely wouldn't know code to generate if I tried that. 09:11:09 (sorry for the spam) 09:11:22 CakeProphet: BF Joust is nothing like BF programming really 09:11:23 .win 17 09:11:25 Vorpal: Like, I literally yelled at the computer trying to navigate the site. 09:11:26 elliott, a number of those are directories :P 09:11:29 Multiple times. 09:11:43 It _refuses_ to answer the question "what starter kits do you have?". 09:11:44 elliott, I'm a bit scared about "automake.log" 09:11:52 It _refuses_ to give a flat list of all kits that are available with the prices on the same page. 09:11:52 it is empty though 09:11:55 It is the _worst site ever_. 09:13:08 heh 09:13:24 elliott: no, this is the worst website: http://www.angelfire.com/super/badwebs/ 09:13:46 this site is way too preachy 09:13:48 F- 09:14:05 basically this guy is jealous of everyone's web pages for looking far more cool than his which are probably all boring 09:14:13 "Misspelled werds and impropr punktuation, make yur web look amaturish, and unfinishd. Awlays run a spel chek befor yu uplode!!!!!! : )" 09:14:16 WHAT A FUKEN HYPOCRITES 09:14:29 elliott, I hope this is a case of Poe's law 09:14:38 really 09:14:39 Vorpal: whoosh 09:14:46 * elliott stabs Vorpal a bit. 09:14:48 a deliberately bad web page about bad web pages is... 09:14:53 ?_? 09:14:54 a fake????? 09:14:55 woah 09:14:59 never saw it coming 09:15:10 * Vorpal does a strong drive on the bit in "stabs a bit" 09:15:16 elliott, hah, X! 09:15:46 also: http://www.dokimos.org/ajff/ 09:15:51 is there a document somewhere that explains all the interactions betweeen states in 9 state logic? 09:16:03 CakeProphet: god i love this one 09:16:07 Patashu, a text book perhaps 09:16:12 probably lol 09:16:20 unfortunately the front page is way better than all the others 09:16:26 Patashu, anyway you generally don't mix them randomly 09:16:44 no I don't imagine you would 09:17:35 Patashu, for a start Z only makes sense for an output. 09:17:46 war on drugs -> cryptography?? http://falkvinge.net/2011/06/07/weed-as-surprise-driver-for-mass-cryptoproficiency/ 09:18:46 war on cryptography -> drugs! 09:18:55 \o/ 09:18:55 | 09:18:56 cryptography on drugs -> war! 09:18:56 /´\ 09:19:01 war cryptography -> drugs on! 09:19:02 oh god text penis 09:19:09 on! war -> drugs cryptography 09:19:51 elliott, anyway I can't imagine you would like to program for FPGAs. 09:20:05 elliott, it is far too low level 09:20:14 its declarative 09:20:16 and hey i wrote a bootloader 09:20:20 HAVE YOU WRITTEN A BOOTLOADER ASSHOLE 09:20:22 elliott, vhdl and verilog makes asm seem high level 09:20:34 THINGS YOU HAVE NOT WRITTEN: A BOOTLOADER ASSHOLE 09:20:39 elliott, in asm you do ADD r1,r2. In VHDL you write a page of code to do it 09:20:50 same for verilog 09:21:01 once you have a circuit for adding can't you just reuse it? 09:21:13 Patashu, yes indeed, but that takes a page of code :P 09:21:24 but you only have to do it once 09:21:27 Patashu, besides, what about carry forwarding 09:21:31 -!- MigoMipo has joined. 09:21:39 that would be annoying 09:21:48 I mean a ripple carry adder is pretty simple 09:22:03 yeah so you have to define addition so what 09:22:33 but can you define...division? 09:22:34 dun dun dun 09:22:42 annoyingly hard likely 09:22:57 Patashu: no. 09:23:05 the mathematical impossibility of division is why arithmetic never really caught on. 09:23:06 elliott, well the main issue is making things sequential when you need it. Everything sequential essentially has to be written as a clocked finite state machine 09:23:14 division sucks and dead 09:23:16 rip maths 09:23:17 Vorpal: that's not hard. 09:23:21 just have a global clock, woop pow done. 09:23:23 elliott, no, but it is verbose 09:23:28 elliott, and of course you have a global clock 09:23:39 how do you do it clocklessly, anyway? 09:23:58 elliott, well you can do that for purely combinatorial circuits. 09:24:11 explain :P 09:24:12 or do you mean the crazy sort of advanced clockless? 09:24:21 like that clockless MIPS CPU? 09:24:24 Explain both :P 09:24:50 elliott, combinatorial circuits: output = logical expression of inputs, no memory of previous state 09:25:04 for example. the 7-segment display. It doesn't have to keep track of previous state 09:25:11 so nothing that requires more than one step to express at all? 09:25:40 elliott, pretty much. You can express any such expression as a 2-level network of and + or gates (plus inverters before sometimes) 09:25:52 or nand-nor 09:25:56 OK, now what about the crazy sort of advanced clockless? :P 09:25:59 But, like, at a slower scale. 09:26:01 Clockless addition, say. 09:26:11 Would it just have a local clock? 09:26:22 well addition is clockless. Just wait for all the ripples to get through before reading the result. 09:26:29 just make your clock slow enough 09:26:34 a FA is not clocked after all 09:26:42 but you have to take care of the gate delay 09:26:50 which means that everything takes a finite time 09:27:00 elliott, no clue how the super-advanced clockless CPUs work 09:27:03 ask ais about that 09:27:07 PAH 09:27:14 The biggest disadvantage of the clockless CPU is that most CPU design tools assume a clocked CPU (i.e., a synchronous circuit). Many tools "enforce synchronous design practices".[4] Making a clockless CPU (designing an asynchronous circuit) involves modifying the design tools to handle clockless logic and doing extra testing to ensure the design avoids metastable problems. The group that designed the A 09:27:14 MULET, for example, developed a tool called LARD to cope with the complex design of AMULET3. 09:27:21 sure does sound painful 09:27:39 likely 09:28:05 metastability would be an issue yes 09:28:20 clocked circuits nicely avoids that 09:28:23 http://www.async.caltech.edu/mips.html ;; this paper isn't gonna be fun to read i guess :D 09:28:48 the SEAforth multi-core processor (2008) from Charles H. Moore.[12] 09:28:48 the GA144[13] multi-core processor (2010) from Charles H. Moore. 09:28:50 oh sna 09:28:51 p 09:28:53 the chuck is in town 09:28:59 and he ain't got no clocks 09:29:31 eh 09:29:37 The Honeywell CPUs 6180 (1972)[7] and Series 60 Level 68 (1981)[8][9] upon which Multics ran asynchronously 09:29:38 hawt 09:29:46 right 09:29:59 SO WHAT IF YOU USED A SINE WAVE FOR A CLOCK LOL 09:30:16 sounds stupid. 09:30:30 ;D 09:30:41 of course you don't get a square wave in practise, only reasonably close 09:31:43 reassuring 09:31:50 what 09:32:12 elliott, come on, you can't do instantaneous voltage changes in reality... 09:32:33 just saying, electronics is a lot less of a comfortable discipline than programming :D 09:32:41 "well it's a square wave. ...sort of. physics kind of gets in the way." 09:32:47 "uh, booleans. yeah. ours have 9 values..." 09:32:50 elliott, har 09:33:06 "oh well um... not using a clock might make your electronics just sort of fuck up and oscillate around." 09:33:13 "but then that usually happens anyway." 09:33:17 elliott, but yes. With vhdl and verilog you are working at a lower abstraction layer than when programming 09:33:18 "we don't really know how to do any of this." 09:33:22 "we're basically just bullshitting." 09:33:29 "hello i am an electronics engineer and i suck." 09:33:31 "elliott is awesome." 09:33:37 "oh man i feel so good saying all these true things." 09:33:41 ... 09:33:59 ````It would have been better if images are included in the page 09:33:59 --[[Talk:Fall time]] 09:34:00 No output. 09:35:15 elliott, just like haskell is a higher abstraction than asm, vhdl and verilog are on a lower level abstraction than asm. Of course both are still higher than EDA software... 09:35:32 EDA? :O 09:35:42 oh this 09:35:48 Patashu, EDA is kind of like "well, lets place some p-type silicon here, and then some ... 09:35:52 " 09:35:54 :D 09:36:01 that sounds like fun 09:36:03 does anyone actually do that? 09:36:33 elliott, well yes, when designing ASIC for example 09:36:43 elliott, they tend to have module based systems 09:36:46 Vorpal: hmm, but surely Intel's Latest Fancy Processor isn't made by hand, right? :-P 09:37:02 elliott, probably not, but designs for gate modules used might well be 09:37:04 man... wouldn't it be cool to see the source code to the i7?????? 09:37:36 i wonder who has less ugly designs from a maintenance point of view, amd or intel :P 09:37:51 elliott: i've read the memo 23 09:38:23 elliott, the FP parts are likely auto generated 09:38:27 nooga: that seems to be what YorkLava.txt is 09:38:29 and formally verified 09:38:30 Vorpal: FP? 09:38:33 oh, floating point, right 09:38:36 yeah 09:38:38 well who cares about that. 09:39:13 heh 09:39:31 man, the York Lava specification of that simple stack machine is really pretty. 09:39:37 yeah 09:39:43 nicer than vhdl :P 09:39:54 of course 09:40:11 The function 'simPoly' has almost the same type has 'eval', and it is 09:40:11 straightforward to define a correctness property for the processor. 09:40:11 prop_poly :: Expr -> Integer -> Bool 09:40:11 prop_poly e x = eval e x == wordToInt (simPoly e x) 09:40:12 :D 09:40:17 QuickCheck for hardware 09:40:34 elliott, of course york lava is not quite as general as vhdl. 09:40:47 likely there are things you can't do directly in york lava 09:41:01 Vorpal: yeah but why would you want to. 09:41:17 elliott, tri-state buffers looks like one case 09:41:24 (I know, I know, "why would you want to create your own hardware anyway"...) 09:43:38 "America is in crisis, " the Republican governor says on a website promoting the event. "We have been besieged by financial debt terrorism, and a multitude of natural disasters." 09:43:38 ugh 09:43:41 FINANCIAL DEBT TERRORISM 09:43:47 the word terrorism is quickly becoming meaningless 09:44:25 haskell is shit!!! OMG IRC TERRORISM 09:45:32 Patashu: that was... so rude of you to... impersonate me...... 09:45:35 nick terrorism............. 09:45:41 Nick Terrorism, superhero 09:45:54 don't you mean supervillain 09:45:58 -!- elliott has set topic: Programming terrorism: the channel | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 09:45:59 Patashu: no 09:46:01 lol 09:46:07 -!- elliott has left ("Leaving"). 09:46:12 what 09:46:14 -!- elliott has joined. 09:46:15 oops 09:46:16 NIC terrorism 09:46:19 what I am doing to you atm 09:46:20 Patashu: he nicks terrorism 09:46:21 that is 09:46:22 he steals terrorism 09:46:23 from societ 09:46:24 y 09:46:25 accept my unsolicited IP packets 09:46:26 and safely deposits it 09:46:27 ooooh 09:46:28 in the TRASH 09:46:29 clever 09:46:31 OHHHHHHH YEAAAAAAAAAAAH 09:46:36 S/ [DOLLAR SIGN]// 09:46:38 s/caps/not caps/ 09:46:51 http://www.gravatar.com/avatar/fb7188d8be002ece64870dffe9ec6fa7?s=32&d=identicon&r=PG 09:47:22 elliott: F-lite implementation is interesting itself 09:47:37 nooga: it is? 09:52:27 nooga: it is? 09:55:36 nooga: it is? 09:55:37 nooga: it is? 09:55:37 nooga: it is? 09:55:38 nooga: it is? 09:55:38 nooga: it is? 09:56:28 i think so 09:56:35 howso? 10:00:08 because it's simple and can be used as an example when writing a minimal, lazy, functional language 10:00:43 well sure 10:01:12 the modules are awfully broken up 10:01:21 what is f-lite? 10:01:31 Vorpal: 10:01:32 F-lite is a core subset of Haskell. Unlike GHC Core and Yhc Core, 10:01:32 F-lite has a concrete syntax. You can write F-lite programs in a 10:01:32 file, and pass them to the F-lite interpreter or compiler. Another 10:01:32 way to view F-lite is as a minimalist lazy functional language. 10:01:36 a symbolic term-rewriting language 10:01:37 ah 10:01:39 that compiles to the reduceron 10:01:45 and is the main programming language for it 10:01:55 ah 10:01:58 it's actually not quite a subset, since you omit data declarations 10:02:03 so valid f-lite programs aren't necessarily valid haskell programs 10:02:05 also it's untyped 10:02:06 but yeah 10:06:29 hey guys what's a good abbreviation for root 10:06:32 as in square root, cube root, ... 10:06:35 rt 10:06:36 normally 10:06:38 three letter 10:06:48 too bad 10:06:51 there's only a two letter one 10:07:10 :( 10:07:13 but Rot is weird :P 10:07:13 rot sounds like rotate, rut doesn't sound like anything... 10:07:28 why not use root(a,b) = pow(a,1/b) 10:07:29 or something 10:07:32 then say pow 10:07:36 Oh well, I guess I'll call it Root 10:07:57 elliott, anything wrong with "root" 10:08:01 why would it have to be 3 letters 10:08:11 Consistency :P 10:08:16 data BinOp = Add | Sub | Mul | Div 10:08:16 | Exp | Root | Log | Mod 10:08:16 | Eq | Lt | Gt 10:08:16 deriving (Show) 10:08:17 :P 10:08:30 elliott, you have three two letter ones 10:08:34 you don't need root if you have pow 10:08:37 elliott, so why not Rt as said above 10:08:51 elliott, and what is this for 10:08:53 Yeah yeah :P 10:08:56 Patashu: I do, it's in the spec 10:08:58 Vorpal: SyL 10:09:02 hmm OK then 10:09:03 elliott, esolang? 10:09:12 Yes; I'm implementing it solely because I can call the result sylladex. 10:14:39 hmm 10:14:45 if "PRINT 9" is a statement, what would you call PRINT? 10:14:48 people usually talk about like 10:14:50 the PRINT statement 10:14:52 but that's ambiguous :/ 10:14:55 the PRINT 10:14:56 command? 10:14:56 Command 10:15:13 command, function, method, subprogram 10:15:21 action 10:15:31 word 10:15:51 Command should work, thanks 10:23:06 what are you doing? 10:25:49 -!- Sgeo has joined. 10:26:51 nooga: syl 10:34:32 ! 10:35:42 Sgeo: what 10:35:48 oh did you die of melatonin 10:35:51 The update 10:36:23 oh right that 10:36:32 fucking scratch pulled the fucking beta timeline bullshit 10:36:36 asshole 10:36:43 also slick is very holy. 10:36:59 lol 10:39:26 I formed a hypotheses around the beginning of this update, the ending discarded it 10:46:20 hmm, is n+0 -> n constant folding or dead code elimination? 10:50:43 Instruction simplification 10:51:15 It's not constant folding unless n is constant 10:52:10 And DCE is for code that's never run, not code that does nothing 10:54:29 Deewiant: My "constant folding" pass does instruction simplification too, then :P 10:54:36 I suppose it's not all that unreasonable to interleave the two passes. 11:00:45 syl? 11:00:55 nooga: it's this semi-decent language. 11:01:00 any spec? 11:01:59 uh i didn't write it 11:02:01 it's on the esowiki 11:02:12 but hands off, i'm over-engineering implementing it >:| 11:16:23 -!- sebbu2 has joined. 11:16:23 -!- sebbu2 has quit (Changing host). 11:16:23 -!- sebbu2 has joined. 11:18:42 -!- sebbu has quit (Ping timeout: 240 seconds). 11:18:42 -!- sebbu2 has changed nick to sebbu. 11:19:18 " why not use root(a,b) = pow(a,1/b)" <<< how about Wop 11:20:38 3 to the wopper of 2 11:21:51 lol 11:27:14 LOL 11:27:39 Zwaarddijk: i saw your bachelor's supervisor today and he was bragging about his finnish skills 11:28:59 g2g ~> 11:29:11 lol 11:30:33 -- lt and gt can wait i am so fucking lazy 11:30:33 -- also all the others, fuck this shit 11:46:13 -!- PatashuPikachuRe has joined. 11:46:50 -!- Patashu has quit (Ping timeout: 250 seconds). 11:47:51 Maybe (Either Expr Value)... gross 11:58:20 *Sylladex.Optimise> constFold (EBinOp Add EReadChar (EBinOp Add (EConst (VInt 0)) (EConst (VInt 0)))) 11:58:20 EReadChar 11:58:24 Hooray. 11:58:29 Now for EVEN MORE SPECIAL CASING. 11:59:07 *Sylladex.Optimise> constFold (EBinOp Sub (EBinOp Add EReadChar (EConst (VInt 9))) (EConst (VInt 9))) 11:59:07 EBinOp Sub (EBinOp Add EReadChar (EConst (VInt 9))) (EConst (VInt 9)) 11:59:17 This still needs some handling; re-arranging things is gonna be pretty ugly, though. 12:18:19 -!- copumpkin has joined. 12:20:14 -!- BeholdMyGlory has joined. 12:33:15 -!- FireFly has joined. 12:40:25 -!- foocraft has joined. 12:41:00 aaaa 12:41:03 i must code 12:41:11 i have a concrete idea what to code 12:41:18 and skills to code it 12:41:30 but i'm procrastinating 12:43:58 what is the idea 12:44:55 -!- pikhq_ has joined. 12:45:26 -!- pikhq has quit (Ping timeout: 260 seconds). 12:49:17 nooga: WE DEMAND YOU TELL US 12:57:40 -!- Kustas has joined. 13:09:50 I am forward thinking in that, after a thought, it is now the future. 13:10:41 -!- Kustas_ has joined. 13:12:30 CakeProphet: wat 13:13:08 -!- Kustas has quit (Ping timeout: 258 seconds). 13:13:09 -!- Kustas_ has changed nick to Kustas. 13:17:25 -!- ais523 has joined. 13:19:10 hi ais523 13:19:10 fpga 13:19:11 what should i 13:19:13 and the 13:19:31 elliott: compare to the situation in which I thought in reverse. 13:19:42 hmm, I think I need more words to work out what the sentence means 13:20:28 ais523: fpga buy kit affordable but is usable i had links but now i don't in clipboard and the fpga and also which of duopoly has support better linux 13:20:32 what should i and the 13:20:45 ah, I see 13:21:06 thank god 13:21:16 also, I think they both claim native support for Linux 13:21:27 elliott: let a thought be a string X where blah blah blah blah blah time goes backwards when I think. 13:21:28 Xilinx's tools showed huge signs of running on Cygwin, when I tried them on Windows 13:21:31 yes but that doesn't mean it's any _good_ 13:21:34 yep 13:21:46 I know we're using Altera tools at the moment, because we couldn't figure out the Xilinx stuff at all 13:21:50 i'm basically asking which is more tolerable, but actually, Xilinx seem to be a lot more expensive than Altera 13:21:54 even for the evaluation boards 13:22:09 the Reduceron stuff was done with Xilinx, but that's basically academic since there's no way I could afford anything that could fit it 13:22:14 I think it's marketed at managers rather than programmers 13:22:24 although being able to use York Lava would be a perk, and it compiles to Xilinx-specific VHDL 13:22:33 (York Lava is the declarative Haskell library used to define the Reduceron) 13:22:43 (it uses two-valued logic exclusively :-----O) 13:23:41 ais523: I was also meaning to ask: how efficient is the code your ICA → VHDL compiler outputs? 13:24:08 elliott: possibly not as good as code generated by hand, but much the same order of magnitude 13:24:28 apart from it doesn't do pipelining yet, but we may fix that at some point 13:24:44 I think York Lava may be similar; the actual basis of it is fairly direct mucking with signals, but it has a bunch of sequential stuff that probably generates less-than-ideal code 13:24:50 I know what Lava is about 13:25:04 I meant, 13:25:04 I'd get in trouble if I didn't 13:25:06 in terms of efficiency 13:25:10 ah 13:25:24 well, Lava is just a really good language for expressing circuits designed by hand 13:25:32 yep, but there's also things like 13:25:38 let instr = s!code!top in 13:25:39 Seq [ Tick 13:25:39 , While (instr!isHALT!inv) $ 13:25:39 Seq [ isLIT instr |> s!rtop <== getLIT instr 13:25:39 , isDUP instr |> s!stack!push (s!rtop!val) 13:25:39 , isREV instr |> 13:25:39 -!- ais523 has quit (Read error: Connection reset by peer). 13:25:41 Seq [ s!rtop <== s!stack!top 13:25:43 , s!stack!pop 13:25:45 [...] 13:25:47 which is decidedly not at... 13:25:48 yeah it's tough, we don't get eruptions around here so I never have enough of the stuff 13:25:49 ugh great time to drop connection 13:25:53 and it's so viscious and slow to propagate 13:26:10 -!- PatashuPikachuRe has changed nick to Patashu. 13:26:13 you know what ELSE Is viscous and slow to propagate?? 13:26:15 that's right 13:26:16 oil. 13:26:23 idgi 13:26:25 -!- ais523 has joined. 13:26:28 ais523: 13:26:32 well, Lava is just a really good language for expressing circuits designed by hand 13:26:32 yep, but there's also things like 13:26:32 let instr = s!code!top in 13:26:32 Seq [ Tick 13:26:32 , While (instr!isHALT!inv) $ 13:26:33 Seq [ isLIT instr |> s!rtop <== getLIT instr 13:26:35 the remote host closed the connection, for no reason at al 13:26:35 , isDUP instr |> s!stack!push (s!rtop!val) 13:26:37 , isREV instr |> 13:26:39 Seq [ s!rtop <== s!stack!top 13:26:41 , s!stack!pop 13:26:43 which is decidedly not at the level of the low level stuff 13:26:47 well, no obvious good reason, anyway 13:26:50 or even VHDL 13:27:11 it still looks pretty low-level 13:27:27 certainly, but my understanding is that "While" and "Seq" are distinctly higher-level concepts than VHDL offers 13:28:32 only marginally higher level 13:28:38 seq in particular is just wires in what I'm doing 13:29:00 fair enough 13:29:03 and even while is just wires and one gate 13:29:19 ais523: now the actually relevant question: how long is everyone who isn't you or someone else working on it gonna have to wait before we play with the compiler :-P 13:29:26 (VHDL scares me. :( ) 13:29:32 probably a couple of years 13:29:41 I WILL SIT HERE UNTIL THEN 13:30:07 although I've been doing fun things putting the equivalent of printf statements in the input to the compiler and having them actually work 13:30:15 by using the simulator debug API 13:30:32 and even making the program exit via an assert-false set to the maximum severity level 13:30:36 ais523: stop bragging about your amazing compiler powers while I sit here with the prospect of hacking VHDL manually >:( 13:30:41 well, maximum but one, you don't use the one above that unless things go wrong 13:30:50 Can I send you Algol code and get VHDL code that you obviously hand-translated really quickly in response? :-P 13:30:58 You could even set up a bot. I mean, with strong AI. To translate the code. 13:31:16 (Oblig.: You could even release the source code to the bot's AI!) 13:32:34 well, the compiler isn't really working properly yet 13:33:02 and even when we finish implementing what we've done so far, it'll be missing at least one important feature, and one massively important optimisation (which is about as fundamental to hardware programming as TCO is to functional programming) 13:33:04 a (*b)() is the same as a (*b)(void) in C, right? even though (in C90) a b() and a b(void) aren't (as prototypes) 13:33:11 ais523: which important feature? 13:33:16 pipelining 13:33:48 ais523: btw, Vorpal told me to ask you about advanced clockless stuff, so I'm going to go out on a limb and assume he really hates you 13:33:54 and, I think a(*b)() isn't quite the same as a(*b)(void) 13:34:08 ISTR it is; you can't have a function pointer to something of indeterminate arguments 13:34:14 elliott: FPGAs aren't really designed for that 13:34:18 You have to use a pointer to varargs or something else ~wAcKy~. 13:34:35 you could get it working in theory, but you'd be wasting a large proportion of their circuitry 13:34:50 and function pointer to something of indeterminate arguments is how it worked all the time prior to C89 13:34:55 I've even used some in a program I was working on 13:35:07 because I wanted a function that you could pass another function of the same type to as an argument 13:35:14 and indeterminite arguments is obviously the only way to express that in C 13:35:40 But IIRC you need to cast a function pointer into a () one 13:35:44 Which obviously means they're not compatible 13:35:49 no, you don't 13:35:58 ah, stackoverflow agrees 13:36:02 which actually makes me believe it less, but 13:36:37 ais523: I've been looking at cyclexa as inspiration for my own regular expression grammar, by the way. Looks very interesting. 13:36:43 another example: int (*b)() = global_variable; b(2.0f) calls b as if it expects a double 13:36:54 and int (*b)(float) = global_variable; b(2.0f) calls b as if it expects a float 13:37:13 ais523: i'm asking this as part of a ridiculously intentionally-overengineered SyL implementation, FWIW 13:37:17 SyL? 13:37:25 it's this fairly decent language on the wiki http://esolangs.org/wiki/SyL 13:37:32 i picked it because it was high up in recent changes and not completely idiotic 13:37:37 you know, I didn't even think to ask what you were doing, I just assumed there was a reason and didn't care if there wasn't 13:37:42 and also because i can call the resulting implementation sylladex 13:37:47 my motives are 13:37:48 rather flimsy 13:38:04 but hey, it'll be the most useful, optimising, flexible of a language you'll never ever want to use 13:38:05 they're good enough for #esoteric 13:38:22 also, that page is uncategorised 13:38:27 I've been forgetting to check that in the more recent languages 13:38:29 ais523: btw, Vorpal told me to ask you about advanced clockless stuff, so I'm going to go out on a limb and assume he really hates you 13:38:39 i can't categorise it, i'm too busy poking five thousand holes in the spec: http://esolangs.org/wiki/Talk:SyL 13:38:45 I only said that ais was more likely to know about it than me 13:38:57 oh wow, http://esolangs.org/wiki/Special:Uncategorizedpages actually works 13:39:07 perhaps I should clear it out some day 13:40:46 you expected it to not work? 13:41:03 only a hundred and eighty six pages, it seems 13:41:17 you can reduce that by three by deleting the terrible articles: 13:41:24 http://esolangs.org/wiki/Prefix_notation 13:41:25 http://esolangs.org/wiki/Postfix_notation 13:41:27 http://esolangs.org/wiki/Surround_notation 13:41:29 well, some are subpages of other things 13:41:30 although IIRC there's a fourth 13:41:33 lol surround notation 13:41:36 ah, http://esolangs.org/wiki/Infix_notation 13:41:59 CakeProphet: no no, the esowiki is _totally_ the place for tehz to make articles about his weird, arbitrary distinctions between different aspects of notation that nobody else really agrees with 13:42:14 -!- oerjan has joined. 13:42:15 "Infix notation is one of the 4 possible ways to describe a program." ;; makes less and less sense each time i read it 13:42:16 the correct term for that is circumfix... but "surround" makes it sound high quality, like good speakers. 13:42:25 lol 13:42:28 thx surround notation 13:42:30 he forgot postcircumfix! 13:42:35 postumfix 13:43:04 also nullfix 13:43:24 hmm, now do I compile the AST directly into the backend, or do I want to compile it to some kind of VM first... 13:43:51 elliott: compile to a shell script that JITs 13:44:11 lol 13:44:12 JIT compiles a bytecode that is 13:44:20 oerjan: is a nullfix operator one that has to be the entire program if it's used at all? 13:44:20 just one 13:44:45 or did you mean the concept more commonly called an operand, but interpreted in a weird way? 13:44:49 on that note, time to go get a drug test brb 13:45:34 * elliott tests brb 13:45:39 I haven't got a drug, though 13:45:45 so my results may not be what you're looking for 13:46:15 hmm, (somestruct){ ... } is C99, right? 13:46:29 ais523: i was thinking of haskell's f x notation :P 13:46:50 ah 13:46:59 oh and the ever popular wontfix 13:46:59 that's an infix operator, just the operator is zero characters long 13:47:14 also, how does one actually do a union literal? 13:47:17 I'm not sure how they work at all 13:48:05 union float_or_int {float f; int i;} /* ... */ (union float_or_int){.i = 4} 13:48:18 do you have to use field syntax like that? 13:48:22 C99 only, that syntax, but I don't think it works at all in C89 13:48:39 also, I don't need the (foo) if the union is a field of a struct, right? 13:48:41 I can just do {...} 13:49:05 in a struct literal, yes 13:50:47 oh right, KDE 13:50:51 wat 13:50:56 I'd spent all this time complaining about an awkward default setting on my feed reader 13:51:00 haha 13:51:06 and then I realised it was KDE not Gnome and I'd never actually opened the settings dialog box 13:51:08 hmm, challenge: write a C expression that, given x, evaluates to negative one if the result is negative ("equal to EOF" is also acceptable), and the value otherwise 13:51:10 now it does what I want 13:51:11 but x can only be evaluated once 13:51:12 basically I want 13:51:20 if (getchar() == EOF) -one else getchar() 13:51:23 but as an expression 13:51:26 without re-evaluating getchar() 13:51:56 it's easy enough if you can cheat and use GCC extensions 13:52:05 how? 13:52:29 ((getchar() - EOF ?: -1-EOF)+EOF) 13:52:46 but ?: takes three arguments in C89 and C99 13:52:46 heh 13:53:51 what was User:Uesr up to, btw? 13:53:54 ais523: spambot 13:53:57 I can find out but am worried it might be NSFW 13:54:00 ais523: it's not 13:54:07 well, unless you consider spam NSFW 13:54:13 ah, right 13:54:15 how pointless 13:54:23 ugh, even addition is a pain with this direct-translation scheme 13:54:26 I'd have probably blocked in addition to the userpage deletion 13:54:27 definitely feelin' the VM vibes here 13:54:47 although I don't really want to use a stack vm, it feels like such a copout when I could do register allocation 13:55:23 haha, wow this is going to be beautifully insane 13:55:30 will you have a reload pass more insane than gcc's? 13:55:59 ais523: unfortunately, I don't know what a reload pass is 13:56:13 I can explain what it is simply enough 13:56:15 have I mentioned I'm planning a full FFI? :/ 13:56:26 -- TODO: constant-fold across [function -Ed] calls 13:56:30 actual comment in Optimise.hs 13:56:32 the way gcc and many other compilers work is, originally they assume an infinite number of registers 13:56:34 well, sans the [] bit which I just added now 13:56:51 and then adapt the code to allow for the finite number of registers they have in practice 13:57:05 (SSA generally ends up naturally falling into an infinite-registers model) 13:57:21 so they do it by reassigning registers, reusing registers with dead values, and worst-case spilling to memory 13:57:28 that's the reload pass 13:57:48 haha 13:58:00 ais523: they should take that to its logical conclusion, and eliminate memory entirely 13:58:02 apparently, everyone who understands how gcc's works has gone insane, or else recovered by refusing to speak of it ever again 13:58:16 just treat all storage as part of the infinite domain of registers 13:58:23 and let the reload pass sort out the best place to put it 13:58:36 this feels like a remarkably ais523 thought to have, which pleases me greatly 13:58:53 elliott: well, one of the main advantages we claim for our compiler is that it doesn't use centralised memory at all 13:59:08 if it needs memory that it can't store in a LUT's delay slot, it goes and makes a small amount of memory locally 13:59:10 i've always wanted a compiler that doesn't use centralised memory at all 13:59:22 because memory bandwidth is the limiting factor nowadays, rather than actual storage capacity, for most programs 13:59:51 ais523: do you have any opinion on how crappy/uncrappy this is? http://www.altera.com/products/devkits/altera/kit-cyc3-starter.html 14:00:10 specs on the actual fpga model seem to be here http://www.altera.com/products/devices/cyclone3/overview/cy3-overview.html 14:00:38 I know it has about a tenth of the logic elements that the Reduceron guys' FPGA has :P 14:01:02 it looks /very/ small by FPGA standards 14:01:19 anyway, I have to go to a meeting 14:01:23 OK 14:01:30 FWIW, that's the highest-end starter kit they seem to have 14:01:39 apart from ones which seem to be targeted at people doing weird non-generic stuff 14:01:46 something about "GX tranceivers" 14:02:37 yikes, that has half the logic elements 14:02:41 -!- Patashu has quit (Ping timeout: 240 seconds). 14:03:33 or, hmm, the person I'm meant to meet isn't there 14:03:55 I'll wait for him to phone me 14:04:26 ah, OK, the FPGA itself isn't all that small 14:04:36 just that the board isn't designed to allow access to its full capabilities at all easily 14:04:57 heh 14:05:16 you'll find that this is often the case 14:05:24 in fact, FPGAs nowadays tend not to have simple VHDL/Verilog interfaces 14:05:31 really? 14:05:43 instead you need to use some crazy design flow wizard thing that takes care of synthesizing a whole lot of crazy boilerplate automatically, more or less like firmware 14:05:56 and custom VHDL or Verilog you have to plug into it via an FFI-type thing with crazy interfaces 14:06:00 eurgh 14:06:08 we figured out how to turn that off with the Altera tools, but not with the Xilinx tools 14:06:14 does the Altera toolchain just have a command-line synthesiser I can use and forget about the rest? :P 14:06:44 (or rather, the Xilinx tools, you could turn it off but then there was no obvious way to connect your program to anything, and I spent a week trying to work out how on the Xilinx website and failing) 14:07:03 (at least Altera give pinouts for their board; how to actually tell them to the compiler is non-obvious but we worked it out eventually) 14:16:24 hmm 14:16:29 to stack machine or not to stack machine 14:22:39 -!- ais523 has quit (Read error: Connection reset by peer). 14:28:18 -!- ais523 has joined. 14:28:36 -!- Kustas has quit (Quit: appled into ipad). 14:34:29 Chrome seems to have decided to stop displaying favicons 14:37:55 Reading the lexical analysis wiki 14:38:00 article 14:38:27 It mentions a program that makes lexica analyzers. I don't need to do that, right, it's easy to make my own? 14:39:06 sure 14:39:29 Although if there's something that makes lexers in Javascript, I might not bother to roll my own 14:41:08 Wikipedia article continues to talk as though I shouldn't roll my own unless I have to 14:43:53 elliott, what is that VM you are working on? 14:44:27 for syl 14:44:45 ais523, why would xilinx and altera do those insane boilerplate thingies you mentioned!? 14:44:59 Vorpal: why does Windows do wizards? 14:46:27 ais523, Hm. From what I remember it worked like this when I used xilinx stuff. You wrote your vhdl file. Then you told it which one was the top entity in the IDE and right clicked somewhere to get a file where you could map signals to pins. 14:46:35 maybe that was some old model 14:47:13 that still works, in both Altera and Xilinx, although the exact place to right-click can take us an hour to find sometimes and we keep forgetting 14:47:32 the issue with the Xilinx tools is that they gave no indication of what pin was connected to what on the evaluation board 14:47:32 hm 14:48:07 ais523, oh okay. I think the board I used was a custom made one at the university. At least it looked like it was hand etched... 14:48:18 (not completely straight lines and so on) 14:48:45 (one frustrating issue with the Altera thing is that the pin assignments tools makes you pick the pin names from a drop-down list, you can't just type them in, which is really annoying as there are hundreds of pins and the names are no more than four characters long) 14:48:53 and hand-etched boards still tend to have straight lines 14:49:03 the major difference is that the boards tend to be white rather than green or blue if etched by hand 14:49:16 ais523, the board was yellow 14:49:19 ah, right 14:49:27 I never seen white ones 14:49:31 that's what the white boards look like if they've been sitting in an acid bath for an hour or so 14:49:33 (one frustrating issue with the Altera thing is that the pin assignments tools makes you pick the pin names from a drop-down list, you can't just type them in, which is really annoying as there are hundreds of pins and the names are no more than four characters long) 14:49:36 which is part of the process 14:49:37 ah 14:49:42 do they support kb completion? 14:49:46 nope 14:49:51 hahah 14:49:51 we tried that 14:49:56 how awful 14:50:02 -!- foocraft has quit (Quit: Leaving). 14:50:14 lol 14:50:16 we assume that the thing is backed by a text file somewhere so we could edit it by hand, but we never found the file; perhaps it's in a binary format instead 14:50:42 ais523, for xilinx it is definitely a text file, though iirc they have a GUI drag-and-drop kind of thingy too 14:51:11 yep, agreed 14:51:15 we found the file in question for xilinx 14:51:37 you could even open it from the GUI thingy by simply clicking somewhere iirc 14:51:46 ais523, but why don't they give you access to the pins in a straight-forward way? I don't get it. What is in it for them? 14:52:01 incompetence 14:52:23 yep, it's typical large program design 14:52:47 hmm, have you ever used Eclipse? imagine a program designed along similar lines, but getting all the details wrong 14:52:48 or, well, wronger 14:52:56 ais523, btw, why do hand etched boards tend to be yellow/white rather than green or blue? 14:53:03 it's a different process 14:53:38 hmm, have you ever used Eclipse? imagine a program designed along similar lines, but getting all the details wrong <-- eclipse is rather annoying. The IDE for VxWorks 6.x and later is based on eclipse, and it is annoying to use. 14:53:45 I think it probably uses different chemicals, or something 14:53:50 -!- oerjan has quit (Quit: leaving). 14:53:56 Vorpal: that's the sort of thing I'm getting at, wrt Xilinx/Altera toolchains 14:54:03 ah 14:54:21 ais523, are there any other FPGA companies? 14:54:40 also, happy IPv6 day, everyone! 14:54:45 Vorpal: no major ones, as far as I know 14:54:49 hm 14:54:51 as elliott said, it's a duopoply 14:54:53 *duopoly 14:55:05 is that a real word? 14:55:13 Yes 14:55:17 hm okay 14:55:31 ais523, well, I guess altera is better, if they provide pinouts. 14:55:40 are the pinouts hard to find? 14:56:03 not too bad, they're in the manula 14:56:04 *manual 14:56:08 ah 14:56:14 for the evaluation board 14:56:23 right 14:56:36 sounds fun 14:56:48 ais523, how did you use it with the compiler 14:56:52 might be useful to know 14:57:06 I didn't set it up myself 14:57:08 ah 14:58:37 ais523, I saw something about "web edition" of their IDE. What was that about? 14:58:42 altera's IDE that is 14:58:49 that came with the board elliott was looking at 14:58:55 I don't know 14:58:59 prolly jusr means 14:59:03 comes with no cdrom 14:59:08 they tend to give academic versions of the IDEs to universities for free 14:59:13 you download the ide from teh interwebs 14:59:15 elliott, better check... 14:59:24 e.g. Xilinx gave us a license for up to 50 unique MAC addresses 14:59:40 well i know that for a fact, it's stated elsewhere 15:00:10 bleh, this network isn't doing IPv6 15:01:27 ais523: you could also interpret function application in Haskell as being prefix, with the space not being a special operator but the function being the operator itself. 15:01:44 CakeProphet: that muddles operators and operands 15:02:10 In addition to ModelSim-Altera Starter Edition software, Altera offers ModelSim-Altera Edition with the following additional enhancements: 15:02:10 * 33 percent faster simulation performance 15:02:10 * Support for large FPGA designs with no line limitations 15:02:14 33% faster? 15:02:14 what 15:02:20 that is a stupid "feature" 15:02:54 hmm, now I'm trying to remember if both Altera and Xilinx use ModelSim 15:02:56 do they cap the speed of the other one by 33% of what your processor can do or something like that 15:03:02 ais523, xilinx definitely does 15:03:11 really it's all relative to what is the object in question. A quoted string is circumfix if you go by quotes, but you could also say that the inner string leme itself is infix in relation to the quote lexemes 15:03:21 "# 10,000 executable line limitations" 15:03:22 ew 15:03:23 s/leme/lexeme 15:03:28 Vorpal: ouch 15:03:30 though I now want to define the word leme.. 15:03:33 10,000 is nothing in VHDL 15:03:37 ais523, in the starter edition that is 15:03:44 although I wonder if you could get around it by deleting all the newlines 15:03:51 ais523, hehe 15:03:58 if it's that arbitrary a restriction 15:04:56 the web edition won't use more than one CPU core when synthesising it seems 15:05:09 nor will it do incremental compilation 15:05:10 ouch 15:05:34 but, yes, typically the operator is the thing in question. In the case of function application in Haskell I would say that the operator is prefix, because the function application isn't really a lexeme in itself. 15:05:35 I have no idea how to write an incremental compiler 15:06:04 Sgeo, make + multiple C files = incremental compilation at file level granularity 15:06:19 I assume it means the web edition simply forces a full recompilation every time 15:07:12 -!- SimonRC has quit (Ping timeout: 260 seconds). 15:07:45 $2,995 USD for the cheapest non-free version. 15:07:48 oh come on... 15:08:23 -!- SimonRC has joined. 15:08:36 that is more expensive than the computer I'm using 15:10:25 Vorpal: dude it's perfectly reasonable. strings of machine isntructions encoded as bytes are valuable commodities. There's a very limited supply of it and high demand, so the price is high. BASIC ECONOMICS. 15:12:24 hare 15:12:26 har* 15:13:35 apparently, in the world of radio frequency electronics simulation, at any one time there's only one program that everyone uses 15:13:43 what happens is that it gets more expensive over time, as it's the only one available 15:14:01 then someone else writes a program that's better, more featureful, and a tiny percentage of the price, then drives the incumbent out of business 15:14:19 then they're the only one available, and it gets more expensive over time... 15:14:31 ouch 15:14:36 ais523, and stupid too 15:15:12 in the world of FPGAs, it's even worse, as it's hard to enter the market with the FPGA /manufacturers/ having a huge advantage in writing software 15:15:49 howso? 15:16:19 ais523, because they don't release the specs required for you to figure out how to compile stuff to their products 15:16:23 err 15:16:24 elliott, ^ 15:16:40 and also, they get to bundle software with hardware 15:17:07 and hardware with other hardware that needs specialised software 15:21:09 ais523, what about EDA? I guess it is about as bad there? 15:21:21 I can't expand that acronym 15:21:28 electronic design automation 15:21:33 ais523, ASICs and so on 15:21:41 !simpleacro 15:21:45 ah, in that case I don't know 15:21:48 ​ZMGCMKM 15:22:01 How do you guys feel about ZMGCMKM? 15:23:16 -!- SimonRC has quit (Ping timeout: 252 seconds). 15:24:14 CakeProphet, what is that one? 15:26:12 uh, Zesty Military-Guided Chickens Masturbating Kill Mode 15:26:38 it's the latest buzzword. 15:26:46 ... 15:27:16 THE LATEST. 15:27:45 I have the buzzword feed /right here/ 15:32:29 -!- CakeProphet has set topic: Redefining /Extreme/ Programming | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:36:00 We should make an esoteric software development methodology. 15:36:26 Complete with fancy diagrams 15:36:34 with lots of arrows. 15:51:18 I think I understand lexing well enough at this point. 15:54:36 -!- Kustas has joined. 15:54:57 http://en.wikipedia.org/wiki/File:Parser_Flow.gif I thought compiler==translator 15:55:13 Even if the former has more of a connotation of complexity than the latter 16:01:53 I would say they're close enough in similarity to almost be the same thing. 16:07:39 -!- SimonRC has joined. 16:17:47 -!- SimonRC has quit (Ping timeout: 260 seconds). 16:23:19 -!- TOGoS has joined. 16:23:27 -!- TOGoS has left. 16:24:22 -!- SimonRC has joined. 16:57:38 -!- Kustas has quit (Quit: left forever). 16:58:42 how do i shot assembly 16:59:35 how do I freakin' figure out US tax law 17:03:52 Conservapedia makes me laugh 17:04:12 There's an argument on a talk page's archive about whether autumn foliage is objectively beautiful 17:04:23 http://www.conservapedia.com/Talk:Counterexamples_to_Evolution/archive1#Some_Comments 17:04:27 fizzie: you're a nasm scientist right 17:04:34 Sgeo: holy shit, I'm unblocked 17:07:02 elliott, hmm? 17:08:30 Sgeo: almost the entire world is blocked IP-wise (403) from Conservapedia 17:08:36 but at least i can see it now, maybe they lifted it 17:08:39 o.O 17:08:54 Sgeo: (Schlafly asked if there was a way he could just ban all non-USA IPs so he wouldn't have to deal with trolls) 17:09:07 (this... worked, but I gather a lot of US IPs are collateral damage) 17:09:19 but evidently Conservapedia's five editors aren't affected 17:10:41 Wouldn't it have made more sense to just block non-US IPs from editing? 17:10:53 I guess it might require some sort of entry level programmer 17:11:30 why should non-US people be allowed to view the American encyclopedia? 17:11:33 they don't matter. 17:11:41 to be honest, they're hardly even people. 17:11:46 "The annual rate of extinction of species far exceeds any plausible rate of generation of species. Expanding the amount of time for evolution to occur makes evolution even less likely." 17:12:05 High extinction rate is a recent phenomenon as a result of massive human habitation.. 17:12:18 arithmetics are hard 17:12:20 how does nasm works 17:12:25 how does ... archaeology 17:12:39 CakeProphet, did you see the bit about "If there's a 5% chance of any one of these being true"? 17:12:45 ...yes. 17:12:49 Parsimonious repetition of design elements throughout creation, e.g. the eye's appearance in remarkably different species. For such complex structures to arise repeatedly via evolution is impossible, as evolution is an inherently random and historically contingent process. 17:12:57 ....what? that's an argument for evolution if anything. 17:14:01 [SAssign varname (EConst (VInt 999)), 17:14:01 SAssign varname (EBinOp Add (EVar varname) (EVar varname)), 17:14:01 SIf (EVar varname) [SAssign varname (EConst (VInt 0))]] 17:14:08 time to hand-translate this to hypothetical bytecode 17:14:23 Pleiotropy, the fact that a change of a single gene can have several different effects, renders the "improvement" of animals by random mutation impossible, as any mutation with a potentially beneficial effect will be coupled with one or more other potentially lethal effects. 17:14:43 except, you know, when the lethal mutations kill the organism and prevent inheritance, and the beneficial ones remain. 17:14:59 CakeProphet, keep reading them in order. There's a ... I want to call it a punchline, it's so ridiculous 17:15:06 guys, what's the best way to do a stack of floating point in xeightysix assembly 17:15:11 just push fp values to the normal stack? 17:15:24 Or, um, just skip ahead *shrug* 17:15:38 For evolution to be true, every male dog, cat, horse, elephant, giraffe, fish and bird had to have coincidentally evolved with a female alongside it (over billions of years) with fully evolved compatible reproductive parts and a desire to mate, otherwise the species couldn't keep going. 17:15:57 ...yes, there's a definite line. One day, a baby is born and it just can't mate with anything of its species.. 17:17:06 -!- monqy has joined. 17:17:07 learn2 understand speciation plz. 17:18:39 CakeProphet: well, the pleiotropy argument states that beneficial mutations are impossible, because a change to any gene will cause more harm than good. 17:19:52 is that a fact? 17:20:01 I don't think so. 17:20:42 this one is the best so far: 17:20:45 Mutations cause a loss of information, rendering it mathematically impossible for mutations to advance the complexity of life. Similarly, entropy (disorder) increases over time, making it impossible for order to increase on its own. According to Cornell University geneticist John C. Sanford, not even the energy of the Sun, which might otherwise reduce entropy in a system not thermodynamically isolated such as the Earth, 17:22:43 poorly formulated information theory, mathematical assertions about complexity, thermodynamics, ecology, and Biblical apocalypse. There's even a smart guy as a source. 17:23:44 ...this is such an entertaining read. 17:24:09 -!- zzo38 has joined. 17:24:59 For evolution to be true, every male dog, cat, horse, elephant, giraffe, fish and bird had to have coincidentally evolved with a female alongside it (over billions of years) with fully evolved compatible reproductive parts and a desire to mate, otherwise the species couldn't keep going. 17:25:00 tru luv 17:25:35 Some of the things on that list seem like interesting, potentially valid arguments. Some of them seem like confused ravings. 17:26:17 See, here's a potentially valid one: "Lack of genetic diversity among the Homo sapiens species. Were evolution and the old earth true, the human population would show a much larger genetic variance." 17:26:39 Maybe they've done some mathematical models that show that, if evolution is true, then there indeed must be more genetic variance than there actually is. 17:28:55 And here's a confused raving: "Evolution does not account for the immense amount of information in the genome, as well as the origin of the information-processing systems in the cell. Information always has a sender, who must be God in this case." 17:29:41 tswett: I'm sorry that you deny beauty. 17:29:51 You will suffer for it for the rest of your pitiful heathen life. 17:30:03 "...beneficial mutations are impossible, because a change to any gene will cause more harm than good..." This seems nonsense. Even if this is the case there can be changes to multiple genes and this can cause beneficial. And even if one causes more harm than good, does it say the harm is significant? However, none of this means any of the stuff I said actually happens either. 17:30:37 You also failed to account for quanglement. 17:30:46 everyone always fails to account for quanglement 17:30:54 "Scientists have found proof that the first chicken came before the first egg,[40] consistent with a special creation of chickens but not with a gradual descent with modifications from a proto-chicken and proto-egg." 17:31:54 ??? How old have chickens be? And how do you define what exactly counts as a first chicken or first egg, etc? 17:32:36 And why did Conservapedia block everyone? 17:33:31 gah, dealing with things greater than one machine word in assembly is a pain :( 17:34:39 Does it have carry function? 17:34:44 tswett: There's plenty of genetic diversity in humans. But more importantly, "genetic diversity" is not something you can just measure; it's a qualitive statement. Even more importantly, it is not required that all species exhibit genetic diversity for evolution to be a valid theory. 17:35:08 -!- zzo38 has quit (Remote host closed the connection). 17:35:56 CakeProphet: you *can* measure genetic diversity, though, can't you? Grab some random people, perform some genetic tests on them, and see how diverse their genes are, compared to your mathematical model. 17:36:28 -!- Kustas has joined. 17:36:37 tswett: hmm, well, yes. You can determine it that way. 17:36:49 statistically. 17:36:56 Yup. 17:38:48 However, you still have no metric for what is "very genetically diverse" and "not very genetically diverse", these are still fuzzy qualitive statements. You'd need to compare a number of different species, and perhaps compare between species. 17:39:09 and then you'd still probably need to assign some arbitrary scale to determine genetic diversity. 17:39:22 Right. I have no idea what sort of analysis the people actually did, much less whether or not it was valid. 17:40:00 tswett: an admirable defense nonetheless. :) 17:41:55 hmm, structuring this bytecode in haskell kind of sucks 17:42:00 I suppose I want a map of labels to code 17:42:07 looks cool: http://www.deliantra.net/screenshots.html 17:42:07 but it's so ugly to use like arbitrary ints for the labels 17:42:16 I suppose I could include the relevant code directly but that would be a real pain for the code generators 17:42:53 But yes, I agree with this article that the law of thermodynamics necessarily implies slow ecological stagnation, which is an obvious precursor to the End Times. This assertion is in direct contradiction with the Fourth Law of Evolutionary Theory(tm) which states that "In order for the process of evolution to be true, everything must get better all of the time." 17:43:27 there's not refuting that, really. 17:43:29 *no 17:54:10 The main problem with most of these arguments is that they attack strawmen assertions that evolutionary theory supposedly makes. 17:54:10 but these assertions are actually just poorly worded ideas based on the principle of evolution that people make in a non-scientific context, and not the theory itself. 17:56:05 -!- Kustas has quit (Quit: quitter). 17:59:12 There's actually a much more obvious rebuttle of that stupid thing. 17:59:25 The Earth is not a closed system. 18:13:58 Is there a logical argument for privacy? (self.AskReddit) 18:14:00 REDDIT 18:14:57 -!- olsner has joined. 18:16:28 elliott: well, obviously there is 18:16:30 several, in fact 18:16:35 I wonder if any will come up in the thread? 18:16:46 ais523: I don't want to find out 18:17:03 I'm running out of justifications to not unsubscribe from /r/AskReddit to be quite honest 18:17:12 (The justifications are a huge long list of "I'm too lazy to".) 18:17:35 for illustration of this concept see: 18:17:42 > repeat ("I'm too lazy to") 18:17:44 ["I'm too lazy to","I'm too lazy to","I'm too lazy to","I'm too lazy to","I... 18:18:23 lambdabot, expanding minds for a better tomorrow. 18:18:30 elliott: I'm subscribed to the default set, but never (or incredibly rarely) visit the reddit homepage anyway so it doesn't matter 18:18:48 * CakeProphet has never been to reddit. 18:18:48 > take 500 $ repeat "I'm too lazy to" 18:18:49 ["I'm too lazy to","I'm too lazy to","I'm too lazy to","I'm too lazy to","I... 18:18:56 see, now it's a huge long list, rather than an infinite list 18:18:59 what's reddit 18:19:00 CakeProphet: at this point, I would recommend against the experience 18:19:10 there are a few decent subreddits, but outside of that... 18:19:18 I read proggit for the offtopic stuff 18:19:21 the ontopic stuff too, sometimes 18:19:29 (I don't /submit/ offtopic stuff, though, because I'm not a monster) 18:19:40 ais523, hmm? 18:19:57 Sgeo: keeping proggit ontopic is well known to be difficult, despite the attempts of the moderators 18:20:01 What's wrong with proggit that you wouldn't submit ontopic stu... oh, you said offtopic 18:20:04 I misread you 18:20:04 * elliott is guilty. 18:20:21 (In my... defence... I submitted it to proggit in a shameless karmawhoring attempt without thinking.) 18:20:26 (Wait, that doesn't sound like a defence at all.) 18:20:37 (Propose we drop the subject.) 18:20:51 ais523: also, was that a snarky reference to this channel? :) 18:20:54 no 18:20:59 I've karmawhored... by submitting an ontopic link to a subreddit 18:20:59 I'm not very good at snarky references 18:21:11 Sgeo: you subhuman :O 18:21:16 so if you see a snarky reference coming from me, it's either really awful, crude, and obvious, or else unintentional 18:21:27 ais523: or, maybe it's intentional and you are just THAT 18:21:28 SUBTLE 18:21:32 It is possible. 18:21:35 elliott: you could incorporate this into a pronunciation based language: http://en.wikipedia.org/wiki/Duplifix 18:21:39 as a new kind of operator. 18:22:02 elliott: part of the reason I tend to be so honest is that I'm pretty bad at lying 18:22:10 bah, shm-reduplication shm-reduplication 18:22:28 DO YOU SEE WHAT I DID THERE 18:23:28 i don't think ais523 sees what i did there. 18:23:36 i think he's quite blind to what i did there 18:23:38 no, I Don't 18:23:40 *don't 18:23:52 http://en.wikipedia.org/wiki/Shm-reduplication may help :D 18:24:49 ah, that's a rather specific thing to do 18:25:29 this would be fun to parse in a programming language: http://en.wikipedia.org/wiki/Transfix 18:25:29 BUT DO YOU SEE WHAT HAPPENS WHEN YOU SHM-REDUPLICATE "SHM-REDUPLICATION" YOURSELF 18:25:31 ARE YOU LAUGHING YET 18:25:47 > cycle ("haha") --cue laughter 18:25:48 "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha... 18:25:59 CakeProphet: I actually did laugh at that 18:26:02 not at elliott's thing yet, though 18:26:11 thing shming 18:26:13 foo shmoo 18:26:16 shm-reduplication shm-reduplication 18:26:21 FUNNIEST THING 18:26:23 > cycle "ha" -- better laughter 18:26:24 "hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha... 18:26:34 yeah that laughter is just so much more... compact. 18:26:35 surely the second should either be shm-shm-reduplication or shmeduplication? 18:26:41 ais523: you are spoiling it :( 18:26:48 all 0 humour in it is now dead 18:26:50 elliott: it wasn't funny to spoil in the first place 18:26:57 elliott shmelliott 18:27:06 CakeProphet ShmakeProphet 18:27:33 -!- elliott has set topic: #shmesoteric | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 18:27:40 shmake, sounds like a make utility. 18:27:52 a terrifying one 18:29:56 I guess a?b:c would be kind of like transfix, but that doesn't really apply outside of human languages. 18:30:35 because in transfix your interspersing the affix into the stem. Programming languages don't have that concept. a, b, and c do not collectively make a "stem" 18:31:39 -!- foocraft has joined. 18:32:02 I love the examples of infix in English: hizouse for house and shiznit for shit 18:32:16 "Fucking" and "bloody" are sometimes used as expletive infixes, as in "un-fucking-believable" or "abso-bloody-lutely" 18:35:02 -!- pikhq_ has quit (Ping timeout: 252 seconds). 18:35:03 -!- pikhq has joined. 18:35:38 "A-whole-nother", in which another (an+other) is reanalyzed as a+nother. 18:35:49 I wonder what /the/ nother is. 18:37:03 sorry i was afk 18:37:16 -!- ais523 has changed nick to scarf. 18:38:01 -!- scarf has changed nick to ais523. 18:38:27 ais523: hi scarf 18:39:10 elliott: we were having a discussion about alternative nicks in #nethack 18:39:17 and a whole load of people changed to backup nicks for a bit, then back again 18:39:30 does #nethack ever have anything worthwhile to discuss 18:40:05 elliott: still playing Minecraft? or maybe You switched to Dwarf Fortress? 18:40:10 yes, if you consider NetHack worthwhile 18:40:14 it's ontopic well above 50% 18:40:17 nooga: Elliottcraft 18:40:22 ais523: better than us :D 18:40:49 actually I think we're off-topic less than you'd expect, in that, I suspect if we weren't offtopic, there would instead just be huge periods of silence 18:40:56 things tend to happen in spurts in the esoteric world 18:41:11 yep 18:41:31 nooga: (I still play Minecraft, but not much lately, but I won't much once Elliottcraft becomes more concrete :P) 18:41:36 -!- ralc has joined. 18:41:45 elliott: are you making a Minecraft clone-but-better? 18:41:55 also, I'd imagine adding more concrete to a Minecraft-alike would be quite easy 18:42:12 ;];] 18:42:14 ais523: I _might_ be. but actually, it takes a lot of inspiration from a lot of other things, and I'm trying to replace the central game mechanic/framing mechanism itself 18:42:21 ah, fair enough 18:42:33 so it's just named as a Minecraft reference to confuse/attract people? 18:42:35 as far as the blockworld itself goes, Dwarf Fortress is a better comparison, although it's presented in the Minecraft manner 18:42:48 ais523: I needed a throwaway name while discussing it in #esoteric-minecraft :P 18:42:50 (confusion and attraction form a pretty powerful combo in Pokémon, but it's not recommended to actually use it) 18:43:12 It would be amusing to actually release it as Elliottcraft though, just to see how much I get yelled at 18:43:17 YOU STOLE "-CRAFT" 18:43:41 putting your own name in the name of a product normally causes it to not do very well 18:43:43 fizzie: hey, finnish person: is risto karvinen a real person? 18:43:55 ais523: hmm, maybe 18:44:03 ais523: there are many companies named after people that are very successful 18:44:07 named after their founders, that is 18:44:10 now, if /I/ called something Elliottcraft, it would be fine because I'm not called Elliott 18:44:13 olsner: http://sv.wikipedia.org/wiki/Risto_Karvinen 18:44:15 olsner: maybe 18:44:26 ais523: oh, I'll call it Alexiansmithcraft then 18:44:29 elliott: yeah, that's where I started 18:44:30 BEST NAME FOR ANYTHING??? 18:44:36 wow that's a crazy name 18:44:42 bonus points for me because I misparsed it to start with 18:44:43 it is, it doesn't even parse into your name for me 18:44:48 not for me either 18:44:51 Alexian smithcraft??? what the hell is that 18:45:05 like normal smithcraft but more alexian 18:45:06 hmm, really tempted to actually use that now 18:45:16 my regard for popularity is astonishingly low :D 18:47:31 ... finally back in linux now, I don't understand how I could ever use windows as my main OS 18:47:41 olsner: brr 18:47:43 olsner: do you want a hug 18:47:48 i know how scary it can be sometimes 18:47:54 I get kind of nervous even just booted into OS X 18:49:09 Is it conceptually simpler to have continuations accept a continuation but just ignore them, or to have them not accept a continuation? 18:49:32 in OSX you can just start X or a terminal and it starts behaving more like normal 18:49:39 continuations don't take continuations. 18:49:51 (what would you apply them with?) 18:50:08 but in windows if you happen to start cmd all that's left is to stab your eyes (and soul) out with the nearest blunt object 18:50:20 olsner: :( 18:50:23 olsner: im sorry for your experience 18:50:23 elliott: well, you could take an unapplied or thunked continuation, and give it as an argument to a continuation, without any real issues 18:50:29 yeah sometimes you can be in windows 18:50:31 and suddenly think 18:50:34 hey i want to bring a terminal up- 18:50:37 and then you have a panic attack 18:50:40 olsner: I installed djgpp, just so that if I started cmd by mistake (or deliberately) it would work vaguely like a UNIX shell 18:50:41 and they find you dead two weeks later :( 18:50:44 unix withdrawal 18:51:05 back when I used windows I had Cygwin. 18:51:12 which was kind of like having bash. kind of. 18:51:18 Cygwin doesn't hijack cmd, does it? 18:51:21 no. 18:51:27 (note that I mostly only used cmd to start bash /anyway/, but...) 18:51:33 it runs in its own little environment, but you can manipulate the entire file system with it 18:51:36 cmd is a terrible terminal, though 18:51:54 Cygwin has the unfortunate thing that it sucks 18:52:14 yes.. 18:52:24 its fork() call is slower than making a cup of coffee 18:52:27 DJGPP doesn't suck, but is an insane premise in the first place 18:52:32 and its unicode support is just... blegh 18:52:36 improved as of recent versions but 18:52:36 (and doesn't implement fork) 18:52:44 oh and setup.exe is the worst excuse for a package manager ever just... augh 18:52:48 literally painful experience to use 18:52:52 hmm... Cygwin's implementation is not the fact that it has a slow fork 18:52:55 but the fact that it uses it 18:52:56 ais523: hmm, djgpp has no sh, right? 18:52:59 elliott: it has bash 18:53:01 or does it have a manually-supported sh? 18:53:02 erm 18:53:03 or does it have a manually-ported sh? 18:53:05 to not use fork 18:53:06 ais523: do you have an entire /bin and everything in windows magically? How do you run and use bash effectively in Windows? 18:53:08 I think it's manually ported 18:53:12 right 18:53:15 it can't do things that would require multiple processes to run at once 18:53:23 CakeProphet: it's really hard; I tried to get a native environment up once 18:53:24 tl;dr: 18:53:32 either use djgpp for dos 18:53:33 OR 18:53:36 https://github.com/pclouds/busybox-w32 18:53:39 CakeProphet: you do indeed have an entire /bin, attempts to access something in /usr/bin or /bin will rewrite the path into a directory that actually exists 18:53:41 which is a wonderful native port of busybox 18:53:42 for windows 18:54:00 oh wait... I have a solution to this problem. 18:54:02 this is the reason I keep writing the wrong directory in shebang lines 18:54:04 continue not using windows. 18:54:10 as in DJGPP, it doesn't actually matter what you put there 18:54:20 as long as it's a directory you might vaguely expect to find binaries in 18:54:30 #!/bin/perl means the same thing as #!/usr/bin/perl, and probably the same thing as #!/sbin/perl 18:54:54 #!/etc/perl 18:55:01 augh 18:55:41 you know the reaction that makes people spit coffee onto their keyboards? I just did that, except I wasn't drinking anything so the computer is fine 18:55:54 I can tell which can of Coke is cold delicious soda and which is empty by APPEARANCE ALONE 18:56:00 * CakeProphet adds this to his list of super powers. 18:56:31 CakeProphet: except Coca-Cola isn't a sort of soda 18:56:33 or am I confused? 18:56:38 if it's open and you're not currently drinking from it, then it's empty 18:56:44 elliott, this was a subtle joke on /etc/rmt right? 18:56:44 (or do you fill empty coke cans with lemonade to confuse people?) 18:56:49 Vorpal: no. 18:56:54 elliott, oh 18:56:58 one standard can holds about one sip of drink, IME 18:56:59 ais523: uh, I think you're confused. 18:57:02 CakeProphet: except Coca-Cola isn't a sort of soda 18:57:04 err, how isn't it? 18:57:10 I'm actually wondering if it's a language barrier thing 18:57:12 elliott, http://sprunge.us/BFcR 18:57:13 soda = pop = even coke in the southern us 18:57:14 quite interesting 18:57:17 is there some non-US meaning of soda that I don't know? 18:57:19 elliott: ah, I see 18:57:23 = ten thousand different fucking names for "sugary carbonated drink"" 18:57:24 soda would be a more specific drink in the UK 18:57:27 ais523, did you know about /etc/rmt? 18:57:30 Vorpal: no 18:57:41 sort of like lemonade but worse 18:57:47 #!/bin/sh 18:57:47 # 18:57:47 # This is not a mistake. This shell script (/etc/rmt) has been provided 18:57:47 # for compatibility with other Unix-like systems, some of which have 18:57:47 # utilities that expect to find (and execute) rmt in the /etc directory 18:57:48 # on remote systems. 18:57:50 # 18:57:54 exec /usr/sbin/rmt 18:57:56 how exciting 18:58:00 (I typed /etc/rmt in chrome expecting it to google; instead it displayed the file 18:58:02 ) 18:58:04 (which is arguably more helpful here...) 18:58:18 elliott: coke is "kind of" a generic term in the southern US, yes, but it doesn't explicitly mean that. It just works out nicely because everyone in the south drinks Coke so it usually doesn't matter what you mean. :P 18:58:20 elliott: this is why separate address and search bars is useful 18:58:27 ais523: are you referring to crem soda, btw? 18:58:29 [asterisk]cream 18:58:34 elliott: no, that's something slightly different again 18:58:37 calling that just "soda" would be weird 18:58:42 elliott, I pastebinned it above. there is no need to paste it in channel 18:58:43 ais523: soda water right? 18:58:44 ais523: hmm, then I'm not sure what you're referring to 18:58:46 Vorpal: I didn't see 18:58:47 although I'm willing to accept that that's a sort of soda, given how similar they are 18:58:49 CakeProphet: that might be it 18:58:49 elliott: this is why separate address and search bars is useful 18:58:54 I usually type Ctrl+K when I want to search 18:58:58 it automatically adds the ? prefix for search 18:58:59 ais523: "soda" is a generic term for carbonated water, yes. 18:59:01 elliott, I highlighted you 18:59:02 in the states as well. 18:59:02 I never /clicked/ the boxes, so it's equivalent 18:59:05 I had to configure Firefox to not search when entering a typoed URL in the address bar 18:59:27 but it tries to visit the website instead, which is still annoying when I press return early 18:59:48 I hate combined search bar thingy 18:59:56 it fails badly on any system on the lan 19:00:10 that runs a http server 19:00:23 I like it and dislike any browser I can't configure to work like that, whoop de doo, who cares 19:00:30 Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose? 19:00:44 I usually just type my search and have absolutely no problems.. 19:00:55 CakeProphet: where do you type it? 19:00:59 but the ctrl+k thing is useful. I didn't know that. 19:01:10 ais523: in the address/search bar of Chrome. 19:01:15 I tend to use my mouse to focus the search box, as web browsing is mouse-driven anyway 19:01:30 Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose? 19:01:33 ais523: same. 19:01:39 ais523: routers usually handle assigning IPs to computer names, don't they? 19:01:45 at least my router's DNS seems to, or whatever 19:01:48 elliott: yes, or DNS 19:01:50 that seems saner than keeping it on every system 19:01:53 ais523: that's what I meant 19:02:04 elliott: yes, that's why I asked Vorpal rather than you 19:02:07 I still use my router's DNS because everything else ends up slower 19:02:09 ais523: :-D 19:02:12 so, could I recursively mount root in my file system for great win? 19:02:24 CakeProphet: you could use a loopback mount 19:02:33 back 19:02:34 but I'm not sure if it'd be a great win or a mild curiosity 19:02:39 Vorpal: are you one of the few people in the world who uses /etc/hosts for its intended purpose? <-- yes 19:02:50 only time I saw a useful use for that was when we mounted / at /var/www/root on Normish 19:03:01 ais523: directory walking algorithms would rejoice and become immortal. They will bow down and worship me. 19:03:01 and had the entire VM served to the web 19:03:13 CakeProphet: amazingly, some of them have actually thought of that 19:03:27 I know certain directory walking programs have flags not to change filesystems 19:03:29 what? why? 19:03:34 well, I mean 19:03:37 obviously we know why 19:03:50 I think it's more useful to stop you directory-walking onto an NFS share 19:03:55 in case you didn't mean to do that 19:04:01 makes sense I guess. 19:04:02 Why use /etc/hosts for its intended purpose? Not *that* hard to set up a DNS server. 19:04:24 ais523, anyway I'm planning to switch over to running a zone on the caching dns server. 19:04:29 pikhq: well, this explains why so few people use it that way, because there's not much of a reason 19:04:36 ais523: Yup. 19:04:36 ais523, but I don't have many systems 19:04:39 so *shrug* 19:04:42 quite a few people use it to redirect sites they don't want to browse at localhost or 0.0.0.0 or whatever 19:05:00 Feh, that's what I've got Adblock for. 19:05:10 well, it extends to not just browsing 19:05:23 When else would that come up? 19:05:23 you can use it to block arbitrary Internet-capable applications from accessing certain sites by name 19:05:31 stopping automatic updates on Windows is a semi-common use 19:05:42 Pretty much everywhere else, you're explicitly specifying a single host. 19:05:49 ais523, you can do that in preferences 19:05:53 also for self-control 19:05:57 Vorpal: for the OS as a whole 19:05:59 e.g. blacklisting away reddit.com 19:06:02 ais523, hm 19:06:03 individual programs can be nastier-behaved 19:06:07 ah 19:06:19 unless those applications include a DNS client... which would be a sensible thing to do if you want to make it a wee bit harder to work around their phone-home code 19:06:21 on Windows everything has its own updater 19:06:40 best idea ever. 19:06:42 many of which like sitting in the system traynotification area whether you're using the associated application or not, and even show a little icon to let you know they're running 19:06:43 ais523, I used /etc/hosts to redirect minecraft when minecraft.net was down, so the program would time out logging in a fraction of a second instead of over a minute 19:06:54 Vorpal: yes, that's a sensible abuse of it 19:06:59 notification system tray area 19:07:02 except the bit that implies you were playing minecraft 19:07:12 ais523: eh? :P 19:07:15 elliott: Microsoft have to go around denying that it's called the system tray 19:07:17 Is that just an "I don't like Minecraft" comment, or? 19:07:25 elliott: yes, it's just an I don't like Minecraft comment 19:07:33 elliott: how advanced is Elliotcraft? 19:07:39 nooga: I know of no such game 19:07:46 ais523, anyway the best way to thwart phone home is a firewall to block that ip 19:07:56 Elliottcraft I'm happy to talk about in #esoteric-minecraft, to avoid the wrath of ais523 19:08:00 nooga: presumably it's a craft the like of which you have never seen 19:08:00 because making petty jibes at things is easy to do when you're tired 19:08:08 nooga: hypothetically not as advanced as the hypothetical Cakecraft 19:08:09 Elliottcraft* 19:08:10 except the bit that implies you were playing minecraft <-- what 19:08:14 elliott: I don't necessarily dislike things similar to MInecraft 19:08:25 Minecruft 19:08:31 Yourcraft 19:08:42 just the game itself annoys me due to being shallower than its competitors, badly-written, and attracting hordes of fanboys 19:08:45 ais523, what did you mean with that phrase!? 19:08:53 ais523: What would you consider its competitors? I'm curious. 19:09:00 Vorpal: I would explain except that I already explained to elliott a few minutes ago 19:09:12 ais523: just wait for his scrollback to scroll into the right place 19:09:14 ah right 19:09:14 there 19:09:15 should only take a few more lines 19:09:18 there we go 19:09:22 elliott, :P 19:09:28 elliott, yay now I have a valid excuse! 19:09:28 Cakecraft will support real death! and system clean up tools, which entails destroying your Windows partition. 19:09:32 elliott, thank you so much 19:09:47 elliott: in ##nomic I compared it to a game trying to do both what NetHack and Rubicon do, and doing them both really badly 19:09:52 although it might have been a bad comparison 19:10:02 I suppose it depends on what you want from a game 19:10:17 ais523: while, mechanically, that may be true, I think the whole presentation and intent of a game matters greatly 19:10:20 Sim City could be another comparison, too 19:10:24 it also serves as a sophisticated botnet! so that you can collaborate with other Cakecrafters and share computational resources, for example, to help me spam advertising for Cakecraft. 19:10:25 ais523, dwarf fortress might be a better parallel, though much less intricate gameplay 19:10:28 NetHack is, of course, a wildly different game as far as gameplay goes 19:10:41 yep, but the premise is vaguely similar 19:10:43 Dwarf Fortress too -- all those games have _goals_ of a sort :) 19:10:46 even if the gameplay is very different 19:10:47 of course very different game play again 19:10:56 yes, minecraft is sandbox 19:11:09 elliott, well, not dying could be a goal in minecraft? 19:11:12 ais523: I agree that Minecraft is essentially not that interesting after you play it for a while, beyond some fun stuff like redstone circuits that are interesting for mainly reasons unrelated to the game itself; and Notch is obviously incompetent at practically everything 19:11:14 I think my issue is that I don't see why a sandbox game should require you to gather the sand yourself 19:11:33 elliott, I think minecraft really rocks because of SMP 19:11:38 ais523: I think the essential presentation -- threedee world of purely blocks that you can mutate yourself creating a world with no inherent purpose -- is a really nice idea, hough. 19:11:39 though. 19:11:51 remember, Minecraft Classic was literally just that 19:11:53 elliott: yep, I think that's a decent premise 19:11:58 you could walk, jump, place blocks, and delete them (instantly) 19:12:04 there was no health or anything, no time passing, nothing 19:12:05 It's a good idea, implemented by someone who's not that good at implementing these things. 19:12:10 it's the addition of the other stuff that seems pointless, although some people seem to like it 19:12:10 and it was still hugely popular, because that's the interesting core 19:12:15 unfortunately, it needs to be added on to be truly interesting 19:12:17 elliott, come on, have you still not got apple to fix your keyboard? How long does the warranty last 19:12:18 and Notch stopped far too short 19:12:29 hey, let's make a 3D Rubicon 19:12:29 Vorpal: long enough for me to be lazy for a little while longer 19:12:32 ais523: it's the addition of the other stuff that seems pointless, although some people seem to like it 19:12:34 elliott, ah 19:12:35 I disagree here 19:12:38 Classic gets boring quickly 19:12:38 pistons 19:12:47 once you've built a few houses, you're pretty much done 19:12:51 elliott: well, I can imagine the addition of things to interact /with/ 19:12:56 just so long as it's optional or summonable 19:13:11 ais523, like redstone? 19:13:21 With Elliottcraft, I'm basically trying to make the world generation a lot more involved and detailed, and go from there 19:13:22 Vorpal: I don't know what redstone is 19:13:22 that 8-bit computer is really fun 19:13:24 i've made a mod that gives you an editable ROM block 19:13:32 majorly, I plan for there to be a lot of forces that aren't you 19:13:37 elliott: this isn't Slaves to Armok III, is it? 19:13:38 ais523, basically allows you do build logic gates in minecraft. 19:13:38 unlike in Minecraft, where everything is either 19:13:40 - you 19:13:46 - idiotic and does nothing, only useful to kill 19:13:47 I'd say that redstone and rails where the two additions that Notch did that kept the interest up... 19:13:51 - evil but really not that threatening 19:13:53 ais523: It might be :) 19:14:06 elliott: following the guidelines discussed in-channel? 19:14:09 ais523, you have wire, you have power sources, and you have inverters. Someone built a simple CPU with it 19:14:10 ais523: Not quite :P 19:14:12 Because it gives you more things *to actually build*, rather than "Oh, look, I can add some new blocks to my house. Whoo." 19:14:19 ais523: Amusingly the main catalyst for this was how terrible Minecraft's network protocol is. 19:14:29 ais523: You could literally tell it you were at any y position, and it would believe you. 19:14:32 pikhq: I don't see why those couldn't be in minecraft classic 19:14:40 You could even use this to fall from such a height that you _wrapped the health counter around_. 19:14:40 ais523: No particular reason. 19:14:45 Making you effectively immortal. 19:14:50 elliott: ah, is that how the warping commands worked? 19:14:55 ais523: yep, actually 19:14:57 I assumed it was some sort of debug feature 19:15:03 ais523: nope, Notch is just really stupid 19:15:03 but it's just trust-the-client? 19:15:07 yep 19:15:11 ais523: Though, the mining *itself* would be interesting... If it got developed more. 19:15:13 it was fixed recently, probably in a really terrible way 19:15:13 Notch is stupid 19:15:14 ais523, it doesn't work any more though 19:15:20 I know the vast majority of games I've made have had some sort of teleport as a debug feature 19:15:23 ais523: have I mentioned that client-side and server-side are two completely different codebases? 19:15:28 two complete implementations of the same game 19:15:31 OK, some things are shared 19:15:32 As it is, as soon as you have an iron pickaxe it's not that interesting, and as soon as you have diamond everything it's downright boring. 19:15:33 elliott: that's less necessarily insane 19:15:34 elliott, that said, I heard that movement being client side is quite common in many multiplayer games. 19:15:36 depending on how it works 19:15:39 but I think in the copy-and-paste the java files shared 19:15:42 I wouldn't be surprised if it was insane in this case 19:15:55 ais523: as in "there are tons of single-player and multi-player exclusive bugs that have nothing to do with the network or your hard disk" 19:15:55 ah, they were doing the same calculations on different codebases? that's insane 19:16:01 I don't know /how/ 19:16:10 even the most idiotic person would have a common library for this stuff 19:16:15 Vorpal: yeah 19:16:22 (I can see a plausible client-side = rendering and UI, server-side = logic split that wouldn't require common codebases) 19:16:37 ais523: that's what I'm doing for Elliottcraft, basically 19:16:45 elliott, so, notch wasn't that stupid when teleport worked. Just as stupid as most other 19:16:54 it's what most sensible multiplayer games do unless it doesn't work for performance reasons 19:16:59 ais523: you just connect to a local server, except it's changed slightly, in that it's made to share the map data between the srever and client in memory 19:17:04 and it communicates directly rather than through a socket 19:17:07 ah 19:17:13 can it do sockets too, for multiplayer play? 19:17:15 that's the plan, anyway 19:17:17 ais523: yes, of course 19:17:21 This is something that IndustrialCraft gets right — there is a massive, massive tech tree to go through, rather than "3 days in and you're done". 19:17:38 pikhq: so it's "finish the tech tree and you're done" instead? 19:17:39 (IndustrialCraft is a poorly documented but gigantic mod for Minecraft) 19:17:41 ais523: I figure if I get all the hard problems of not trusting the client, synchronisation, timing blah blah blah right /once/, then the overhead should be sufficiently low that I can just use the same locally 19:17:55 yep, agreed 19:18:04 Cakecraft = amazing physics playground that will never be made. 19:18:05 ais523: That would be on par with building your own 64 bit computer in Minecraft. 19:18:13 Sure, you *could*, but holy fuck it would take a long time. 19:18:23 but really, the real reason minecraft sucks is because it has a tiny finite y dimension :( 19:18:33 pikhq, I'm not sure I enjoy such a tech tree. I mostly play on a creative (free /give) server these days. With movecraft of course. 19:18:42 well, in that case, it's like Pokémon where you don't go through the game with all 693 of them as you'd get bored past about 30 or 40 19:18:59 (well, free /give apart from bedrock) 19:19:02 I think the key with these sorts of games 19:19:04 is 19:19:05 Though, disclaimer, I tend to play in a modded-up creative mode. 19:19:06 make the player have enough fun 19:19:10 that they don't realise there's no actual point to the game 19:19:12 pikhq, ah 19:19:13 or goal, or anything 19:19:18 Vorpal: any command to unbedrock a square? it seems a plausible thing to add to a creative mod 19:19:24 make that wait until they're talking on irc about it 19:19:29 elliott: it would be interesting if, instead of bedrock, there was a point where you reached the other side of the planet, and gravity inverted. :) 19:19:30 hope they forget by the time they play again 19:19:32 elliott: there doesn't have to be a goal if the game is generally fun, though 19:19:43 a goal is something that can help to make games fun 19:19:45 GUYS WHAT IS THE GOAL OF TETRIS??????? 19:19:48 if they're fun anyway, though, you don't need one 19:20:00 ais523, well the server has worldedit (a plugin that adds an in game map editor basically) for the admins, that lets them break bedrock. Which can't normally be done. 19:20:01 i have been playing for a year but i have still not won 19:20:18 elliott: aim to reach the killscreen 19:20:24 ais523, generally things work out nicely though, small group of players, whitelisted server 19:20:40 ais523, killscreen? 19:20:53 hmm, in a platformer I'm vaguely planning, I'll have a bedrock-equivalent called unobtanium 19:20:54 tetris, what an utterly boring game 19:21:01 I never liked that sort of arcade style 19:21:06 as the name suits the way it behaves really well 19:21:09 tetris is great 19:21:17 until you stop playing 19:21:21 tetris is, in fact, fucking awesome. 19:21:22 and realise how worthless that was 19:21:24 elliott, I know some people like it. Good for them. I don't. 19:21:33 but then you read a bullshit study about how it helps your brain to be the smarts 19:21:34 Vorpal: in a computer game, a killscreen is a screen you reach where you've got so far in the game that the level you're on is completely impossible because it glitches out 19:21:34 and you feel better 19:21:55 elliott, I never manage to get past more than one or two of the levels. I think my record in gnome's tetris clone is level 4 or so 19:21:55 ais523: pah, pacman doesn't have one of THOSE 19:21:56 it's most famous in Pac-Man, where level 256 overwraps something or other and half the screen glitches out, meaning that the level can no longer be completed 19:21:59 it just has a super-difficult last level 19:22:02 ais523: it can, actually 19:22:03 ais523, ah 19:22:03 it's just a huge pain 19:22:23 elliott: no, even if you collect every thing-it-thinks-is-a-dot, it still doesn't go to the next level 19:22:28 hmm, really? 19:22:29 fair enough then 19:22:31 so although it's theoretically "completable", there's no reward for doing so 19:22:42 not well tested eh 19:22:46 best you can do is die and complete the level again, repeating until you're out of lives 19:22:53 Vorpal: well, I doubt they expected anyone to reach level 256 19:23:03 ais523, well, they were wrong 19:23:10 Vorpal: not well-tested? 19:23:11 after level 9 or so (I forget the last number), the same level just repeats over and over anyway, getting slightly faster each time 19:23:14 it took /decades/ for anyone to reach that far 19:23:17 elliott, ah 19:23:24 and that was by memorising the RNG sequence 19:23:29 (Pac-Man's RNG is very simpel) 19:23:30 *simple 19:23:34 and the sequence of inputs required to win 19:23:38 heh 19:23:41 in fact, it took much more time than it took for someone to find out that minecraft's terrain is actually way smaller than it claims to be :P 19:23:46 (admittedly, that was by "cheating") 19:23:55 yeah 19:24:29 elliott, if people hadn't cheated, then it wouldn't have been found out in the next handful of years at least 19:24:36 sure it would 19:24:46 put stack of coins on return key and forward key 19:24:50 leave for a month 19:24:55 elliott, return? 19:24:56 -!- oerjan has joined. 19:24:57 return to find the game crashed :D 19:24:59 you mean space? 19:25:01 Vorpal: er right 19:25:08 return to find the game crashed :D <-- come on, it does that anyway 19:25:28 elliott, what ACTUALLY would have happened would be that you had fallen into a deep pit and now stood jumping against the wall 19:25:39 or even 2 high blocks 19:25:47 yeah yeah :P 19:26:00 you could script it, though whether you consider that "cheating"... 19:26:01 but who cares 19:26:10 you can't cheat at a sandbox game 19:26:13 true 19:26:23 something I realised last night: radix sort is actually O(n log n), and people have been misrepresenting it all this time 19:26:31 elliott, what about SMP survival servers, you could probably "cheat" there 19:26:40 comparison sorts use comparisons, which take the same length of time for the first and last comparisons 19:26:46 but radix sort increments bin counts 19:26:48 Vorpal: only 'cuz notch sucks 19:26:53 and adding 1 to a number is O(log n) 19:27:10 ais523: arithmetic is considered to be O(1) in big-O analysis usually 19:27:13 what does SMP stand for, btw? something multiplayer? 19:27:14 elliott, speaking of which, the "flying detection" in bukkit is really buggy. It thought I was flying when I went down a ladder, removing it under me 19:27:17 elliott: that's cheating! 19:27:19 ais523: no it isn't 19:27:25 ais523: who said we had to go by the laws of real-life computers? 19:27:28 that's arbitrary 19:27:39 picking something nice and simple like arithmetic to be O(1) is perfectly reasonable 19:27:41 elliott: well, the number takes O(log n) space to represent 19:27:46 and time complexity >= space complexity 19:28:18 ais523, you could do a large adder as a combinatorial circuit maybe 19:28:23 in theory you could 19:28:27 Vorpal: but that puts a limit 19:28:33 on the size of the numbers added 19:28:42 so it's O(infinity) with optimizations for small n 19:28:42 and adding 1 to a number is O(log n) 19:28:44 ais523, why don't people use something like double-adders or such 19:29:04 ais523, that is half the number of carries 19:29:08 i don't think that's right with ...damn tip of tongue... 19:29:18 oerjan: capitalism? 19:29:27 oerjan, incrementing? 19:29:32 oerjan: dodecahedron 19:29:35 oerjan: brontosaurus 19:29:37 oerjan: oligarchy 19:29:38 oerjan, crocodile 19:29:41 no, that thing they use to describe functional data structures 19:29:41 oerjan: rocks 19:29:44 Vorpal: well, for very wide additions, there's often separate circuitry to calculate the carries at midpoints, etc 19:29:45 oerjan: fortuitousness 19:29:53 oerjan: some sort of zipper? 19:29:54 oerjan, definitely crocodile then 19:29:57 i think it starts with a 19:29:59 oerjan: infelicity 19:30:04 oerjan: rhombus 19:30:04 oerjan, aardvark 19:30:10 ais523: those creeps are not helping :D 19:30:12 oerjan: cartographing 19:30:16 oerjan: Istanbul 19:30:16 ais523, you mean carry-lookahead? 19:30:19 oerjan: cashmere 19:30:22 oerjan: abstract data type? 19:30:25 oerjan: pastiche 19:30:26 Vorpal: yes 19:30:28 no, about their complexity 19:30:32 oerjan: fanned 19:30:35 oerjan, Big O notation? 19:30:35 am i helping 19:30:39 no! 19:30:40 Vorpal: that isn't a word, moron 19:30:45 elliott, oh true 19:30:51 elliott, he said it started with a. 19:30:54 oh 19:30:59 oerjan: affluency 19:31:03 oerjan: apex 19:31:05 oerjan: aperture 19:31:08 oerjan: axiomata 19:31:11 oerjan: all 19:31:13 elliott, I already did aardvark btw 19:31:14 oerjan: able 19:31:16 i'm not _sure_ it starts with an a 19:31:19 oerjan: acrimonious 19:31:26 oerjan, oh. Hm array? 19:31:29 oerjan: astigmatism 19:31:40 oerjan: arachnophobe 19:31:45 YOU WON'T GUESS IT IF YOU HAVEN'T HEARD IT 19:31:45 oerjan: alter 19:31:52 oerjan: annals 19:31:56 AM I HELPING YET 19:31:59 elliott, altar, you forgot that 19:32:04 Vorpal: that's not a word silly. 19:32:05 it's about the complexity of functional data structures 19:32:06 elliott: it'd help more if the words were vaguely related to the field 19:32:13 oerjan: amortization? 19:32:14 ais523: I'm just trying to be thorough 19:32:14 elliott, isn't "altar" a word? 19:32:20 ais523: THANK GOD 19:32:25 oerjan: should I leaf through my copy of Purely Functional Data Struc- oh 19:32:25 aww 19:32:27 well I could have guessed that 19:32:32 elliott: see, it takes you all those guesses and I only took two 19:32:35 why didn't you SAY that was the word you were looking for 19:32:36 elliott, sooner or later yes 19:32:49 * oerjan swats elliott -----### 19:33:05 I still don't think it's O(1) with amortization, but I'm not sure 19:33:07 maybe O(log log n) 19:33:11 ais523, come on elliott was being intentionally silly. (More so than me) 19:33:13 ais523: basically if you are counting stuff, the _average_ bin addition only takes O(1) 19:33:22 *bin increment 19:33:27 Vorpal: I was actually seeing how well I could generate random words, too 19:33:29 turns out: pretty well 19:33:42 ais523, hm come up with something that is O(log_{log n} n) 19:33:48 Vorpal: why? 19:33:57 1/2 take 1, 1/4 take 2, 1/8 take 3 19:33:57 ais523, because I can't think of something like that 19:34:11 ais523: ok maybe slightly more than O(1) but not O(log n) 19:34:27 oerjan: ah, so it averages out at 2 19:34:28 yep, I agree with you now 19:34:39 ais523, if you are just adding these together, couldn't you do a partial sum thingy and add the carry in at the end? 19:34:55 oerjan: O(2) I think 19:34:56 * ais523 runs 19:35:00 XD 19:35:06 ais523, as in this http://en.wikipedia.org/wiki/Carry_save_adder 19:35:21 Vorpal: we're talking about the asymptotic behaviour of repeated increments 19:35:56 My goal in life: implement constant time list search using acquired magical abilities. 19:36:06 ais523, yes and I say you could do it in O(1) per addition even for repeated arbitrary additions. Using carry save 19:36:28 *Sylladex.VM> runVM (ExcCtx test Map.empty) (snd (head test)) [] 19:36:28 [VInt 1999] 19:36:31 thats not rite 19:36:56 Oh wait 19:37:03 Vorpal: that requires O(n log n) /space/ 19:37:06 Wait WHAT 19:37:08 ais523, true 19:37:10 because your numbers have to have arbitrary digits in 19:37:22 that's kind-of much worse than O(1) or even O(log n) 19:37:51 the best complexity is O(log log log log log log n) 19:37:52 and NO less 19:38:01 incidentally, my Slashdot sig (the shortest known INTERCAL adder) is basically iterated carry-save 19:38:10 (without using the standard library, that is) 19:38:12 ais523, hm wait, it just needs 2* the space of the number in bits 19:38:13 Do a distributed search for a shorter adder. :p 19:38:19 It'll be like protein folding, only even more worthwhile. 19:38:22 ais523: in fact, it's n log n - log n worse 19:38:38 INTERCAL@home 19:38:44 CakeProphet: I don't think computational classes add/subtract like that 19:38:52 AND YOU THOUGHT YOU COULD KEEP IT CONFINED TO YOUR WORKPLCAE 19:38:54 [asterisk]PLACE 19:38:56 they do for purposes of comparison. :D 19:39:08 elliott: I've expended quite a lot of thought to getting an adder in a single expression, but I haven't found a way to do it that isn't really really long 19:39:20 I think I managed something like a one-expression increment that was only a few hundred characters long 19:39:36 `addquote I think I managed something like a one-expression increment that was only a few hundred characters long 19:39:37 ​442) I think I managed something like a one-expression increment that was only a few hundred characters long 19:39:51 that was funny? 19:39:58 elliott, yes, more so out of context 19:40:21 elliott, imagine this without context. Then it sounds fun 19:40:24 that's weird 19:40:30 it 19:40:31 doesn't 19:40:36 21:37 elliott> the best complexity is O(log log log log log log n) 19:40:36 21:37 elliott> and NO less 19:40:47 windows 7 uses 100% cpu with no process to blame 19:40:53 so you don't approve of that inverse ackermann thing for union find? 19:40:58 oerjan: i'm sorry who has the phd here. 19:41:00 exactly. 19:41:04 stop questioning things i say. 19:41:05 take them at face value. 19:41:06 the cpu is 100% bussy constantly and i don't know why 19:41:51 so you don't approve of that inverse ackermann thing for union find? <-- wait what 19:42:08 DAMMIT RUNVM 19:42:10 THIS MAKES NO SENSE 19:42:11 I HATE YOU 19:42:14 AND ALL YOUR GUTS 19:42:18 elliott, what is runvm? 19:42:32 a function 19:42:33 OH WIAT 19:42:34 duh 19:42:43 ugh wow this is going to be so ugly 19:42:52 Vorpal: there's this algorithm called union find that works in time O(n + inverse of ackermann) 19:42:54 -!- adam__ has joined. 19:42:55 wow uh can i even 19:42:56 jesus 19:43:00 ok wait what if i 19:43:01 augh 19:43:08 TIME TO NEST THE LIST MORE LOL 19:43:11 oh god wait no i can't do that 19:43:17 hm i guess that's higher than O(log log ... n) actually, because of the O(n) 19:43:22 hey guys 19:43:27 how do i represent some machine code in haskell :( 19:43:28 oerjan: wouldn't that just be equivalent to O(n)? 19:43:36 [(Label,[Ins])] sucks 19:43:36 i may misremember stuff, i only saw it mentioned again yesterday on godel's lost letter 19:43:41 because implementing the fall-through to the next label 19:43:42 is a pain 19:43:45 just like O(n + log n) is equivalent to O(n)? 19:43:48 in the evaluation function 19:43:48 halp 19:43:52 ais523: um maybe it was O(1+inverse ackermann) 19:43:54 oerjan, what is union find for? 19:43:58 that would make more sense 19:44:08 lemme look it up 19:44:15 elliott: I'm on the point of inventing a new language to solve that sort of problem 19:44:21 oh wait it was something about mazes, not GLL 19:44:26 ais523: ugh 19:44:27 so far it only has a few basic ideas and a name that doesn't really fit but that I'll use anyway 19:44:36 hmm, I suppose I could like 19:44:53 [(0,all:the:instructions:xs), (1,xs)] 19:44:54 i.e. 19:45:01 each label actually includes a pointer to all the code following it too 19:45:03 by consing it on 19:45:04 but uh 19:45:05 ew 19:45:52 Vorpal: http://www.algorithmist.com/index.php/Union_Find 19:45:53 have i mentioned that the only reason i'm writing this function is to serve as a reference implementation 19:45:57 oerjan, ah 19:46:27 -!- CakeProphet has quit (Ping timeout: 276 seconds). 19:46:29 oerjan, cool 19:46:47 i wonder if that's like 19:46:54 the fastest above-constant complexity 19:46:59 for something that actually doe s something of interest 19:47:08 elliott, it probably comes pretty close 19:47:23 elliott, of course O(log ackinv(n)) would be even better 19:47:49 yes but is there any algorithm that does anything of interest that has that complexity? 19:47:58 not that I know of 19:48:47 hmm, Union Find seems to be similar to implementing a dialog of Prolog where you had nothing but variables and = 19:48:57 e.g. A = B, A = C, D = E, etc 19:49:04 and the question was if two of them were unified at any given point or not 19:49:38 [(Label,[Ins])] sucks <-- maybe just make Label an element of Ins, then? 19:49:52 oerjan: that makes jumping to a label really slow 19:49:57 you have to linearly scan all the code up to it 19:50:09 ok that's like 19:50:15 only a multiplicative factor of what you have to do anywya 19:50:18 [asterisk]anyway 19:50:19 but ew come on 19:50:31 btw this structure actually works fairly decently for the actual compilers? just not for an interpreter 19:50:38 so I don't want to make it worse on the actual compilers? even though that wouldn't but 19:50:42 elliott, keep track of labels in a AVL tree with pointers to the relevant code line/node/whatevere? 19:50:43 basically what i am saying is 19:50:45 that is kind of ew oerjan. 19:50:45 whatever* 19:51:09 elliott: I don't think you got the memo, but I think I could port util-linux to musl in a couple of hours. 19:51:17 elliott, of course O(log ackinv(n)) would be even better <-- that may be indistinguishable from ackinv(n) by mortals :P 19:51:18 pikhq: do it 19:51:27 oerjan, there is that yes 19:51:28 elliott: The only really non-trivial bit would be implementing error(). 19:51:48 elliott: Everything else, near as I can tell, is a matter of unincluded bits. 19:52:07 Darned easy to fix includes. 19:52:17 what does error do again 19:52:44 elliott: you can make a Map for jumping to labels even if you put the labels in the code. hm actually if you do that you don't need to include the labels in the code again 19:53:24 elliott: you can use knot tying to only calculate this once, i think 19:53:32 oerjan: knot tying...scares me......... 19:53:59 elliott: void error(int status, int errnum, const char *format, ...);. Prints the program name, a colon, and a space, then the format string, then strerror(errnum) if errnum != 0, then exit(status) if status != 0. 19:54:21 elliott was once tied up by function pedobear 19:54:25 *functional 19:54:49 pikhq: that's 19:54:50 difficult? 19:54:50 my theory that muphry's law applies to any sufficiently cheesy joke seems to hold 19:54:56 because of the program name part? 19:55:32 elliott: The reason I said "2 hours" is because there's a hell of a lot of misincluding. :P 19:56:14 ais523: the place i saw this was about implementing mazes by starting with a grid and removing random walls between rooms that had no connection already, this needs union find to check for connectedness 19:56:38 oerjan: ah, that's another application for much the same thing 19:56:57 I tend not to end up using standard algorithms that much beyond dijkstra/A*/priority queues/sorts 19:57:30 although recently for my work, I had to find a list of strongly connected components in a partial preorder (like tsort, except focusing on the error condition rather than the success condition) 19:57:34 the best algorithms are ones that involve spinning around a lot 19:58:17 luckily, I found one on Wikipedia, and implemented it, even if I'm not entirely sure on how it works 19:59:24 ais523: i wonder if there would be advantages to a prolog implementation using union find for unification 19:59:53 oerjan: the major issue is that you probably want to be able to free things again when they go out of scope 19:59:56 [PDF] Optimal Union-Find in Constraint Handling Rules 19:59:56 File Format: PDF/Adobe Acrobat - Quick View 19:59:56 by T Schrijvers - Cited by 65 - Related articles 19:59:56 possible to write the classic union-find algorithm and variants in CHR. ... For example, one often hears the argument that in Prolog some graph algorithms .... to combine the existing CHR solvers for term unification with our union- ... 19:59:57 citeseer.ist.psu.edu/viewdoc/download;jsessionid...?doi=10.1.1... 19:59:58 yeah 19:59:59 and that's going to be slower than the actual unification 19:59:59 i guess that's an implementation though 20:00:02 rather than using it as a technique 20:02:01 elliott: So far, 21 files that don't build right, and several more stupid warnings. 20:02:30 as always, replying to ehird 20:02:54 :D 20:03:14 ais523: this is why you make your spec perfect the _first_ time round 20:04:11 ais523: hm that rank comparison thing in that wiki article i linked should be applicable to unification while still allowing easy freeing. i think that's essentially a way to prevent too long chains of unified variables, no? 20:04:51 oerjan: yep, but the issue is you need reverse pointers to free something 20:05:06 because if one of your variables happens to be a root, there's no way you can free it without fixing up everything pointing to it 20:05:13 well yeah but you need that for unification anyway? 20:05:30 oerjan: Union-Find doesn't let you know everything in the same set as something 20:05:32 just if two things are in the same set 20:05:45 ais523: i'm just saying this rank thing is a way to be careful _which way_ you identify 20:06:56 oerjan: did you figure out a better data structure for the asm :D 20:07:03 -!- augur has quit (Remote host closed the connection). 20:07:33 elliott: um my idea now is to simply have a list for the whole code from start to finish, and represent the labels by pointers into that 20:07:52 oerjan: ah 20:08:01 oerjan: I would quite like there to be integers too, although I suppose I could just make 20:08:04 type Label = (Int,Prog) 20:08:19 elliott: or put differently, approximately your [(Label,[Ins])] except you _don't_ stop the [Ins] list before the next label 20:08:50 oerjan: I see a fairly major issue -- it will make Show practically impossible 20:08:56 because the structure will be effectively infinite 20:09:00 hm 20:09:37 always an issue 20:09:47 ineiros why is your server OUTDATES 20:09:47 Phantom_Hoover: You have 12 new messages. '/msg lambdabot @messages' to read them. 20:09:52 elliott, FFS. 20:09:56 I was online! 20:10:26 That's... that's a good point. 20:10:31 elliott, you broke it again. Congratulations. 20:10:34 Nice. 20:11:00 elliott: ok then, have your original [(Label,[Ins])] but make a second variant which doesn't end, for easy fall through 20:11:17 oerjan: what do you mean by a second variant? 20:11:39 oerjan: I'm really tempted just to roll in the labels into the actual Ins like you said 20:11:47 the linear scan for interpretation is not that big a deal, the interpreter is just like 20:11:49 to be reference semantics 20:14:08 > let f = zip . scanr1 (++) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")] 20:14:09 Couldn't match expected type `[a]' 20:14:09 against inferred type `([a1], [b... 20:14:18 i'm just doing it in a simple way instead >_> 20:14:19 fnord 20:14:21 whups 20:14:43 > let f = zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")] 20:14:43 Couldn't match expected type `[a]' 20:14:44 against inferred type `(d, [a1])' 20:15:36 :t zip . second (scanr1 (++)) . unzip 20:15:37 Couldn't match expected type `[a]' 20:15:37 against inferred type `(d, [a1])' 20:15:37 In the first argument of `(.)', namely `second (scanr1 (++))' 20:15:46 :t scanr1 (++) 20:15:47 forall a. (Monoid a) => [a] -> [a] 20:16:02 bloody caleskell :P 20:16:18 :t second (scanr1 (++)) 20:16:19 forall a d. (Monoid a) => (d, [a]) -> (d, [a]) 20:16:25 :t second (scanr1 (++)) . unzip 20:16:25 forall a a1. (Monoid a) => [(a1, a)] -> ([a1], [a]) 20:16:44 :t zip . second (scanr1 (++)) . unzip 20:16:44 Couldn't match expected type `[a]' 20:16:45 against inferred type `(d, [a1])' 20:16:45 In the first argument of `(.)', namely `second (scanr1 (++))' 20:16:55 :t zip 20:16:56 forall a b. [a] -> [b] -> [(a, b)] 20:16:58 oh hm 20:17:03 runVM ctx ((_, IPush x : is):iss) xs = runVM ctx (is:iss) (x:xs) 20:17:05 look at dat ugliness 20:17:13 > let f = curry zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")] 20:17:14 Couldn't match expected type `(a, b)' against inferred type `[a1]' 20:17:23 NOW WHAT 20:17:30 :t curry zip . second (scanr1 (++)) . unzip 20:17:31 Couldn't match expected type `(a, b)' against inferred type `[a1]' 20:17:31 In the first argument of `curry', namely `zip' 20:17:31 In the first argument of `(.)', namely `curry zip' 20:17:46 :t curry zip 20:17:47 Couldn't match expected type `(a, b)' against inferred type `[a1]' 20:17:47 In the first argument of `curry', namely `zip' 20:17:47 In the expression: curry zip 20:18:03 wtf 20:18:18 :t uncurry zip 20:18:19 forall a b. ([a], [b]) -> [(a, b)] 20:18:26 > let f = uncurry zip . second (scanr1 (++)) . unzip in f [(1,"ab"), (2,"cde"), (3,"f")] 20:18:27 [(1,"abcdef"),(2,"cdef"),(3,"f")] 20:18:39 oh wait argh 20:18:40 this is even uglier 20:18:52 i always get curry and uncurry mixed up 20:18:59 elliott: ^ 20:19:05 oerjan: nice 20:19:11 oerjan: unfortunately i'll end up recomputing that a ton 20:19:15 unless i do something really ugly 20:19:17 which i guess i could 20:19:46 um why? unless the language is self-modifying 20:20:01 no just as in 20:20:02 jhfhjg 20:20:07 its fine thank you 20:20:15 you mean not caching? :P 20:21:06 ya 20:24:16 * oerjan wonders how lazy scanr is 20:24:47 > map (take 5) . take 5 . scanr1 (++) $ [1..] 20:24:48 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 20:24:49 arising from a use... 20:24:55 erm 20:25:31 > map (take 5) . take 5 . scanr1 (++) $ map show [1..] 20:25:33 ["12345","23456","34567","45678","56789"] 20:25:51 lazy enough, it seems :P 20:26:42 :t scanr 20:26:43 forall a b. (a -> b -> b) -> b -> [a] -> [b] 20:26:52 hmm, what is scanr doing? 20:27:07 ais523: otoh that path compression thing is something i've pondered as useful for both FORTE and Reaper (although neither actually _implemented_...) 20:27:23 > scanr (\a.\b.a+b) 4 [1,2,3,4,5,6] 20:27:24 : parse error on input `.\' 20:27:31 > scanr (\a -> \b -> a+b) 4 [1,2,3,4,5,6] 20:27:32 Hmm. Should I just try to do a reimplementation of error(), or should I just replace all mentions of it? 20:27:32 [25,24,22,19,15,10,4] 20:27:42 > scanr f x [a,b,c,d] :: Expr 20:27:43 Couldn't match expected type `SimpleReflect.Expr' 20:27:43 against inferred ... 20:27:48 ah, it's doing a cumulative sum 20:27:49 dammit 20:28:10 so a scan is basically a fold that saves intermediate results? 20:28:16 yeah 20:28:27 > scanl1 (*) [1..] 20:28:28 [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8... 20:29:05 -!- ais523 has quit (Remote host closed the connection). 20:29:05 > scanl1 (+) [1,3..] 20:29:06 [1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,48... 20:29:08 it would be nice to have a programming language that actually made you feel strongly physically uncomfortable when you tried to programi n it 20:29:13 it would be a real step forward in esoteric programming 20:29:47 elliott: so that means you really appreciate Snack, then? >:P 20:29:54 :D 20:30:23 god dammit Maharba, adding new operations to syl :( 20:31:15 look at the positive of it, you have to learn how to program in a highly modular and modifiable way :P 20:31:46 :D 20:31:58 * elliott waits for the inevitable talk page comment 20:32:03 :t scanr f x [a,b,c,d] 20:32:03 [Expr] 20:32:08 oh duh 20:32:15 > scanr f x [a,b,c,d] :: [Expr] 20:32:16 [f a (f b (f c (f d x))),f b (f c (f d x)),f c (f d x),f d x,x] 20:32:30 sadly ais523 left 20:33:03 left us bleeding 20:36:30 god dammit Maharba, adding new operations to syl :( <-- implement syl version whatever 20:37:44 :t f 20:37:45 forall a. (SimpleReflect.FromExpr a) => a 20:37:50 huh? 20:37:56 :t 20:37:59 :t SimpleReflect.FromExpr 20:37:59 Not in scope: data constructor `SimpleReflect.FromExpr' 20:38:06 :info SimpleReflect.FromExp 20:38:06 :i SimpleReflect.FromExpr 20:38:06 :info SimpleReflect.FromExpr 20:38:10 ?src SimpleReflect.FromExpr 20:38:10 Source not found. I feel much better now. 20:38:12 ?src FromExpr 20:38:12 Source not found. stty: unknown mode: doofus 20:38:13 :info SimpleReflect.FromExpr 20:38:21 ?hoogle simplereflect 20:38:21 No results found 20:38:22 ?google simplereflect 20:38:24 oh where is it 20:38:26 http://hackage.haskell.org/package/simple-reflect 20:38:26 Title: HackageDB: simple-reflect-0.2 20:38:39 there 20:38:46 :t a 20:38:47 Expr 20:38:49 hm 20:39:13 :t hasd 20:39:13 Not in scope: `hasd' 20:39:17 okay 20:39:46 they made all single letters be Expr, except f g h which have an overloaded type which can be used for functions 20:39:46 :t g 20:39:47 forall a. (SimpleReflect.FromExpr a) => a 20:39:52 ah 20:40:55 OK what is the deal with the weak force. 20:41:12 Why do people call it a force. 20:41:13 It isn't. 20:41:20 It's not even all that weak. 20:41:24 > sum [a,b,c,d] 20:41:25 0 + a + b + c + d 20:41:30 Phantom_Hoover, it is weak compared to the strong force iirc? 20:41:40 the Num instance is _really_ primitive 20:42:12 howso 20:42:32 it doesn't even simplify 0 + away :P 20:42:44 Vorpal, yes, but it's not that much weaker, and I think both electromagnetism and gravity are weaker still. 20:42:47 > scanr1 (+) [a,b,c,d] 20:42:47 [a + (b + (c + d)),b + (c + d),c + d,d] 20:42:51 er 20:42:56 > foldr1 (+) [a,b,c,d] 20:42:57 a + (b + (c + d)) 20:42:59 Phantom_Hoover, gravity certainly is 20:43:03 I'll be damned, there's actually something that's not sufficiently supported in musl. 20:43:10 musl does not have wcsdup. 20:43:18 The wchar_t analogue of strdup. 20:43:28 that's like 20:43:28 pikhq, easy to implement yourself 20:43:30 Phantom_Hoover: i think they used to be called weak and strong _nuclear_ force 20:43:32 a whole three lines to implement ZOMG :D 20:43:41 somewhere that word got dropped 20:43:55 Phantom_Hoover: what's the strongest weak force you know of in't 20:44:00 oerjan, which is half right, but it still doesn't actually behave as a force. 20:44:12 Phantom_Hoover, oh? 20:44:39 -!- augur has joined. 20:44:50 Vorpal, the only example of its effects that anyone who isn't a particle physicist knows about is beta decay. 20:45:03 Which is... a decay, not a force in the conventional sense. 20:45:05 Phantom_Hoover, ah 20:45:16 Phantom_Hoover, but for those who are particle physicists? 20:45:57 *For now*, I'll just tell the build system that there's no wide character support. 20:46:16 But later, I'll actually add a wcsdup. 20:46:20 Phantom_Hoover: well presumably that decay can happen because there is a weak force between neutrinos and quarks? 20:46:25 There are some more neutrino/nucleon interactions it's involved with, although they still don't work that forcily. 20:47:02 oerjan, it's more like a down quark spontaneously emits a W- boson which then decays into an electron and an antineutrino. 20:47:34 Phantom_Hoover: you could say all electromagnetism is is decay of excited charged particles into non-excited particles and photons :P 20:47:35 your mom is a quark end of discussion 20:48:02 oerjan, you don't have , though. 20:48:04 (i _think_) 20:48:44 There does seem to be a normal stuff-flies-apart-or-moves-together interaction between nucleons and neutrinos, though. 20:48:50 well i've seen the word "interaction" used instead of force, i think 20:49:03 presumably for this kind of reason 20:49:07 Yes, that's a much better name. 20:51:40 FUCK YOUR UNPORTABLE USE OF sys/types.h. 20:52:00 The sudden switch to lowercase there makes it look quite amusing. 20:52:04 "quad_t" is a BSD-ism, dammit. What you want is int64_t. 20:52:20 oerjan: I'm just going to inline labels inside 20:52:22 Like you were yelling at someone and suddenly composed yourself and said "sys slash types dot h". 20:52:27 since the actual backends will have no problem with it... I think 20:55:30 is travelling salesman NP-complete or NP-hard? 20:55:34 oerjan, ^ 20:56:04 (of course if it is the former it is also the latter 20:59:18 * pikhq beats head against wall 20:59:28 pikhq, hm? 20:59:34 Vorpal: the decision version is NP-complete 20:59:37 It *literally* has a part that requires inb and outb. 20:59:41 oh, of course 20:59:49 pikhq, what part? hwclock? 20:59:53 Yup. 20:59:56 I was unaware that was permitted outside of ring 0. 21:00:08 Guess where that comes from? 21:00:10 glibc! 21:00:10 pikhq, uh you need CAP_SOMETHING for it 21:00:24 Because Linux stopped exporting those, because THAT IS FUCKING STUPID. 21:00:32 CAP_SYS_RAWIO 21:00:42 FUCKING. STUPID. 21:00:43 Which sort of parser is easier for a newbie at writing parsers to write? 21:00:44 pikhq, so you can't do it then? 21:00:55 pikhq, how does glibc do it then 21:00:56 I refuse to. 21:01:06 glibc has embedded ASM. 21:01:08 pikhq, anyway doesn't hwclock use /dev/rtc these days? 21:01:10 In the header. 21:01:15 pikhq: you can't copy glibc anyways 21:01:45 thank you painfully-obvious license laeyer 21:01:46 lawyer 21:02:07 coppro: Why not? LGPL 2.1+ is entirely compatible with LGPL 2.1+. 21:02:24 However, I refuse to because GOD NO. 21:02:37 This is not something that belongs in a libc. At all. 21:03:52 pikhq: oh, I didn't realize glibc was still on 2.1 21:03:56 Top down parsers can't accomodate all context-free grammars, iiuc 21:04:07 I have no idea if my language even is context-free :/ 21:04:27 -!- aloril has quit (Ping timeout: 250 seconds). 21:04:51 My lambda syntax is flawed, there's no way to specify return type 21:05:14 Well, could always type-infer 21:05:41 Sgeo, so change the language then 21:05:45 if you have enough backtracking, i'm pretty sure top down can do anything CF... but perhaps not always efficiently 21:06:01 Oh, yeah, and the header was once asm/io.h, from Linux 21:06:08 * Phantom_Hoover notes that Sgeo is talking about grammars, mentally blocks him. 21:06:14 pikhq, so copy it from there? 21:06:22 pikhq, how does it do it btw? 21:06:50 I guess context-free would make my life much easier? 21:07:02 of course 21:07:25 context-free unambiguous LR(1) 21:07:33 oerjan, no LL(1) 21:07:36 So, hwclock is the *one thing* stopping me from having util-linux building. 21:07:44 I don't know what LL(1) means 21:07:45 well yeah that's even easier 21:08:03 Sgeo: LL(1) are essentially languages for which top-down is ridiculously easy 21:08:15 Hey, I'm not committed to top-down 21:08:15 pikhq, well then why use hwclock. Aren't modern kernels able to do the job themselves? 21:08:30 also, s/top-down/recursive descent/ iirc 21:08:30 Sgeo, python is LL(1) 21:08:52 olsner, what about LL(0) 21:08:54 err 21:08:55 oerjan, ^ 21:09:00 Sgeo: well everything other than recursive descent is relatively unfeasible to write by _hand_ 21:09:05 iirc 21:09:10 augur, there? 21:09:14 I do want the syntax to be vaguey LSL-like 21:09:22 you need a parser generator 21:09:24 Sgeo, WHY 21:09:28 Hmm. Well, I can do a *nasty* hack to get it to build. 21:09:33 for L(AL)R(1) stuff 21:09:38 pikhq, what is that hack 21:09:48 I can replace its "#include " with #undef __i386__ 21:09:54 Vorpal, to make things easy for others who I will convince to use my language 21:10:21 Are there good parser generators that output parsers in Javascript? 21:10:23 (asm/io.h is conditionally included if the system doesn't have sys/io.h. Incidentally, asm/io.h should not exist anywhere, as it's not a header the kernel *intends* to export.) 21:10:34 what if the syntax ends up making the language harder for everyone 21:10:49 it's not like it's hard to pick up a new syntax 21:10:51 Sgeo: unless your syntax is completely insane, it can probably at least be refactored to be mostly LR(1). 21:10:51 By doing this, hwclock will not be able to access the BIOS clock directly, and will have to function through alternate means. 21:10:55 unless second life people are dumb 21:11:34 pikhq, or you could just remove the code for the BIOS clock completely 21:11:43 Sgeo: the technical requirement for LL(1) is that which subrule to use for parsing a token always is determined by the first terminal token you see 21:11:44 Considering that my language _will_ make race conditions more of a possibility than they are in LSL, maybe I should hope SL people aren't dumb 21:11:44 oerjan: Humour for Haskell programmers: http://solog.co/47/10-scala-one-liners-to-impress-your-friends/ 21:11:50 1 21:11:50 (1 to 10) map { _ * 2 } 21:11:52 WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW 21:11:59 unless second life people are dumb <-- spot on 21:12:24 elliott: iirc there was a haskell version posted (which showed the author obviously didn't know much haskell) 21:12:50 Boring people should stop having blogs :P 21:12:57 ( http://blog.fogus.me/2011/06/03/10-haskell-one-liners-to-impress-your-friends/ ) 21:13:06 map (* 2) [1 .. 10] -- alternatively, [1, 2 .. 10], right? 21:13:10 oerjan: the author of the solog thing post or fogus? 21:13:13 elliott, I like the way they're completely oblivious that their programs are half boilerplate. 21:13:27 Sgeo: as long as your grammar mainly has that property, it is easy to parse top-down/with recursive descent 21:13:50 elliott: ok so maybe it isn't the same author 21:14:05 oerjan, you mean the one in /r/Haskell? 21:14:09 ime it's easier to write compilers when you know what you're doing 21:14:10 yeah 21:14:15 Deewiant: I wonder how long I could convince someone that you're a bot 21:14:15 Okay, then. I can hack util-linux into building with musl. 21:14:18 oerjan, quick example? 21:14:25 Wait, that is the one in /r/Haskell. 21:14:32 elliott: fnord 21:14:40 Indefinitely, then 21:14:41 pikhq, remember wide string stuff 21:14:41 Phantom_Hoover: pong 21:14:52 ( See also: Deewiant human is not a bot. ) 21:14:59 haha who added that factoid 21:15:03 Sgeo: well Pascal is sort of a star example of this. nearly every declaration starts with a keyword identifying what kind it is, e.g. Var X : Integer; 21:15:06 augur, are there actually any linguistics questions on /r/AskScience. 21:15:14 Phantom_Hoover: occasionally! 21:15:16 Phantom_Hoover: its not a real science so no :trollface: 21:15:31 it was designed to be easy to parse. as i think are all wirth languages. 21:15:35 Phantom_Hoover: why do you ask? 21:15:46 http://sprunge.us/TBhV 21:15:50 monqy, how hard could it be once I have the AST? Just turn expressions into function calls and lambdas, then convert to CPS, then convert to bytecode 21:15:56 "byte"code 21:16:02 Vorpal: Yes, I do still need to add that to musl. 21:16:05 augur, dunno, just saw you were a panellist. 21:16:07 oerjan: very few languages are LL(1), you should note :P 21:16:13 Phantom_Hoover: anyone can be a panelist :P 21:16:14 e.g. you can't have both "x = y" and "f(x)" 21:16:18 because both start with an identifier 21:16:19 pikhq, it is POSIX 2008 it seems yeah 21:16:25 elliott, it's a real science, in the same way as anthropology is a 'science'. 21:16:34 Phantom_Hoover: Or computer science. 21:16:36 Sgeo: but do you know how to do those 21:16:38 Sgeo: C on the other hand is not LL(1) 21:16:38 The interesting bits are mathematics AFAIK. 21:16:45 Or physics. 21:16:47 Sgeo: also do you know how to write a parser 21:16:48 monqy, how hard could it be? 21:16:49 Phantom_Hoover: its even more real than that! we have an MEG machine and an MRI machine! 21:16:52 Or biology. 21:16:52 SCIENCE! \o/ 21:16:53 ¦ 21:16:53 ´¸¨ 21:16:53 elliott: well you can fix that example with a little refactoring 21:16:57 elliott, study of actual human languages is a science-as-in-physics-science. 21:16:58 thank you myndzi 21:17:00 ive missed you 21:17:01 monqy, not the foggiest idea (ok, a somewhat foggy idea) 21:17:04 `addquote Sgeo: also do you know how to write a parser monqy, how hard could it be? 21:17:05 ​443) Sgeo: also do you know how to write a parser monqy, how hard could it be? 21:17:20 What? 21:17:21 Phantom_Hoover: i wouldnt go so far as to say that 21:17:31 elliott: x = y and f(x) are both ok as long as they don't parse to different nonterminal tokens 21:17:33 "How hard could it be" should NOT go with "parser" 21:17:35 parsers are actually easy if you know what you're doing 21:17:35 Build with --disable-shared --disable-libmount --disable-schedutils, and comment out the HAVE_WIDECHAR. 21:17:36 i think its more akin to logic and some aspects of computer science 21:17:38 It was meant to go with the other stuff 21:17:43 in config.h 21:17:46 oerjan: right 21:17:49 pikhq, "--- util-linux-2.19.1/text-utils/#display.c#1969-12-31 17:00:00.000000000 -0700" 21:17:53 pikhq, patch fail 21:18:02 augur, yes, but is some amount of linguistics attempting to model human communication? 21:18:11 This is what I saw: 21:18:14 monqy, how hard could it be? 21:18:14 Sgeo: also do you know how to write a parser 21:18:21 -!- aloril has joined. 21:18:30 Phantom_Hoover: maybe a handful of people 21:18:35 Sgeo, it's what I saw too. 21:18:37 Vorpal: Argh, fuck emacs. 21:18:41 I saw it the way I added it. 21:18:47 the "how hard could it be" was directed towards program transformation 21:18:48 Complaints will be ignored; humour comes above accuracy. 21:18:57 This is not an invitation to add me saying "lol im a fag". 21:19:24 * elliott awaits the inevitable 21:19:27 `addquote This is [...] me saying "lol im a fag". 21:19:28 ​444) This is [...] me saying "lol im a fag". 21:19:34 `delquote ​444 21:19:35 No output. 21:19:38 program transformation is a lot more interesting than parsing, at least 21:19:39 Oh the power I wield. 21:19:41 `addquote This is [...] me saying "lol im a fag". 21:19:42 ​445) This is [...] me saying "lol im a fag". 21:19:49 Yeah, I meant to fix that error. 21:19:55 `quote 444 21:19:56 ​444) This is [...] me saying "lol im a fag". 21:19:56 ugh delquote is still broken 21:20:04 monqy: sgeo should learn compiler-writing from sylladex 21:20:07 pikhq, what is schedutils? 21:20:12 and libmount? 21:20:21 sylladex? 21:20:34 * Phantom_Hoover awaits elliott's inevitable facepalm. 21:20:53 Vorpal: schedutils lets you change the realtime priority of processes; relies on some POSIX 2008 features that musl doesn't support. 21:20:53 I just Googled, first hits were what I thought you weren't referring to 21:21:05 pikhq, ah 21:21:09 monqy: its got everything, full parser, optimiser, stack-based VM intermediate language, assembly backend... 21:21:15 incremental compilation... 21:21:16 pikhq, and libmount? 21:21:17 Vorpal: libmount is an experimental mounting library that seems buggy that's unnecessary, that I didn't want to fuck with. 21:21:22 ah 21:21:25 elliott: all for SyL? 21:21:31 monqy: yes. 21:21:41 So, this gets you a *pretty much* complete util-linux. 21:21:50 a serious language for serious business 21:21:58 monqy: you don't KNOW how sleek it will be to compile the gtk+ ffi example. 21:21:58 pikhq, *oh* is it schedtool? 21:22:00 if so I use it 21:22:01 Yes. 21:22:02 you just don't know. 21:22:10 I hope type inference isn't difficult 21:22:19 `addquote I hope type inference isn't difficult 21:22:20 There's nothing *wrong* with it at all, it just uses some interfaces musl doesn't have yet. 21:22:20 ​446) I hope type inference isn't difficult 21:22:32 pikhq, I run hdapsd with real time privs it seems 21:22:38 So wait, what's wrong with delquote? 21:22:39 well the init script does 21:22:45 Phantom_Hoover: its broken in some way that i dont know how 21:22:49 pikhq, which is very sensible 21:22:54 Whereas just about everything I patched in util-linux is *actual fucking bugs*. 21:22:59 That musl happened to trigger. 21:23:10 pikhq, send those patches upstream 21:23:19 I intend to. 21:23:22 one time I learned how to do type inference 21:23:25 it was pretty cool 21:23:27 100% forgotten 21:24:20 Look at lifetime of variable. If it has two incompatible types, fail typechecking. If type of variable is omitted at one location, no big deal. 21:24:24 Sounds easy 21:24:35 It's probably more complicated than that. 21:24:52 Phantom_Hoover: its broken in some way that i dont know how <-- do a binary search over the revisions to find it? 21:24:55 i was going to say that one day Sgeo will look back on these logs and ... but then i realised 21:24:58 he probably won't 21:25:02 hehehehehheheheheheh 21:25:21 Vorpal, I invite you to fix it. 21:25:32 Phantom_Hoover, why me 21:25:43 You seem like a man who knows what he's doing. 21:25:48 Vorpal: if you fix it i'll give you minecraft. 21:25:54 ... 21:25:55 `run url $(type delquote) 21:25:55 YOUR DECISION 21:25:56 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/delquote 21:26:26 error: delquote@6875624d657a: not found in manifest 21:26:28 well fu 21:26:31 clap 21:26:32 clap 21:26:32 clap 21:26:34 clap 21:26:36 elliott, what 21:26:41 `run ls delquote 21:26:42 No output. 21:26:42 `run ls bin/delquote 21:26:43 ​bin/delquote 21:26:50 elliott, I did use type dammit 21:26:50 I hope type inference isn't difficult <-- ok now you are in _way_ over your head 21:26:54 `run type delquote 21:26:55 ​delquote is /tmp/hackenv.30916/bin/delquote 21:26:58 oh right 21:26:59 damn 21:27:06 oerjan: sadly, I think he was way in over his head as soon as he went from lexing to parsing. 21:27:22 sgeo did lexing? 21:27:39 monqy: he... ostensibly knows what lexing is. 21:27:42 probably. 21:27:50 I'm so proud 21:27:57 lexing isn't really hard 21:28:01 parsing can be 21:28:08 elliott: well i was deducing from the fact he finds parsing tricky 21:28:11 Sgeo: as I said earlier, writing a compiler is easier when you know what you're doing 21:28:33 which means type inference will be completely impenetrable 21:28:56 hm, how *does* type inference work? 21:29:07 Hmm. Lemme just check that it builds with glibc still. *Should*, but hey. 21:29:09 I have no idea, but I bet I could learn 21:29:28 Vorpal: depends if you mean like C[hash] style or full Hindley-Milner or even beyond that 21:29:45 the former is ridiculously simple. 21:29:50 elliott, lets start with the simplest one and work upwards from there :P 21:30:04 the middle isn't simple, but it's not hard to get a hang of. 21:30:07 the latter gets a bit gnarly. 21:30:10 Nope, it doesn't. 21:30:16 elliott, ah, how does the middle one work then. 21:30:16 Vorpal: well the first one is like a totally different breed to the latter 21:30:19 all you have to do is know the types of literals 21:30:20 bits/user.h DNE... 21:30:21 and like 21:30:23 what types functions return 21:30:24 elliott, ah right 21:30:24 and you're done 21:30:27 yep 21:30:29 makes sense 21:30:36 elliott, since functions in C# can't return var 21:30:42 the middle one works like ... http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm 21:30:50 to be perfectly honest, I couldn't describe H-M without having the description in front of me 21:31:04 elliott, the last one I don't even know what it is 21:31:07 Vorpal: haskell 21:31:11 I think I learned H-M when I learened type inference 21:31:18 elliott, doesn't haskell use H-M? 21:31:21 haskell with one or two extensions gives you the absolute most you can fully infer, basically 21:31:25 Vorpal: it uses H-M with extensions 21:31:31 elliott, what extensions? 21:31:37 typeclasses f.e. 21:31:48 but "fancy" haskell stuff isn't fully inferrable. 21:31:55 so just like haskell ninetyeight is. 21:31:57 plus a bit extra. 21:32:05 hm 21:32:34 Vorpal: for ghc, heaps of them. basically if someone invents a new type idea that is mostly inferable, it'll probably end up in ghc :P 21:32:37 Okay, there is no good place for pulling __WORDSIZE. 21:32:46 oerjan: and even if it isn't 21:32:48 oerjan, hah 21:33:34 oerjan i was reading that talk page and you had a comment so i clicked on your contribs and 21:33:38 do you have [[7 (number)]] on your watchlist 21:33:39 and why 21:33:44 wat 21:34:00 no, lemme check why i edited that 21:34:06 10:22, 20 January 2011 (diff | hist) 7 (number) ‎ (Undid revision 408789001 by 84.252.249.235 (talk) (1+1 is not a composite number)) 21:34:07 05:46, 12 January 2011 (diff | hist) m 7 (number) ‎ (fix spelling) 21:34:11 TWICE, oerjan, TWICE :D 21:34:14 is it your synchronicity number 21:34:17 elliott: i _do_ however have Type Inference on my watchlist 21:34:31 i guessed, and probably [[esoteric programming language]] too 21:34:37 you've said you watch [[look-and-say sequence]] in here before 21:34:37 wow 21:34:43 why do i know so much about what wp pages you watchlist 21:34:49 elliott: oh. i have a policy of following an article's changes for about a week after i've edited it 21:34:50 * elliott crisis of introspection 21:35:19 so since those are 8 days apart, it falls under that 21:35:37 elliott: correct on [[esoteric programming language]] :P 21:38:14 OK IWC's new poll is hurting my brain. 21:38:25 I really really hope DMM isn't going to go all pretentious on it. 21:38:26 Phantom_Hoover: heh 21:39:17 mji 21:39:31 Okay, best way of faking __WORDSIZE (which, realistically, is meaningless) is CHAR_BIT*sizeof(void*)... 21:39:40 Phantom_Hoover: last time DMM removed the old poll without putting up a new one. someone joked about it by making up options on the forum. i recognize several of them in the newest one. 21:40:28 random mouse-waving and clicking picks baarle-nassau for me 21:40:36 so i think this is one is based on forum ideas 21:41:06 elliott: i picked those spheres as they were the only thing i hadn't heard about before 21:44:37 and there was an interesting wikipedia article on them 21:45:06 baarle-nassau is a good choice though :P 21:46:16 what is the thing with baarle-nassau 21:46:19 is it because it has complicated borders 21:46:21 lol pediawiki 21:46:22 yes 21:46:24 ok right border 21:47:33 Seems the patch is *much* shorter on a git checkout. 21:47:58 i come from land 21:47:59 ojias 21:48:27 pikhq: the patch? is shorter? 21:48:37 the patch? is shorter? 21:48:40 ojias 21:48:41 the patch? is shorter? 21:48:50 @let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")] in shm "elliott" 21:48:51 Parse error: in 21:48:54 er 21:48:59 > let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")] in shm "elliott" 21:49:01 "elliott shmelliott" 21:49:07 ooh ooh ooh 21:49:21 @let shm = unwords . sequence [id, ("shm"++).dropWhile(`notElem`"aeiou")] 21:49:22 Defined. 21:49:31 > let thanks = ("Th"++) . dropWhile (`notElem` "aeiou") in thanks "elliott" 21:49:32 "Thelliott" 21:49:45 wat 21:49:52 > shm "thanks" 21:49:54 "thanks shmanks" 21:49:59 > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile (`notElem` "aeiou") in thanks "elliott" 21:50:00 Overlapping instances for GHC.Show.Show 21:50:00 ([GHC.... 21:50:09 > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile (`notElem` "aeiou") $ xs in thanks "elliott" 21:50:11 "Thanks, elliott. Thelliott" 21:50:16 :t toLowerCase 21:50:17 Not in scope: `toLowerCase' 21:50:20 ?hoogle lower 21:50:20 Text.Parsec.Char lower :: Stream s m Char => ParsecT s u m Char 21:50:20 Text.ParserCombinators.Parsec.Char lower :: Stream s m Char => ParsecT s u m Char 21:50:20 Data.Char LowercaseLetter :: GeneralCategory 21:50:24 ?hoogle lowercase 21:50:25 Data.Char LowercaseLetter :: GeneralCategory 21:50:26 ?hoogle downcase 21:50:26 No results found 21:50:28 :( 21:50:28 :t toLower 21:50:29 Char -> Char 21:50:39 > let thanks xs = (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "ants" 21:50:40 olsner: The patch to get util-linux to build with musl. 21:50:40 "Thanks, ants. Thants" 21:50:46 > shm "wyrd" 21:50:47 "wyrd shm" 21:50:48 > let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "ants" 21:50:50 "Thanks, ants. Thants." 21:50:51 > let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in thanks "Elliott" 21:50:53 "Thanks, Elliott. ThElliott." 21:50:55 :t isVowel 21:50:56 Not in scope: `isVowel' 21:50:58 darn 21:51:02 was hoping there'd be a fancy Unicode thing for it 21:51:11 ?let thanks xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs 21:51:12 Defined. 21:51:12 There's no fancy Unicode stuff in base 21:51:14 > thanks "lambdabot" 21:51:15 "Thanks, lambdabot. Thambdabot." 21:51:22 ?let thanks xs = text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs 21:51:22 :6:12: 21:51:23 Couldn't match expected type `[Char]' against inferred ty... 21:51:26 ?unlet thanks 21:51:26 TemplateHaskell is not enabled 21:51:27 ugh 21:51:32 how do you redefine 21:51:53 ?undef 21:51:56 ?undefine 21:52:00 ?let thanks xs = text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs 21:52:00 Defined. 21:52:04 > thanks "Deewiant" 21:52:06 Thanks, Deewiant. Theewiant. 21:52:09 excellent 21:52:21 > thanks "wyrd" 21:52:23 Thanks, wyrd. Th. 21:52:44 X-D 21:52:51 ?undefine 21:52:54 :t any 21:52:55 forall a. (a -> Bool) -> [a] -> Bool 21:53:06 > thanks "QUEEN" 21:53:07 Not in scope: `thanks' 21:53:10 was hoping there'd be a fancy Unicode thing for it <-- you realize languages don't agree on which letters are vowels, right? :P 21:53:15 ?let thanks xs = if any ((`notElem` "aeiou") . toLower) then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?" 21:53:16 :1:15: 21:53:16 Couldn't match expected type `Bool' 21:53:16 against i... 21:53:21 ?let thanks xs = if any ((`notElem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?" 21:53:22 Defined. 21:53:25 > thanks "wyrd" 21:53:26 Thanks, wyrd. Th. 21:53:29 o_O 21:53:38 ??? 21:53:41 > thanks "QUEEN" 21:53:42 Thanks, QUEEN. ThUEEN. 21:53:45 > 'w' `notElem` "aeiou" 21:53:46 True 21:53:49 oh 21:53:55 ?undefine 21:54:00 ?let thanks xs = if any ((`elem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?" 21:54:00 Defined. 21:54:02 > thanks "wyrd" 21:54:03 What are you, Welsh? 21:54:07 > thanks "Deewiant" 21:54:08 Thanks, Deewiant. Theewiant. 21:54:13 PERFECT. 21:54:39 > thanks "cymru" 21:54:40 Thanks, cymru. Thu. 21:54:51 > thanks "antidisestablishmentarianism" 21:54:53 Thanks, antidisestablishmentarianism. Thantidisestablishmentarianism. 21:54:53 haha, missed that one :/ 21:54:58 olsner: nothing wrong with Thu 21:55:04 > thanks "Tchaikovsky" 21:55:05 Thanks, Tchaikovsky. Thaikovsky. 21:55:07 good 21:55:10 > thanks "why" 21:55:11 > thanks "thanks" 21:55:11 What are you, Welsh? 21:55:13 Thanks, thanks. Thanks. 21:55:29 does anyone actually realise what this is from :P 21:55:32 > thanks "thunks" 21:55:34 Thanks, thunks. Thunks. 21:55:36 NO 21:55:39 > fix thanks 21:55:40 Couldn't match expected type `[GHC.Types.Char]' 21:55:40 against inferred ty... 21:55:41 > thanks "sknaht" 21:55:43 Thanks, sknaht. Thaht. 21:55:54 oerjan: http://www.youtube.com/watch?v=9jtU9BbReQk 21:56:00 (forty seconds) 21:56:19 oh, it uses weird shenanigans to print text 21:56:37 can you get a string from that somehow, so that it works with fix? 21:56:40 > iterate (show . thanks) "thanks" 21:56:41 ["thanks","Thanks, thanks. Thanks.","Thanks, Thanks, thanks. Thanks.. Thank... 21:56:48 > let thanks' xs = (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs in fix thanks' 21:56:50 "Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Thanks, Th... 21:57:00 > thanks "Kant" 21:57:02 Thanks, Kant. Thant. 21:57:14 > thanks "smorgasbord" 21:57:16 Thanks, smorgasbord. Thorgasbord. 21:57:20 thorgasbord 21:57:34 elliott, presumably quite electric? 21:57:41 > thanks "Knuth" 21:57:42 Thanks, Knuth. Thuth. 21:57:50 > thanks "William Blake" 21:57:52 Thanks, William Blake. Thilliam Blake. 21:58:05 > thanks "västkustskt" 21:58:06 Thanks, v 21:58:07 > thanks "lambdabot" 21:58:08 Thanks, lambdabot. Thambdabot. 21:58:10 > thanks "Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch" 21:58:12 Thanks, Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch. Thanfai... 21:58:15 :D 21:58:31 elliott, your definition fails as olsner showed 21:58:42 Vorpal: give me a perfect vowel function 21:58:46 i suspect lambdabot fails at encoding itself 21:58:47 or text does 21:58:50 so i could not fix it anyway 21:58:54 > thanks "fucking" 21:58:56 Thanks, fucking. Thucking. 21:59:02 I think both/all fail at encoding 21:59:09 > thanks "oobleck" 21:59:11 Thanks, oobleck. Thoobleck. 21:59:12 I mean that's how it usually goes 21:59:13 heheehehehehehe 21:59:24 elliott, perfect vowel can't be done. y is not a vowel in English is it? 21:59:25 > thanks "Istanbul" 21:59:27 Thanks, Istanbul. ThIstanbul. 21:59:27 it is in Swedish 21:59:30 Vorpal: sometimes it is :P 21:59:32 > thanks "istanbul" 21:59:33 Thanks, istanbul. Thistanbul. 21:59:40 > thanks "Mercury" 21:59:41 Thanks, Mercury. Thercury. 22:00:37 > thanks (fix show) 22:00:41 mueval-core: Time limit exceeded 22:00:43 aww 22:00:46 > thanks ants 22:00:47 Not in scope: `ants' 22:00:51 > thanks "mueval-core: Time limit exceeded" 22:00:52 Thanks, mueval-core: Time limit exceeded. Thueval-core: Time limit exceeded. 22:00:55 > thanks "ants" 22:00:56 Thanks, ants. Thants. 22:01:04 > thanks "Hanks" 22:01:05 Thanks, Hanks. Thanks. 22:01:07 :t fix 22:01:08 forall a. (a -> a) -> a 22:01:09 Thueval Core 22:01:13 what is fix? 22:01:19 seriously? 22:01:32 hm 22:01:36 That's not even Vorpal. 22:01:41 That's just plain stupidity. 22:01:46 I'm tried 22:01:54 i'm tried 22:02:06 http://en.wikipedia.org/wiki/Fixed_point_combinator 22:02:10 `addquote I'm tried 22:02:11 oh right 22:02:11 ​447) I'm tried 22:02:17 oops 22:02:19 monqy, why'd you ruin the fun? 22:02:20 Phantom_Hoover, tired* 22:02:26 I'm bad at not ruining the fun 22:02:29 > thanks "but no thanks" 22:02:30 Thanks, but no thanks. Thut no thanks. 22:02:39 > fix show 22:02:40 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 22:02:45 > thanks "archaeopteryx" 22:02:47 Thanks, archaeopteryx. Tharchaeopteryx. 22:02:50 Tharchaeopteryx 22:02:58 Vorpal, yes, but I'm trying to get you to fix delquote. 22:03:03 Through MANIPULATION. 22:03:06 Phantom_Hoover, meh 22:03:07 just apply delquote to itself, infinite times 22:03:11 sorry oerjan stole ur wind 22:03:13 tail quotes 22:03:16 > thanks "combine" 22:03:17 `tail quotes 22:03:18 Thanks, combine. Thombine. 22:03:18 Fiddle. It makes a big difference, you know. \ but touchscreens should feel like poking a boob \ are there boobs you wack and squeeze around to move the mouse? [...] like those little nipples in laptop keyboards, but they'd be full-blown boobies \ [after a long string of Lymia getting 22:03:23 > thanks "tapestry" 22:03:25 Thanks, tapestry. Thapestry. 22:03:25 `tail -n1 quotes 22:03:26 > thanks "oligarchy" 22:03:26 No output. 22:03:27 Thanks, oligarchy. Tholigarchy. 22:03:31 `run tail -n1 quotes 22:03:32 I'm tried 22:03:43 `run wc -l quotes 22:03:43 `addquote `run tail -n1 quotes 22:03:44 ​447 quotes 22:03:44 ​448) `run tail -n1 quotes 22:04:00 `addquote I CANNOT REMOVE A LINE FROM A FILE 22:04:01 ​449) I CANNOT REMOVE A LINE FROM A FILE 22:04:08 `addquote ALSO I SMELL FUNNY 22:04:08 `addquote lets just leave all these in 22:04:09 ​450) ALSO I SMELL FUNNY 22:04:10 ​450) lets just leave all these in 22:04:13 `addquote lets just leave all these in 22:04:14 ​451) lets just leave all these in 22:04:18 `addquote someone in the future will be really confused 22:04:19 ​459) someone in the future will be really confused 22:04:20 `run head -n 446 quotes > t; mv t quotes 22:04:20 `quote 450 22:04:21 No output. 22:04:22 ​450) <<<<<<< /tmp/hackenv.1231/quotes 22:04:24 um 22:04:26 `quote 450 22:04:26 lol 22:04:27 ​450) `run tail -n1 quotes 22:04:30 someone 22:04:32 needs to do 22:04:33 manual surgery 22:04:35 on the file 22:04:38 `quote 450 22:04:40 ​450) `run tail -n1 quotes 22:04:42 up to you guys 22:04:47 I'm going to bed. 22:04:51 Vorpal: if you want the slander there forevr... 22:05:03 `help 22:05:04 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/ 22:05:21 `addquote I kick puppies for sport! 22:05:22 ​463) I kick puppies for sport! 22:05:29 `revert 389 22:05:31 Done. 22:05:40 oh he doesn't like that one 22:05:50 elliott, I simply fixed it 22:05:51 `addquote I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY] 22:05:52 ​447) I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY] 22:05:55 `revert 389 22:05:56 Done. 22:05:58 `addquote I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY] 22:05:59 ​447) I kick puppies for sport[AN EXCLAMATION MARK APPEARED HERE IN REALITY] 22:06:19 Vorpal: you didn't fix delquote though 22:06:26 `addquote Nice, fucking this corpse. 22:06:27 ​448) Nice, fucking this corpse. 22:06:38 elliott, I can be nasty too 22:06:45 :P 22:06:57 now I'm closing the lid, will time out soon 22:06:59 night → 22:07:07 It's such a Vorpal thing to add. 22:07:51 `addquote You know what's better than three dead babies? I'll tell you what's better than three dead babies. The only thing, on this Earth, or not on this Earth, that could possibly be said to be dead babies, is as follows: Dead babies, i.e. two of them, are excellent, but there is one thing that is superior to them in every aspect, and that thing I am now going to detail to you. The only thing better than four dead babies is: about to b 22:07:52 e revealed. I shall reveal it now. The only thing better than nine dead babies is four dead babies, but that is a lie, because there is only one thing better than three dead babies, and it is this: 22:07:52 ​449) You know what's better than three dead babies? I'll tell you what's better than three dead babies. The only thing, on this Earth, or not on this Earth, that could possibly be said to be dead babies, is as follows: Dead babies, i.e. two of them, are excellent, but there is one thing that is superior to them in 22:07:59 Oh, it got cut off. 22:08:04 I guess we will just have to leave it at that. 22:08:22 `addquote Also I kick puppies. 22:08:23 ​450) Also I kick puppies. 22:09:00 `addquote im ban you for puppy kick 22:09:01 ​451) im ban you for puppy kick 22:09:17 `revert 390 22:09:18 Done. 22:09:24 `quote ​449 22:09:25 No output. 22:09:27 `quote ​44​448 22:09:28 No output. 22:09:29 `quote ​44​48 22:09:30 No output. 22:09:32 `quote ​44​8 22:09:33 No output. 22:09:36 wtf 22:09:37 oh well 22:09:45 `quote 447 22:09:46 ​447) I'm tried 22:09:56 elliott: YOU AM PLAY GODS 22:10:06 oerjan: im ban you for puppy kick 22:10:15 Nice, fucking this corpse. 22:10:37 * Phantom_Hoover → sleep. 22:11:10 -!- Phantom_Hoover has quit (Quit: Leaving). 22:12:03 -!- Vorpal has quit (Ping timeout: 268 seconds). 22:12:16 ... you make me tried 22:12:49 Nice, fucking this corpse. 22:13:04 `addquote ... you make me tried Nice, fucking this corpse. 22:13:05 ​448) ... you make me tried Nice, fucking this corpse. 22:16:52 -!- foocraft_ has joined. 22:16:53 -!- foocraft has quit (Ping timeout: 252 seconds). 22:22:27 K :> L 22:23:10 ionnonoinoinoino 22:23:15 Nice, fucking this corpse. 22:24:34 fucking nice corpse 22:24:35 -!- wareya has quit (Read error: Connection reset by peer). 22:25:43 -!- wareya has joined. 22:29:01 :t var 22:29:01 forall a. String -> Sym a 22:29:16 huh 22:29:22 :t fun 22:29:23 forall a. (SimpleReflect.FromExpr a) => String -> a 22:29:30 -!- sebbu has quit (Ping timeout: 260 seconds). 22:29:39 > var "hm..." 22:29:39 hm... 22:29:57 > var $ repeat 'a' 22:29:58 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 22:30:30 > var "a" + var "b" 22:30:31 a+b 22:30:33 > var "a" + var "a" 22:30:34 a+a 22:30:43 :t a 22:30:43 Expr 22:30:45 -!- sebbu has joined. 22:30:45 -!- sebbu has quit (Changing host). 22:30:45 -!- sebbu has joined. 22:31:18 :t var "a" == a 22:31:18 Couldn't match expected type `Sym a' against inferred type `Expr' 22:31:19 In the second argument of `(==)', namely `a' 22:31:19 In the expression: var "a" == a 22:31:31 wtf is Sym 22:31:34 @hoogle Sym 22:31:34 Text.Read Symbol :: String -> Lexeme 22:31:35 Text.Read.Lex Symbol :: String -> Lexeme 22:31:35 Text.Parsec.Token symbol :: GenTokenParser s u m -> String -> ParsecT s u m String 22:31:42 @hoogle var 22:31:43 Language.Haskell.TH VarE :: Name -> Exp 22:31:43 Language.Haskell.TH.Syntax VarE :: Name -> Exp 22:31:43 Language.Haskell.TH varE :: Name -> ExpQ 22:32:19 -!- elliott has quit (Ping timeout: 244 seconds). 22:32:52 @let var = "hm" 22:32:53 Defined. 22:32:57 > var 22:32:57 Ambiguous occurrence `var' 22:32:58 It could refer to either `L.var', defined at dammit 22:33:39 Data.Number.Symbolic 22:33:55 (longer message in priv) 22:35:29 -!- pikhq_ has joined. 22:35:30 -!- pikhq has quit (Ping timeout: 258 seconds). 22:45:14 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:54:46 Mmmkay, patches pushed upstream. 22:56:49 Which feels kinda weird, TBH. 23:05:13 -!- ralc has quit (Read error: Operation timed out). 23:16:45 -!- nooga has quit (Ping timeout: 260 seconds). 23:16:54 -!- ralc has joined. 23:22:08 Yeah. Still feels bloody weird having patches upstream. 23:27:07 lol 23:29:17 Oh, bloody hell, there's more stuff breaking now. 23:29:23 pushing it upstream, sounds like physical work is being done pushing those patches 23:29:57 http://www.spinics.net/lists/util-linux-ng/msg04536.html This patch bork it. 23:31:14 TTYDEF_SPEED is defined in ttydefaults.h, which is very much a BSD-ism. 23:31:19 lol 23:31:25 funny, in this message: http://www.spinics.net/lists/util-linux-ng/msg04557.html he's *Dr* Werner Fink 23:31:34 recently acquired his doctorate? 23:33:07 --disable-agetty and hope that is less stupid? 23:37:08 now that you have patches in the upstream it's only a matter of time until you find some excessively stupid piece of code and find that it came from one of your patches 23:39:01 Okay, so. Musl is missing wcsdup and wcstok. 23:39:38 of course it is, why would you want to have those? 23:41:01 XD 23:45:50 ubuntu has an upgrade for an "Advanced version control system", apparently that refers to the 'subversion' package :( 23:48:01 I think subversion is advanced in approximately as many ways as CVS or RCS is not retarded 23:58:41 * oerjan is wondering if there might be a way to define k in unlambda using ` s and c 2011-06-09: 00:02:26 -!- ralc has quit (Quit: Leaving). 00:04:39 hm what about just i 00:10:05 `c```csx = ````csx(*) = ```s(```*x(*))x(*) = ``(```*x(*))(*)`x(*) = ```(*)x(*) = x 00:10:06 No output. 00:10:30 which isn't quite what's needed 00:11:29 *-` a couple places 00:12:33 -!- wareya has quit (Ping timeout: 244 seconds). 00:13:11 ``ccx = `(`*x)x = `xx hm what 00:13:12 No output. 00:13:17 !show ucat 00:13:18 ​That is not a user interpreter! 00:13:33 i deleted it hm 00:15:02 oh hm the last version didn't use ``sii 00:15:17 20:20:33: ​unlambda ```s`d`@|i`ci 00:16:50 "Someone said "I know, let's make a porn version of The Human Centipede!". And others listened. And now it's out on DVD. May the gods forgive us." https://secure.wikimedia.org/wikipedia/en/wiki/The_Human_Sexipede , via Reddit. 00:16:54 :( 00:17:05 !addinterp utest unlambda ``cc``d`@|`ci 00:17:05 ​Interpreter utest installed. 00:17:22 !utest ho hum 00:17:23 ​ho hum 00:17:51 * oerjan cackles evilly 00:18:36 !delinterp utest 00:18:37 ​Interpreter utest deleted. 00:18:49 !addinterp ucat unlambda ``cc``d`@|`cc 00:18:50 ​Interpreter ucat installed. 00:18:56 !ucat and how 00:18:57 ​and how 00:22:25 hm that's very close to that famous counter 00:25:15 since in fact `ci, `cc and `cd are all equivalent 00:27:03 * oerjan knows just enough about the human centipede that he doesn't want to know more, so was assuming it was sort of porn already 00:29:54 -!- foocraft_ has quit (Quit: Leaving). 00:31:08 !delinterp ucat 00:31:08 ​Interpreter ucat deleted. 00:31:15 !addinterp ucat unlambda ``cd``d`@|`cd 00:31:15 ​Interpreter ucat installed. 00:31:27 !ucat Fnord 00:31:28 ​Fnord 00:39:57 -!- wareya has joined. 00:40:14 -!- Patashu has joined. 00:42:59 !ucat a 00:42:59 ​a 00:43:01 !ucat ab 00:43:02 ​ab 00:43:03 !ucat abc 00:43:04 ​abc 00:43:06 !ucat abcd 00:43:06 ​abcd 00:43:08 !ucat abcde 00:43:09 ​abcde 00:43:54 i realized there was a subtlety in that ``sii ~ `cc = `cd replacement, but it seems to work anyway 00:44:34 (basically applying `cc may reevaluate the argument, which ``sii doesn't) 00:45:51 it is possible there's some huge thunk building because of this... 00:57:24 -!- pikhq has joined. 01:00:24 -!- pikhq_ has quit (Ping timeout: 268 seconds). 01:01:16 -!- FireFly has quit (Quit: swatted to death). 01:01:54 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:06:40 ah seems like there is, and it may need to test for eof several times before actually halting 01:22:26 -!- adam__ has changed nick to CakeProphet. 01:25:21 -!- pikhq_ has joined. 01:25:23 -!- pikhq has quit (Ping timeout: 240 seconds). 01:54:57 -!- CakeProphet has quit (Read error: Operation timed out). 02:09:12 -!- augur has quit (Remote host closed the connection). 02:19:19 :t at 02:19:20 Not in scope: `at' 02:21:38 @hoogle atMay 02:21:39 Data.Maybe catMaybes :: [Maybe a] -> [a] 02:28:19 -!- nooga has joined. 02:44:20 -!- augur has joined. 02:44:37 -!- CakeProphet has joined. 02:44:37 -!- CakeProphet has quit (Changing host). 02:44:37 -!- CakeProphet has joined. 02:49:29 -!- CakeProphet has quit (Client Quit). 02:49:46 -!- CakeProphet has joined. 02:49:46 -!- CakeProphet has quit (Changing host). 02:49:46 -!- CakeProphet has joined. 02:59:26 -!- nooga has quit (Ping timeout: 250 seconds). 03:45:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 04:25:49 Jesus. DNF is actually out. 04:27:13 -!- Kustas has joined. 04:27:37 -!- pikhq has joined. 04:28:00 -!- Kustas has left. 04:31:19 -!- pikhq_ has quit (Ping timeout: 268 seconds). 04:33:23 I think I'll just watch a Let's Play 04:34:12 I think I'll just continue listening to Flood. 04:37:23 -!- oerjan has quit (Quit: leaving). 04:37:52 "Back in the summer of '87 he owned a giant venomous lizard. It somehow managed to escape, which led to the police shooting it with a shotgun. Because of the lack of laws against lizards, he was charged with possession of a "venomous, tree climbing alligator". 04:37:56 The above story was reported in Weekly World News as "police battle giant lizard". As a result, this is the only true and verifiable story ever reported in that tabloid." 04:38:02 Aaaand continue laughing. 04:55:32 nice 04:55:34 WWN for the win! 05:13:10 * Sgeo sees another Sennheiser recommendation 05:15:59 I can't personally recommend Sennheiser, but only for lack of personal experience. 05:16:50 ....I thought you were the one in here who recommended them 05:18:12 -!- pikhq_ has joined. 05:18:34 ....I thought you were the one in here who recommended them 05:19:49 I do know they have a very good reputation among both reasonable people and audiophiles. 05:20:43 -!- pikhq has quit (Ping timeout: 240 seconds). 05:26:45 That dichotomy (sp?) makes me laugh 05:41:23 I have sennheiser earphones 05:41:26 They're good I recommend them 05:41:33 Not sure about anything else they make 06:05:33 i have a pair of hd590s 06:05:41 i got em for $20 new courtesy of aol and amazon 06:05:42 ;p 06:07:42 I should probably get my left ear fixed first 06:15:41 -!- pikhq has joined. 06:15:45 -!- pikhq_ has quit (Ping timeout: 250 seconds). 06:55:26 -!- Sgeo has quit (Ping timeout: 255 seconds). 07:07:29 -!- Phantom_Hoover has joined. 07:08:21 `quote 448 07:08:24 ​448) ... you make me tried Nice, fucking this corpse. 07:26:19 -!- pikhq has quit (Ping timeout: 240 seconds). 07:26:19 -!- pikhq_ has joined. 07:31:55 -!- aloril has quit (Ping timeout: 250 seconds). 07:33:13 Phantom_Hoover: why did you want that specific quote? 07:33:26 olsner, to see if it had been changed. 07:34:36 I don't know how to change quotes anyway 07:34:54 AtM it consists of a revert and re-adding it. 07:43:10 Why is it so utterly difficult to force myself to sleep? 07:43:23 It's not even like I'm doing anything relevant. 07:43:37 Or, indeed, anything but Reddit and IRC. 07:45:37 -!- aloril has joined. 07:46:16 I think one of the first things that goes when you become slightly tired is the little piece of planning brain that makes you go to sleep when you should 07:46:33 so then you won't go to sleep until you're too tired to stay awake 07:47:15 http://www.khanacademy.org/video/basic-trigonometry?playlist=Trigonometry 07:47:22 I expected better. 07:47:51 olsner: Probably just after the "do things that actually matter" piece. 07:48:17 There is not a single circle drawn in that video, so it doesn't actually explain any of the underlying structure. 07:48:54 pikhq_: I wonder if I even *have* one of those 07:49:01 I'm sure I do. 07:49:07 I'm also pretty sure it's on the fritz. 07:50:37 Phantom_Hoover: Yeah, circles are the single most fundamental thing for trig. 07:51:04 Well, namely, the inherent relationships between circles and triangles that we call the trig functions. 07:53:27 Phantom_Hoover: Why were you watching a Khan Academy video on trig, anyways? 07:53:43 http://www.reddit.com/r/reddit.com/comments/hv41b/this_should_be_the_first_thing_shown_in_all/ 07:54:01 Someone said it should be the first thing posted, thus completely missing the point. 07:54:42 * Phantom_Hoover decides to actually find the derivation of sin' = cos. 07:55:30 Khan Academy's pretty good usually, but circles and triangles are what you should be getting shown in trig... 07:55:40 Because *that's all it is*. 08:07:05 -!- CakeProphet has quit (Ping timeout: 240 seconds). 08:15:24 trigonometry courses should teach tau 08:15:46 Also true. 08:17:07 http://www.touchtrigonometry.org/ is cool but an information overload 08:18:56 -!- myndzi has quit (Ping timeout: 258 seconds). 08:19:35 I think Sam Hughes summed up the whole tau debate nicely. 08:21:45 "Tau is the Dvorak of trigonometry." 08:22:25 making Pi the QWERTY of trigonometry? 08:22:48 Yes. 08:23:43 That is... Actually a good summation of it. 08:25:10 it's much much easier to introduce tau than pi though 08:25:19 if you're ever speaking to a pi unfamiliar audience just add one line: let tau = 2*pi 08:25:22 and then proceed as normal 08:25:39 if you want to use dvorak on a qwerty keyboard you have to spend several weeks learning it and be able to swap the keyboard back and forth when you change computers 08:25:39 -!- aloril has quit (Ping timeout: 250 seconds). 08:25:49 also dvorak isn't the best layout anyway, colemak is 08:27:14 Yes, but even fewer people have heard of Colemak, making it a bit harder to use in analogies. 08:27:43 yeah 08:27:46 I just like to bring it up and feel :smug: 08:38:29 -!- aloril has joined. 08:45:04 -!- CakeProphet has joined. 08:45:04 -!- CakeProphet has quit (Changing host). 08:45:04 -!- CakeProphet has joined. 08:47:02 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 08:49:03 ?info ($) 08:49:03 ($) 08:49:12 @src ($) 08:49:12 f $ x = f x 08:49:20 @hoogle ($) 08:49:20 Prelude ($) :: (a -> b) -> a -> b 08:49:21 Data.Function ($) :: (a -> b) -> a -> b 08:49:21 Prelude ($!) :: (a -> b) -> a -> b 08:49:30 ...how did elliott get fixity declarations. 08:52:15 I think you need to find the source code 09:07:12 -!- monqy has quit (Quit: hello). 09:09:39 -!- MigoMipo has joined. 09:23:02 -!- myndzi has joined. 10:11:11 -!- nooga has joined. 10:11:30 -!- ralc has joined. 10:18:30 -!- myndzi has quit (Ping timeout: 268 seconds). 10:18:56 -!- myndzi has joined. 10:32:50 -!- FireFly has joined. 11:05:14 -!- pikhq_ has quit (Ping timeout: 240 seconds). 11:05:25 -!- pikhq has joined. 11:21:53 -!- Vorpal has joined. 11:54:13 -!- BeholdMyGlory has joined. 12:10:24 -!- TOGoS has joined. 12:11:05 -!- copumpkin has joined. 12:11:40 -!- TOGoS has left. 12:29:31 -!- Deewiant has quit (Ping timeout: 260 seconds). 12:29:55 -!- Deewiant has joined. 12:40:34 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 12:41:20 -!- ais523 has joined. 12:56:21 -!- ais523 has quit (Remote host closed the connection). 12:57:39 -!- ais523 has joined. 13:02:12 -!- ais523_ has joined. 13:02:31 -!- ais523 has quit (Disconnected by services). 13:02:33 -!- ais523_ has changed nick to ais523. 13:24:41 hmm, Slashdot is awesome sometimes 13:24:52 there was an argument about whether Microsoft was ditching Silverlight 13:25:18 and it brew into an argument about cross-platformness 13:25:47 with a comparison to Java vs. .NET 13:26:04 and someone claimed that there wasn't a Java impl for the Amiga, and someone came up with a counterexample 13:26:13 (later on, a C64 emulator in Silverlight came up, in order to complete the circuit) 13:30:08 hmm, does anyone here know about Haskell Core? 13:30:24 my supervisor mentioned it as something that might be useful for my research, but I've wanted something like that for esolanging for a while too 13:43:51 -!- CakeProphet has quit (Ping timeout: 268 seconds). 13:44:27 -!- CakeProphet has joined. 13:44:35 -!- CakeProphet has quit (Changing host). 13:44:35 -!- CakeProphet has joined. 14:01:27 -!- oerjan has joined. 14:12:11 ...how did elliott get fixity declarations. 14:12:16 by using my trick 14:12:22 > (0$0 $!) 14:12:22 The operator `Prelude.$!' [infixr 0] of a section 14:12:23 must have lower prec... 14:13:40 also, lambdabot has no command [?@:]info 14:13:51 only spelling correction 14:15:16 hmm, does anyone here know about Haskell Core? 14:15:23 a little bit? 14:15:34 I know nothing besides the name and that it desugars Haskell 14:16:05 and even that information's from an unreliable source 14:16:16 it's ghc's first intermediate language. it's explicitly typed (all type inference happens before) using a type system called F_c which is easily extensible with new features 14:16:59 i think typeclasses are also desugared away before it, so it uses explicit method dictionary passing 14:18:01 -!- Vorpal has quit (Ping timeout: 260 seconds). 14:19:03 i think newtypes are implemented using some kind of type-checked cast in core 14:19:49 and most of ghc's high level optimizations such as rules happen at the core stage 14:20:52 because you still have type checking for sanity there 14:22:31 for example ghc rules only trigger when the rewritten term has the same type as the old one 14:24:04 and of course as you say, syntactically desugared 14:24:31 -!- nooga has quit (Ping timeout: 252 seconds). 14:36:03 -!- Kustas has joined. 14:36:17 -!- Sgeo has joined. 14:42:11 -!- ais523 has quit (Read error: Connection reset by peer). 15:25:25 -!- Phantom_Hoover has joined. 15:25:42 -!- oerjan has quit (Quit: leaving). 15:32:10 -!- nooga has joined. 15:55:38 Reading Jailbreak 16:00:04 -!- ais523 has joined. 16:44:41 Sgeo, you realise it's a) incomplete and b) of far inferior quality to PS, right? 16:45:04 I finished reading PS 16:45:11 so you can implement all boolean functions with dominoes, without using bridges 16:55:30 -!- Vorpal has joined. 16:55:42 -!- pikhq_ has joined. 16:55:47 -!- pikhq has quit (Ping timeout: 250 seconds). 16:56:13 * Phantom_Hoover briefly flirts with the idea of getting some Bitcoins. 16:58:24 * Phantom_Hoover notes that they don't even mention the drugs on the website. 17:02:25 -!- MigoMipo has quit (Ping timeout: 276 seconds). 17:06:37 Phantom_Hoover, what drugs 17:06:56 Vorpal, the drugs which are the one thing everyone knows you can buy with Bitcoin. 17:07:19 Phantom_Hoover, what? Pull the other one... 17:07:48 Vorpal, erm, why is that implausible? 17:08:05 Phantom_Hoover, hm... 17:10:18 It is quite hard to get reliable information on the matter, admittedly. 17:11:42 For some perspective, a lot of it seems to stem from Adrian Chen. 17:12:49 Phantom_Hoover, who is this Adrian Chen? 17:13:04 ... 17:13:14 Phantom_Hoover, what? 17:13:50 Phantom_Hoover, well who is he? 17:15:09 He's one of the creators of Gawker, and noted unpleasant person. 17:15:24 ah. *googles gawker* 17:16:57 Was he behind the lucidending thing? 17:17:16 He was joking, as it turns out. 17:17:30 Phantom_Hoover, about the bitcoin thing? heh 17:17:43 No, about lucidending. 17:17:52 (Who was still almost certainly a troll.) 17:18:01 "Noted unpleasant person" lol 17:18:07 * Vorpal googles "lucidending" 17:20:41 http://www.reddit.com/r/IAmA/comments/fy6yz/51_hours_left_to_live/ 17:20:44 "[deleted]"? 17:21:09 reddit.com: timeout. heh 17:21:22 hm works now 17:21:27 probably on my end 17:25:37 "Noted unpleasant person" lol ← I couldn't really say anything stronger without citing hearsay. 17:25:55 -!- MigoMipo has joined. 17:29:25 -!- Kustas has quit (Quit: gone). 17:33:13 ...oh god today's SMBC was barely funny at all. 17:33:42 Please Zach god please don't undergo the SMBCdecay. 17:35:20 SMBXKCD 17:37:30 Given Zach's inexplicable respect for Munroe... 17:42:56 -!- calamari has joined. 17:46:37 Phantom_Hoover, it was still a LOT more dirty than xkcd 17:46:53 Vorpal, erm, have you *read* xkcd? 17:47:02 I point at 610 and leave it at that. 17:47:46 Phantom_Hoover, what about 610? 17:47:52 *631 17:47:55 ah 17:49:30 Phantom_Hoover, what is TGI though 17:49:39 Thank god it's. 17:49:48 I think TGI Fridays is a restaurant. 17:49:50 ah 17:50:00 But it looks like you're trying to understand 631. Stop. 17:50:12 Phantom_Hoover, 631 doesn't make sense 17:50:13 Walk slowly away from it. 17:53:10 Phantom_Hoover, the H-M algorithm is quite ingenious, don't you agree. Yet it makes perfect sense. 17:53:30 Um... 17:53:47 Phantom_Hoover, I mean Hindley–Milner 17:54:04 type inference algorithm 17:54:19 ...yes, so why did you just say that? 17:54:48 Phantom_Hoover, oh I found a page on it open in a tab in firefox, as I was working through the backlog 17:56:46 hm is it possible to make a language that is NP-complete to *parse*? 17:56:49 err 17:56:53 NP-equivalent 18:03:43 -!- calamari has quit (Quit: Bye). 18:07:26 Vorpal: a language in which a given line is a comment if the sum of the lengths of any subset of the lines preceding it is 42 18:09:12 although I guess that's a little easier than the usual phrasing of it 18:09:23 since you can automatically exclude any lines longer than 42 18:09:25 so how about 18:09:56 the language requires all lines to be shorter than 80 characters, and the sum I want is some reasonably decent sized number such that you can't make optimizations like that 18:10:15 It's not a bad idea to just use a parser generator, is it? 18:10:15 or actually, the length - 40 adds to 0 18:10:32 yeah 18:10:34 it's a terrible idea 18:18:36 copumpkin, ah good idea 18:19:14 Sgeo, why would it be in general? 18:19:26 What about in my case? 18:19:35 Sgeo, what is your case 18:19:53 Someone who wants to write a compiler but is generally clueless 18:20:27 -!- monqy has joined. 18:20:35 -!- pikhq has joined. 18:20:44 -!- pikhq_ has quit (Ping timeout: 240 seconds). 18:21:21 using a parser generator is kind of like using a library containing code you didn't write yourself 18:25:04 So, if I were zzo38, avoid them 18:25:07 >.> 18:25:32 -!- Kustas has joined. 18:27:01 have you considered getting a clue about compilers? Anyway, parsing is the simplest/most trivial part of compiling any interesting language 18:28:14 Define "interesting" 18:28:29 Also, I don't think I'm going for optimizations here 18:28:37 I'm not quite smart enough for that 18:28:52 Also, I'm compiling into a pseudo-bytecode, not into x86 or anything 18:29:27 well if your language is trivially equivalent to the target, the actual work is pretty trivial 18:29:32 trivial trivial 18:29:55 Well, target will expect CPS 18:30:02 expect? 18:30:16 As in, not possible to write non-CPS code in it 18:30:37 isn't the target lsl? 18:31:00 or did something change about that 18:31:14 or was I never fully in on it 18:32:20 Target is technically LSL, but most of the LSL code will be an interpreter 18:32:28 That interprets the contents of a few lists 18:33:06 What on earth are you trying to make. 18:33:19 -!- nooga has quit (Quit: Lost terminal). 18:33:20 -!- CakeProphet has quit (Ping timeout: 240 seconds). 18:33:28 sgeo thinks continuations will solve all of his second life problems 18:33:42 Sgeo: oh, is this that thing where you're working on a better scripting language for second life? 18:33:47 Yes 18:41:34 I find that YACC-like parser generators suck. 18:45:47 pikhq: I actually find them kind-of useful 18:45:56 depending on what you do with them 18:46:51 They tend to be overcomplicated and make writing a recursive-decent parser manually seem like a good idea, in my experience. :P 18:47:25 when I try that, I find it's much like writing for a yacc-like but with more boilerplate, and comes to the same thing 18:47:44 what other sorts of parser generators are there 18:47:44 although my grammars tend to have just the one nonterminal 18:47:47 or maybe two at a pinch 18:47:58 Anyways, the *real* way to write a parser is Parsec. 18:47:58 because fewer nonterminals tends to imply a better-designed language 18:48:16 oh yes parsec 18:50:02 Well, more generally, parsing combinators is the way to do it, and Parsec is the best implementation of that. 18:52:39 * Sgeo wants Parsec for Javascript 18:53:32 hmm, you don't know how to write a parser but you know what parsec is well enough to want it in javascript? 18:53:49 olsner: Parsec is easier than writing a parser by hand. :P 18:54:09 Though at least in decent languages even a hand parser isn't too bad. 18:54:49 another questions: why javascript? 18:55:08 Where "decent" means "Has pattern matching and lambdas" in this context, I *think*. 18:55:19 ... Waaait, that includes C++. God no. 18:56:06 C++ sort of kind of has pattern matching and lambdas 18:57:06 if defining languages by features, always remember to explicitly exclude C++ 18:57:30 monqy: It *very much* has type-level pattern matching and type-level lambdas. 18:57:50 I want it to be easily accessible 18:58:11 hello type-level parsec? 18:58:16 hmm, parsec ported to c++ templates 18:58:33 or at least a type-level parser or something 18:58:36 now that's an abomination you can enjoy 18:59:03 Sgeo: If you want it accessible to complete noobs, offer Windows binaries. 19:02:40 pikhq, is Javascript that terrible that that's the best option for accessibility 19:02:41 ? 19:08:25 "Divers weights are an abomination to the LORD;" — the Bible 19:09:01 So I guess you need to swim against your own buoyancy or something? 19:09:10 Probably ties into all the shellfish stuff. 19:10:38 http://bible.cc/proverbs/20-23.htm 19:11:23 From looking at all the other translations, I'm going to assume it's just missing an e 19:14:02 Sgeo: that's actually an old-fashioned spelling of "diverse" 19:14:20 Ah 19:30:56 -!- oerjan has joined. 19:33:18 -!- Phreak has joined. 19:36:24 -!- pikhq_ has joined. 19:36:36 -!- pikhq has quit (Ping timeout: 268 seconds). 19:42:28 -!- Phreak has left. 19:45:54 so you can implement all boolean functions with dominoes, without using bridges 19:45:57 wat 19:49:06 ...yes, so why did you just say that? 19:49:14 Vorpal suffers from EAS 19:49:57 EAS? 19:50:10 excessive acronym syndrome 19:50:11 hm is it possible to make a language that is NP-complete to *parse*? 19:50:20 my guess is, almost certainly 19:50:23 Vorpal: you can do better, Perl is Turing-complete to parse 19:50:44 mostly because you can put arbitrary code in the parser 19:50:59 well context-sensitive languages are well known to include PSPACE-complete stuff 19:51:42 context-free languages otoh have O(n^3) algorithms 19:52:24 O(n^2) if unambiguous iirc 19:53:38 hm is it possible to make a language that is NP-complete to *parse*? 19:53:42 er 19:53:48 17:56:49: err 19:53:48 17:56:53: NP-equivalent 19:54:07 if NP-equivalent means anything there, it's the same as NP-complete 19:55:03 Vorpal: a language in which a given line is a comment if the sum of the lengths of any subset of the lines preceding it is 42 19:55:14 if 42 is fixed, then that won't be NP-complete 19:55:40 -!- CakeProphet has joined. 19:55:40 -!- CakeProphet has quit (Changing host). 19:55:40 -!- CakeProphet has joined. 19:55:47 I adapted my suggestion 19:55:49 after that 19:55:55 ah 19:56:03 -!- pikhq_ has quit (Ping timeout: 240 seconds). 19:56:15 -!- pikhq has joined. 19:56:32 copumpkin: also i think it won't be for _any_ fixed number so your adaptation won't work 19:57:01 why not? 19:57:34 let your number be n. make an array of n bools. 19:57:56 initialized to False, except index 0 19:58:16 (I adapted it to include negative numbers) 19:59:01 then whenever you add a new item j, iterate through the array and make i+j True if i is 19:59:18 so you always have the set of possible sums. 19:59:47 right that won't work with negative numbers 19:59:54 that was the adaptation 20:00:04 you had another one first 20:00:31 using a parser generator is kind of like using a library containing code you didn't write yourself 20:00:32 -!- wareya has quit (Ping timeout: 276 seconds). 20:00:59 :) 20:01:05 for LALR(1) parsing i'd say it's "code you probably _couldn't_ write yourself without messing it up" 20:01:13 someone should write that parser 20:01:53 which parser 20:02:29 the NP-complete parser 20:03:52 oh hm wait when you say lines should be _shorter_ than 80 characters, i am thinking - is _that_ still NP-complete? can't you no just count the number of lines of each length? 20:03:54 -!- Kustas has left. 20:04:01 A member of the MSPA music team just followed me on Twitter 20:04:08 mind you i'm not sure that isn't still NP-complete 20:04:11 *now 20:05:33 * oerjan googles 20:10:05 dammit wikipedia is impenetrably phrased 20:14:55 the subset-sum problem reduces pretty trivially to it 20:15:36 um i thought your idea _was_ the subset-sum problem, pretty exactly 20:16:05 well, my idea is a language where parsing it requires solving it :P 20:16:15 so it isn't exactly it 20:16:25 but it's pretty obviously related :P 20:16:26 i _think_ the wikipedia article may imply that bounding either the number of sets or the size of elements makes it polynomial, although it's by no means clear 20:16:39 *number of elements 20:16:52 well then remove the bound 20:16:57 subtract some number so we still get negatives 20:17:00 fuck the distribution 20:17:44 oh well 20:17:53 or maybe negate every other line? 20:17:56 that should work, right? 20:20:19 i think i'm too tried [sic] for this 20:23:17 google, now with free guitar 20:27:54 -!- cheater_ has quit (Ping timeout: 252 seconds). 20:36:38 -!- wareya has joined. 20:54:04 -!- pikhq_ has joined. 20:54:38 -!- elliott has joined. 20:54:44 Wow. There's a palladium credit card. That's not a stupid marketing name. The card is literally made of palladium. 20:54:48 xD 20:54:49 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 20:55:00 pikhq_, awesome. 20:55:03 EXCEPT 20:55:11 It should be whichever metal I settled on as Best. 20:55:22 Iridium? 20:55:50 I think rhenium was in the running as well, and the last one I considered was tantalum-180m. 20:55:59 -!- pikhq has quit (Ping timeout: 260 seconds). 20:57:46 Sure enough, rhenium is rarer. 20:59:19 But tantalum-180m is rarer still. 20:59:34 Ruthenium and rhodium are rarer still and are also stable... 20:59:54 TOO MAINSTREAM 21:00:00 Though both are fission products of U-235, making it possible they wouldn't be if someone decided to fuck with you. 21:00:27 Um. That Is Not How Quantities Work. 21:00:40 Tantalum-180m is the rarest stable primordial nucleus, though. 21:01:01 The thing is, someone could *manufacture* ruthenium and rhodium. 21:02:17 Yet another reason to use tantalum-180m! 21:02:26 Yeah, tantalum-180m seems to win. 21:03:18 Though 180m is technically not stable. 21:03:33 Just close enough for most intents and purposes. 21:03:44 (half-life of *at least* 10^15 years) 21:03:45 It has never actually been observed to decay. 21:04:15 Yes, but it's still technically not stable. 21:05:10 It just has a half life larger than the universe's age. 21:06:36 -!- Patashu has joined. 21:07:11 (which is about 1.3*10^9 years 21:07:11 ) 21:07:12 * Sgeo still finds it unintuitive that a probability 0 event can occur. 21:07:22 I mean, I understand it, it's just weird 21:07:51 Oh, and 10^15 years is the *lower bound* on the half life. 21:08:07 Sgeo: Technically, there are no events with probability 0 in reality. 21:08:24 Just events with probability sufficiently low that their floating point representation is 0. :P 21:08:48 pikhq_, I was totally doing the whole tantalum-180m thing like a month ago get with the nuclear times. 21:09:44 the best giraffe has yet to exist 21:10:03 > var "uh oh" 21:10:03 uh oh 21:10:06 oh 21:10:34 22:54:46: Mmmkay, patches pushed upstream. 21:10:34 22:56:49: Which feels kinda weird, TBH. 21:10:44 pikhq_: To musl or util-linux-ng or what? :P 21:10:51 ah, util-linux-ng 21:10:51 elliott: util-linux. 21:11:05 And I have some more to push in a bit. 21:11:13 i.e. "When I feel like it". 21:11:18 > thanks "pikhq" 21:11:19 Not in scope: `thanks' 21:11:23 elliott 21:11:25 What happened 21:11:28 To thanks 21:11:28 Phantom_Hoover: oerjan broke it 21:11:31 oerjan 21:11:35 You are terrible 21:11:46 ?let thanks xs = if any ((`elem` "aeiou") . toLower) xs then text . (++ ".") . (("Thanks, " ++ xs ++ ". Th") ++) . dropWhile ((`notElem` "aeiou") . toLower) $ xs else text "What are you, Welsh?" 21:11:47 Defined. 21:11:52 > thanks "util-linux" 21:11:53 Thanks, util-linux. Thutil-linux. 21:12:07 00:04:39: hm what about just i 21:12:08 00:10:05: `c```csx = ````csx(*) = ```s(```*x(*))x(*) = ``(```*x(*))(*)`x(*) = ```(*)x(*) = x 21:12:09 oerjan: what prompted dis 21:12:25 is there an unlambda interpreter in haskell? 21:12:30 oh, previous line 21:12:40 Patashu: it takes like ten minutes to write one, so almost certainly 21:12:42 -!- CakeProphet has quit (Ping timeout: 255 seconds). 21:12:43 oerjan probably has one, even :P 21:12:58 yep 21:12:59 http://home.nvg.org/~oerjan/esoteric/Unlambda.hs 21:13:06 hm what 21:13:07 http://www.cse.unsw.edu.au/~dons/code/lambdabot/scripts/Unlambda.hs 21:13:09 dons changed it 21:13:11 I wonder what he changed? 21:13:19 oerjan: 21:13:23 -!- CakeProphet has joined. 21:13:23 -!- CakeProphet has quit (Changing host). 21:13:23 -!- CakeProphet has joined. 21:13:26 oh, time limited 21:13:27 and output too 21:13:29 must be what's in lambdabot 21:13:56 00:16:50: "Someone said "I know, let's make a porn version of The Human Centipede!". And others listened. And now it's out on DVD. May the gods forgive us." https://secure.wikimedia.org/wikipedia/en/wiki/The_Human_Sexipede , via Reddit. 21:13:56 00:16:54: :( 21:13:56 amazing 21:14:10 lol 21:14:11 A parody of The Human Centipede, in 'The Human Sexipede', Dr. Heiter kidnaps two young American girls and an Asian man, all of whom are unable to achieve sexual satisfaction through everyday sexual behaviour. He presents them with the idea of joining them Mouth to Genitals, so that they are able to continually pleasure each other by way of oral sex and finally achieve sexual satisfaction. 21:14:15 why did he need to kidnap them 21:14:27 if he "presents them with the idea" why couldn't he just like tell them 21:14:31 the kidnapping seems totally superfluous 21:14:34 THIS PORN HAS A REALLY BAD PLOT 21:15:03 "The Human Centipede II (Full Sequence) is an upcoming British horror film directed by Dutch filmmaker Tom Six. The sequel to 2010's Dutch film The Human Centipede (First Sequence), the film has been scheduled for release on DVD in 2011 but has been banned from distribution in the United Kingdom due to its explicit content." 21:15:05 It's porn. You expect good writing? 21:15:12 i can't buy the sequel to human centipede 21:15:12 :< 21:15:14 * elliott crushed 21:15:22 The film centres on an antagonist called Martin (Laurence Harvey), who becomes sexually obsessed with a DVD recording of the film within the film, The Human Centipede (First Sequence). In the DVD, a surgeon kidnaps three people and surgically connects them mouth-to-anus. Martin masturbates as he watches the film, with sandpaper wrapped around his penis. He subsequently creates his own twelve-person "human centipede" and gains sexual gratification 21:15:22 from the pain, humiliation and suffering of his victims. He is shown to become aroused whenever a member of his centipede defecates, and their faeces are forced into the mouth of the victim behind them. He rapes the woman at the rear of the centipede, with barbed wire wrapped around his penis.[1] 21:15:24 meta 21:15:50 "He rapes the woman at the rear of the centipede, with barbed wire wrapped around his penis." 21:15:51 man what 21:16:02 It's clearly a depiction of what the same film is doing to the audience. 21:16:10 Tom Six claimed the sequel would be much more graphic and disturbing , making the first film seem like "My Little Pony compared with part two." 21:16:36 Comparing Full Sequence with the first film; the BBFC said that whilst First Sequence was "undoubtedly tasteless and disgusting",[11] the content of First Sequence had been acceptable for release because the centipede of said film was the product of a "revolting medical experiment". 21:16:43 so it's OK if you don't get off on it 21:16:51 the human centipede is kind of disgusting 21:16:55 'medical experiment' o 21:17:01 elliott: The doctor who did it was getting off on it. 21:17:14 Half the premise is that he had a sick fetish. 21:17:16 "Six criticised the BBFC for including film spoilers in their report" 21:17:17 "Six criticised the BBFC for including film spoilers in their report" 21:17:18 "Six criticised the BBFC for including film spoilers in their report" 21:17:18 "Six criticised the BBFC for including film spoilers in their report" 21:17:26 spoiler alert 21:17:29 people will be jointed mouth to anus 21:17:38 and barbed wire will be wrapped around a penis 21:18:36 I have mixed feelings about this. First, it's an absolutely, horrifying concept without any artistic merit. Second, fiction should never ever ever ever be banned. Ever. 21:18:45 Even if you're joining people mouth to anus. 21:19:33 its pretty hilarious imo 21:19:41 banning it is just stupid, no mixed feelings 21:19:55 -!- hagb4rd has joined. 21:20:11 I don't want a fucking sequel published at all. But I don't want to stop any sick fuck from doing so, either. 21:20:34 i don't see what you have against it, people can film anything they want if they're not harming anyone 21:20:54 apparently the first film was pretty funny 21:20:56 i haven't seen it though 21:21:09 elliott, so I infer that you are completely opposed to hate speech laws? 21:21:09 elliott: It's more "brain bleach" kinda reaction than anything else. 21:21:23 Phantom_Hoover: "if they're not harming anyone" 21:21:33 elliott: Sure, people should be able to film anything they want if they're not harming anyone. 21:21:41 elliott, define 'harm', then. 21:21:42 That doesn't mean I want them to. 21:21:46 Phantom_Hoover: That's for the courts :P 21:22:08 Obviously paying a bunch of consenting actors to pretend to be sewn together isn't harming anyone. 21:22:20 elliott, and if the court rule that Human Centipede 2 is harmful? 21:22:28 Phantom_Hoover: Then I believe they'll have made the wrong decision. 21:22:52 And making a film called "Let's Kill All The Jews" doesn't harm anyone involved in the production. 21:23:24 No, but depicting a bunch of people sewn together isn't harming any minority either. 21:23:37 People who aren't sewn together is a pretty large majority, in fact. 21:23:41 i believe the answer is: no tolerance for intolarance 21:23:44 @hoover 21:23:44 Unknown command, try @list 21:23:48 Phantom_Hoover: The mere act of producing such a thing does not really harm anyone. 21:24:15 Phantom_Hoover: Anyway, it's not like neo-Nazis can't watch "Let's Kill All The Jews" if they want to anyway; it's called the internet. 21:24:25 Hate speech laws are probably ineffective in such an instance. 21:24:46 That said, hate speech laws get very annoying edge cases. It's kinda inherent in the concept... 21:24:48 oerjan probably has one, even :P <-- the one on hackage is based on mine 21:25:15 I'm pretty sure The Metamorphosis of Prime Intellect would have been banned from publication if it was written quite a bit earlier 21:25:25 (Not that it has been published other than self-) 21:25:34 Most definitely. 21:25:46 FWIW, it does seem that the BBFC has simply refused to classify it, which isn't quite banning it. 21:26:15 What happened <-- when anyone anywhere issues the @undefine command to lambdabot, all @let's are discarded. sorry, that's just the way it is. 21:26:16 When classifying First Sequence, the BBFC had also taken legal advice that the film was not in breach of the Obscene Publications Act.[12] In contrast, the BBFC felt that the centipede of Full Sequence existed as purely "the object of the protagonist's depraved sexual fantasy".[11] 21:26:32 Phantom_Hoover: That seems like they're at least strongly implying it would be illegal to publish it in their view 21:26:39 The BBFC's report heavily criticised the film as making "little attempt to portray any of the victims in the film as anything other than objects to be brutalised, degraded and mutilated for the amusement and arousal of the central character, as well as for the pleasure of the audience"[1] and that the film was potentially in breach of the Obscene Publications Act, meaning its distribution in the UK (either in physical or download format) would be 21:26:39 illegal[13], The BBFC stated that they would not reclassify the film in future, as "no amount of cuts would allow them to give it a certificate".[13] 21:26:47 Phantom_Hoover: Since you can't sell unclassified works in the UK, it is pretty much banned. 21:26:48 Phantom_Hoover: So yeah, they've said distributing it would be illegal. 21:26:51 Potentially in breach, not actually in breach. 21:27:01 Well, non-exempt video works. 21:27:09 Phantom_Hoover: Well, they could go against the BBFC, but I bet they'd lose in court. 21:27:16 oerjan: what prompted dis <-- i started wondering about the power of just ` c and s 21:27:20 Whether it's actually banned-as-in-you-can't-watch-it is unclear unless the courts decide one way or the other. 21:27:33 It's obviously not banned to watch, just distribute 21:27:53 04:37:52: "Back in the summer of '87 he owned a giant venomous lizard. It somehow managed to escape, which led to the police shooting it with a shotgun. Because of the lack of laws against lizards, he was charged with possession of a "venomous, tree climbing alligator". 21:27:54 04:37:56: The above story was reported in Weekly World News as "police battle giant lizard". As a result, this is the only true and verifiable story ever reported in that tabloid." 21:27:54 04:38:02: Aaaand continue laughing. 21:27:55 rationalwiki :( 21:28:37 That's from RW? 21:28:40 would you say speech laws exclude the freedom of language and the ability of express everything you want to say? 21:28:59 Phantom_Hoover: i googled, it is 21:29:38 hagb4rd: I think you a word. 21:30:36 08:25:10: it's much much easier to introduce tau than pi though 21:30:36 08:25:19: if you're ever speaking to a pi unfamiliar audience just add one line: let tau = 2*pi 21:30:36 08:25:22: and then proceed as normal 21:30:47 Patashu: disadvantage: anyone who actually knows mathematics will ignore everything that follows 21:30:49 pikhq_: wow that meme is hard to parse without an adverb in there to make it clearer 21:31:03 I don't object to tau on principle, but it's such a stupid thing to "advocate" because it's so fucking minor. 21:31:08 especially as the no-adverb version is grammatically a correct sentence that means something else 21:31:15 This is essentially my position on the matter. 21:31:22 Anyone who makes a point of writing an entire serious work with it is probably too annoying to listen to. 21:31:54 elliott: I think it's one of many reasons I need a time machine. 21:32:53 There's also, of course, a large swath of missing Doctor Who episodes, and Hitler needs to go to art school. 21:32:58 why not just choose units so that pi = 1? 21:33:13 08:49:30: ...how did elliott get fixity declarations. 21:33:14 by asking oerjan 21:33:17 ais523: Non-integral bases are annoying. 21:33:21 ais523: Change the units of multiplication? :P 21:33:29 elliott: pikhq_'s reply is better 21:33:36 pikhq_: WWII not happening would probably be a Bad Thing. 21:33:46 a Different Thing, at least 21:33:59 elliott: Balls, it's true. 21:34:01 elliot, it's a pedagogy thing not a 'this will make math BETTER' thing 21:34:03 You could argue that it would make the probability of a disastrous war in the 20th century. 21:34:07 *much higher. 21:34:10 Let's go for a more radical change. 21:34:25 Patashu: Someone who would write a paper with tau is someone who would write a paper with diaereses and Spivak pronouns. 21:34:34 Since WWII led to the Cold War, which was actually pretty good as a way of enforcing general peace. 21:34:39 you should never write a paper with tau 21:34:42 only teach classes with tau 21:34:42 Yes, all these things are perfectly well and good, but I DON'T GIVE A SHIT ABOUT THEM, GET TO THE POINT. 21:34:49 Let's keep Rome going for longer. 21:34:52 I know when Asimov wrote a novel about time travel, he introduced the rule "any change to the past that isn't completely and categorically incompatible with the state of the present before the change will have only minor effects on its future past a few hundred years or so" 21:34:55 Patashu: Thus creating an even greater barrier between mathematics as taught in school and actual mathematics 21:34:56 AWESOME 21:34:58 why not just choose units so that pi = 1? <-- -----### 21:35:01 THAT'S DEFINITELY WHAT WE NEED 21:35:03 i.e. "accidental changes to the past tend to not have knock-on effects" 21:35:11 I think it was the only way to keep it vaguely sane 21:35:12 Just another, oh, few decades would give us the Industrial Revolution instead of the Dark Ages. 21:35:18 although it still introduced a sort of meta-time that remained stable 21:35:27 and as such, wasn't all that good a time travel novel 21:35:33 ais523: I kind of want a machine that can tell me What Would Have Been if one specific thing had been different 21:35:42 elliott: ouch 21:35:44 ais523: unfortunately, it'd just lead to me regretting 90 percent of my decisions 21:35:51 exactly 21:36:02 well, I'd think more like 50%, unless there were more than two choices 21:36:02 but that doesn't make me stop wanting it, because I don't know what's good for me 21:36:03 ais523: It also ended with the destruction of that meta-time. So... 21:36:11 elliott, use a quantum RNG to make all decisions. 21:36:13 ais523: when are there ever exactly two choices? 21:36:28 elliott: well, it depends on how you measure choicse 21:36:29 *choices 21:36:36 I suppose there's always the out-of-field solution 21:36:40 Imagine. Instead of the Crusades, we'd have a Roman Internet. 21:36:57 e.g. randomly punching someone nearby rather than doing or not doing what the choice was apparently about 21:36:59 -!- cheater01 has joined. 21:37:07 Although that leads to smug alternate elliott sneering at you from his perfect reality. 21:37:12 pikhq_: I don't think it ended up destroyed, just shunted into a state where timetravel was impossible 21:37:19 so it corresponded exactly to natural time from then on 21:37:20 pikhq_, I'm kind of glad the ancient world collapsed. 21:37:31 ais523: It ended with the creation of the time line we live in. 21:37:37 Although that leads to smug alternate elliott sneering at you from his perfect reality. 21:37:39 `quote IN AN ALTERNATE 21:37:40 ​17) IN AN ALTERNATE UNIVERSE: First, invent the direct mind-computer interface. Second, learn the rest with your NEW MIND-COMPUTER INTERFACE. \ 23) IN AN ALTERNATE UNIVERSE: there is plenty of room to get head twice at once \ 24) In an alternate universe, ehird has taste \ 25) IN AN 21:37:57 -!- cheater01 has quit (Remote host closed the connection). 21:38:06 Phantom_Hoover: How so? 21:38:12 Just another, oh, few decades would give us the Industrial Revolution instead of the Dark Ages. <-- at the end hadn't rome declined too much to achieve anything like that... you'd want to at least prevent the crisis of the third century 21:38:15 pikhq_, they... kind of sucked. 21:38:23 oerjan: Okay, well, true. 21:38:35 I mean, the Greeks *had* electricity, the beginnings of calculus, steam... 21:39:02 WHAT HAVE THE GRECO-ROMANS EVER DONE FOR US 21:39:03 -!- cheater3 has joined. 21:39:05 Phantom_Hoover: The world sucked up until the 20th century, TBH. 21:39:10 pikhq_: no 21:39:11 the world sucks 21:39:20 They just didn't develop it, because their society wasn't geared towards technological change in the same way the later societies were. 21:39:52 besides, the technology they had at the time was sufficient for them 21:39:57 so there wasn't much reason to upgrade 21:40:14 Phantom_Hoover: Uh, later societies were *really* poorly geared towards technological change. And arguably still are. 21:40:36 pikhq_, not to the extent that they just looked at it and said 'meh'. 21:40:51 No, they looked at it and said "THE DEVIL!" 21:41:38 I was referring to Enlightenment-era Europe, not Dark Ages Europe. 21:41:40 the world isn't the bible belt 21:42:16 You realise that the Dark Ages weren't the fall of the Empire to the 1800s, right? 21:42:26 Yes yes yes... 21:43:06 That *is* about the time span where we were fucking *behind* on tech, though. 21:44:41 silly rabbit, the middle ages never happened 21:45:50 23:34:53: 23:21 pikhq: Oh, right. He prefers the insane solution. 21:45:51 23:34:53: 23:21 pikhq: (in this case, per-OS Makefiles) 21:45:51 23:34:54: nope 21:45:51 23:36:10: ehird: What do you prefer? 21:45:52 23:36:18: pikhq: not using c :) 21:45:56 23:36:31: Ah, yes. The ignorant solution. 21:45:58 pikhq_ past you hurts my feelings 21:46:00 : ( 21:46:02 That *is* about the time span where we were fucking *behind* on tech, though. 21:46:07 Erm. 21:46:57 Europe was pulling ahead by the 1700s. 21:47:14 And when it started pulling ahead, it pulled ahead *fast*. 21:47:14 Bah, what's a century, anyways? :P 21:47:46 But, yeah, once it got to the level that the Romans had, it fucking *launched*. 21:49:49 Hmm. One thing the Romans didn't have that would have really made the Industrial Revolution non-feasible is gunpowder... 21:50:37 Which encouraged a lot of development in metallurgy. 21:51:28 s/non-// 21:52:00 Most notably, efficient production of steel. 21:52:50 (I specify "efficient production", because steel itself is a heck of a lot older than you think) 21:55:06 How old do you think I think steel is. 21:55:21 Come to think of it, who are you actually saying all these things to. 21:55:33 Okay, good point, you're not ignorant like the average American. :P 21:55:56 And honestly, I think I started monologing somewhere in there for no good reason. 21:56:58 must be your latent evil overlord genes 21:57:51 -!- azaq23 has joined. 22:00:15 * Phantom_Hoover → sleep 22:00:17 -!- Phantom_Hoover has quit (Quit: Leaving). 22:00:41 00:31:40: David slowed his pace slightly as his ears, in a vat of chocolate; only his less slightly paces can go faster. 22:00:44 i'm a genius 22:04:21 Hrm. OpenJDK is now the reference implementation of Java. 22:04:33 Your MOM is now the reference implementation of YOUR MOM. 22:04:37 [asterisk]FACE 22:05:13 elliott: that sentence seems to interpret "slightly" as an adjective, and even taking that into account I still can't parse it 22:05:28 00:31:32: David slowed (his pace slightly) as (his ears, in a vat of chocolate); only his less slightly paces can go faster. 22:05:32 http://www.bluishcoder.co.nz/2007/10/javascript-parser-combinators.html oooh 22:06:10 Theory: Sgeo is Chris Double, pretending to be Sgeo. 22:06:40 Evidence: Double likes Creatures. (End evidence.) 22:07:17 elliott: oh, right, the first "slightly" is a noun 22:07:18 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:07:28 now the sentence merely makes no sense, rather than being unparseable 22:07:34 I suppose that's an improvement 22:07:42 ais523: David slowed his ears, which were in a vat of chocolate. 22:07:50 David also slowed his [pace slightly] in a similar manner. 22:08:00 Only his less slightly paces can handle the faster speeds. 22:08:01 ah, so "as" = "as well as" here 22:08:04 ais523: that should explain it for you 22:08:10 err, I think so 22:08:15 Yeah. 22:08:26 Actually pace is the noun there. 22:08:29 "His pace slightly" = "His slightly pace". 22:08:32 i.e. "the grass green" 22:08:43 What a pace is, and how it can be slightly, is up for the reader to decide. 22:08:51 [asterisk]is for 22:10:14 David slowed his pace slightly as his ears, for he had the slightest ears in the land. 22:10:32 elliott: ah, I parsed it as "his pace 'slightly'", in that it was the pace's name 22:10:39 ais523: haha 22:10:46 "less slightly paces" makes no sense then, though 22:10:57 well, I parsed it as an adjective that time 22:11:08 nothing says it has to be parsed consistently, right? 22:11:15 "only his less Joe friends could be so nice" 22:11:45 -!- Phantom_Hoover has joined. 22:11:56 OK I wasn't actually asleep and I need to share this: 22:12:10 "If you watch NASA backwards, it's about a space agency that has no spaceflight capability, then does low-orbit flights, then lands on moon." 22:12:28 X-D 22:12:40 OK seriously sleep now. 22:12:42 -!- Phantom_Hoover has quit (Client Quit). 22:12:42 David slowed his pace slightly as his ears, like most sentences in this novel, did gently but surely and definitely yet somehow trail off in a manner that was... But I digress. 22:14:03 hmm, adding sleep_until() to a language can make it Turing-complete 22:14:42 heh, took a while to understand that NASA joke 22:14:45 There once was a lady of Niger; who smiled as she rode on a tiger. They returned from the ride, with the lady inside, and the smile on the face on the tiger. 22:14:52 olsner: Seriously? :P 22:15:08 oerjan: is that semicolon right? or is it actually part of the weirdness, hmm 22:15:16 oh wait it's not weird 22:15:22 i thought the lady was implied to be inside the face of the tiger 22:15:23 somehow 22:15:36 elliott: yeah, first I thought "but... that's forwards!" and then "oooh! I see!" 22:15:58 elliott: i just tried to digress about a nigress and a tigress, is all 22:16:05 what NASA joke? 22:16:11 ais523: the NASA one 22:16:29 ah, for some reason I skipped it in scrollback 22:16:39 and yes, that's a pretty good observation 22:16:55 there must be some clever way to tie that into an in-soviet-russia joke, but I'm not seeing it right now 22:17:17 let's have some groupthink sentiment that nobody will disagree with: some funds need directing from the us military to nasa :( 22:17:40 "My voice is my passport. Verify me." did not originate with Uplink? 22:17:42 Meh 22:18:00 all this space research is only useful if it gets us a second habitable planet to live on, given that we're using up the resources of the current one too quickly 22:18:09 Sgeo: most parts of uplink are references to bad films, why would you expect that to be different? 22:18:15 Sgeo: it's from some... movie or tv series... one that I've seen 22:18:26 ais523: Understanding the universe is inherently worthwhile, IMO 22:18:33 olsner: Sneakers 22:18:37 Says Google 22:18:53 elliott: understanding the universe is /possible/? 22:19:05 ais523: Are you saying the universe can't be understood at all? 22:19:14 That would imply that physics doesn't exist as a subject. 22:19:19 Or science of any sort really 22:19:23 oh, right, it's that magic crypto chip movie 22:19:28 Do we really need another planet? Would a space station that had mining operations on other objects in our solar system be good enough? 22:19:41 elliott: I don't think it's truly understandable, but I think you can get decent approximations that hold up a reasonable proportion of the time 22:19:46 Sgeo: it's probably easier to terraform Mars than do that :P 22:19:53 I mean, for a large group of people 22:20:01 ais523: You're saying that you don't believe the universe has a consistent set of laws? 22:20:15 Seriously? 22:20:28 elliott: I think the situation in which the universe doesn't make sense is more likely than the situation in which it does 22:20:39 I am not using the words "make sense" on purpose. 22:20:46 Please answer my question without rewording it. 22:21:06 elliott: I'm not entirely sure your question has a non-misleading answer 22:21:21 to the extent that I'm not sure what the correct answer is 22:21:27 It's a yes-or-no question 22:21:31 elliott: it is quite conceivable that there are always new, unpredictable exotic particles to be found randomly as you increase to higher energy levels. and that's just an obvious idea from the research that is already being done... 22:21:36 Does the universe have a consistent set of laws, or is it completely illogical? 22:21:40 elliott: that doesn't mean I necessarily know the answer 22:21:45 In your opinion. 22:21:50 also, I'm not sure that those are opposites 22:21:59 Then you don't know what I mean by "illogical". 22:22:05 but completely illogical seems the most likely out of those two possibilities 22:22:10 *more likely 22:22:24 In your estimation, is there a logically consistent axiomatic system in which there are a group of statements which comprise a complete description of how our universe operates? 22:22:37 no 22:22:41 Wow. 22:22:48 I'd be very surprised if there were 22:23:11 Final question: Do you realise that even the physical existence (somehow, say encoded into atoms) of Chaitin's constant would be permissable under my question? 22:23:26 ais523, space research gave you non-stick frying pans!!!!!!!!!! 22:23:28 elliott: I don't see how Chaitin's constant has anything to do with it 22:23:39 cheater3: I don't think I've ever used one of those 22:23:42 ais523: It is not directly related, but I would like an answer. 22:23:45 is the same coating used on saucepans? I've used those 22:23:52 elliott: "permissable under my question"? 22:24:05 ais523, do you cook? 22:24:09 cheater3: rarely 22:24:13 when I need food, sometimes 22:24:17 philistine! 22:24:20 although I prefer reheating tins 22:24:24 ais523: As in: Do you realise that a universe in which there is a physical realisation of the entirety of Chaitin's constant could still be logical under my definition? 22:24:25 jesus 22:24:31 or just buying ingredients on the spot and eating them raw 22:24:39 i'm not surprised you're so lackluster sometimes 22:24:45 elliott: yes, that doesn't seem to be surprising 22:24:57 ais523: And you still affirm your answer to my question about axiomatic systems, yes? 22:24:58 * cheater3 teaches ais523 how to cook in 1203498 simple steps. 22:25:04 elliott: yes 22:25:11 cheater3: oh, I know how to in theory 22:25:22 there's no such thing as cooking theory 22:25:25 it just doesn't seem worth spending that much time when I can achieve a similar result more simply 22:25:40 ais523: Then we have COMPLETELY and fundamentally different worldviews, and can never agree on any statement related to the material world, at all. 22:25:42 for very small values of similar 22:26:21 elliott: that seems to fit with what's happened in this channel so far 22:26:30 we can approximately agree, though, which is good enough 22:26:34 No, it isn't 22:26:45 You have completely rejected all forms of logic as a valid basis for the universe 22:26:52 It is _literally_ impossible for us to agree on anything 22:26:56 (that is not purely mathematical) 22:27:04 elliott: I don't think that follows 22:27:51 oerjan: what do you think? Are there laws of physics? 22:28:23 insufficient data for meaningful answer 22:28:59 heh 22:29:38 ais523: I feel really strongly that I have miscommunicated with you, because your position, as it appears to me, is one of the few things I am completely decisive and sure about and which everyone I've talked to will agree completely with 22:30:14 I'm fairly scared that you think it, actually (note: not the same thing as "I believe it because the alternative scares me") 22:33:02 -!- elliott_ has joined. 22:33:02 -!- elliott has quit (Read error: Connection reset by peer). 22:36:48 elliott_: I agree with ais523 on this one. 22:37:05 but I don't think it's such a huge difference in perspective to make it /impossible/ to agree on /anything/. 22:37:08 as you put it. 22:37:28 CakeProphet: while i merely /expect/ I've miscommunicated with ais523, I am something like ninety percent sure I've miscommunicated with you about it 22:37:51 what's the difference between a LIFO and a FILO? 22:37:59 (this isn't because I think you're an idiot or anything, just that I was phrasing my statements purely for ais523, and I seem to have an easier time communicating with him on questions which resemble the one I made than I do with you) 22:38:16 but I note that it _does_ make it impossible to agree on anything _about the universe_ 22:38:16 cheater3: a FILO is a sort of pastry 22:38:22 just like it's impossible to argue with someone who rejects logic 22:38:40 * Sgeo just noticed the awesomeness of the [S] Make Her Pay preloader 22:38:42 it is impossible to argue about a logical statement about the universe if you think the universe is not logical 22:38:44 cheater3: never heard the word FILO used 22:38:47 elliott_: how do you know that the sort of logic you subscribe to is the one the universe actually follows? 22:39:01 ais523: I'm too busy reeling from the shock to discuss this further right now, sorry 22:39:02 there's more than one, you know 22:39:35 LIFO and FIFO is the usual distinction 22:40:11 FILO and LILO :) 22:41:52 LILO == FIFO and LIFO == FILO 22:42:16 it is possible to think that the known laws of physics are incomplete while also thinking that they are almost never broken to any detectable degree. 22:42:53 which is pretty much the case with current version of Standard Model + General Relativity 22:44:08 you only don't see them broken so much because the scales they break on are almost incomprehensible 22:44:40 incomprehensible ~ hard to probe and detect, there 22:44:52 yeah sure 22:44:55 * Patashu finds physics hard ok 22:45:13 oerjan: Yes, but that just means we have not _found_ the laws yet 22:45:40 oerjan: That's how relativity and quantum physics arose, after all 22:45:41 elliott_: there does not have to be an _actual_ set of laws for a good approximation to exist 22:45:51 oerjan: Of course not, who said that? 22:46:04 -!- Gregor has set topic: Man with dead polecat-like creature accused of #esoteric assault | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 22:46:07 how can there -not- be laws? 22:46:46 one must have laws or there will be no order! 22:47:14 I could segway into anarchy now... 22:47:34 but that's a bad idea, as I will die. 22:49:56 [asterisk]segue 22:49:59 Although segway is amusing too 22:50:00 elliott_: Ultimately, it is unknowable whether or not the universe is logical. 22:50:09 elliott_: Or, indeed, if it exists. 22:50:11 Soo... 22:50:14 it exists 22:50:17 that's a tautology 22:50:26 elliott_: i was reminded of that guy i read about segwaying off a cliff 22:50:29 Well, rather, "the universe as we observe it". 22:50:31 I believe that any set of non-trivial axiomatic laws for the universe will be inconsistent or unable to prove its own completeness. Thus, while we can certainly make pretty good approximations of how the universe works, I don't think we can ever be certain that we have discovered everything that can be known about it. This doesn't disprove that a complete system might exist, but it makes unlikely that we'll ever know wha 22:50:38 but anyway, unknowable doesn't mean you can't have a belief about it, this is a fundamental opinion equivalent to saying "physics /does not work/ in the longest term" 22:50:44 oerjan: you mean the guy who bought the company? :) 22:50:51 Clearly, it exists at *least* in the sense that there is some place that my mind exists. 22:51:04 elliott_: i vaguely recall something like that 22:51:47 True, true. I am pretty sure that the universe as observed exists and follows logical laws. 22:51:49 oerjan: it was 22:51:58 At least, in so far as I have observed it, it does. 23:02:36 Yow! Legally imposed CULTURE-reduction is CABBAGE-BRAINED! 23:03:44 `addquote You have no idea how desperately I want to avoid being a GC guy :P Every year I go to ISMM and Doug Lea gives me a bizarrely-cheery "Hello!" and I'm like "awww shit I'm in memory management" 23:03:45 ​447) You have no idea how desperately I want to avoid being a GC guy :P Every year I go to ISMM and Doug Lea gives me a bizarrely-cheery "Hello!" and I'm like "awww shit I'm in memory management" 23:04:39 pikhq_: it's just tricking you into thinking so *MWAHAHAHA* 23:04:51 oerjan: That is entirelty unknowable. 23:04:53 Entirely, too. 23:05:20 sure, *for now* 23:06:29 In other news, I actually have magic powers. 23:06:34 ditto sup 23:06:45 CakeProphet: Did you continue reading Homestuck, btw? :p 23:07:02 Demonstrate it or STFU, n00b. :P 23:07:14 pikhq_: die to death 23:07:33 hm this reminds me of this idea i had, that maybe i don't actually exist more than a moment and every new moment i will be someone entirely different with different memories which might make it _seem_ like i am existing in a continuity 23:07:37 How else would one die? 23:07:55 only to disappear again the next one 23:07:59 pikhq_: die t... to life 23:08:08 oerjan: see: Boltzmann brain 23:08:28 Yudkowsky or someone actually came up with a fairly decent argument that we're not Boltzmann brains, IIRC 23:08:32 I forget what it was, though 23:09:07 (which is quite important, otherwise you have to consider that you never existed before now and won't exist after now a pretty plausible hypothesis) 23:09:35 oerjan: I have some friends who have had similar thoughts. Granted they were on acid, so it was probably more like a delusion than a thought. 23:10:23 "A friend had this thought on acid" -- words which never precede anything of interest 23:10:31 One friend found "God" this way, apparently. 23:11:00 Being in a state of hallucination is probably the best way to perceive a god, I guess. 23:11:20 I tried to tell him what was wrong with that entire idea, but he doesn't see it. 23:11:46 it might be worth considering that he's an idiot 23:12:09 yes, he is. 23:12:18 and a programmer too. Imagine that. 23:12:33 Anything observed whilst on a hallucinogen is *most probably* not going to have much bearing on reality. 23:12:41 oh well then he's definitely an idiot 23:12:43 ;;;;;;;;;;;DDDDDDdddddddd 23:12:57 Though it may be a good source of art. 23:12:58 pikhq_: this has been my long-standing hypothesis as well. It seems to be pretty true. 23:12:58 elliott_: boltzmann brains is not quite what i was thinking of, i wasn't saying the change from one identity to another is _random_. also boltzmann brains seem to have at least limited continuity. 23:13:13 oerjan: I was just saying they are similar concepts 23:13:39 CakeProphet: At least insofar as we can observe, hallucinogens create incorrect observations. So, yeah. 23:13:45 oerjan: what does this theory say about cabbage brains? 23:13:50 pikhq_: so does thinking 23:14:38 elliott_: Sorry, *even more* incorrect observations than we already have. 23:14:48 what's a cabbage brain 23:14:56 elliott_: oooh, you just raise the SICK BURN meter. 23:15:06 oerjan: what a cabbage uses to think 23:15:09 oerjan: a brain that seeks to legally impose culture reduction. 23:15:18 CakeProphet: i was being serious 23:15:19 what's culture reduction 23:15:24 oerjan: what a culture uses to reduce 23:15:33 elliott_: right, but your statemenet doesn't really contradict anything he said. 23:15:34 i like the ideas of henry bergson.. it implies that the brains functions have more the character of reduction 23:15:37 like a filter 23:15:44 CakeProphet: I was pointing out that what he was saying didn't really mean anything 23:15:59 which at last allows you identify with yourself 23:16:13 and keep thing quite smooth 23:16:17 oerjan: uh... good question actually. 23:16:27 oerjan: I don't know, but emacs has all the answers for you. 23:16:41 oh. i will never know either, then. 23:17:00 oerjan: you will if you M-x psychoanalyze-pinhead 23:17:21 hmm, zippy 23:17:38 or m-x yow 23:17:59 * oerjan recalls reading zippy the pinhead in the newspaper when he was visiting seattle 23:19:12 ?yow 23:19:12 Couldn't find fortune file 23:19:16 huh 23:19:31 `run fortune 23:19:32 No output. 23:19:34 aww. 23:19:38 THEY'VE LOBOTOMIZED LAMBDABOT 23:19:46 !sh fortune 23:19:47 ​/tmp/input.9942: line 1: fortune: command not found 23:19:50 yow! 23:19:56 oerjan: when was that, seventeen hundreds? 23:20:04 Gregor: plz to be install fortune 23:20:08 1996 23:20:26 wow that's like the dark ages, man 23:20:28 oerjan: suuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuure 23:20:33 they didn't have aeroplanes then dude. 23:20:40 i was only a year old. 23:20:43 can't fool me 23:20:49 or wai t 23:20:49 * CakeProphet was 5. 23:20:50 elliott_: i was hoping for close enough 23:20:52 did you go on a ship 23:20:55 like with a sail and everything 23:20:58 oerjan: heh :D 23:21:18 oerjan: btw if you want a certain response just /msg me it, i'm all for manufacturing good irc 23:21:38 HOW COULD YOU DO SUCH A THING 23:22:25 irc corp: manufacturing good irc for you and babies 23:22:45 how much for the babies 23:23:06 and is ketchup included 23:24:10 no 23:24:15 Gregor: http://codu.org/davidslowed/ 23:24:16 remember this 23:24:17 how are they prepared? 23:24:25 boiled, grilled, smoked? 23:24:28 `quote 23:24:29 ​125) okay I see it now, quines do exist 23:24:40 pickled? 23:24:55 olsner: that only works in Python. 23:25:15 and I've never heard of any of those other serialization methods. 23:25:17 "Python: It pickles babies" 23:25:44 `quote 23:25:45 ​186) colon is where your ass comes from right 23:26:26 * elliott_ thinks myndzi is an elliottf 23:26:26 * myndzi thinks elliott_ is an elliottf 23:26:28 aww 23:26:48 -!- elliott_ has changed nick to fgh1. 23:26:57 * fgh1 * myndzi * fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f 23:26:58 * myndzi thinks elliott_ * fgh1 * fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f fgh1f 23:27:00 -!- fgh1 has changed nick to elliott. 23:27:02 darn, it was fixed :) 23:27:06 elliott: Yes, I remember that :P 23:27:12 -!- elliott has quit (Changing host). 23:27:12 -!- elliott has joined. 23:27:45 !underload (( okay I see it now, quines do exist)!a(:^)*S):^ 23:27:46 ​(( okay I see it now, quines do exist)!a(:^)*S):^ 23:29:00 wicked point in quine-space, brocephus. 23:29:46 if the universe is a quine, what are the cosmological implications? discuss! 23:29:56 olsner: whoaaaaaaaaaaa maaaaaaaan 23:30:02 im so HIGH on these DRUGS you are TELLING ME....... 23:30:08 What was that collection if hugely-optimized intrinsics like memset for various archs? 23:30:18 Gregor: Superoptimised stuff? 23:30:24 I think there's a paper with a metric fuckton of them 23:30:35 Superoptimisation: provably optimal code generation using answer ... 23:30:35 by T Crick - 2009 - Related articles 23:30:35 Superoptimisation: provably optimal code generation using answer set ... 23:30:35 opus.bath.ac.uk/20352/ - Cached 23:30:36 Stuff like that 23:30:42 I forget the exact term 23:31:01 All I want is the fastest one-instruction x86_64 memset given that I always have a number of word-size things to zero. 23:31:14 One-instruction? 23:31:20 I don't know why I wrote that :P 23:31:22 The one-instruction memsets are ... slow :P 23:31:23 Fastest is what's important :P 23:31:35 obviously that'd be "call memset" 23:31:53 Gregor: If you want one-instruction, "rep movsdw" or whatever the ATandT mnemonic is would do. 23:31:59 ISTR that kind of stuff is pretty slow nowadays, though. 23:32:28 olsner: while (ptrs--) *ptr++ = NULL; is currently behaving reliably faster than memset. 23:32:39 glibc memset? 23:32:41 lulz 23:32:48 " BTW the AMD manual for K7 (or might be K6 optimisation manual? don't 23:32:48 exactly remember) goes into great detail about both memcpy() and 23:32:48 memset(). Turns out there's about five different cases. 23:32:50 In the meantime Deewiant has told me that on 64 bit glibc memset is better and 23:32:52 on more modern CPUs the timings are different (and on 64 bit my first version 23:32:54 may not work, maybe the second one is better. I have not tested it on 64 bit 23:32:56 LDC yet). I'm just a newbie on this stuff, while people that write the memset 23:32:58 of 64bit glibc are expert." 23:33:00 Somehow my Googlequest led me to the D lists. 23:33:01 dude, why don't regular expression grammars work like mine and ais523's 23:33:02 Deewiant -- EVERYWHERE. 23:33:53 -!- azaq23 has quit (Quit: Leaving.). 23:33:58 CakeProphet: wat 23:34:17 if one substitition operation is a -> b, then a greedy substition is just (a -> b)* 23:34:23 it makes so much sense. 23:34:37 that's not a grammar 23:34:51 and you mean a global substitution 23:35:05 ... -_- 23:35:32 what? 23:35:57 I occasionally like to talk in very loose terms. I have come to realize that is not allowed here. 23:36:16 well, not when you're complaining :) 23:37:24 (a=b)* isn't a global substitution in Cyclexa, but an iterated substitution 23:37:41 Gregor: Anyway, try the REP MOV thing; http://faydoc.tripod.com/cpu/rep.htm 23:37:42 which might or might not come to the same thing if it isn't anchored, depending on whether the search string can match the replacement 23:37:44 I think, at least 23:37:51 Gregor: Oh wait 23:37:52 Gregor: memset? 23:37:56 Gregor: Try REP STOS 23:38:00 It might be slower, but it might not be 23:38:04 And it's certainly tiny 23:38:11 ais523: you mean it only applies to the beginning of the string? 23:38:22 mov ecx, LOLCOUNT 23:38:24 or? it only applies from that point onward. 23:38:25 mov eax, LOLVALUE 23:38:28 mov edi, LOLPOINTER 23:38:37 rep stos [I think some qualified] 23:38:43 That's Intel 23:38:46 ATandT yer on your own 23:38:50 CakeProphet: depends on if it's anchored or not 23:38:53 mov elliott, LOLINTERNET 23:38:55 Sixtyfour bit presumably has an obvious analogue 23:39:12 -!- Patashu has quit (Ping timeout: 240 seconds). 23:40:00 Gregor SURE IS THANKFUL FOR ALL MY HARD WORK 23:40:05 it does, there's a stosq that stores rax into rdi instead of eax into edi 23:41:20 Right. 23:41:37 *eax into rdi 23:43:13 17:19:07: So... Debian Fail. 23:43:13 17:19:11: <3 Gentoo. 23:43:21 i shouldn't just quote silly things past pikhq_ says 23:43:25 who else wants bad quotes of their past self 23:43:27 NOT ME 23:43:53 Gregor: "The MASM Forum has a lot of incredible assembly language programmers/hobbyists who have beaten this issue completely to death (have a look through The Laboratory). The results were much like Christopher's response: SSE is incredible for large, aligned, buffers, but going down you will eventually reach such a small size that a basic for loop is just as quick." 23:43:56 Tried SSE? :P 23:43:59 hmm, though I wonder if you can override the address size to 32-bit in long mode, never really reflected over that 23:44:40 elliott: A GC pool is most assuredly a large, aligned buffer. 23:44:40 Is it immoral to write a non-optimizing compiler for a non-esoteric language? 23:44:43 no 23:44:58 there are even valid uses for such a compiler, apart from practicing compiler writing 23:45:00 Gregor: Oh god... but if you do SSE, you'll be like fucking Vorpal, who used inline assembly just to use SSE to zero out static fungespace. 23:45:05 people may be annoyed if they're forced to use it 23:45:24 Gregor: Except that you're writing an advanced GC, not a Funge interpreter, so it's okay :P 23:45:32 Gregor: You'll restrict yourself to PROCESSORS WITH SSE, though. 23:45:37 CAN YOU BRING YOURSELF TO DO THAT 23:45:43 YOU'LL BREAK DOS COMPATIBILITY FOR PENTIUM IIS 23:45:47 MAKE IT AN OPTION 23:45:59 I should at least do arithmatic ahead of time when possible 23:46:11 Better yet: When easy to do 23:46:23 Sgeo: look into constant folding, instruction simplification 23:47:17 elliott: It's probably not worthwhile, I'm just having some thoughts because right now I have to clear out things when I allocate, which is all wrong >_> 23:47:36 Gregor: You realise SSE is not very hard :P 23:47:43 Gregor: Is this part of giving memory back to the OS? 23:48:26 Wow, "instruction simplification" is hard to find on Wikipedia and google 23:48:54 i think Deewiant told me that :) 23:48:59 basically x+0 -> x isn't technically constant folding 23:49:11 elliott: Nothing to do with giving memory back, no. 23:49:16 That's not actually a good idea ;P 23:49:27 Gregor: But you said you were gonna do it :P 23:49:34 I lie *shrugs* 23:49:47 Gregor: I don't see why it's a bad idea though 23:49:56 I forgot that my pool allocator has a Windows backend too, and I'm too lazy to figure out how to do it on Windows. 23:50:50 Heard of free()? 23:50:55 I joke :P 23:51:00 How do you allocate (from the OS) on Windows? 23:51:14 Idonno, VirtualWTFMemoryLolsy 23:51:20 I just decided not to look into it right now. 23:51:29 I'LL CHECK 23:51:42 maybe you could just malloc, that might go to the other thing for large allocations? 23:51:55 olsner: >_< 23:52:02 There, did Gregor's job for him. 23:52:20 87 #if defined(USE_ALLOCATOR_MMAP) 23:52:20 88 munmap(ret, (char *) base - (char *) ret); 23:52:20 89 munmap((void *) ((char *) base + sz), sz - ((char *) base - (char *) ret)); 23:52:20 90 #elif defined(USE_ALLOCATOR_WIN32) 23:52:20 91 VirtualFree(ret, (char *) base - (char *) ret, MEM_RELEASE); 23:52:21 92 VirtualFree((void *) ((char *) base + sz), sz - ((char *) base - (char *) ret), MEM_RELEASE); 23:52:24 93 #endif 23:52:27 Gregor: You do that if it's not aligned. 23:52:32 Gregor: You already _have_ freeing code :P 23:52:34 but I suspect windows' malloc sucks, mallocs always suck 23:52:41 THANK YOU COME AGAIN. 23:52:59 Also I note that that block of code just becomes nonsensical if USE_ALLOCATOR_MALLOC is on. 23:53:06 Because you don't handle that case at all, but still have the conditional. 23:53:44 elliott: Ohlol :P 23:53:52 *eh*, still not doing it now. 23:53:52 crap, up too late today as well 23:53:53 Gregor: THANK YOU COME AGAIN 23:53:57 Oh wait I already said that. 23:53:58 DARN 23:54:51 and I just became so tried that I was about to reply to elliott in swedish 23:54:57 olsner: please do so 23:55:19 yes box, alright 23:55:25 what 23:55:48 box is swedish english for boss 23:55:55 lol swedes 23:56:04 olsner: [asterisk]swenglish 23:56:10 in this particular phrase anyway, it's not used anywhere else 23:57:50 meh, boring, cya next week 23:58:13 see you trombone house 23:58:19 : the future: the past 23:58:44 !sffedeesh Thank you come again 23:58:44 ​Thoooonk yoooouuuu coooome-a-a-a-a igeeee-a-a 23:58:52 igeeee-a-a 2011-06-10: 00:05:50 -!- Lymia has quit (Ping timeout: 240 seconds). 00:12:30 http://linux.softpedia.com/get/Programming/Interpreters/cfunge-37128.shtml 00:30:19 -!- cheater3 has quit (Ping timeout: 252 seconds). 00:30:54 -!- augur has quit (Remote host closed the connection). 00:41:47 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:43:44 -!- FireFly has quit (Quit: swatted to death). 00:44:20 !swedish again 00:44:21 ​egeeen 00:44:28 !swedish egeeen 00:44:29 ​egeeee 00:44:43 !swedish egeeee 00:44:44 ​egeeee-a 00:44:54 !swedish egeeee-a 00:44:54 ​egeeee-a-a 00:45:04 !swedish come again 00:45:04 ​cume-a egeeen 00:45:17 !swedish cume-a egeeen 00:45:18 ​coome-a-a igeeee 00:45:44 -!- foocraft has joined. 00:49:03 My yow.lines apparently only has the cabbage-brain quote. 00:51:28 -!- ralc has quit (Quit: Leaving). 01:12:34 hmmm, now the question is 01:12:55 how do I support programmer-defined prefix, postfix, infix, ternary, and circumfix operators... 01:12:59 without it being a huge mess. 01:13:53 hmm, should I use harpy or generate nasm code myself 01:14:00 CakeProphet: agda mixfix 01:15:58 -!- hagb4rd has quit (Quit: hagb4rd). 01:18:36 The function fac is not really our wanted factorial function. Instead 01:18:36 it is a monadic command that, when executed, writes assembler code 01:18:36 into a buffer. To ensure, that this buffer is always large enough to hold 01:18:36 the generated instruction, you have to sprinkle your code with calls to 01:18:36 ensureBufferSize. In line 7 we make sure that 160 bytes are available, 01:18:37 which is enough for our 10 instructions. As a rule of thumb, no instruction 01:18:38 can be larger than 16 bytes, so the number of assembler instructions times 01:18:40 16 is a safe upper bound. 01:18:42 BARF 01:23:56 hey olsner 01:24:02 if I want to push a structure to the stack 01:24:06 do I push the first field first or last 01:24:11 * elliott is not so smrt 01:24:48 aka "is the stack growing upwards or downwards"? 01:25:21 oh and what about alignment 01:25:40 oerjan: on xeightsix 01:25:44 and alignment dfjsodfj 01:25:49 well it's a dword and a byte 01:25:55 i can make that two dwords if necessary 01:25:59 (dword = thirty two bits, i.e. machine word here) 01:26:12 (note: i don't actually know any specific answers) 01:26:58 :D 01:30:11 i know some specific answers 01:31:00 *GASP* 01:31:25 " colon is where your ass comes from right" <<< what :D have i said this :DS 01:31:34 yes :D 01:32:51 and I just became so tried that I was about to reply to elliott in swedish 01:32:51 olsner: please do so 01:32:54 what if I do that 01:33:36 no i hate you i want olsner to do it :( 01:33:59 elliott, aha, jag förstår 01:34:05 elliott: du r en svansnyckel 01:34:15 oklopol, en vad för något? 01:34:20 oklopol, "tail key"? 01:34:22 wtf is that 01:34:24 svansnyckel 01:34:30 oklopol, what on earth is that 01:34:31 ... 01:34:35 you just said it 01:34:45 oklopol, then what does a tail key do 01:34:51 I just translated the compound word 01:34:57 I have no idea what a tail key IS 01:35:01 erm, obviously that depends on the data structure 01:35:20 oklopol, oh, I was imagining something like an hexkey, like you get with IKEA stuff 01:35:38 :D 01:35:38 nej, bara en svansnyckel. 01:35:54 okej 01:36:00 okej dokej 01:36:05 as they say in sweden 01:36:15 hm 01:36:32 Jag tror det är ute liksom 01:37:44 A theory about Rose from a CS perspective (self.homestuck) 01:37:45 posts that can not be good dot txt 01:38:03 so um half of thursdays lectures were time travel stuff 01:38:15 oklopol: HAHAHA 01:38:41 a rose by any other name would still be NP-complete 01:39:01 and *not* within a formal model. *shiver* 01:39:36 thought experiments and shit 01:40:13 timey-wimey braided algebras 01:40:52 and everyone found it really funny when the lecturer presented his examples of weird ways time travel would work because they were sooo crazy. and i was like oh god, did i just teleport into some kind of monkey kindergarten. 01:41:01 *braided hopf algebras 01:41:39 i wish i had the balls i had in high school when i'd just start laughing and walk out when things got stupid 01:42:44 Vorpal: oh btw i totally don't get " Jag tror det är ute liksom" 01:43:29 oklopol, that means that I think "okej dokej" is slang that is no longer in fashion 01:44:12 erm "ute" as in english "out (of fashion)"? 01:44:13 ... "okej dokej"? Is that in *any* way similar to the apparent cognate in English? 01:44:27 pikhq_: in *very* way similar. 01:45:51 elliott: granted, i didn't actually understand half of the time travel stuff they said so it might have made sense. everything i did understand was retarded at least tho. :D 01:47:01 oklopol: Most discussions of time travel are. 01:47:22 ill discuss 01:47:22 YOUR 01:47:23 time 01:47:24 travle 01:47:25 s 01:48:17 It's one of those things that generally gets handwaved because people really don't want to contemplate the (il)logic of it all. 01:48:22 pikhq_: but it's an INTERNATIONAL CONFERENCE, and we all know people who talk in those must be p smart right? at least wolfram didn't come.... :DSDS 01:48:47 that would've been just... awesome 01:51:49 half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in time is still moving forward on this axis, you are just given a copy of past contents of the world. 01:52:02 aaaand i just said something trivial and retarded about tt 01:52:11 luckily it's so long you can't quote it 01:52:33 `addquote half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in time is still moving forward on this axis, you are just given a copy of past contents of the world. 01:52:34 ​448) half the time the time travel model is one where a consistent universe essentially seems impossible if it supports any nontrivial agent-like behavior (because certainly one agent will want to destroy it using a retarded paradox), the other half seems to actually assume an implicit extra time axis and moving in 01:52:36 try me bitch 01:52:38 HAH 01:52:44 its in the file dude 01:52:46 its in the file 01:52:50 `pastequotes time travel 01:52:51 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5048 01:53:04 :D 01:53:44 elliott: are you sure it will be apparent why that was quoted in the first place :D 01:53:54 oklopol: who cares :) 01:54:03 good point :P 01:56:04 i kind of want to buy domino tiles and build a half-adder, but there's the slight problem that you can only try it on one input and then it's gone :\ 01:56:24 oklopol: make a self-resetting domino computer 01:56:28 using like 01:56:30 vacuum dominoes 01:56:31 to un-fall 01:57:06 vacuum dominoes huh 01:57:09 yeah 01:57:32 what i want is some sort of global "plz get up again lol" button 01:57:59 your idea is pressing it pumps the dominoes full of vacuum so that air pressure lifts them in the air or something? 01:58:43 oklopol: like, a domino that, when it falls, pushes a gust of air in front of it 01:58:49 so that a fallen domino in front of it will upright itself 01:58:50 and um 01:58:51 hm... dominoes with resettable springs 01:58:58 you just need a bunch of them lined up next to all your real dominoes 01:58:59 yeah 01:59:00 and a trigger 01:59:26 but they can't just rise right away, the implementation of all nontrivial behaviors *relies* on dominoes falling just once 01:59:40 oklopol: thus the trigger 01:59:42 at least the way that psychologist dude did it 01:59:50 when you need to reset, you make it flip over the trigger 01:59:55 which then runs down a line of vacuum dominoes 02:00:41 " you just need a bunch of them lined up next to all your real dominoes" <<< so to lift up my dominoes, i build another identical arrangement next to the fallen one? 02:01:43 I SEE NO PROBLEM WITH THAT PLAN 02:02:07 oklopol: yes 02:02:15 um wait what? 02:02:21 no, the vacuum dominoes next to them /lift up/ the dominoes 02:02:23 thus resetting them 02:02:29 yeah, while falling themselves 02:02:44 oklopol: oh 02:02:46 but that's not really a problem since you can just use another layer of vacuum dominoes 02:02:47 well they push down too 02:02:55 oklopol: no wait, have another type of domino 02:03:01 when it's pushed down, it blows air to the side of it 02:03:06 then, just use them as your normal dominoes 02:03:11 erm 02:03:12 when it's pushed up 02:03:17 and they'll prop up the vacuum dominoes as soon as they're used 02:03:18 :D 02:03:29 so am i to understand vacuum dominoes pass a signal along the arrangement, while not losing potential energy in the process? 02:03:33 yes. 02:03:37 ah 02:03:41 also they use time travel 02:03:49 elliott: ew, underscores. 02:03:53 effectively they teleport all the dominoes back in time to when they were all up. 02:03:55 understand now? 02:04:06 CakeProphet: got no asterisk key fucker 02:04:08 yes 02:04:53 oklopol: oerjan's spring idea is better :P 02:05:05 just need a trigger for the springs that is weak enough to be pushed by a domino 02:05:11 and then um, acts as a spring itself 02:05:24 wait 02:05:27 ELECTROMAGNETS 02:05:33 there are little platforms for all the dominoes 02:05:34 actually for a while yesterday i seriously did try to come up with a domino tile that would fall, and then automatically rise up after falling 02:05:35 that are magnets 02:05:38 and there's a button 02:05:41 that when a domino falls on it 02:05:49 turns on all the electromagnets for like half a second 02:05:52 then i realized there's this thing called physics 02:05:53 snapping all the dominoes back into place 02:05:58 because the bottom of them is magnetic 02:06:00 best idea???? 02:06:32 yesssss 02:06:57 i'd replace my computer with one made out of those 02:07:49 anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours 02:08:17 and masturbate as well 02:10:24 `addquote anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours and masturbate as well 02:10:25 ​449) anyway i have to get going, first lecture at 9 and i need to do a few iterations on my article, and do some unmentionable things which also take hours and masturbate as well 02:13:11 `quote 02:13:13 ​244) oerjan: What, can girls aim their penises better? 02:14:43 elliott: oh, I was referring to the agda mixfix stuff. 02:14:51 CakeProphet: oh, well that's irrelevant 02:15:04 you don't really use underscores in identifiers in haskell or agda 02:15:05 so it's a decent choice 02:15:13 -!- elliott has left ("Leaving"). 02:15:21 LAMENESS 02:15:26 -!- elliott has joined. 02:16:30 I will instead do something ridiculous. 02:17:45 I was thinking about including some kind of metasyntactic capability beyond the limited form I'm thinking of implementing. 02:17:52 CakeProphet: how is it lame 02:17:53 but that will probably just makes things really confusing. 02:17:54 just pick another damn character 02:17:57 it can even be syntax like 02:18:00 "if","then","else" 02:18:04 so you can use every character in a name 02:18:11 come on, the meaningful part of mixfix is how you implement it 02:18:21 it lets you mix operators of all fixity, and also make control structures into operators 02:18:21 elliott: mainly because I don't trailing characters because they're lame. Sound reasoning, I know. 02:18:31 I will instead do something BETTER. 02:18:53 CakeProphet: dude, read the whole paper before saying things like that 02:19:00 this is a really well-tested way to do the shit you want 02:19:07 all kinds of operators with a simple parser that can handle module imports properly 02:19:41 CakeProphet: you can layer over whatever "definition" syntax you want 02:20:45 I wasn't aware there was a "whole paper". 02:21:07 but I think I just found it. 02:22:15 i think there's more than one, even 02:22:23 http://www.google.co.uk/url?sa=t&source=web&cd=3&ved=0CC8QFjAC&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.157.7899%26rep%3Drep1%26type%3Dpdf&ei=0X_xTa_cJMPOhAfi_Pw_&usg=AFQjCNFD2vxF9fbpvu3Fo19922FVD_qFMw&sig2=fexG0fjeemztQHd3K9x0Yw 02:22:25 ugh 02:22:26 stupid google 02:22:30 that's the paper 02:22:38 Parsing Mixfix Operators 02:22:38 Nils Anders Danielsson1, and Ulf Norell2 02:27:06 elliott: so this paper will show me how to parse mixfixed operators without requiring ugly naming conventions? 02:27:44 CakeProphet: THE NAMING CONVENTIONS ARE A PURELY SYNTACTIC FEATURE OF DEFINING THE OPERATORS 02:27:49 FOR FUCK'S SAKE THAT IS LIKE THE LEAST IMPORTANT PART OF ANYTHING 02:27:59 IT GIVES A FULL PARSING GRAMMAR >_< 02:28:06 CakeProphet: Would you prefer I said: 02:28:13 -!- shachaf has quit (Remote host closed the connection). 02:28:27 CakeProphet: No, the theorems used in the quasimodular parsing definition require on the exact ASCII string used, which must have embedded underscore characters in it. 02:28:30 Otherwise it is mathematically inconsistent. 02:28:45 no that is the opposite of what I prefer. :) 02:30:29 CakeProphet: Anyway, the only time you EVER have trailing characters is in prefix situations. 02:30:41 if/then/else is affected; if/then/else/end is not. 02:30:51 And you can easily form the actual list of holes however you want in your actual language. 02:41:16 There will be no holes in my language as that will produce memory leaks. 02:41:45 Any holes that are found will be patched accordingly. 02:44:38 What does a compiled Perl regex consist of? 02:44:59 Y'know, automake really could do with a means of having per-directory Makefile.am files *without* producing recursive make. 02:45:30 CakeProphet: bytecode 02:45:44 -!- augur has joined. 02:45:45 CakeProphet: Reading http://perl.plover.com/Rx/ is quite elucidating 02:47:41 as in the source code right? The actual English is rather sparse and not helpful.. 02:48:37 CakeProphet: Uh, wait. 02:48:39 CakeProphet: http://perl.plover.com/Rx/paper/ 02:48:47 Read this and you'll understand everything. 02:48:53 Or at least some things. 02:49:59 whut, regex debugger? unfathomable. 02:50:30 Hardly; Rx works well (I've never used it, but it reportedly does) 02:50:38 And "Rx formed the basis for the regex debugger component of ActiveState's ASPN Komodo IDE. (Whether it still does, I can't say.)" 02:50:53 Anyway, just read it, it's interesting and helpful for understanding Perl regex internals :P 02:53:04 I will definitely read it because it will help me in writing an efficient regular expression engine. 02:53:15 It... won't. 02:53:23 But it'll help you understand Perl's. 02:53:30 CakeProphet: But really, you should just use PCRE :-p 02:53:44 uh, why? 02:54:07 Because it can do just about every fancy thing Perl can, and is fast, neither of which you'll be able to say about yours unless you work on it for literal years :P 02:54:14 Plus everyone knows PCRE syntax. 02:54:18 Or wait. 02:54:22 Is this your fancy super-regexp thing? 02:54:31 Because those aren't regexps, dude, they're a programming language inspired by regexps. 02:55:21 -!- augur has quit (Remote host closed the connection). 02:56:49 elliott: yes I know. 02:57:21 which is why learning about how regexps are handled internally by other programs will be helpful. 02:59:27 "The logo of Lulz Security suggests the group does not take what it does too seriously" --BBC News 03:00:32 Doesn't the name alone do that? 03:01:50 -!- Vorpal has quit (Ping timeout: 268 seconds). 03:02:37 elliott: quiet with that nationalist dogma. 03:03:23 I only accept the sensationalism of American television news sources. 03:08:07 -!- augur has joined. 03:13:06 "Barack Hussein Commubama is going to rape your puppies and build the Twin Towers again just to bomb them!" --Fox News 03:13:09 Better? 03:13:36 Actually, make that "Führer Hussein Commubama". 03:15:37 ahhh, familiarity. 03:17:14 hmmm, so currently every expression produces a "result string" which is used in computations and side-effect operations. 03:17:29 Perhaps there should be a "result number" as well, to be used in numeric contexts. 03:21:06 before, the plan was to handle numbers as Perl does. Where the string "0" is treated as 0 when used in a numeric operation, but having a numeric result would allow operations to return both a capture string as well as number that signified something. a -> b would return a 1 if successful, and a 0 if not. * would return the summation of the numeric results of its operand. Thus (a -> b)* would return the number of successf 03:21:57 (a->b)+ would do the same, but fail if there were no substitions. 03:23:33 and the string result would be a concatenation of the replaced strings, which is probably less useful. 03:24:25 http://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Push_002fPop-Macro-Pragmas.html#Push_002fPop-Macro-Pragmas // is CPP + this TC? 03:24:54 No. 03:25:01 cpp computation does not involve new defines at all. 03:25:06 You can't loop those in any way, so yah. 03:25:29 Apparently chaos-pp just uses "exponential expansion" or something btw, and so may not actually be TC 03:25:31 Dunno about order-pp 03:25:36 I can buy that it's not TC though 03:26:11 hmmm... I need like... four different quote types. 03:26:30 ``, "", '', <>... done :) 03:26:32 No output. 03:31:47 Unless you need it to nest. 03:32:10 []{}()<> done. 03:32:45 -!- copumpkin has quit (Ping timeout: 240 seconds). 03:34:13 Actually I narrowed it down to two quote types again. 03:34:33 why do you need so many quote types 03:34:39 what's a quote type 03:34:48 -!- foocraft has quit (Quit: Leaving). 03:35:01 the problem was that both " and ' literals attempt matching on the input string, but there would be situations where you only want to use them for their string result and ignore any kind of matching behavior. But placing another operator before the quote fixes that. 03:36:38 -!- shachaf has joined. 03:38:44 well, currently " performs interpolation of \ sequences, and ' produces a literal string. I could have interpolation on by default since it's not a huge deal, and have " being the matching literal and ' be the zero-width literal. 03:39:27 open_file 'foobar.txt' #example, you don't want 'foobar.txt' to attempt a match on the input string. 03:40:17 cyclexa is cooler it has antitext 03:40:44 token:="foobar.txt"; token(token",")* #here, this is exactly what you want to happen. 03:42:21 elliott: I was actually thinking of "borrowing" (read: stealing) the antitext operator, but I don't really know why it would be useful in my case. 03:43:10 that's just a sign that your version is boring >:) 03:43:46 yeah I'm not really going esoteric at this point. 03:44:01 it will be esoteric in that it's a somewhat sensible regular expression language. 03:46:13 The ; is somewhat clever. It's syntactic sugar that basically encloses everything before it up to the beginning of the line or the preceding ; on the same line in parentheses 03:46:22 a;b;c = (a)(b)c 03:48:16 -!- variable has quit (Remote host closed the connection). 03:48:58 -!- variable has joined. 03:49:02 your mom is clever 03:52:25 Abelson: Well, I was a new graduate student. I said, “What the hell, I’m never going to get a chance to go sit in the president’s office.” So I wandered around to the president’s office and there were a whole bunch of people from Students for a Democratic Society sitting around on the floor. One of the people who was sitting around on the floor was somebody who I’d gone to high school with. 03:52:25 And I said, “I’m a new graduate student. I’m looking for a job. What’s a good place to go work?” And he said, “Well, why don’t you go over to the Artificial Intelligence Laboratory. They do good things.” So I wandered around there for a little bit and talked to people, and that’s pretty much how I got started. 03:52:45 -!- Sgeo has quit (Ping timeout: 255 seconds). 03:53:10 -!- Sgeo has joined. 03:53:18 What a pile of improbable circumstances. 03:56:58 digit := [0-9]; number := digit+("."digit+)?; capturedvalue = parsenum number #note that this is where the actual matching occurs; capturedvalue = 1 <+> capturedvalue #not sure what the numeric operators should look like, or why I'm incrementing this number 04:00:48 -!- pikhq has joined. 04:01:02 -!- pikhq_ has quit (Ping timeout: 268 seconds). 04:19:14 https://github.com/github/dmca/blob/master/2011-06-07-sony.markdown sony sure are dedicated 04:19:26 https://github.com/SonyPS3/scedev haha, they didn't even remove it, just disabled it 04:20:00 "and promptly disclose to SCEA the identities and contact information corresponding to the account owners and/or users of your hosting services who posted the content identified herein." 04:20:11 They seem to not understand how a DMCA request works. 04:20:33 It's not a subpoena. 04:40:57 -!- oerjan has quit (Quit: Good night). 04:43:16 pikhq: I bet they understand 04:43:51 Never underestimate someone's stupidity. 04:44:50 coppro: are you sure? one of the GitHub dmca notices specifies that they should use a /USENET cancellation notice/ to delete both github repositories and a file hosted on a generic file hosting service unrelated to github 04:45:47 I think it's more likely they attempt to prey on the weak 04:46:19 Content owners know that lots of sites will listen to takedown notices for all sorts of things that aren't copyright-infringing 04:46:40 they published a counternotice, which is cool: https://github.com/github/dmca/blob/master/2011-02-03-sony-counternotice.markdown 04:46:44 or, more plainly, try harder than is necessary to cover their own assess 04:46:47 *asses 04:46:53 http://help.github.com/dmca-takedown/ here is github's actual policy 04:47:24 it's been more than ten days though 04:47:27 so I guess Sony replied 04:48:25 indeed 04:48:59 it's plainly obvious that the repos don't actually violate Sony's copyright 04:49:16 unfortunately, no company would set the policy "we'll honour dmca notices, unless we think they're wrong" :) 04:54:51 -!- Kustas has joined. 05:06:26 elliott: They'll follow the law 05:06:38 there are plenty of companies that will say "you're misapplying the law" 05:07:03 elliott: Also, bear in mind that it's not actual copyright her 05:07:04 *here 05:07:08 it's circumvention tools 05:07:11 which are covered also 05:07:23 I think Sony is actually in the right, from a legal perspective 05:07:36 unfortunately 05:07:47 indeedy 05:07:53 *Legally*, they can actually request a DMCA takedown and have it complied with in this case, yeah. 05:08:01 elliott: have you read the paper about optimal copyright term, by chance? 05:08:03 They just overstepped on it. 05:08:11 coppro: How many months is it? 05:08:16 coppro: no, but i don't feel like doing so 05:08:27 pikhq: He gives a set of variables that it would depend on 05:08:29 discussions about copyright just make me slit my throat and drain all my blood out 05:08:38 i don't even have an inkling of care left 05:08:48 elliott: How very cynical of you. 05:08:55 elliott: You should do that to lawyers. 05:09:04 or i might just be tired 05:09:10 WE'LL FIND OUT TOMORROW!!!!!!! 05:09:32 pikhq: he sets generous ranges of values; within those ranges, the median is 15ish years 05:10:28 coppro: So, what you mean is that we had it right in the year 1800? 05:10:29 looks like a gamma distribution 05:10:44 pikhq: Possibly not; the societal variables can change over time 05:10:49 but possibly yes 05:11:11 http://rufuspollock.org/economics/papers/optimal_copyright_term.pdf 05:11:12 It was, uh, 17 years, I think, then. 05:11:27 thx jerk i just clicked that now 05:11:32 iff it snot set in latex ill close i- fuck 05:11:35 fuuuck you 05:11:41 oh the linespacing is way too high 05:11:42 closed 05:14:22 Yeah, jeeze, was it written for some moron convinced that 1 inch margins, double spaced is how you do papers? 05:14:27 -!- Kustas has left. 05:14:41 whine whine whine whine (im allowed im tired) 05:14:47 wow tcl is probably the worst language I've ever seen. 05:14:56 like, the worst one. 05:14:57 CakeProphet: that's because you don't understand it 05:15:06 no I understand it just fine. 05:15:09 it's not something i'd want to use, but it occupies a corner. 05:15:11 no, you don't. 05:15:21 You almost certainly don't. 05:15:27 CakeProphet: you should _really_ read http://antirez.com/articoli/tclmisunderstood.html 05:15:37 you don't have to like tcl, but it's something to respect 05:16:10 (and http://antirez.com/page/picol.html is an interesting followup (only a followup, don't read it before) in that it shows that tcl is as minimal as Lisp) 05:16:39 Interesting. Its summation of concepts is a longer version of the dodecalogue. 05:17:27 AKA "the semantics of Tcl, in a short man page". 05:17:27 CakeProphet: basically: lisp : lists :: tcl : strings, except that tcl actually builds data structures out of strings (a list is just a certain type of string; tcl code is a list (therefore a string), {} is just an uninterpolated string literal) 05:17:31 CakeProphet: but really: read http://antirez.com/articoli/tclmisunderstood.html. 05:19:07 I shall note here that PEBBLE is Tcl with a different command set. 05:19:17 elliott: yeah, so I read that, and I'm pretty sure tcl is still a bad language. 05:19:29 CakeProphet: whoops: look at that, you didn't read it, you at most skimmed it. 05:19:40 I did skip the things I already knew 05:19:44 which is, most of the first half. 05:19:44 i know this because i have read it multiple times and you did it about ten times as fast as anyone can humanly read that and actually understand it. 05:19:47 CakeProphet: hahahahaha 05:19:53 CakeProphet: yes, obviously it is merely a collection of facts 05:20:05 obviously you can go ahead and ignore the bits you already "know" because it is not trying to make any sort of point 05:20:26 oh, whatever, you're an idiot, i'm grumpy, and i should go to bed. no wait i'll turn over to the plof tab and mock Gregor for being the worst gc coder evarrr 05:21:15 I don't need someone to make points for me. I skipped most of the section explaining the language itself because I already knew how the language worked, and can derive my own opinions on that. 05:21:22 I doubt you do. 05:21:31 CakeProphet: ok, so 05:21:34 The language itself is much more subtle than you think. 05:21:34 I HATE PERL 05:21:36 hey 05:21:41 this language goes through perl's features in a different way to normal 05:21:44 and i think makes the case for perl 05:21:50 I SKIPPED ALL THAT I KNOW HOW LISTS WORK LOL 05:21:51 PERL STILL SUCKS 05:21:59 um if you read it properly you might think differently 05:22:07 I didn't mention Perl at all. 05:22:07 I DONT NEED U IM PUNK I CAN THINK FORE MYSELF 05:22:19 it's an example of a language i know you like 05:22:31 right, which doesn't suck. There's the key difference. 05:22:36 but, you have clearly made the foregone conclusion that tcl sucks 05:22:41 and nothing that can be presented will change your mind 05:22:44 CakeProphet: Okay, if you know how Tcl actually works, then tell me: what are the core bits of Tcl? 05:22:47 because you will view it as a collection of facts 05:22:53 and ignore them and "derive your opinions from them" 05:23:03 so basically this is just an excuse to tell us that you hate tcl and hope we agree 05:23:04 which 05:23:09 is stupid from a perspective of actually wanting to learn anything 05:23:11 or having an open mind 05:23:12 whatever 05:23:16 im switching the tab back again 05:23:17 pikhq: the core bits? you mean how it works internally? I have no idea. How it works: lists and commands? I don't know what you're asking. 05:23:17 I'll give you a hint: the entirety of Tcl is described in like 2 pages. 05:23:17 god i need sleep 05:23:30 no wait no im not 05:23:39 CakeProphet: What's the core bits of its semantics. 05:23:42 CakeProphet: you can only understand lisp by knowing how you implement it. you can only understand forth by knowing how you implement. 05:23:51 fill in the blanks. wait i just showed that this was completely pointless why am i talking 05:25:59 pikhq: Well tcl uses strings for about everything. But for structure it uses lists and commands (which can roughly be the same thing). Probably not what you were looking for, I don't care. 05:26:18 My main complaint is the syntax. 05:26:28 im changing the topic to the homestuck update now 05:26:31 hahaha hussie really went there 05:26:33 ok go back to arguing 05:26:38 CakeProphet: what syntax 05:26:43 tcl's syntax.... 05:26:47 its just a list of "command arg ...", that's even simpler than Haskell 05:26:56 [x] runs x, then interpolates the result in; that's a feature of strings 05:26:57 I did say "the syntax is not simple" 05:26:59 I said I don't like it. 05:27:04 "x" and {x} are the same 05:27:05 *didn't 05:27:09 just the latter doesn't interpolate 05:27:13 CakeProphet: but there /is/ no syntax 05:27:25 It's at least as syntaxless as Lisp. 05:27:28 there is. You just described it. 05:27:36 yeah, but its practically nonexistent 05:27:38 lets put it this way 05:27:43 Tcl has less syntax than /Perl string literals/ 05:27:48 and, since Tcl is basically one big string literal 05:27:49 ....okay? 05:27:52 that's actually meaningful 05:28:23 elliott: I think he might be *objecting* to simple syntax. 05:28:24 this has nothing to do with the fact that I still don't like tcl's syntax. You are wasting your time by trying to demonstrate how simple or nonexistent it is. 05:28:34 CakeProphet: What don't you like about it? 05:28:59 can i just sit here and quietly lol at someone who likes perl complaining about superficial syntax details 05:28:59 The lack of it, yes. 05:29:01 tee hee hee hee 05:29:05 hee hee hee 05:29:06 tee hee hee 05:29:08 hee hee hee hee 05:29:11 hee hee hee 05:29:13 hee 05:29:17 Wait, you like Perl? 05:29:20 yes. 05:29:31 and a number of other languages. 05:29:46 elliott, is Hussie working on EOA5? 05:29:52 The least aesthetic language? 05:29:52 I should be asleep right now 05:30:01 Sgeo: i dont know let me get out my psychic goggles 05:30:05 Haskell, bash, Python is kind of okay but I'm starting to like it less. C is fine but slightly fucked up. 05:30:06 Sgeo: have you seen the update anyway 05:30:11 No, just noticed it now 05:30:14 Reading now 05:30:15 "Haskell, bash" worst way to start a list 05:30:19 *pfft* 05:30:22 You *like* shell. 05:30:22 unless its like 05:30:28 an alternating list of good things and bad things 05:30:32 ..no. 05:30:55 I can see why you dislike Tcl, at least. 05:31:00 You have no taste. 05:31:18 taste is subjective. So, sure. 05:31:42 ATTN EVERY DINOSAUR COMIC FANS 05:31:43 http://local-static4.forum-files.fobby.net/forum_attachments/0027/5004/DinosaurComicsTheme.mp3 05:31:48 pikhq: Gregor: all good people: 05:31:56 About the best that can be said for Perl and bash is that you can get shit done with them. 05:32:09 Which, incidentally, is the only reason they survive. 05:32:30 pikhq: yes that is what I like about them. 05:32:43 You like the ugly hackishness? 05:32:51 ..yes, it's convenient. 05:32:59 pikhq: you are doing something that isn't listening to the dinosaur comics theme 05:33:01 and actually Perl isn't that ugly. 05:33:01 cease 05:33:09 people can make it ugly, sure. 05:33:24 Sigels are inherently ugly. 05:33:31 cease 05:33:31 sigils? 05:33:33 honestly I don't see "oh no there's symbols everywhere" as ugly. 05:33:35 Sigils, rather. 05:33:57 tcl in my opinion is ugly. 05:34:35 You are everything that is wrong with computers. We're done. 05:34:51 pikhq: listen to the fucking dinosaur comics theme or die a horrible death 05:35:02 pikhq: on tesla coil 05:35:03 I like two different qualities in languages. a) it is useful and easy to get shit done with b) it's pure or elegant. tcl is neither of those. 05:35:15 What's not pure or elegant about Tcl? 05:35:17 tcl is b 05:35:19 elliott: I don't like to stop albums halfway through. 05:35:30 pikhq: dude this is the DINOSAUR COMICS THEME. 05:35:34 it has RYAN NORTH'S APPROVAL HIMSELF. 05:35:35 elliott: It's queued. 05:35:41 this would be worth stopping CHILDBIRTH for, pikhq. 05:35:55 i would abandon my currently-being-born baby to listen to this. 05:37:06 pikhq: I find it amazing that you can say that I'm "everything that is wrong with computers" from such a minor difference in opinion about programming languages. 05:37:35 hash esoteric always one hundred percent and literal about every statement 05:38:23 Yup. We are never over the top or exaggerated. Only perfectly literal about every statement. 05:38:50 its funny because if i said youre all stupid terrible idiots i would actually be being perfectly sincere :D 05:39:09 yes, more often than not things are taken literally in here. 05:39:13 not always. 05:39:14 BTW, picol is pretty neat. 05:39:29 i wonder what you could actually remove from tcl, as far as minimalism goes 05:39:36 dollar sign is obviously a relatively minor convenience 05:39:36 expr. 05:39:42 i mean the core pikhq 05:39:50 "" could go, you can just use {} and manual splicing 05:39:51 Oh. Dodecalogue. 05:39:59 so basically 05:40:00 You could remove {*}. 05:40:07 you have [] at top level and everything evaluated 05:40:09 and {} 05:40:10 Which itself was only added in 8.5. 05:40:18 full list of things: words, [], {} 05:40:21 whoops it is tiny... 05:40:24 oh you can remove global variables too 05:40:27 just pass everything around 05:40:45 then change {} into () and you have weirdo lisp 05:40:52 or maybe [] 05:44:16 CakeProphet: http://antirez.com/picol/picol.c.txt What's not elegant about this? 05:44:49 -!- mycroftiv has quit (Ping timeout: 260 seconds). 05:45:50 pikhq: that is not tcl code. That is an interpreter for tcl. 05:46:06 And I'd consider that a pretty much full implementation, seeing as to get an interpreter of Tcl 8.4 out of that you'd only need to implement more commands. 05:46:06 -!- mycroftiv has joined. 05:46:56 cool, so it's easy to parse. 05:47:07 CakeProphet: everything you are saying is pointing towards tcl being something you respect or admire for its simplicity and elegance of implementation rather than actually use 05:47:22 despite this you are only referring to these qualities in mocking terms which is just totally inconsistent if you like any other language like that 05:47:24 which you said you did 05:48:26 Hmm. Actually, it's missing the semantics of unknown; you'd need a couple of lines in picolEval for that. 05:48:34 uh, not really. But yes, I do respect that it's a simple language. But that's it. I still think it sucks to actually write tcl code. 05:48:37 and {star} 05:48:53 CakeProphet: "I like two different qualities in languages. a) it is useful and easy to get shit done with b) it's pure or elegant." 05:48:58 sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 05:49:09 Yeah, {*} would need a little bit of work in the parser. 05:49:10 elliott: but I never specfically mentioned tcl being pure or elegant. 05:49:14 nobody's saying you should think tcl is nice to code in, just that if you really hate it on every possible level, you probably just don't understand it at all. 05:49:17 nor do I think it's pure... or elegant. Just simple. 05:49:25 What's not pure or elegant about it? 05:49:35 CakeProphet: no, but cool, so it's easy to parse. is dismissing something that is actually a - oh fuck this you're an idiot have i mentioned 05:49:39 im going to go ask Gregor if his gc is still segfaulting 05:49:58 I also think it's occasionally nice to code in, but I admit, it has some rough spots. 05:50:01 pikhq: that is a difficult question to answer. :P 05:51:12 to me those words imply a kind of mathematical beauty. I think tcl lacks that. 05:51:34 http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm That's the whole of Tcl. 05:52:24 It's got a man page the size of cat's. 06:05:14 at least when you guys bash Perl, I actually know you've used it to some extent. 06:05:20 I cannot say the same for others. 06:05:29 -!- Lymia has joined. 06:06:18 Yes, I actually have personal experience to back my opinion of the language. 06:06:36 Which... Actually can't be said of most critics of most languages, really. 06:07:06 here's an idea 06:07:09 every time you want to complain about a language 06:07:12 make a new esolang instead 06:07:49 elliott: I'd probably have written the entire esolangs wiki by now. 06:08:25 precisely 06:08:30 pikhq: I admit Perl would be horrible if you were working with someone elses horribly designed code in some kind of decently large project. 06:08:52 but that never happens for me, so that's why I like using it. 06:09:22 and the above statement is true of most languages. 06:09:28 http://grasptheuniverse.com/random/free-fall-from-space/ 06:09:30 hacked by leet hackers 06:09:33 $pecial Fuck 2 TuNiSian ministry of justice & defence & interior 06:09:54 If you're working with other people's horribly designed code, all languages suck, and we should exterminate humanity. 06:12:50 -!- ray24 has joined. 06:13:08 ray24: where did you put the earlier raws 06:13:09 rays 06:16:20 So lesse, on my laptop, which is two-core so essentially Java can't do parallel GCs, my GC is consistently faster now. 06:16:23 Even in the default branch. 06:16:31 On my home computer (4-core) it's a tossup. 06:16:36 And on my work machine, it wins. 06:16:40 (8-core there) 06:16:44 So ... yeah, parallel collection :P 06:17:45 Gregor: Faster... than... Java? 06:17:54 BRB xorg 06:17:59 -!- elliott has quit (Remote host closed the connection). 06:18:00 Space Gregor is a programmer from SPACE 06:18:02 I don't know. I've been pirating everything off the internet 06:18:11 FEels good to not pay a dime for anything! 06:18:34 -!- elliott has joined. 06:18:43 ray24: are you trying to pirate things here 06:18:56 I'm trying to pirate everything that I think is good 06:19:30 do you know what this channel is about 06:19:36 Yeah 06:19:42 Pirate esoteric 06:19:49 what is pirate esoteric 06:19:50 i mean 06:19:51 in yoru view 06:19:54 what is pirate esoteric 06:20:02 hehe 06:20:09 this is an important question to ask ray24 06:20:17 You should think about it 06:20:23 i already know 06:20:27 i am asking you 06:20:29 it is something we do 06:20:35 what if I don't know the answer 06:20:39 guess 06:20:47 what if I can't guess 06:20:52 then you must leave 06:21:08 what if I can't leave 06:21:25 this channel is about programming btw 06:21:33 Yeah what do you program 06:21:40 esoteric programming languages, see http://esolangs.org/wiki/Main_Page 06:21:44 sorry you got too boring to mislead :( 06:21:59 how come a programming channel have less than 50 people 06:22:10 because it's esoteric. 06:22:33 we're also really rude and horrible to newbies. well ok i am 06:22:44 we're the cool internet cabal that everyone talks about. 06:22:48 You've been pretty nice and generous in your response 06:23:09 yeah i dunno what is up with me 06:23:10 i need sleep :( 06:23:22 Maybe you're programming in the wrong language, iono 06:23:42 who says i'm only programming in one 06:24:03 Me 06:24:14 ur a liar bad pirate 06:24:21 ^_^ 06:24:32 Anyways, I got to loot more stuff 06:24:34 so hey how did you find this place anyway 06:24:37 Um 06:24:38 i simply don't believe anyone actually looks at /list 06:24:51 I just randomly load the channel list and clicked 06:25:01 wow 06:25:03 people actually do that 06:25:04 ok 06:25:09 :D 06:25:16 have fun with your copyright infringement :P 06:25:20 :D thanks man 06:27:07 ray24: where are you from? 06:27:22 > cross = liftM2 (,) in cross [1..10] [1..10] 06:27:23 : parse error on input `=' 06:27:28 > let cross = liftM2 (,) in cross [1..10] [1..10] 06:27:29 southpark 06:27:29 [(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(2,1),(2,2),(... 06:27:32 I'm from southpar 06:27:34 coppro: are you asking like physical location 06:27:49 elliott: no I wanted to know if he's from DARPANET 06:27:58 lmao 06:28:07 ray24: total child porn pirate warez channel this 06:28:10 let me show you the dccs 06:28:20 coppro: * [ray24] (~ray24@adsl-70-231-243-95.dsl.snfc21.sbcglobal.net): ray24 06:28:23 say whAt 06:28:24 INCONTROVERTIBLE PROOF, we're safe 06:28:37 elliott: I can't read hostnames and am lazy 06:28:47 so why do you look up people's IP 06:28:53 ~ray24@spying.on.you.darpa.gov 06:28:56 ray24: its hardly looking up 06:28:57 /whois foo 06:29:06 gives you foo's realname field, username field, hostname 06:29:06 what is there to gain for you? 06:29:13 lol its a feature of irc dude 06:29:14 ray24: I want to know where you are :D 06:29:18 it shows channels you have in common 06:29:20 Why do you want to know where I am 06:29:22 what their realname is filled out to be 06:29:23 because you're hot and I want to stalk you 06:29:32 often i can remember someone from the wiki if i see their realname 06:29:35 ray24: paranoid much?... 06:29:37 your ip is public when you join irc 06:29:38 look 06:29:43 * ray24 (~ray24@adsl-70-231-243-95.dsl.snfc21.sbcglobal.net) has joined #esoteric 06:29:43 well, no 06:29:47 i saw it as soon as you entered the channel, everyone did 06:30:05 elliott: no one else cares though. 06:30:14 CakeProphet: ray24 evidently does :D 06:30:33 ray24: hey, how's life in san francisco? 06:30:34 stop e-raping me 06:30:40 ray24: behind you ;) 06:30:43 yeah well.. I'm not in SF 06:30:45 fuck 06:30:50 well your ip thinks you are. 06:30:56 so what step did you take to arrive at that answer? 06:30:59 you're in california anyway 06:31:06 elliott: damn, beat me to it 06:31:08 ray24: google "geo ip" -> click first result -> paste in -> hit enter 06:31:17 lol 06:31:17 took like three seconds and you were freaking out so i figured it might provide some amusement 06:31:55 Often times you don't even really need to bother, though. 06:32:08 It's pretty inaccurate 06:32:13 I'm not even close to SF 06:32:19 your isp is 06:32:19 are you in california? 06:32:24 maybe 06:32:25 :P 06:32:30 close enough :P 06:32:36 You'll never find me 06:32:37 :D 06:33:06 ray24: oh, you've fallen right into our trap. 06:33:09 admitting your rampant piracy like that. 06:33:13 we are coming to cease your possessions. 06:33:17 coppro: initiate operation 9terra 06:33:25 * pikhq hits the google 06:33:34 !show rot47 06:33:34 ​perl $_=<>;tr/!-~/P-~!-O/;print 06:33:36 ^_^ I keep all my pirated stuff on an external drive 06:33:37 ray24: We will be with you within the hour. 06:33:37 activated. 06:33:38 -!- elliott has left ("xp0.FOUR/xy;initiate;procedure"). 06:34:06 http://thetegu.com/member.php?1688-Ray24 Any relation? 06:34:15 no lol wtf 06:34:24 dude you guys are weird 06:34:28 -!- elliott has joined. 06:34:28 freaks 06:34:34 God damned generic nicks. 06:34:40 ray24: you'd better evacuate your wife and kids. 06:34:42 pikhq: ow 06:34:45 your house is about to disappear. 06:34:51 Why can't people be easy to Google? 06:35:02 coppro: Yours is easy to Google. 06:35:04 it is very easy to trace my online identity since no one else uses this screen name. 06:35:10 maybe hes twenty four years old 06:35:13 pikhq: no, I mean you hit Google. That hurts. 06:35:17 coppro: Hah. 06:35:21 ;) 06:35:35 ray24: http://ray24.livejournal.com/profile 06:35:38 ray24: you totally are in sanfran. 06:35:45 operation 9terra phase 2 initiate 06:35:55 But we already knew this. 06:35:56 lol... that's not me 06:35:57 -!- coppro has left. 06:36:03 Enjoying Taekwondo, deadman? 06:36:07 -!- elliott has left ("Leaving"). 06:36:36 -!- scshunt has joined. 06:36:36 !rot47 computer: initiate tracking programs. find target 542049. confiscate kids and hold them for ransom. 06:36:37 ​4@>AFE6Ci :?:E:2E6 EC24<:?8 AC@8C2>D] 7:?5 E2C86E dca_ch] 4@?7:D42E6 <:5D 2?5 9@=5 E96> 7@C C2?D@>] 06:36:44 EXTERMINATE! 06:36:44 PEACE 06:36:47 -!- ray24 has left ("Leaving"). 06:37:02 -!- coppro has joined. 06:37:08 operation 9terra: successful 06:37:13 -!- elliott has joined. 06:37:18 Well, that was nicely done. 06:37:19 -!- scshunt has left. 06:37:31 And now he's probably freaked out by the power of Google. 06:38:02 i've moved to /msg 06:38:03 poor guy 06:38:07 reading the logs, I have no fucking clue what just happened 06:38:07 pikhq: except we found nothing :F 06:38:09 [asterisk]:D 06:38:13 coppro: seems to not include notices 06:38:22 hmm indeed 06:38:23 elliott: I figured a lot of scary symbols would scare him. 06:38:37 http://tunes.org/~nef/logs/esoteric/11.06.09 this does 06:38:45 BTW, coppro, dang you have a large Internet presence. 06:39:01 least creepy thing to say ever 06:39:12 Yup! 06:39:25 Gregor has a pretty odd one, though. 06:39:30 pikhq: it's like a chronicle of my life, the various fora I've been to and stuff 06:39:30 ok stop it 06:39:48 https://encrypted.google.com/search?q=Gregor+Richards&hl=en&client=iceweasel-a&rls=org.mozilla:en-US:unofficial&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ei=CbzxTYGMG4uu0AHcl5XdCw&ved=0CFsQsAQ&biw=1440&bih=784 Check out a GIS. 06:40:12 It's like a blend of 5 different people. 06:40:34 elliott: Stop what, putting nicknames or real names into Google? 06:41:05 both :D 06:41:27 I'll Google *you* next. :P 06:41:30 pikhq: searching my full name gives little though, except for the math society where the names are loaded from the university database and I haven't bothered asking them to take my middle names out 06:41:30 :( 06:41:34 I should though 06:41:36 "Surprisingly", not helpful. 06:42:14 I do love how hard it is to find me on Google if you don't know either of my common nicknames though 06:42:38 hi christopher sherwood 06:42:42 that's a fake name btw 06:42:47 which i made up as a demonstration for the log 06:42:49 not anything real 06:42:57 elliott: thanks 06:43:13 yeah i would never do something that stupid for a joke on irc 06:44:24 My dick is like lightning. 06:44:30 yes. 06:44:31 * pikhq wonders how much stuff is actually tied to his real name... 06:44:38 CakeProphet: you should say your real name now so that google hears this. 06:44:44 Never. 06:45:17 I'm apparently still staff at Tufts. 06:45:21 News to me! 06:45:30 lol 06:45:33 welcome to the internet 06:45:34 it never dies 06:46:05 pikhq: was that when you were like three years old 06:46:28 No, but it was over a year ago. 06:46:47 !delinterp rot47 06:46:48 ​Interpreter rot47 deleted. 06:46:49 !addinterp rot47 perl print<>=~tr/!-~/P-~!-O/ 06:46:49 ​Interpreter rot47 installed. 06:46:56 !rot47 this is a test 06:46:57 ​Can't modify in transliteration (tr///) at /tmp/input.8441 line 1, at EOF 06:47:06 ... 06:47:09 ah, yes. 06:47:13 of course. :P 06:47:40 !delinterp rot47 06:47:40 ​Interpreter rot47 deleted. 06:47:45 !addinterp rot47 perl $_=<>;tr/!-~/P-~!-O/;print 06:47:46 ​Interpreter rot47 installed. 06:47:50 no golfing for me. 06:49:07 pikhq: so when you were two then 06:49:13 -_-' 06:49:37 sorry, one 06:50:34 does tr have any uses besides rotn 06:50:40 !addinterp rot32 sh cat 06:50:40 ​Interpreter rot32 installed. 06:50:43 !addinterp rot32 cat 06:50:44 ​There is already an interpreter for rot32! 06:50:46 !delinterp rot32 06:50:46 ​Interpreter rot32 deleted. 06:50:49 !addinterp rot32 cat 06:50:50 ​Interpreter cat does not exist! 06:50:52 Lymia: ...whut. 06:50:54 CakeProphet: the unix command, yes. 06:50:59 !addinterp rot32 sh cat 06:50:59 ​Interpreter rot32 installed. 06:51:01 !rot32 test 06:51:02 ​test 06:51:07 double encrypt 06:51:23 Lymia: ...you have gotten rid of the original rot32. That will take years to recode. 06:51:37 Rot32 is the application of rot16 twice. 06:51:40 13* 06:51:46 no shit 06:51:48 No wait... 06:51:49 Rot 32? 06:51:53 Wrong joke! 06:52:00 !delinterp rot32 06:52:00 ​Interpreter rot32 deleted. 06:52:07 !addinterp rot52 sh cat 06:52:07 ​Interpreter rot52 installed. 06:52:41 ... -_- 06:53:01 quadruple encrypted... 06:53:08 !addinterp rot26 sh cat 06:53:09 ​Interpreter rot26 installed. 06:53:29 !rot13 test 06:53:30 ​grfg 06:53:33 delinterp Lymia 06:53:35 !rot13 .,23.,24998!@#*!@#$*!@#% 06:53:36 ​.,23.,24998!@#*!@#$*!@#% 06:53:53 okay, so it leaves those characters alone. 06:54:54 !rot47 !@#)*#*)!@#*!@)#*!)@@$*!)@#*)!@#*!)@$&!@)#$&!@%)!@# 06:54:54 ​PoRXYRYXPoRYPoXRYPXooSYPXoRYXPoRYPXoSUPoXRSUPoTXPoR 06:55:50 I think from Google results, I can conclude that I am a time traveller. 06:57:04 pikhq: excellent 06:57:34 please go back in time three days and tell George Histenton not to do it 06:58:04 what did he do 06:58:18 im hoping something horrible that will make this entire thread of conversation really awkawrd 06:58:48 how the fuck should I know? 06:58:56 note 06:58:59 i dont actually know who George Histenton is 06:59:04 me neither 06:59:27 coppro: I'm afraid I have yet to obtain my time machine. 06:59:28 lets just say he did a huge school shooting then jumped off a building near where you are, that should be enough to make this very awkward 06:59:54 Though I could hit up Cambridge and see my grave. 06:59:56 pikhq: the logs will be available then 07:00:05 Quite true. 07:00:14 pikhq: What if you're a time lord? 07:00:23 pime tord 07:01:12 Then that would explain the name change I saw. 07:01:52 Actually, no, no it wouldn't. 07:02:23 eight am, i should sleep, i should sleep, i sh 07:02:28 ould sleep, i 07:06:14 http://jon.io/ this is the worst fucking webpage to ever exist augh 07:06:59 augh 07:07:36 * pikhq should sleep. 07:07:50 ditto 07:07:54 what time is it there 07:08:00 T01:07 07:08:01 monqy: do you feel the un-zepto terribleness of it 07:08:10 its the least zepto webp- 07:08:10 "Built using Clojure and MailChimp." 07:08:12 two times least zepto webpage 07:08:21 WHY ARE THE FUCKING LOGOS FLOATING 07:08:24 IT MAKES NO FUCKING SENSE 07:08:25 DOSIJFOSFOFDF 07:08:31 Seems to fail with noscript. 07:08:32 I actually forgot about zepto 07:08:34 oops 07:08:49 monqy: its the best adjective and vapourware 07:08:51 why are there logos at all anyhow 07:08:51 OH GOD THE UNZEPTO 07:09:02 monqy: theyre in a cloud 07:09:03 oh my god 07:09:03 wait 07:09:06 is that an actual metaphor for like 07:09:07 the cloud 07:09:08 please say no 07:09:10 it fucking is isnt it 07:09:12 im going to cry 07:09:14 I thought it was actually 07:09:17 it probably is 07:09:29 i hate startsups i fucking hate startups everyone in a startup should die 07:09:30 I thought that's why you aughed. it's why I aughed at least. 07:09:31 wow this webpage is 07:09:34 I hereby ban them from HTML. 07:09:36 eating at my soul 07:09:38 The unzepto! 07:09:38 elliott: nothing describes the internet better than a cloud, obviously. 07:09:44 eating at my fucking soul 07:09:46 cloud cloud 07:09:50 ok thats been my two minutes hate i cant stand to have this page open any longer 07:09:54 It's absolutely terrible without Javascript. 07:10:10 dude 07:10:13 cant possibly worse than it with javascript 07:10:14 It's got the header, a few *pages* of whitespace, and then the content. 07:10:25 better, the logos don't move 07:10:34 The logos don't exist. 07:10:45 :))) 07:10:46 Though I think the code for them is the whitespace. 07:10:46 happier life 07:10:56 pikhq: I don't think you can comfortably browse most websites anymore without Javascript. 07:11:08 >incoming nerdrage 07:11:28 CakeProphet: I use Noscript extensively. 07:12:00 It goes a long, long way to making random websites tolerable. 07:17:29 WOW LOOK AT THIS IN MERE SECONDS I AM GOING TO SLEEP (LIES) 07:21:25 -!- Phantom_Hoover has joined. 07:27:11 What was the first language to pass arguments by key-value pairs? 07:28:24 http://en.wikipedia.org/wiki/Named_parameter <-- your mom, apparently 07:35:39 oh god it's only after midnight 07:40:56 I *could* sleep. 07:41:00 Or I could listen to Queen. 07:41:31 Only one of those two options is awesome in audible form. 07:42:56 Ahahah foolish Americans it is morning in the civilised world. 07:42:56 Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them. 07:43:42 Phantom_Hoover: elliott is also complaining about how he needs to sleep. 07:44:11 Admittedly, elliott defies your dormal norms. 07:46:17 Also, it is definitely "morning" here, for certain definitions of "morning". 07:46:48 It's morning here as in I had breakfast an hour ago. 07:47:22 Yeaaah, that's a terrible definition of morning. 07:47:41 Seeing as my first meal of the day is generally lunch. 07:49:06 -!- ais523 has quit (Remote host closed the connection). 07:49:35 It's morning as in it's nearly 9 o'clock what more do you want from a morning. 07:49:54 A TARDIS. 07:50:08 Also a pony. 07:52:06 Agreed 07:52:13 pikhq: Sleep is for the weak 07:52:20 and those who don't need to be in a cab in 5 hours 07:52:58 Why a cab? 07:53:21 so I can catch the airplane 2 hours 18 minutes later 07:53:33 also 5 hours 7 minutes 07:54:00 Baaah, specific yet non-specific answers! 07:54:07 I have to be in a cab in half an hour. 07:54:40 I'm not sure it'd be possible for me to catch a cab. 07:54:49 pikhq: I was referring to me 07:54:59 coppro: Yes, I know. 07:59:11 a targis? what? huh 07:59:16 tarddddis 07:59:20 cause i cant toop 07:59:22 augur: out 07:59:33 coppro: in 07:59:50 pikhq: This could all be solved, however, by you getting a TARDIS at some point in your future, and taking me where I need to go 08:01:31 -!- ralc has joined. 08:02:39 coppro: Why yes, yes it would. How convenient that I will at some point have one. 08:03:02 As we can conclude by my death being in the 1700s. 08:06:18 I willen on-not having-been a good game of timey wimey ball in ages. 08:07:13 Sorry Doctor Who's time-travel system is not all that complex. 08:07:28 I'm fairly sure it can be modelled accurately simply by adding a second time dimension. 08:08:35 Phantom_Hoover: Doctor Who does not have a single time travel system. 08:08:49 It has whatever time travel system is most convenient at the time to the writers, near as I can tell. 08:08:53 Hence the timey wimey ball. 08:10:27 -!- myndzi has quit (Ping timeout: 252 seconds). 08:10:39 pikhq, doesn't it essentially come down to "you can change the past"? 08:10:44 No 08:10:47 Except when you can't. 08:10:54 And when other things happen 08:11:08 It's never been an essential physical law that you can't, it's just been that Bad Things happen when you do. 08:11:35 We're talking about a series where, at one point, the entire universe ceased to ever have existed, except Earth and an explosion. But Earth existed and was fully-formed and had a human civilization despite. 08:11:52 Still modellable. 08:12:00 No, it really isn't 08:12:09 And time demons destroy everything when you change the past wrong. 08:12:28 Also, the main character has never been born. 08:13:03 And at various points, there are stable time loops. 08:13:16 Oh, yeah, and the canonical reason for him not preventing Hitler is that it's physically impossible, IIRC. 08:13:45 Remember, this is a series which has aired for decades. 08:13:53 And has time travel as its basic premise. 08:13:59 pikhq: Actually, the next episode is entitled "Let's Kill Hitler" 08:14:08 And has not always had the best writing. 08:14:17 -!- elliott has quit (Ping timeout: 240 seconds). 08:14:32 Phantom_Hoover: I should add that "timey wimey" is canonical 08:15:12 Pretty much the only way to handle Doctor Who time travel is to shut up and enjoy the show. :P 08:15:17 ^ 08:15:29 -!- monqy has quit (Quit: hello). 08:15:46 also the part where nothing is every truly erased from history 08:16:02 (why hasn't the doctor tried to use this to get gallifrey back?) 08:16:18 Pretty much the only way to handle Doctor Who time travel is to shut up and enjoy the show. :P 08:16:33 I gave up on enjoying it around the time River Song became a semi-regular character. 08:16:39 Incidentally, that's one of my favorite lines 08:16:56 Fear me, I have killed hundreds of Time Lords. 08:17:08 Fear me, I killed all of them. 08:17:16 Which house? 08:18:05 coppro: Because the Doctor does not want Gallifrey back. Indeed, in The End of Time (recent-ish), he stopped the return of the Time Lords. 08:19:07 (note: written by Russel T Davies, who is one corny writer) 08:19:21 Phantom_Hoover: character named House 08:19:45 pikhq: How much have you seen total of the series? 08:19:48 pikhq, by 'corny' you mean 'terrible', of course. 08:20:20 coppro: Random bits of the 4th, large chunk of 9th and 10th, few episodes of the 11th. 08:20:26 ok 08:20:44 Phantom_Hoover: I was being generous. 08:20:58 pikhq, don't be. He doesn't deserve it. 08:21:12 His only achievement was keeping Moffat decent. 08:22:04 And reincarnating the series. 08:23:57 Phantom_Hoover: Here's another one 08:24:16 Phantom_Hoover: Doctor goes back in time and changes the past concurrently with the present, Back to the Future style 08:26:23 pikhq, yes, but he then decided that he should be able to write for it. 08:26:46 I suppose it does even out. 08:48:45 Phantom_Hoover: River's development is pretty good in my opinion, but I haven't seen pre-11th 08:57:22 pikhq: The 11th has shown quite a bit of remorse and jumped several times at the thought of another Time Lord.. perhaps it's due to the regeneration? 09:00:17 -!- FireFly has joined. 09:25:49 -!- pikhq_ has joined. 09:26:01 -!- pikhq has quit (Ping timeout: 268 seconds). 09:56:10 -!- Patashu has joined. 10:11:16 -!- azaq23 has joined. 10:21:09 -!- Vorpal has joined. 10:39:01 -!- myndzi has joined. 10:54:30 -!- MigoMipo has joined. 11:15:55 -!- BeholdMyGlory has joined. 11:56:46 -!- pikhq has joined. 11:56:59 -!- pikhq_ has quit (Ping timeout: 260 seconds). 12:14:07 -!- cheater1 has joined. 12:35:40 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 12:41:26 -!- ralc has quit (Read error: Connection reset by peer). 12:41:26 < just found out about tput 12:41:43 -!- ralc has joined. 13:50:19 -!- copumpkin has joined. 13:58:36 -!- oerjan has joined. 14:30:41 -!- oerjan has quit (Quit: leaving). 14:33:08 -!- Vorpal has quit (Ping timeout: 268 seconds). 14:51:59 -!- Kustas has joined. 15:00:38 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:40:41 -!- wareya_ has joined. 15:43:50 -!- wareya has quit (Ping timeout: 246 seconds). 15:50:10 -!- Kustas has quit (Quit: gone). 16:01:15 -!- pikhq has quit (Ping timeout: 252 seconds). 16:01:17 -!- pikhq_ has joined. 16:45:43 -!- Vorpal has joined. 16:55:42 -!- Phantom_Hoover has joined. 16:57:42 -!- TOGoS has joined. 16:58:00 -!- TOGoS has left. 17:10:23 http://www.wolframalpha.com/input/?i=volume+of+atlantic+ocean+*+butter+density 17:10:28 I like the units it picks. 17:10:48 Ounce cubic kilometres per cup. 17:12:39 http://www.reddit.com/r/askscience/comments/hvugz/is_it_true_that_the_seconds_between_lightning/c1ywftn 17:12:51 Said like one who has never met augur on IRC. 17:15:36 -!- zzo38 has joined. 17:16:11 42 atlantic oceans of butter equal 1 pluto 17:16:25 *approximately :) 17:16:36 Of extreme scientific importance, that is. 17:16:56 I started writing that sentence and then realised that I had no idea how to terminate it in a non-Yoda way. 17:19:05 are all your arrow keys, backspace and home broken? does your IRC client not have some kind of line editor? 17:19:19 It does, but I couldn't be bothered rewriting the sentence. 17:19:26 So I Yoda'd it up. 17:19:31 That is o 17:19:42 . 17:20:22 olsner I feel you are overthinking this. 17:20:51 overthinking I am not, I feel 17:22:01 .....use tape bound..... 17:26:56 -!- azaq23 has quit (Quit: Leaving.). 17:43:31 -!- Kustas has joined. 17:52:19 -!- monqy has joined. 18:17:32 -!- Kustas has left. 18:31:32 -!- ralc has quit (Remote host closed the connection). 18:38:16 Do you like Charities for poor people and monsters with names starting with "A"? 18:42:17 If you are making a program that, in UNIX, uses SIGUSR1 to interrupt some loops (by setting flags, etc), how can you do similar things in Windows? 18:42:41 Well, would you look at that. New version of the Haskell Platform in Debian this morning. 18:44:55 Which Debian? 18:47:10 Wheezy. 18:47:21 Been in Sid for a while. 18:50:40 http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-615.pdf 18:50:46 OK this paper is now my favourite. 18:52:02 Phantom_Hoover: Text looks like badly on my computer 18:54:57 Phantom_Hoover: :) 18:55:41 check out my response to the comment :) 19:01:45 -!- cheater1 has quit (Ping timeout: 240 seconds). 19:02:32 augur, what's with the star things on /r/Anarchism. 19:02:41 Phantom_Hoover: what do you mean 19:02:52 The half black/half coloured ones. 19:03:22 yes but whats the question 19:03:23 Someone mentioned Boltzmann brains in here/ 19:04:40 The half black/color stars of anarchism are also mentioned on Wikipedia. 19:04:53 The color half indicates different categories of anarchism. 19:05:03 oh, the question is what do they mean? 19:05:04 yes. 19:05:15 augur, yes. 19:05:21 sorry, i wasn't sure what you were asking 19:05:32 i was half tempted to respond "whats up is we like them!" 19:05:39 Red=communism Yellow=capitalism Green=naturalism White=pacifist 19:05:50 @tell elliott BtW, that CA paper has a lot about conservative CAs. There are no new ideas under the sun. 19:05:51 Consider it noted. 19:05:51 Black=anarchist 19:06:06 @tell elliott Also we all suck. 19:06:06 Consider it noted. 19:06:14 Phantom_Hoover: theres a link in the sidebar 19:06:20 that explains the stars 19:06:22 Maybe I shouldn't bother to make my language statically typed. I mean, LSL is statically typed, but there's a glaring type hole 19:06:51 Phantom_Hoover: http://www.reddit.com/help/faqs/Anarchism#WhatarethosefunkystariconsnexttosomenamesandhowcanIgetone 19:06:58 "type hole". What a technical sounding term 19:07:57 Sgeo: sounds like a hole/shed in a type 19:08:03 as opposed to a lacuna 19:08:12 What is "type hole"? 19:08:21 * Sgeo wikis lacuna 19:08:40 Sgeo: it means hole 19:08:41 x3 19:09:01 but usually people use it to mean when something is missing 19:09:03 zzo38, well, llList2String([5], 0) compiles 19:09:05 like a gap 19:09:40 Lists are heterogeneous in a statically typed environment. 19:09:44 void ***writing_garbage_collectors_is_fun 19:11:22 Phantom_Hoover: s'at explain things for you? 19:11:33 augur, so many varieties. 19:11:44 Phantom_Hoover: those arent all there is too! 19:11:50 * Phantom_Hoover wonders how the insufferability differs between groups. 19:11:51 those are just some main tendencies 19:12:03 Phantom_Hoover: everyone hates anarcho-capitalists 19:12:15 and a bunch of people hate anarcho-primitivists 19:12:26 augur, unsurprising; unsurprising. 19:12:32 everyone hates Hakim Bey but thats a separate issue 19:12:40 and other than that people generally get along 19:16:00 I don't even know what llList2String([5], 0) is supposed to mean 19:17:06 zzo38, 0th element from the list [5] assuming (wrongly) that it's a string 19:19:41 Gregor: I think soon you'll have more *s than Gs. 19:22:20 I have a book it describes a few things about garbage collection, including mark/sweep, and some others 19:27:44 -!- zzo38 has quit (Remote host closed the connection). 19:40:07 -!- oerjan has joined. 19:51:34 -!- pikhq has joined. 19:52:00 -!- pikhq_ has quit (Ping timeout: 260 seconds). 19:55:46 -!- Sgeo has quit (Read error: Connection reset by peer). 19:56:23 -!- Sgeo has joined. 19:57:37 Do you like Charities for poor people and monsters with names starting with "A"? 19:58:25 hey vampires and zombies want charity too! preferably in the form of blood and brains 20:01:38 Lists are heterogeneous in a statically typed environment. 20:01:48 well not in haskell... 20:02:04 oerjan, I was referring specifically to the environment of LSL 20:02:29 ic. same as Java without generics, perhaps? 20:02:48 oerjan: I was thinking, the knapsack problem might be better for our NP-complete syntax 20:03:10 or in fact C 20:03:46 Hmm. I'm not familiar with how Java deals 20:04:19 Sgeo: basically before generics, your container types would just contain Objects, i think (which they still do _internally_) 20:04:34 where Object is the superclass of every other class 20:04:43 Fun 20:04:59 There is no universal superclass in LSL 20:05:05 although _not_ of some primitive types such as int iirc 20:05:14 Sgeo: is there OO at all? 20:05:17 No 20:05:43 is there a way to check the type of a list element? 20:05:46 Yes 20:06:18 i guess a single-element list could work as a sort of wrapper for anything 20:06:48 does speed matter in second life 20:07:00 execution speed that is 20:07:12 Sgeo: presumably it works sort of like [Dynamic] in haskell, then 20:07:23 http://wiki.secondlife.com/wiki/LlGetListEntryType 20:07:49 wow nice language 20:09:04 Sgeo: hm i note lists are not themselves among the types possible 20:09:14 Indeed 20:09:23 Can't put a list in a ist 20:09:24 *list 20:09:26 -!- ais523 has joined. 20:11:54 http://wiki.secondlife.com/wiki/List 20:13:26 gah, I'm getting a burst of Sgeoism from my parents, who have basically banned the family from eating vegetables because of the E. coli outbreak in Germany 20:14:13 lsl looks so gross :( 20:14:32 good luck sgeo with making something less gross 20:15:00 I think I may lack a clear enough view of all of LSL's grossness 20:17:08 ais523: even british grown ones? 20:17:39 Well, I'll be damned. 20:17:49 oerjan: my mother is convinced that any vegetable I eat will be a contaminated one bought up because it was cheap, and mislabeled to trick people into buying it 20:18:02 The SCOTUS ruled yesterday that phone companies are required to unbundle their network. 20:18:20 ic. paranoid and prone to delusions. 20:18:35 pikhq: wow 20:18:54 they also ruled on i4i vs. Microsoft; now i4i have won and Microsoft is out of appeals 20:19:00 Ah. As the FCC has been demanding. 20:19:11 "Yes, AT&T, you *are* subject to FCC regulations" 20:19:16 luckily, though, they did say that the law in question is stupid (or imply it as strongly as they could), but said that it was relatively clear 20:19:33 The SCOTUS ruled yesterday that phone companies are required to unbundle their network. 20:19:37 also, the opinion looked to me like a deliberate attempt to point out a loophole in the law in question 20:19:40 Explain? 20:19:53 that could be exploited by other people who thought it was stupid 20:19:59 Phantom_Hoover: Y'know how you can have multiple DSL providers using the same last-mile wiring? 20:20:07 pikhq, in theory, yes. 20:20:29 That's because you have unbundling in your country. 20:20:34 Which law? 20:21:27 22:42:53: which is pretty much the case with current version of Standard Model + General Relativity 20:21:29 Erm. 20:21:30 No. 20:21:45 Standard Model doesn't predict neutrino flavour oscillation IIRC. 20:22:12 Phantom_Hoover: i thought they'd sort of upgraded it to include that already :P 20:22:19 (thus "current version") 20:23:01 but still no one has any idea how to combine SM and GR into something which can actually be tested for correctness in our lifetime 20:23:09 hmm, random fact I learned today: there is a division by zero in Pokémon's source code, but the division routine they use has x/0=x so they never noticed 20:23:41 I suppose x/0=x is probably the best default if you want your program to not crash on a division by zero, as it's likely to produce a result in the range it was looking for 20:24:42 assuming you are dividing by integers, and not a floating point number which should actually be close to 0 20:25:24 oerjan, also, QM is not at all friendly towards actually modelling things./ 20:25:24 floating point arithmetic's avoided like the plague in computer games, except in graphics routines, generally speaking 20:25:53 -!- cheater8 has joined. 20:27:00 Phantom_Hoover: what do you mean by "modelling" here? 20:27:34 -!- twice11 has joined. 20:27:51 oerjan, well, QCD for instance is impossible to calculate in all but the very simplest of cases. 20:27:58 if you mean "calculating simulation results" there's a guy named John Sidles frequently commenting on the Godel's Lost Letter blog who would disagree with you 20:28:19 at least for noisy systems 20:29:00 oerjan, well, I know that there's no analytical proof of colour confinement, which is very nearly the simplest case you can actually have. 20:29:25 Phantom_Hoover: oh he is not talking about analytical proof, but about numerical calculation 20:29:39 oerjan, well, I'm not sure about approximation. 20:29:54 The eigenratio of reality has to be enormous, though. 20:30:12 `addquote The eigenratio of reality has to be enormous, though. 20:30:15 ​450) The eigenratio of reality has to be enormous, though. 20:31:16 ais523: Floating point arithmetic is avoided like the plague, period. 20:33:27 pikhq: most 3D graphics libraries work in single-precision floating point because rounding errors tend not to be visible, and pathological cases of floating-point arithmetic don't happen a lot in the sort of algorithms used 20:33:28 -!- ais523 has quit (Remote host closed the connection). 20:33:37 -!- ais523 has joined. 20:33:48 [21:32] pikhq: most 3D graphics libraries work in single-precision floating point because rounding errors tend not to be visible, and pathological cases of floating-point arithmetic don't happen a lot in the sort of algorithms used 20:34:51 Not to mention that single-precision is faster. 20:36:37 Wow. Fedora 16 is going to have btrfs as its default filesystem. 20:36:53 It doesn't have an fsck yet. 20:39:29 wrsfs 20:39:57 mount -o wo,remount / 20:40:59 Use this as backing device: http://www.national.com/rap/Story/WOMorigin.html 20:44:55 Oh god "Garfield in " is even worse than "Garfield inus Garfield". 20:45:31 Phantom_Hoover: i have no idea what the first is referring to 20:45:48 oh ... 20:45:52 * oerjan remembers 20:51:23 pikhq, not-present-elliott: OK, my threadsafe branch now substantially outperforms both Boehm and malloc/free, but it's still a non-marginal 27% slower than the non-threadsafe branch. 20:52:03 Hmm. 20:53:35 I have some ideas for how to bring it down, in particular my per-thread pools wasn't stable enough to make it in yet. 20:53:37 @hoogle forkIO 20:53:37 Control.Concurrent forkIO :: IO () -> IO ThreadId 20:53:49 !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!" 20:53:58 oops 20:54:04 !haskell import Control.Concurrent; main = do forkIO (putStr "That is "); putStr "great!" 20:54:08 ​grTehaatt! is 20:55:14 Gregor: the first game me something looking like the result of ls / rather than a ghc error message 20:55:17 *gave 20:55:47 !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!" 20:56:02 that gave the expected error 20:56:12 !sh ls / 20:56:12 ​bin 20:56:24 wtf 20:56:32 Gregor: _that_ gave me 20:56:36 22:56 =EgoBot> QUIT :This better not work 20:56:36 22:56 =EgoBot> 20:57:04 there's something really wrong about EgoBot's passing on of messages 20:57:38 !sh ls | fmt -w500 20:57:39 ​interps lib slox 20:57:45 oh hm 20:57:58 it was ls not ls / 20:58:04 !sh ls / | fmt -w500 20:58:04 ​bin dev etc home lib lib64 proc tmp usr 20:58:16 and missing the interps 20:58:49 Gregor: it seems like i get messages that someone else _should_ have got in DCC long ago 20:59:06 in fact i remember that QUIT :This better not work attempt from before 20:59:08 -!- elliott has joined. 20:59:44 oerjan: "Huh"? 21:00:09 !haskell import Control.Concurrent; main = forkIO (putStr "That is "); putStr "great!" 21:00:43 Gregor: several of those commands gave me responses in DCC that were completely unrelated to the command i made, and which looked like what someone else would have gotten in response to a different command 21:01:02 also, it is not repeatable in a deterministic way 21:01:12 EgoBot is based on the principle of chaos computing. 21:01:55 in fact my _second_ try of that erroneous haskell thing gave the expected ghc error message in DCC 21:02:53 however i remember this happening for quite a while. that !sh ls / above is the first case i remember where it happened as response to a fast command, though 21:03:45 !sh ls / 21:03:45 ​bin 21:04:03 nothing strange this time 21:06:38 :t fix forkIO 21:06:39 Not in scope: `forkIO' 21:06:45 :t fix Control.Concurrent.forkIO 21:06:46 Couldn't match expected type `()' 21:06:46 against inferred type `GHC.Conc.ThreadId' 21:06:47 Expected type: IO () 21:07:09 :t Control.Concurrent.forkIO 21:07:10 IO () -> IO GHC.Conc.ThreadId 21:08:01 :t fix . forever . Control.Concurrent.forkIO 21:08:02 Couldn't match expected type `a -> a1' 21:08:02 against inferred type `IO GHC.Conc.ThreadId' 21:08:02 Probable cause: `GHC.Conc.forkIO' is applied to too many arguments 21:08:18 :t forever 21:08:18 forall (m :: * -> *) a b. (Monad m) => m a -> m b 21:08:34 :t fix $ forever . Control.Concurrent.forkIO 21:08:35 IO () 21:13:03 :t Control.Concurrent.forkIO 21:13:04 IO () -> IO GHC.Conc.ThreadId 21:13:15 oh I see. 21:13:33 wouldn't fix forkIO do the trick as well? 21:13:33 for some reason it doesn't have IO a -> 21:13:44 which is why you cannot fix it 21:13:54 I think there's a IO a -> IO () function 21:14:02 but at that point you might as well use forever. 21:14:25 :t forever 21:14:26 forall (m :: * -> *) a b. (Monad m) => m a -> m b 21:14:28 right, besides fix forkIO doesn't actually do anything _after_ forking 21:14:38 :t fix (>>) 21:14:39 Occurs check: cannot construct the infinite type: m = (->) (m b) 21:14:39 Probable cause: `>>' is applied to too few arguments 21:14:39 In the first argument of `fix', namely `(>>)' 21:14:47 urgh 21:14:52 :t fix . (>>) 21:14:53 forall (m :: * -> *) a b. (Monad m) => m a -> m b 21:14:58 it's just this 21:15:17 ah 21:15:33 @hoogle m a -> m () 21:15:33 Foreign.Marshal.Error void :: IO a -> IO () 21:15:33 Text.ParserCombinators.ReadP optional :: ReadP a -> ReadP () 21:15:33 Text.ParserCombinators.ReadP skipMany :: ReadP a -> ReadP () 21:15:53 nothing direct it seems 21:15:55 although... 21:15:57 @hoogle Control.Monad m a -> m () 21:15:58 Parse error: 21:15:58 --count=20 "Control.Monad m a -> m ()" 21:15:58 ^ 21:16:02 ah 21:16:08 no there's a void function in Control.Monad. 21:16:10 :t (() <$) 21:16:11 forall (f :: * -> *) b. (Functor f) => f b -> f () 21:16:17 that also works 21:16:21 :t void 21:16:22 Not in scope: `void' 21:16:25 ...or maybe not? 21:16:30 it was definitely in the docs. 21:16:38 perhaps it's too new 21:16:50 :t ignore 21:16:51 Not in scope: `ignore' 21:16:56 yeah it is new 21:17:03 iirc gwern petitioned for it 21:17:42 :t gwern 21:17:43 Not in scope: `gwern' 21:18:15 :t elliott 21:18:15 Not in scope: `elliott' 21:18:19 ...what is this crap. 21:18:41 I can't think about typeless entities. 21:19:03 you cannot expect lambdabot to import all of elliott 21:19:19 it would ruin her self esteem 21:19:43 Perhaps Haskell needs a Please extension, like INTERCAL. 21:19:48 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 21:19:54 @list please 21:19:54 No module "please" loaded 21:20:04 so we could modify elliott with enough pleases to satisfy the interpreter/compiler in question. 21:20:29 PLEASE forever $ do ... 21:20:40 but the pleases would annihilate against the elliott 21:21:06 @hoogle void 21:21:06 Foreign.Marshal.Error void :: IO a -> IO () 21:21:11 ah yes, the natural law of anti-relationship of please and elliott. 21:21:16 @hoogle ignore 21:21:16 Text.Regex.Posix.ByteString compIgnoreCase :: CompOption 21:21:16 Text.Regex.Posix.Sequence compIgnoreCase :: CompOption 21:21:16 Text.Regex.Posix.String compIgnoreCase :: CompOption 21:21:17 * CakeProphet scribbles on some paper furiously. 21:21:25 -!- pikhq has quit (Ping timeout: 240 seconds). 21:21:31 -!- pikhq has joined. 21:21:33 i hate sweating 21:21:46 oklopol: I have actually come to train my brain to not mind it at all. 21:22:05 it's motherfuckin' built-in temperature control. 21:24:28 CakeProphet, ah, but oklopol is Finnish. 21:24:43 Wait don't they have really hot summers in Finland. 21:24:53 Like, hot by Edinburgh standards. 21:26:44 well i only mind it when i'm sitting or lying down, i don't enjoy marinating my back against a sweaty cloth, since i have acne in my back which i'd like to get rid of - although i don't actually know whether marinating it in sweat is bad for the acne. 21:27:30 Possibly you could sit in a bath of Coke all day. 21:27:41 Assuming you are still a bachelor. 21:27:41 Phantom_Hoover: finnish summers are like twenty degrees arent they 21:27:57 Otherwise you may have to compromise and use Sprite. 21:28:03 elliott, hmm. 21:28:17 at most 21:28:43 no the polar bear would die more like at most plus 1 21:28:44 You seem to be right. 21:28:52 * CakeProphet lives in the southern US. It is most likely hotter here in the summer. 21:29:07 Although Helsinki's record high is 34°. 21:29:09 but anyway it's often more than 30 in shade 21:29:15 goes up to mid-90s Fahrenheit 21:29:20 for some definitions of often 21:29:33 Phantom_Hoover: That's a *record* high? 21:30:01 elliott, AH BUT 21:30:12 Edinburgh's average high in July is 19°. 21:30:28 WHICH IS A WHOLE TWO DEGREES LESS THAN HELSINKI 21:30:29 That's... Fucking chilly. 21:30:33 A SAUNA 21:31:08 so about jacuzzis, do they usually have a way to make it it not heat but freeze the water? 21:31:16 Georgia's record high is 112 F, 44 C 21:31:16 `addquote so about jacuzzis, do they usually have a way to make it it not heat but freeze the water? 21:31:18 ​451) so about jacuzzis, do they usually have a way to make it it not heat but freeze the water? 21:31:25 *-it 21:31:26 pikhq, daily upper maxima are rarely above 22°, apparently. 21:31:26 CakeProphet: Sounds 'bout right. 21:31:27 fuck you 21:31:31 oklopol: sry 21:31:35 it wasn't because of the it it 21:31:41 :O 21:31:42 Maritime climate, bitches. 21:31:46 THERE WAS ANOTHER TYPO?!?!?!?!? 21:31:52 lol 21:32:41 today it's 31.6 C 21:33:18 CakeProphet: how do you cope 21:33:24 i die at about twentyfive degrees 21:33:30 by staying inside all day. 21:33:35 i don't mind pretty much any temperature when i'm outside, it's mostly sitting naked in my armchair which is uncomfortable, and that's kind of a problem because that's my favorite thing. 21:33:39 though even when I'm outside it's not bad. I'm accustomed to it. 21:33:40 CakeProphet: with AC on constantly? 21:33:44 elliott: pretty much. 21:33:47 nice :P 21:33:56 it's like 70-something in the house 21:34:03 which is... I don't know. 21:34:07 our climate is nice when we have good summers, winter always sucks though 21:34:10 I've been googling all of these conversions. :P 21:34:39 CakeProphet, you realise that noöne else understands Fahrenheit, right? 21:34:42 winters are pretty moderate, which means they're still pretty fucking cold but it only goes below freezing occasionally. 21:34:48 Phantom_Hoover: yes. 21:34:56 twenty-one C apparently 21:35:10 fahrenheit is the stupidest scale, true facts 21:35:29 so umm why are americans so stupid? 21:35:31 -shrug- I don't have a built-in celcius sense like I do fahrenheit 21:35:33 speaking of fahrenheit 21:35:53 it's just a standard that hasn't changed. 21:36:04 08:10:39: pikhq, doesn't it essentially come down to "you can change the past"? 21:36:09 pikhq: the record high for _all of norway_ is 35.6°C 21:36:12 it would break people's feeble minds to establish a new temperature scale. 21:36:16 how about those ofter standard like every standard US uses? 21:36:18 Phantom_Hoover: You can change it really badly, just as long as the history books look much the same 21:36:20 *other 21:36:21 argh 21:36:25 Butterfly effect: MYTH BUSTD 21:36:26 BUSTED 21:36:45 hey i have an idea 21:36:59 US could change from fahrenheit to celsius *continuously*! 21:37:02 I don't know I'd say yards are actually a bit more convenient than meters and centimeters. 21:37:05 oklopol: awesome 21:37:08 so people would have time to adjust! 21:37:10 CakeProphet: Only for interventions. 21:37:15 for eyeballing distances, anyways. 21:37:23 haha yeah right 21:37:24 oklopol: that is indeed awesome 21:37:33 the issue is, it'd be like me trying to remember my age 21:37:33 ITT: CakeProphet is used to US units, not metric; thinks US units are easier to intuitively use; world shocked 21:37:36 regarding yards 21:37:37 I keep forgetting it because it changes so oftwn 21:37:39 *often 21:37:42 ais523: yes 21:37:45 !addinterp sanetemp sh dc -e "?32-5*9/" 21:37:45 ​Interpreter sanetemp installed. 21:37:50 !sanetemp 100 21:37:56 elliott: what's more intuitive, acres or ares? 21:38:04 I don't have an intuitive idea of how big either is, so I wouldn't know 21:38:04 elliott: I only mentioned /one/ thing as /possibly/ being a better scale for the kinds of distances one would eyeball. That is all. 21:38:07 but nobody seems to use ares ever 21:38:20 ais523: no idea, but land ownership is pretty old-school so that doesn't surprise me >:) 21:38:28 everyone just uses hectares, which is a bit like the kilocalories thing 21:38:29 wait 21:38:32 ais523: people use hectares all the time 21:38:32 umm yards are essentially meters aren't they 21:38:39 What oklopol said. 21:38:43 actually, in practice people normally use square metres and square feet for things that aren't farmland 21:38:44 ...not really. 21:38:48 they're similar in length though. 21:38:49 and yes, people do use hectares all the time 21:38:53 but that isn't an SI unit 21:38:57 it has an invalid prefix 21:39:08 true 21:39:10 because it isn't a power of 1000 21:39:11 " umm yards are essentially meters aren't they" " ...not really." " they're similar in length though." <<< am i missing something? 21:39:23 oklopol, a yard = 3 feet. 21:39:30 A foot ~= 30cm. 21:39:36 0.9144 meters 21:39:38 closer than I thought 21:39:41 oklopol: *essentially* they are completely different, but they accidentally ended up similarly lengthed 21:39:46 1m ~= 39 in, 3 feet = 36 in 21:40:05 my solution to metric-other conversion is 21:40:08 I'm not sure how accurate the 39-inches comparison is, but it's more accurate than most of the others I know 21:40:08 don't talk to people who use other 21:40:08 * Phantom_Hoover wonders why sanetemp isn't working. 21:40:15 i still use miles for long distances though 21:40:18 elliott: how closed-minded of you. 21:40:19 because road signs :( 21:40:19 oh what olsner said i guess. i guess i have my own usage of terms like essentially. 21:40:31 elliott: I am quite fine with converting my units to your scales for the purposes of communication. 21:40:32 D'oh. 21:40:35 I don't really measure long distances well at all 21:40:36 !addinterp sanetemp sh dc -e "?32-5*9/p" 21:40:37 ​There is already an interpreter for sanetemp! 21:40:38 CakeProphet: same reason I don't talk to German people by tediously using a phrasebook 21:40:43 for every word 21:40:45 !delinterp sanetemp 21:40:45 ​Interpreter sanetemp deleted. 21:40:48 !addinterp sanetemp sh dc -e "?32-5*9/p" 21:40:48 ​Interpreter sanetemp installed. 21:40:54 !sanetemp 100 21:40:54 ​37 21:40:59 !sanetemp 0 21:40:59 ​-17 21:41:09 !sanetemp 32 21:41:10 ​0 21:41:23 08:16:56: Fear me, I have killed hundreds of Time Lords. 21:41:23 08:17:08: Fear me, I killed all of them. 21:41:23 08:17:16: Which house? 21:41:25 dr gregory 21:41:26 !sanetemp 265 21:41:26 ​129 21:41:35 BEST CROSSOVER? 21:42:13 08:19:48: pikhq, by 'corny' you mean 'terrible', of course. 21:42:13 Phantom_Hoover: Eh, the series was alright with him. 21:42:16 That's... Fucking chilly. 21:42:22 I mean yeah he was a bad writer but not so bad as to be intolerable. 21:42:28 You realise I live at the same latitude as the Hudson Bay, right? 21:42:51 Fahrenheit actually makes some intuitive sense for outdoor temperatures. 0 = really fucking cold 100 = really fucking hot 21:43:04 80 = pretty warm 21:43:27 70 = comfortable room temperature for most people 21:43:35 CakeProphet, that's no better than Celsius. 21:43:42 yeah, I know. 21:43:45 I didn't say it was better. 21:43:51 you do realize 70 is not really even a number 21:43:52 there was no comparison to Celsius made, in fact. 21:43:58 oklopol: whut? 21:44:03 someone got a link to that anti-metrician site 21:44:20 CakeProphet: i really have no answer 21:44:24 but i stand by what i said 21:44:26 haha. 21:44:28 okay... 21:45:02 though some people are wimps who live in AC all day and prefer 65 to 70 21:45:14 elliott, can't find it. 21:45:29 !sanetemp 70 21:45:29 ​21 21:45:31 !sanetemp 65 21:45:31 ​18 21:45:43 i don't actually even know what this AC thing is 21:45:48 air conditioning... 21:45:49 i wonder if we have those in finland 21:45:55 i know what it *means* 21:45:58 18°... that registers as "cool room" for me. 21:46:07 or what it's an acronym for i mean 21:46:10 i just don't know what that is 21:46:12 Phantom_Hoover: yep. that's what 65 is in Fahrenheit 21:46:27 Although when the heating is off my breath has fogged indoors in May. 21:46:42 it kind of works like a fucked up school grade. from 0 to 100 21:47:07 ...kind of. 21:47:29 http://www.reddit.com/r/askscience/comments/hw9zx/what_happens_to_computer_files_when_you_delete/ 21:47:59 !sanetemp 35 21:48:00 ​1 21:48:08 > 1/39 21:48:08 2.564102564102564e-2 21:48:09 !sanetemp 44 21:48:10 ​6 21:48:18 some typical winter temperatures in the south US. 21:48:28 !sanetemp 15 21:48:29 ​-9 21:48:32 occasionally it gets pretty low. 21:48:38 -!- oklofok has joined. 21:49:08 CakeProphet, FWIW, we were significantly incapacitated by about 20cm of snow this winter. 21:49:19 -!- oklopol has quit. 21:49:50 2 inches of snow in Georgia = oh my god everyone shut down everything 21:50:19 suddenly, mirc pops up a window saying i need to register it. so i had to open the program a few times to get it to accidentally have a continue button instead of an exit button. 21:50:48 !delinterp sanetemp 21:50:48 ​Interpreter sanetemp deleted. 21:50:58 !addinterp sanetemp sh dc -e "1k?32-5*9/p" 21:50:58 ​Interpreter sanetemp installed. 21:51:06 !sanetemp 70 21:51:06 ​21.1 21:51:11 so you're removing interpreters but not bans? 21:51:28 * oerjan couldn't bear seeing an approximate number printed as an integer 21:52:01 also yes, the number of interpreters has got a bit large 21:52:06 !userinterps 21:52:06 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot26 rot47 rot52 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ucat 21:52:16 :t (>>=) 21:52:17 forall (m :: * -> *) a b. (Monad m) => m a -> (a -> m b) -> m b 21:52:19 it's cut off again, there are more 21:52:49 Gregor: any suggestions for the too many userinterps problem? 21:52:52 !rot26 test 21:52:52 ​test 21:52:57 remove that one? 21:53:10 And rot52 at the same time? 21:53:11 !show rot26 21:53:11 ​sh cat 21:53:13 all of the rots except 13 and 47 are cats. 21:53:16 !show rot52 21:53:16 ​sh cat 21:53:21 !delinterp rot26 21:53:22 ​Interpreter rot26 deleted. 21:53:25 !delinterp rot52 21:53:25 ​Interpreter rot52 deleted. 21:53:32 !userinterps 21:53:33 ​Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ucat valspeak war 21:53:52 i already removed a bunch before 21:53:56 !show ucat 21:53:56 ​unlambda ``cd``d`@|`cd 21:54:01 !delinterp ucat 21:54:01 ​Interpreter ucat deleted. 21:54:28 oh wait 21:54:30 !show aol 21:54:31 ​sh b1ff 21:54:35 someone has readded those i removed 21:54:53 !help 21:54:53 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 21:55:04 !help languages 21:55:05 ​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. 21:55:20 !addinterp ustemp haskell printLn . (+32) . ((9/5)*) . read =<< getLine 21:55:20 ​Interpreter ustemp installed. 21:55:23 2 inches of snow in Georgia = oh my god everyone shut down everything 21:55:46 * oerjan goes hunting for the culprit 21:55:50 !ustemp 0 21:55:54 Have I pointed that this is two inches of snow at the same latitude that polar bears live at. 21:56:07 no. that's surprising. 21:56:17 ..huh, well obviously I fucked something up. 21:56:19 hm or wait 21:56:39 > (+32) . ((9/5)*) . read $ "0" 21:56:41 32.0 21:56:48 !delinterp ustemp 21:56:49 ​Interpreter ustemp deleted. 21:57:04 !addinterp ustemp haskell (printLn . (+32) . ((9/5)*) . read) =<< getLine 21:57:05 ​Interpreter ustemp installed. 21:57:17 Also you cannot compete with that dc code don't even try. 21:57:20 !ustemp 0 21:57:36 Phantom_Hoover: not trying to, just unrustifying myself with Haskell, poorly. :P 21:57:59 My dad is under the impression that people will sneak drugs into you at raves 21:58:05 heh 21:58:06 ...into you? 21:58:10 As in spiking drinks/ 21:58:13 !show simpleacro 21:58:14 ​haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 21:58:17 Phantom_Hoover, I guess 21:58:23 I'm really hoping he actually thinks they sneak them into you. 21:58:40 Like, they surreptitiously insert them surgically. 21:58:56 X-D 21:59:02 :t printLn 21:59:02 Not in scope: `printLn' 21:59:04 Surprise suppository! 21:59:05 lol 21:59:20 I told him about a party I want to go to, but it's from 11pm-4am. He claims it's a drug party, and to look up "raves". I say that I'm fully capable of not taking drugs, he says they'll get drugs into you 21:59:24 :t putStrLn 21:59:24 String -> IO () 21:59:27 :t print 21:59:28 forall a. (Show a) => a -> IO () 21:59:33 !delinterp ustemp 21:59:34 ​Interpreter ustemp deleted. 21:59:38 print already outputs a line feed. No need for printLn 21:59:41 !addinterp ustemp haskell (print . (+32) . ((9/5)*) . read) =<< getLine 21:59:42 ​Interpreter ustemp installed. 21:59:47 !ustemp 0 21:59:50 ​32.0 21:59:54 Sgeo: drinks being spiked is actually relatively common, although you can avoid it by paying attention 22:00:10 ais523: have you ever been to a rave 22:00:14 Sgeo, counterspike your drinks. 22:00:15 Sgeo: tell him it's your body and you can use as much heroin as you like if it makes you happy 22:00:16 how's this 22:00:28 I've never heard of drink spiking at raves 22:00:28 elliott: I don't think so 22:00:31 yeah pour liters of water in there 22:00:34 but I'm sure it happens. 22:00:39 ais523: damn, i was hoping i would be surprised 22:00:40 oklofok, given that Sgeo's dad houses him and pays for his 'education'... 22:00:42 I was once in a nightclub by mistake 22:00:45 but me nor any of my friends that have gone have never had that happen. 22:00:52 what happened was, I was trying to watch election results 22:00:58 drugs are expensive. It would be a waste to use them on a random stranger. 22:01:01 and the room I was in was being converted into a nightclub while the results were on 22:01:01 Phantom_Hoover: I don't need education, I have drugs! 22:01:07 ais523: are you sure that wasn't a dream 22:01:13 no, it was quite ridiculous 22:01:16 `addquote [on spiking] drugs are expensive. It would be a waste to use them on a random stranger. 22:01:17 ​452) [on spiking] drugs are expensive. It would be a waste to use them on a random stranger. 22:01:20 especially as it meant we got in without paying the entry fee 22:01:30 it was inevitable, thinking about it 22:01:36 CakeProphet: if you accepted DCC CHAT from EgoBot you would actually get error messages for your haskell, you know 22:01:37 CakeProphet: I actually quite line that line 22:01:44 because the room in question is one used by different people in the same organisation for a range of purposes 22:01:53 oerjan: ah. see I'd have to alt+1 to see that. 22:02:01 and one of them had told us to use it for the election results without thinking about the other set of people using it as a nightclub once a week 22:02:01 Phantom_Hoover: he should just go to a free university and live off the money the government pays him every month for like 7 years. 22:02:02 that will be helpful in the future. 22:02:03 OH WAIT 22:02:06 I do not believe ais523 would be allowed near a nightclub. 22:02:14 CakeProphet: On a forum I'm on, someone once responded to a (well-known) idiot saying that dealers were, like, the most scary dangerous people on EARTH by saying that killing your customers is bad for business :) 22:02:21 Phantom_Hoover: He's too young. 22:02:24 Phantom_Hoover: I'd have to explicitly go and take my passport with me to have any sort of ID 22:02:28 His beard marks him as untrustworthy. 22:02:34 elliott: haha. nice. 22:02:42 dealers come in all kinds of varieties, of course. 22:02:54 apart from my university ID card, which used to get into pubs on occasion even though it isn't really valid ID 22:03:01 *which I used 22:03:05 hmm 22:03:09 although admittedly the typo is funnier 22:03:12 if we had an underage Queen, technically she could get into any nightclub she wanted 22:03:24 after all, all passports are issued by her authority 22:03:30 TODO: test this 22:03:34 (I don't actually drink anything in pubs, I just go there to order food, and confuse the bar staff when I don't order any drink to go with it) 22:03:43 lol @ the UK having a queen. 22:03:45 This could quite easily become the most awesome experiment ever conducted. 22:03:55 ais523, not even water? 22:03:59 CakeProphet, noöne cares. 22:04:05 CakeProphet: Having fun deifying your political classes? 22:04:13 Sgeo: it's much cheaper to drink water when I get home 22:04:16 ...deifying? 22:04:19 CakeProphet: I can't tell you how much I prefer idolising the royal family over idolising Sarah fucking Palin. 22:04:29 The amount would simply not fit into the universe. 22:04:36 as far as I know most logical people hate Sarah Palin. 22:04:45 Congratulations, you missed the point entirely. 22:04:46 CakeProphet, see also the US attitude towards patriotism and its foundation. 22:05:08 elliott: no I got the point. 22:05:26 You'd think you were founded by a race of demigods who descended from the heavens to fight off the moustache-twiddlingly evil British and reclaim their rightful land. 22:05:28 Nobody with enough of a brain gives a shit about Sarah Palin or the royal family or anything, but patriotism will always exist and it needs someone to be all hyped up about, and a powerless monarchy is a better target than a dangerous idiot. 22:05:36 though, it's not a good rebuttal to what I said. I was simply commenting on the strageness of a modern nation having a queen. 22:06:02 I wasn't saying that you idolize her... at all. 22:06:02 elliott, France and Germany don't seem to have too bad a time of it. 22:06:06 CakeProphet: You realise the Commonwealth is pretty big right? 22:06:13 of course. 22:06:27 Phantom_Hoover: Yeah, but do you want to risk it? Heard of Berlusconi/ 22:06:29 [asterisk]? 22:06:29 elliott: that's a rationalization tho, can't we laugh at you having a queen because you actually have it for retarded reasons? 22:06:48 oklofok: it's not a rationalisation so much as a reason to keep a now-useless remnant 22:06:50 Sgeo: it's much cheaper to drink water when I get home <-- huh. in norway it's established that establishments cannot take more than a token payment for tapwater. 22:07:02 elliott, you're reducing vastly complex social factors into an extremely simplistic view. 22:07:05 oerjan: Yes but you're communists. 22:07:07 wait, you have to pay for water? 22:07:10 Phantom_Hoover: Welcome to IRC. 22:07:18 elliott: are you sure that's one of the actual reasons you keep it? 22:07:22 It's about four times more verbose than Twitter. 22:07:31 water is pretty much universally free at establishments in the states. 22:07:36 oklofok: you're acting like I have the power to individually abolish the monarchy 22:07:42 I'm expressing my personal opinion 22:07:42 oklofok: major practical advantage of having a Queen: it means that we have someone we can send abroad for state visits to shake hands without having to take the Prime Minister away from the actual job of governing 22:07:54 elliott, your argument is completely flawed as a result, though. 22:08:02 ais523: I dunno, I think I'd prefer an excuse to take the PRime Minister away from governing 22:08:05 most Universities have a Chancellor for the same reason, while the Vice-Chancellor does all the actual work 22:08:14 elliott: I'm talking in general 22:08:15 Phantom_Hoover: maybe if this wasn't IRC I'd actually bother fleshing out my argument rather than stating it off-hand as part of banter 22:08:18 ais523: It was a joke 22:08:20 I mean, people in the UK are not as patriotic as those in the US; it's not a fixed thing/ 22:08:21 or do you dislike prime ministers in general? 22:08:21 [asterisk]Prime 22:08:23 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:08:29 Agora needs someone who can shake online hands. 22:08:42 while Sgeo does all the work of protecting it from invasion? 22:09:11 elliott: i called it a rationalization because i thought it was a personal opinion. then you said it's a reason so i figured maybe that's somehow explicitly stated in secret government files you read every day. 22:09:19 oklofok: it is totes 22:09:30 YOU KNOW FROM WIKILEAKS OR SOMETHING 22:09:30 oklofok: nah, I'm not saying why I think we have a queen 22:09:40 I'm saying why I don't particularly think getting rid of the queen is something to bother doing 22:09:46 not that it would ever happen, anyway 22:09:55 oklofok: wikileaks? lol hello i am the prime minister 22:10:19 Phantom_Hoover: depends on the person of course. Most of my personal friends are very disappointed with American government, and the few UKers that I've met have been oddly patriotic. 22:10:24 wait, you have to pay for water? <-- not in practice. 22:10:35 CakeProphet: How many national treasures does the US have ;D 22:10:44 elliott: way too fucking many. :P 22:10:52 elliott: oh that would explain why you're so stupid hahahahahahahaha 22:10:55 too many being more than 0 22:11:04 CakeProphet: I don't think you know what national treasure (is used to) mean(s) 22:11:08 oklofok: hahahaha yeah 22:11:12 im gonna fire the nukes 22:11:15 oerjan: you don't have places that resell bottled tapwater? we do 22:11:38 elliott: No I do, but there are also these shitty films you see.... 22:11:43 CakeProphet, well, it's rare that you see any prominent figures in the UK calling us the "greatest nation on Earth". 22:11:53 In the US... 22:12:38 Phantom_Hoover: there's quite a large current of disatisfaction with the US government in the states. Of course, it doesn't show as much in the political sphere. 18:02 < CakeProphet> elliott: haha. nice. 22:12:42 18:02 < CakeProphet> dealers come in all kinds of varieties, of course. 22:12:45 18:02 < ais523> apart from my university ID card, which used to get into pubs on occasion even though it isn't really valid ID 22:12:48 ....? 22:12:51 no clue how that happened. 22:12:54 CakeProphet: it was a typo 22:12:56 "Large current" is understating it. 22:13:00 which I corrected on the next line 22:13:04 although admittedly it's a funny typo 22:13:14 yeah three lines of spam is a hilarious typo 22:13:51 ais523: your university id card is the life of the party man 22:14:23 oerjan: you don't have places that resell bottled tapwater? we do <-- of course we do, you don't have to buy it though 22:14:32 a restaurant in my town have *their own brand* of bottled water that is "here-bottled", i.e. they fill it from the tap before they give it to you... and it costs at least as much as brand-name water imported from the other end of europe would've costed 22:14:53 :D 22:14:57 Awesome. 22:14:59 tap water in a glass is "not part of their concept" (quote is actual quote) 22:15:41 i'm speechless, he said out loud. 22:16:28 not part of their concept :D 22:17:22 so what's gas in the UK? 22:17:35 2 22:17:40 ...ah yes. 22:17:49 i don't know tho 22:17:54 CakeProphet: UK "gas" = the state of matter after it's been vaporised, US "gasoline" = UK "petrol" 22:17:58 I'm not quite sure what the question means 22:18:04 but that's probably a realistic guess compared to what others will say 22:18:11 oh there you go 22:18:14 first contestant 22:18:17 ais523: what is the price of "petrol" in various parts of the UK. 22:18:26 OH THAT'S WHAT YOU MEANT! 22:18:28 oh, about £1.30 per litre at the moment 22:18:35 * CakeProphet facepalm. :P 22:18:37 hey pretty close 22:18:53 I like how Americans complain about the price of petrol so much 22:18:55 (UK£ 1.30) per litre = 7.99225346 U.S. dollars per US gallon 22:18:56 when it's more expensive everywhere else 22:19:09 elliott, EXCEPT VENEZUELA 22:19:13 Phantom_Hoover: FUCK YEAH 22:19:23 http://www.eia.gov/oil_gas/petroleum/data_publications/wrgp/mogas_home_page.html 22:19:23 what would you ever need petrol for 22:19:27 http://www.datadev.com/degausser-hard-drive-data-security-erase-v6000-conveyor.html 22:19:28 it's a whole THREE DOLLARS PER GALLON in the US zomg 22:19:30 Awesome. 22:19:32 newsflash: it doesn't actually taste that good 22:19:34 INSANE PRICE 22:19:35 elliott: Americans also have 20 mile one-way commutes. 22:19:40 `addquote what would you ever need petrol for newsflash: it doesn't actually taste that good 22:19:41 ​453) what would you ever need petrol for newsflash: it doesn't actually taste that good 22:19:43 the price of gas where I live is $3.50 per gallon. 22:19:45 oklofok: it's actually poisonous, so I advise against drinking it 22:20:01 let's call it $8 per gallon in the UK, because my originally stated price was approximate anyway 22:20:05 ais523, also contains benzene, my carcinogen of choice. 22:20:26 though I believe in some parts of the states it goes over $4 per gallon. -gasp- WHICH IS OUTRAGEOUS. 22:20:32 `addquote [on petrol] oklofok: it's actually poisonous, so I advise against drinking it ais523, also contains benzene, my carcinogen of choice. 22:20:33 ​454) [on petrol] oklofok: it's actually poisonous, so I advise against drinking it ais523, also contains benzene, my carcinogen of choice. 22:20:38 " elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs? 22:20:40 CakeProphet: In CALIFURNIA 22:20:45 " hmm, so this is fuel? will it also fuel me perhaps?" 22:20:47 oklofok: "20 miles, one way". 22:20:47 `addquote " elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs? 22:20:48 ​455) " elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs? 22:20:53 `quote 22:20:53 `quote 22:20:54 `quote 22:20:54 `quote 22:20:54 ​239) * pikhq sticks several thousand kg m^2/A s^3 through elliot pikhq: I'm underage! 22:20:55 `quote 22:20:55 ​251) Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly. 22:20:56 ​224) [...] I'm just widening the shaft to be 4x2 or so. 22:20:57 ​260) clue is a language for beauty, not usefulness or ability to run at all ability to run at all is not even close to a design goal, no 22:20:58 ​336) Phantom_Hoover: if the list is in random order, like poor ehird here 22:20:58 but I guess oklofoks are *not* in fact petrol driven 22:20:58 this is a good day for `addquote 22:21:00 * oklofok seems to be on fire. 22:21:10 ais523: what a fine day to add quotes indeed. 22:21:17 kg m^2/A s^3 22:21:18 Also, public transit is not really an option outside of most of New York City. 22:21:22 That made sense up to the A. 22:21:26 We need like ten quotes about petrol, at LEAST. 22:21:30 What is that? G/current/ 22:21:34 I didn't even notice 336 was fungot at first 22:21:41 it would have been plausible from many other memvers of the channel 22:21:45 *members 22:21:46 `quote like wtf 22:21:47 ​131) alise: why internet is like wtf 22:21:53 Oh, wait, that's not what the unit of G is. 22:21:57 I always imagine a badly-made robot prop saying that in a robot voice. 22:21:58 It is hilarious. 22:21:59 Phantom_Hoover: That's, uh, a volt in SI base units. 22:22:03 It is just so confused as to why internet is like wtf. 22:22:07 hmm, are those markov chain quotes? 22:22:09 pikhq, ah. 22:22:10 pikhq: I was trying to decode it in my head 22:22:13 but got confused 22:22:15 olsner: do you... not know of fungot 22:22:33 olsner: they're markov chain quotes generated by a bot written in Funge-98 22:22:33 `quote fishing 22:22:34 No output. 22:22:36 which isn't here right now 22:22:38 olsner: http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 22:22:38 `quote fish 22:22:40 No output. 22:22:42 `quote 22:22:42 ais523: it's not actually markov, IIRC 22:22:43 ​349) elliott: hey, thinking's easier than using the Internet 22:22:45 It's a different kind of chain thing 22:22:50 `quote porn 22:22:51 ​33) pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced. \ 63) Porn. There, see? \ 77) SF.net porn :/ Oh yeah, baby, gimme that... bloated download page? \ 132) I am an inherently pornographic 22:23:05 elliott: I know it's a bot and I've seen it speak, and you've probably told me before what it was 22:23:07 `quote mathematics 22:23:08 No output. 22:23:10 `quote 132 22:23:11 `quote death 22:23:12 ​132) I am an inherently pornographic being. 22:23:13 ​135) like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English alise: that's great filler ais523: well it contains all the important words in the english language... 22:23:19 best quote about death 22:23:30 best quote about anything 22:23:39 `quote anything 22:23:40 ​104) For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. \ 413) I can trust elliott_ to have an opinion on anything and everything Yes. And the best thing is: 22:23:53 `quote 413 22:23:54 ​413) I can trust elliott_ to have an opinion on anything and everything Yes. And the best thing is: it is the correct opinion. 22:23:54 it's always the /right/ opinion 22:23:55 a very important quote number 22:24:02 bleh, misquoted slightly 22:24:09 elliott, oh god. 22:24:13 `quote 612 22:24:14 No output. 22:24:23 Huh. 22:24:25 `quote math 22:24:26 ​149) Gregor-P: I don't think lambda calculus is powerful enough \ 190) It's like mathematicians, where the next step up from "trivial" is "open research question". "Nope... No...This problem can't be done AT ALL. This one--maybe, but only with two yaks and a sherpa. ..." 22:24:29 Phantom_Hoover: I'll fix delquote soon and everything will reorder. 22:24:32 I thought we were well beyond 800. 22:24:35 I should modify the quote system to remember IDs really. 22:24:42 Phantom_Hoover: No, we've just recently entered the four-hundreds. 22:24:59 !show b1ff 22:24:59 ​sh b1ff 22:25:02 !show aol 22:25:02 ​sh b1ff 22:25:08 !delinterp b1ff 22:25:08 ​Interpreter b1ff deleted. 22:25:18 !aol what does this do 22:25:19 ​WHAT DUZ THI5 DO 22:25:25 Ah. 22:25:30 maybe if i bought more petrol we'd get over 800 sooner. you know, because then i could be on fire all the time. 22:25:31 !userinterps 22:25:32 ​Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh sh__ simpleacro simplename slashes svedeesh swedish ustemp valspeak warez 22:25:41 !show sh__ 22:25:41 ​perl $_=<>;print `$_` 22:25:42 !pi 22:25:42 ​3.14156 22:25:45 !Gregor durpaderp 22:25:49 !delinterp sh__ 22:25:49 ​Interpreter sh__ deleted. 22:25:51 !swedish herp derp 22:25:52 ​herp derp 22:25:56 !aol THE FACT THAT I WILL BE HELPFUL IS AN IMMUTABLE FACT THAT I AM STATING FOR THE RECORD 22:25:56 ​THE FACT THAT I WILL BE HELPFUL IS AN 1MMUTABLE FACT THAT I AM 5TAT1NG FOR THE RECORD 22:25:59 !swedish flarglblalrdk 22:26:00 ​flerglblelrdk 22:26:01 pah 22:26:08 !show warez 22:26:09 ​sh warez 22:26:11 !swedish auieo 22:26:11 ​ooeeeu 22:26:11 egoegoegoegoegoegoegoego 22:26:16 egoegoegoegoegoegoegoegoegoegoegoegoegoego 22:26:21 okokokokokokokokokokookok 22:26:22 fuck 22:26:23 okokokokokokokokokokokokokokokokokokokokokokokokokokokokokoko 22:26:24 oerjan: but you just deleted our most powerful sh command! 22:26:25 okokokokokokokoko 22:26:26 okokokokokoko 22:26:27 okokokoko 22:26:29 okoko 22:26:29 o 22:26:32 okokokokokokokokoko 22:26:34 okokokokokokokoko 22:26:36 okokokokokokoko 22:26:38 okokokokokoko 22:26:40 okokokokoko 22:26:42 okokokoko 22:26:44 okokoko 22:26:44 okoko 22:26:45 this is a good day on esoteric 22:26:45 oko 22:26:45 o 22:26:51 !quote fuck 22:26:52 Erm 22:26:52 CakeProphet: this is more powerful than plain !sh how? 22:26:53 definite A+ quality irc 22:26:54 `quote fuck 22:26:55 ​247) I love the way zzo38's comment was cut off after the f of brainfuck that's just the most hilarious place to cut it off in a discussion about censorshi \ 302) oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think oerjan: What - the - fuck \ 326) 22:26:56 `pastequotes fuck 22:26:57 ​http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16753 22:27:00 oerjan: because it's written in Perl, of course. 22:27:03 :3 22:27:11 ooooooh 22:27:13 " ​247) I love the way zzo38's comment was cut off after the f of brainfuck that's just the most hilarious place to cut it off in a discussion about censorshi" <<< best ever, maybe 22:27:44 `quote quote 22:27:45 ​37) i can get an erection out of a plank, you can quote me on that. \ 95) [Warrigal] `addquote hahaha, Lawlabee is running windows 'cuz it's pretty awesome. [Lawlabee] Warrigal: :( \ 97) Note that quote number 124 is not actually true. \ 109) let's put that in the HackEgo quotes files, 22:28:00 !show rot47 22:28:00 ​perl $_=<>;tr/!-~/P-~!-O/;print 22:28:05 !show rot13 22:28:05 ​bf (sending via DCC) 22:28:10 `quote art 22:28:11 ​3) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 6) His body should be given to science. He's alive :P Even so. \ 11) wouldn't that be considered pedophilia? 22:28:11 eek 22:28:13 `quote \bart\b 22:28:14 No output. 22:28:18 why does hackego do the weird invisible character thing? link recognition fails :/ 22:28:20 !rot12 test 22:28:25 !rot13 test 22:28:26 ​grfg 22:28:29 `quote funge 22:28:29 olsner: because Gregor is bad and horrible 22:28:30 !rot47 test 22:28:30 ​E6DE 22:28:30 ​33) pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced. \ 249) The Perl script is probably slower than the Befunge code. \ 271) in retrospect that wasn't even necessary, as communal readings of the Funge-98 spec do just a 22:28:35 olsner: Shut your link-recognition whore mouth! 22:28:36 woah, a bf rot13 sounds insanely complicated. 22:28:38 and hates botloops even more than he hates not being terrible 22:28:43 or 22:28:44 `quote 124 22:28:44 the opposite of that 22:28:45 ​124) Well yeah, but furthermore unlike, oh, say, an Apple product, you don't have to sign their "we own your sperm" license agreement to GET that SDK and the requisite libraries. ... pikhq: Sure, but it's the only way Apple could get a first-born-son clause into a modern licensing agreement without infringing 22:28:45 dunno 22:28:46 CakeProphet: it's not massively bad 22:29:02 the hard part is working less-than and greater-than operators 22:29:15 elliott: hmm, who's running Gregor? can we patch it? 22:29:21 CakeProphet: http://www.hevanet.com/cristofd/brainfuck/rot13.b is a ... longer version than 22:29:21 i think 22:29:24 theres an anagolf one of it 22:29:24 ais523: ah, yeah nevermind. For some reason I was thinking you had to load the entire string into memory at once. That is silly. 22:29:26 i don't particularly like apples 22:29:34 olsner: EgoBot is running Gregor 22:29:41 they have that thing inside them that tastes like meh 22:29:43 oklofok, better than pears. 22:29:53 CakeProphet: even if you did, it still wouldn't make a significant difference 22:30:00 pears also have shit inside them 22:30:01 loading one string into memory is one of the few things that BF is actually very good at 22:30:05 oerjan: it's like rot13 but with numbers and symbols too. 22:30:18 the taste of the good part is of secondary importance 22:30:30 oklofok: you can eat just the good part and throw the rest away 22:30:30 why does hackego do the weird invisible character thing? link recognition fails :/ <-- why would a prefixed character prevent link recognition? 22:30:32 that's what I do 22:30:37 `quote `quote 22:30:38 ​407) `quote django ​352) django is named after a person? thought it would be a giraffe or something thankfully only one \ 408) `quote django ​352) django is named after a person? thought it would be a giraffe or something \ 407) 22:30:40 oerjan: because its part of the same word 22:30:43 oerjan: consider abchttp://google.com/ 22:30:47 erm 22:30:52 " oklofok: you can eat just the good part and throw the rest away" <<< if i could *first* throw the rest away and then eat, it'd be okay 22:30:54 except that's actually a valid abchttp link, but whatever 22:31:00 but yeah 22:31:02 django is named after AN EXCELLENT JAZZ GUITARIST. 22:31:04 oklofok: there's a tool called a corer 22:31:13 ais523: i think he means the actual apple 22:31:16 if you combine that with cutting away obvious bruises, you should be OK 22:31:18 that was the oklopol way of interpreting it 22:31:22 X-Chat doesn't know that zero-width space is a whitespace character. 22:31:37 `quote django 22:31:38 ​352) django is named after a person? thought it would be a giraffe or something \ 407) `quote django ​352) django is named after a person? thought it would be a giraffe or something thankfully only one \ 408) `quote django ​352) 22:31:39 I swear not to botloop if you remove it :P 22:31:46 maybe (probably) xchat does not know all the unicodes 22:32:08 otherwise, while eating, i'll keep thinking "well this is good, but AT WHAT COST", you know, because i have to dispose of the insides after eating, have to keep track of nearest trashcan etc. 22:32:09 i know all the unicodes 22:32:18 How long will it take me to reread hivebent? 22:32:20 ais523: oklofok just likes the skin, you see 22:32:26 I r l33t h4x0rz tht kn0 411 t3h un1c0d3s 22:32:31 Sgeo: 0 seconds, but you won't be able to name a single event or character 22:32:37 perfect optimised skimming 22:32:42 oklofok: this is why fruiteaters are inferior 22:32:43 oklofok: you don't have a trashcan in your kitchen? 22:32:48 " oklofok: there's a tool called a corer" <<< that doesn't remove all of it usually 22:32:52 or do you not eat apples there 22:32:54 oklofok: fair enough 22:33:07 " ais523: i think he means the actual apple" <<< no, one of oklopol's things is hating complicated food. 22:33:09 !userinterps 22:33:09 ​Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc wc 22:33:15 !show wc 22:33:15 ​sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts 22:33:27 oklofok: do you like baby food 22:33:29 its really simple 22:33:31 oerjan: i made that one 22:33:37 ooh, sed code! 22:33:40 oerjan: did you just refer to yourself in the third person using a different nick from your current one? 22:33:43 !delinterp wc2 22:33:43 ​Interpreter wc2 deleted. 22:33:44 Gregor: that list is too damn crowded 22:33:47 " oklofok: you don't have a trashcan in your kitchen?" <<< yes but i don't have to keep making sure it's still there while eating 22:33:51 *oklofok: 22:33:56 !pi 22:33:56 ​3.14156 22:33:58 !wc http://www.google.com/ 22:33:59 !show fudd 22:34:00 ​10 11 705 22:34:00 ​sh fudd 22:34:02 !wc -c http://www.google.com/ 22:34:02 ​22 22:34:04 ais523: what? 22:34:04 quality tool 22:34:09 wait 22:34:09 !!show pi 22:34:09 !fudd what is this I wonder 22:34:10 ​what is dis I wondew 22:34:11 and do you live in an environemnt where people might plausibly steal your trashcan while eating? 22:34:11 lol 22:34:12 what 22:34:14 olsner: misping 22:34:14 !show pi 22:34:14 ​sh read p; if [ "x$p" = "x" ]; then p=5; fi; echo "scale=$p; a(1)*4;" | BC_LINE_LENGTH=490 bc -l | tr -d '\\' 22:34:16 ok the -c stops it loading it 22:34:16 *oerjan: 22:34:17 hahaha 22:34:21 " oklofok: do you like baby food" <<< comes in a glass jar, not particularly nice 22:34:21 elliott: There. 22:34:21 !elmer what is this I wonder 22:34:22 ​what is this I wonduh 22:34:35 `pastequotes test 22:34:35 elliott: to be fair, I did catch that second misping before pressing return but it was too funny to correct 22:34:36 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26884 22:34:44 Gregor: ur supa kawaii ^________^ 22:34:50 " oerjan: did you just refer to yourself in the third person using a different nick from your current one?" <<< did you just refer to me using a different nick from any of my nicks? 22:34:54 oklofok: yes 22:34:58 ais523: yes 22:34:58 ais523: pong 22:35:08 elliott, are you fixing delquote YOU BETTER BE 22:35:08 elliott: heh, kawaii is one of the few Japanese words I actually know the meaning of 22:35:10 oerjan: are you oklofok 22:35:12 although I can't spell it 22:35:17 Phantom_Hoover: k i will because i am nice 22:35:21 I wonder if fudd is a better elmer than elmer. 22:35:30 ais523: i was using it ironically :( 22:35:33 `url bin/delquote 22:35:34 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/delquote 22:35:52 yeah actually me and oerjan are the same guy 22:35:56 `run expr "999" + 0 2>&1 22:35:57 999 22:35:59 elliott: well of course, you aren't an anime-loving cosplaying teenage girl 22:36:04 ais523: OR AM I????????????????? 22:36:06 and I don't think anyone else uses it non-ironically 22:36:21 hmm, shell is really confusing 22:36:35 ...what? 22:36:36 `run id=999; echo $((id-9)) 22:36:37 990 22:36:46 elliott: ouch 22:36:51 is it implying a sigil there? 22:36:57 ais523: yeah, bash math mode is weird 22:36:58 ais523: outside japan or inside it either? 22:37:06 ais523: japanese people calling stuff 'cute' might use it non-ironically a lot though 22:37:06 `pastequotes 22:37:07 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.14184 22:37:12 elliott: well of course, you aren't an anime-loving cosplaying teenage girl 22:37:17 oklofok: both 22:37:19 I think 22:37:20 SILENCE FOR ONE OF THEIR NUMBER WALKS AMONG US 22:37:27 WE MUST NOT SPEAK OF THIS MATTER 22:37:40 ais523: afaiu, japanese people love cutesy things, why wouldn't they have a serious word for them? 22:37:41 `run sh -x bin/delquote 444 2>&1 22:37:42 ​+ id=444 \ + expr 444 + 0 \ + head -n 443 quotes \ + tail -n +445 quotes \ + diff quotes quotes.new \ + mv quotes.new quotes \ + echo '*poof*' \ *poof* 22:37:48 `quote 444 22:37:49 444) This is [...] me saying "lol im a fag". 22:37:50 oklofok: it's a great word 22:37:57 `run sh -x bin/delquote 445 2>&1 22:37:58 ​+ id=445 \ + expr 445 + 0 \ + head -n 444 quotes \ + tail -n +446 quotes \ + diff quotes quotes.new \ + mv quotes.new quotes \ + echo '*poof*' \ *poof* 22:37:59 `quote 444 22:38:00 444) This is [...] me saying "lol im a fag". 22:38:01 elliott: yeah the sigil is implied in expr/$(()) 22:38:03 hmmm 22:38:03 ais523: ? 22:38:06 elliott: for convenience 22:38:10 oklofok: if everything is already cute, why would you need a word for it? 22:38:19 stop takling guys im doing serious software engineering 22:38:21 oklofok: I mean, it's so much better than the rough English translations 22:38:30 ais523: so why would you only use it ironically 22:38:36 oerjan: are you oklofok <-- not afaik 22:38:49 because the meaning is one that most people wouldn't generally want to use 22:38:55 `fetch http://sprunge.us/XWbR 22:38:57 2011-06-10 22:38:56 URL:http://sprunge.us/XWbR [214] -> "XWbR" [1] 22:39:00 elliott: lol, "engineering" software are you? 22:39:01 argh, there's too much noise here, when i finally manage to answer, people have already spammed like 50 lines 22:39:07 whoops, meant to say that as oerjan. 22:39:14 `run sh XWbR 455 22:39:15 ​*poof* 22:39:21 `url quotes.new 22:39:22 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes.new 22:39:28 hmm 22:39:30 whoops, I just accidentally deleted all my email 22:39:30 ok so it just does nothing 22:39:32 `rm quotes.new 22:39:34 No output. 22:39:34 ais523: cool 22:39:34 good thing the undelete is working properly 22:39:38 lol 22:39:42 is the mail server running on dos 22:40:00 " because the meaning is one that most people wouldn't generally want to use" <<< oh well i don't know what it means past "cute" 22:40:01 Learn to be Chinese and kill yourself 22:40:01 this quote always unnerves me 22:40:09 i find it hard to come up with reasons that zzo wouldn't flip out and become a serial killer :/ 22:40:15 but then the same applies to all of you 22:40:16 also, everyone 22:40:24 * CakeProphet is a serial killer. 22:40:25 hmm, you're assuming he hasn't already? 22:40:29 olsner: oh dear 22:40:40 i would never flip out and become a serial killer, but it might be a very interesting career choice otherwise 22:40:49 `fetch http://sprunge.us/FTCd 22:40:50 2011-06-10 22:40:50 URL:http://sprunge.us/FTCd [214] -> "FTCd" [1] 22:40:56 `run sh FTCd 455 22:40:57 ​*poof* 22:41:02 wtf 22:41:03 oklofok: the first and second part of that sentence don't seem to agree completely 22:41:12 olsner: i mean "flipping out" is just gay 22:41:25 oerjan: the sudden profusion of userinterps is my doing. 22:41:27 `fetch http://sprunge.us/VASY 22:41:27 !show elmer 22:41:27 perl for (<>) {lc; s/l(?!e\W)/w/g; s/\Ber|(? 2011-06-10 22:41:28 URL:http://sprunge.us/VASY [215] -> "VASY" [1] 22:41:37 `run sh VASY 455 22:41:38 ​*poof* 22:41:42 wtf 22:41:43 if i became a serial killer, it'd be because i want to kill people, not because i'm crazy 22:41:50 `run head -n 450 quotes | paste 22:41:52 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15924 22:41:54 CakeProphet: it's a problem when we cannot list them all... 22:41:59 im going to add if i became a serial killer, it'd be because i want to kill people, not because i'm crazy 22:42:01 once ive fixed this 22:42:02 !ls 22:42:05 -!- kovacs has joined. 22:42:06 right, becoming a serial killer doesn't imply that you've flipped out or even changed in personality 22:42:13 just that you've started killing people 22:42:14 !sh ls -1 22:42:14 interps 22:42:15 yes 22:42:17 oerjan: hi, stop 22:42:23 thanks 22:42:27 saying anything else is just ignorant 22:42:28 hmmhmm 22:42:32 `url bin/addquote 22:42:33 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote 22:42:46 well that wasn't the right flag 22:42:58 `run head -n $((455-1)) quotes >quotes.new 22:42:59 No output. 22:43:01 killing people is a natural thing, which we refrain from because it's so much better than the alternative in the long run. 22:43:09 what the fucking what 22:43:13 `run head -n $((9-1)) quotes >quotes.new 22:43:14 No output. 22:43:21 gah how does that work but not 22:43:25 `quote 455 22:43:25 !ls -1 interps 22:43:26 No output. 22:43:27 elliott: $((455-1)), aka 454? 22:43:27 oh 22:43:30 `quote 454 22:43:31 No output. 22:43:34 olsner: stfu im trying to dianogse the bug 22:43:34 WTF 22:43:36 `url quotes 22:43:37 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes 22:43:45 ok wait 22:43:46 elliott: Maaaaaaaaaaaaybe you want to take this to PM :P 22:43:47 how many quotes are there 22:43:49 `run wc -l quotes 22:43:49 have fun dianogsing 22:43:50 453 quotes 22:43:52 Gregor: fuk u im an unpaid volunter 22:43:55 `quote 453 22:43:55 elliott: CONCENTRATE CONCENTRATE CONCENTRATE CONCENTRATE 22:43:56 453) " elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs? 22:44:01 `delquote 453 22:44:02 ​*poof* 22:44:03 `quote 453 22:44:04 453) " elliott: Americans also have 20 mile one-way commutes." <<< one-way commutes? you have like disposable jobs? 22:44:06 i honestly have no idea 22:44:08 Gregor: lol hello welcome to #esoteric 22:44:15 `run head -n $((453-1)) quotes >quotes.new 22:44:16 No output. 22:44:21 elliott: Your `quote hours go directly into my GGGGC hours! By some convolution. 22:44:29 !perl print "elliott: " . "CONCENTRATE" x 30 22:44:29 elliott: CONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATE 22:44:31 `run head -n $((454-1)) quotes >quotes.new 22:44:32 No output. 22:44:40 wtf 22:44:44 `quote 453 22:44:45 No output. 22:44:49 WHAT 22:44:56 I DIDN'T TOUCH QUOTES 22:45:00 `help 22:45:01 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/ 22:45:09 wait 22:45:11 is it just the merging time 22:45:11 elliott concentrate, new from Crooked Tooth Farms 22:45:25 `revert 423 22:45:27 Done. 22:45:35 `quotes fag 22:45:36 444) This is [...] me saying "lol im a fag". \ 445) This is [...] me saying "lol im a fag". 22:45:36 `quote fag 22:45:37 444) This is [...] me saying "lol im a fag". \ 445) This is [...] me saying "lol im a fag". 22:45:41 `delquote 444 22:45:42 ​*poof* 22:45:51 `delquote 445 22:45:52 ​*poof* 22:46:00 `quote fag 22:46:01 444) This is [...] me saying "lol im a fag". 22:46:05 oh right 22:46:08 `revert 423 22:46:09 Done. 22:46:10 `quote fag 22:46:11 444) This is [...] me saying "lol im a fag". 22:46:13 `run echo CONCENTRATE | sed 's/.*/elliott: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/' 22:46:14 elliott: 22:46:16 wtf 22:46:17 wtf 22:46:17 wtf 22:46:17 wtf 22:46:20 Gregor: revert is broken 22:46:24 olsner: seriously fucking stop 22:47:00 `quote fag 22:47:01 elliott: it didn't even work ... what did the bot do to my &'s? 22:47:01 444) This is [...] me saying "lol im a fag". \ 445) This is [...] me saying "lol im a fag". 22:47:04 oh 22:47:05 theyre back 22:47:09 `delquote 444 22:47:10 ​*poof* 22:47:11 TEN NINE 22:47:12 EIGHT SEVEN 22:47:13 SIX FIVE 22:47:15 FORU THRE 22:47:17 TWO FOUR 22:47:20 ZORRO 22:47:22 > var$"elliott: "++cycle"CONCENTRATE" 22:47:22 `quote fag 22:47:23 elliott: CONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATECONCENTRATE... 22:47:23 444) This is [...] me saying "lol im a fag". 22:47:26 `delquote 444 22:47:27 ​*poof* 22:47:29 oerjan: im going to rip your skull 22:47:30 TEN NINE 22:47:31 EIGHT FOUR 22:47:33 SEVEN SIX 22:47:34 NINE EIGHT 22:47:35 :t var 22:47:35 forall a. String -> Sym a 22:47:36 TWO ONE 22:47:38 ZERO 22:47:41 `quote fag 22:47:42 No output. 22:47:43 guys delquote worked all along happy holidays 22:47:43 elliott: AGAIN? 22:47:44 oerjan: what is this magical var thing. 22:48:05 `addquote if i became a serial killer, it'd be because i want to kill people, not because i'm crazy 22:48:06 454) if i became a serial killer, it'd be because i want to kill people, not because i'm crazy 22:48:16 elliott, are you fixing delquote YOU BETTER BE 22:48:19 fixed, in the past, by never breaking it 22:48:20 -!- kovacs has left. 22:48:20 `ls 22:48:21 1 \ babies \ bin \ bluhbluh \ env \ foo \ paste \ ps \ quine.pl \ quine2.pl \ quine3.pl \ quotes \ quotese \ tekst \ tmpdir.15136 \ тэкст 22:48:27 `cat тэкст 22:48:28 ​Ня ведаю, навошта, але няхай сабе будзе 22:48:30 `run ls | paste 22:48:31 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1234 22:48:35 heh 22:48:42 !userinterps 22:48:42 ​Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decisionengine drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc yo 22:48:57 !yo hello my good friends 22:49:02 ..nope 22:49:07 elliott: Apparently that says "I do not know why, but let it be" in Belarusian (wtf) 22:49:12 Gregor: clearly we need it 22:49:13 !show reverse 22:49:14 bf ,----------[++++++++++>,----------]<[.[-]<] 22:50:00 !sadbf what is this I wonder 22:50:07 CakeProphet: i think it is something for symbolic computation, although i'm just using it because its Show instance prints the original string without quotes (and unlike text which i've seen used here before, works with infinite strings) 22:50:10 !sadbf ++++++++++++++++++++++++++++++++++. 22:50:11 ​" 22:50:19 !show sadbf 22:50:19 is this the channel where someone posted a link to the write-only memory datasheet? 22:50:19 sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1 22:50:46 olsner: wat 22:51:02 `quote tasty deep-fried 22:51:03 425) How to make a tasty deep-fried treat: 1) Buy ingredients: Large vat of boiling oil, dry ice and a small Filipino boy. 2) Place Filipino boy in dry ice until frozen solid. 3) Shatter now-frozen Filipino boy into boiling oil. 4) Wait fifteen minutes, drain and enjoy! I have the weirdest boner right now. 22:51:11 !bc Hello you guys I am awesome 22:51:12 ​(standard_in) 1: illegal character: H 22:51:19 elliott: it wasn't? then I'll have to repost it for it is funny 22:51:29 olsner: it might have been :P 22:51:40 !yo hello my good friends <-- that's probably !yodawg, which should be the last interpreter unless someone added one behind it 22:51:49 [[And that was going to a type with less strict alignment rules. Increasing the requirement like this: 22:51:49 short s[2] = { 0, 42 }; 22:51:49 int i = *(int *)s; 22:51:49 Has three possible outcomes: i == 0, i == 42 or crash (unaligned 4-byte load).]] 22:51:56 *SIGN* 22:52:07 It's undefined behaviour, it has literally infinite possible outcomes because it isn't a program. 22:52:31 !postmodern_aoler I think it's important to focus our energy right now 22:52:31 I TH1NK 1T"5 IMPORTANT 2 FOCU5 OUR ENERGY RIGHT NOW 22:52:58 !postmodern_aoler Im a tarski jfk 22:52:59 1M A TAR5KI JFK 22:53:46 is this the channel where someone posted a link to the write-only memory datasheet? <-- i've seen write-only memory mentioned so possibly 22:54:11 !show decisionengine 22:54:11 haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print 22:54:30 !delinterp decisionengine 22:54:31 ​Interpreter decisionengine deleted. 22:54:41 !addinterp haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print 22:54:42 ​There is already an interpreter for haskell! 22:54:50 !addinterp decide haskell import System.Random; main = (randomRIO (0,1) :: IO Int) >>= print 22:54:51 ​Interpreter decide installed. 22:54:52 http://www.national.com/rap/Story/WOMorigin.html <-- here it is then 22:55:13 new for everyone who hasn't, refresher course for everyone who has read it 22:55:21 !show simpleacro 22:55:22 haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 22:55:35 !addinterp acro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 22:55:36 ​Interpreter acro installed. 22:55:41 !delinterp simpleacro 22:55:41 ​Interpreter simpleacro deleted. 22:55:45 !acro 22:55:50 NV 22:55:54 YOU FUCKING RUINED SIMPLEACRO 22:55:58 !delinterp acro 22:55:58 ​Interpreter acro deleted. 22:56:02 ... 22:56:03 !addinterp simpleacro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 22:56:04 ​Interpreter simpleacro installed. 22:56:06 how? 22:56:06 WELCOME BACK OLD FRIEND 22:56:21 * oklofok wonders if proving something would be a nice addition to all this white noise 22:56:23 hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 22:56:37 hey it's my program I can name it whatever I want. :P 22:56:46 elliott: wtf are you sabotaging our attempts at shortening the interpreter list? 22:56:51 if I shorten some of the names then we can have more interps displayed. 22:56:53 oerjan: i value tradition, asshole. 22:56:56 :( 22:56:57 anyway, about bot loops: I think that if the bot sends messages to the channel in a special way, then other bots can see which messages were sent from other bots and ignore them 22:56:58 here's a fun little puzzle which you can solve yourselves 22:57:05 !userinterps 22:57:05 ​Installed user interpreters: aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor gregor__1 hello id jethro kraut lperl lsh map num ook pansy pi pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simpleacro simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg 22:57:08 olsner: or they can just ignore messages with certain nicks 22:57:09 dur 22:57:14 CakeProphet: oh well they all fit now. i think. 22:57:20 istr this is what lambdabot does to prevent loops between several lambdabots 22:57:21 oerjan: not if I keep adding more. :D 22:57:27 !show yodawg 22:57:27 unlambda (sending via DCC) 22:57:29 !showinterp gregor__1 22:57:31 !show gregor__1 22:57:32 sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g' 22:57:37 !delinterp gregor__1 22:57:37 ​Interpreter gregor__1 deleted. 22:57:38 A, B \subset X^2, A and B transitive, B symmetric, A \cup B = X^2. prove A = X^2 or B = X^2 22:57:45 !addinterp pikhq sh sed 's/th/þ/g ; s/Th/Þ/g ; s/s/ſ/g ; s/ae/æ/g ; s/Ae/Æ/g ; s/oe/œ/g ; s/Oe/Œ/g' 22:57:45 ​Interpreter pikhq installed. 22:57:49 !show eehird 22:57:50 haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map ((" " ++) . unwords . words) $ food $ map toLower) 22:57:52 !show ehird 22:57:52 sh funetak 22:58:03 !ehird the most donkey fishes 22:58:03 da most donkey fishes 22:58:07 !eehird the most donkey fishes 22:58:15 what 22:58:19 /tmp/input.17083.hs:1:57: Not in scope: `isAlpha' 22:58:20 22:58:20 /tmp/input.17083.hs:1:70: Not in scope: `isSpace' 22:58:22 22:58:24 /tmp/input.17083.hs:1:151: Not in scope: `isAlpha' 22:58:26 22:58:28 /tmp/input.17083.hs:1:164: Not in scope: `isSpace' 22:58:30 22:58:32 /tmp/input.17083.hs:1:245: Not in scope: `toLower' 22:58:34 22:58:36 > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map ((" " ++) . unwords . words) $ food $ map toLower) "the most donkey fishes" 22:58:37 Couldn't match expected type `[GHC.Types.Char]' 22:58:37 against inferred ty... 22:58:40 o_O 22:59:07 what the hell is that. 22:59:19 oerjan: EXPLAIN THIS 22:59:38 it's uorygl's fault apparently 22:59:48 !ehird I have this awesome opinion on something 22:59:49 Em have this awesome opinion on something 23:00:06 !pi 23:00:06 3.14156 23:00:14 !pi 10000 23:00:22 tau / 2 23:00:22 because I like circular definitions 23:00:23 -!- Vorpal has quit (Ping timeout: 260 seconds). 23:00:39 lol, why didn't I see that the first time, it's wrong 23:00:42 istr this is what lambdabot does to prevent loops between several lambdabots <-- yeah it adds initial space to many things. 23:00:49 oerjan: EXLPAN IT 23:00:54 http://www.reddit.com/r/reddit.com/comments/hwlxz/ok_wtf_i_live_near_this_reactor_here_in_the_us_we/ 23:01:02 This reached the front page of Reddit. 23:01:05 oerjan: that isn't what "this" referred to 23:01:10 Who says sensationalism never paid off/ 23:01:12 *? 23:01:39 !addinterp acro haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 23:01:40 ​Interpreter acro installed. 23:01:45 !delinterp simpleacro 23:01:45 ​Interpreter simpleacro deleted. 23:01:47 * CakeProphet ahems. 23:01:51 > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines . map ((" " ++) . unwords . words) . food . map toLower) "the most donkey fishes" 23:01:53 " the most donkey fishes\n" 23:02:59 I wonder why it takes so long for it to run 23:03:00 !acro 23:03:00 elliott: I confess. 23:03:05 PLEZGVL 23:03:08 `pwd 23:03:09 ​/tmp/hackenv.17778 23:03:15 Deewiant: What's that even meant to do. 23:03:19 elliott: missing Data.Char import i guess 23:04:29 > (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines . map ((" " ++) . unwords . words) . food . map toLower) "123abc456def" 23:04:31 " abc\n def\n" 23:04:46 oerjan: it doesn't even type as-is 23:05:12 2009-07-13 04:12:15( Warrigal) > let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map ((" " ++) . unwords . words) $ food $ map toLower $ "What do you do, my eponymous friend?" 23:05:17 2009-07-13 04:14:08( Warrigal) !addinterp eehird haskell main = interact (let food s = case dropWhile (\x -> not (isAlpha x || isSpace x)) s of "" -> []; s' -> w : food s'' where (w, s'') = break (\x -> not (isAlpha x || isSpace x)) s' in unlines $ map ((" " ++) . unwords . words) $ food $ map toLower) 23:05:36 Right, saw that. 23:06:57 oerjan: that isn't what "this" referred to <-- well then i don't know what you mean 23:08:56 oerjan: basically that there are severaly ways to send messages to channels, and one of them is supposed to be used by bots but not people 23:09:08 and if you make bots only listen to people, everything works out 23:09:21 elliott: well Deewiant fixed some . / $ confusion 23:09:34 I remember a discussion about this in one of the haskell channels a long time ago 23:09:46 about how lambdabot avoids bot loops 23:10:05 olsner: notices, yes, but lambdabot doesn't use that. because it's annoying in most clients. 23:10:09 as far as I know the IRC protocol only has one MSG command. 23:10:25 CakeProphet: NOTICE 23:10:39 ah, but yeah, that looks annoying. 23:12:00 sup dawgs 23:12:44 right, lambdabot definitely doesn't use those 23:13:18 in mirc, you see that on whatever channel happens to be active i think 23:13:32 I wonder what it was then, because I definitely remember that (someone claimed that) it didn't rely on the contents of the messages 23:13:33 so you get those in the logs of another channel, which is kinda insane 23:14:40 I think notices should be used properly 23:14:54 regardless of mIRC interpreting them as massively exciting rather than as less important than privmsgs 23:15:46 privmsg's aren't important? 23:16:03 i guess you didn't mean *even* less important 23:16:25 i don't think mirc considers notices more important than privmsg's since it opens a query window for privmsgs 23:18:15 If a space is metrizable, then it is sequentially compact if and only if it is compact. However in general there exist sequentially compact spaces which are not compact (such as the first uncountable ordinal with the order topology), and compact spaces which are not sequentially compact (such as the product of uncountably many copies of the closed unit interval). 23:18:16 :D 23:18:17 mirc doesn't consider anything important because it's a program. 23:18:18 .. 23:18:20 :3 23:18:26 that's just hilardious 23:18:48 wanted to check which direction is always true because i couldn't see it 23:19:04 but lol topology owns i need to get my hands on counterexamples in topology 23:21:33 hmmm, how would you go about a fuzzy three-valued logic? 23:21:52 ah, [-1,1] 23:22:02 well, no... 23:22:49 you could have an unknown value that is independent of your truth and false value. 23:23:07 so perhaps a complex number. 23:31:40 regardless of mIRC interpreting them [...] <-- irssi too 23:31:54 bad irrsi! 23:32:24 do you know any client which _does_ treat notices as less important in-channel 23:32:41 well when I /sent/ the notice I was in Window, but it showed it in #esoteric 23:32:43 (irssi does refrain from opening a new window if it's not in a channel) 23:34:13 Konversation uses [Notice] -nick- rather than for notices 23:34:21 and allows you to set them to a different color 23:34:43 that's still more noise than a privmsg 23:34:51 and my color settings are to make them less standouty than privmsgs 23:34:59 (I have them set a closer color to the background than privmsgs are) 23:35:10 but yes, still more noise 23:35:22 `quote .* 23:35:23 1) I used computational linguistics to kill her. \ 2) EgoBot just opened a chat session with me to say "bork bork bork" \ 3) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 4) that's where I 23:35:35 :t val 23:35:36 forall a. Dif a -> a 23:35:41 wtf 23:36:08 `quote [^e] 23:36:10 1) I used computational linguistics to kill her. \ 2) EgoBot just opened a chat session with me to say "bork bork bork" \ 3) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 4) that's where I 23:36:14 dif 23:36:18 isn't that some kidn of automatic differentiation 23:36:26 `quote ^[^e]+$ 23:36:27 67) hmm, this is hard \ 98) Ah, vulva. What is that, anyway? \ 133) Hooray! I'm an idiot. \ 179) it was too difficult \ 197) pikhq, Okinawan? Wtf is that \ 391) 3 = 7/2 23:36:53 `quote vulva 23:36:54 98) Ah, vulva. What is that, anyway? 23:36:54 CakeProphet: you're looking for quotes that contain no es? 23:36:58 yep 23:37:18 `quote ^[^aeiou]+$ 23:37:19 No output. 23:37:21 heh. 23:39:35 hmm, f*ck! 23:39:55 elliott: i was trying to find the name of that Expr thing which is like fun but not overloaded, and which i think i may have misspelled when finding var. unless its name really _is_ var or val and it just isn't imported because it conflicts with the Sym and Dif ones 23:40:13 `quote \b[@%$*](\$)?[\w_][\w_0-9]*\b 23:40:14 No output. 23:40:26 No Perl variable names in quote, surprisingly. 23:40:39 also what was that trick i used to get the module name of a lambdabot identifier 23:41:06 istr managing it with Sym yesterday 23:41:24 `quote @{["b"]} 23:41:25 No output. 23:41:28 oh right 23:41:40 @let val = "boo!" 23:41:40 Defined. 23:41:44 > val 23:41:45 Ambiguous occurrence `val' 23:41:45 It could refer to either `L.val', defined at Data.Number.Dif 23:42:25 @undefine 23:42:37 hm? 23:42:41 > "hi" 23:42:42 "hi" 23:42:47 > val 23:42:48 Overlapping instances for GHC.Show.Show 23:42:48 (Data.... 23:43:17 `quote (?{"drugs"}) 23:43:18 (again, i needed to send > val in private to get a longer response) 23:43:18 No output. 23:43:50 hey, you never know... 23:44:49 r/trees is thataway 23:45:34 oerjan, what if you like other drugs. 23:46:01 ...trees? 23:46:03 -!- pikhq has quit (Remote host closed the connection). 23:46:29 -!- clog has quit (Ping timeout: 260 seconds). 23:46:46 hey Sgeo guess what didn't just update 23:46:48 hint: it's not homestuck 23:47:03 Phantom_Hoover: There's also /r/drugs :P 23:47:11 CakeProphet: somewhat random name for reddit's main marijuana subreddit (r/marijuana apparently has awful management so people fled it) 23:47:19 ah, makes sense. 23:47:20 oerjan: it's not actually the main one 23:47:26 it's basically a place for stoners to... be stoners on reddit 23:47:33 there's a "serious" weed subreddit, IIRC 23:47:37 well ok 23:47:47 I suspect the reason there's no analogues for other drugs is because they tend to be rather more incapacitating 23:47:50 elliott knows all about the various potsmoking subcultures of reddit. 23:47:55 /r/drunk is for alcoholics 23:48:02 CakeProphet: yes. 23:48:08 I remember hearing that /r/marijuana was moderated by some nut\ 23:48:13 It is 23:48:17 Why do I know this 23:48:20 but it's certainly reddit's _largest_ drug subreddit (it even reached top 10 after that ... 4/ something event) 23:48:46 /r/cannabis or something is the serious one, IIRC 23:48:46 only for a week though 23:48:53 elliott, ty 23:48:53 oerjan: hahaha, 4/something event? 23:49:06 oerjan: it's four/nineteen 23:49:07 HTH 23:49:12 CakeProphet: 4/some number that has some significance 23:49:18 the number is nineteen definitely 23:49:21 no 3/19 is bicycle day 23:49:27 4/20 is hitler's birthday, of course. 23:49:34 *4/19 23:49:36 oh right, and four/twentyone is international heroin abuse day 23:49:42 where you abuse heroin for the occasion. 23:49:45 poor heroin :( 23:49:46 CakeProphet: r/trees decided to go nuts with upvotes on that day, so managed to reach top 10 subreddit for the next week 23:50:42 a clear sign that potsmokers love Hitler. 23:52:06 elliott: how does one properly handling heroin without abusing it? 23:52:08 *handle 23:52:24 keep it in storage? tell it nice things occasionally? 23:52:39 how does one use heroin and not abuse it, in this nomenclature. 23:52:39 iirc it's supposedly based on some police code for drugs which may or may not actually have existed 23:52:57 CakeProphet: a loving mutual relationship 23:53:37 bicycle day is definitely a more interesting drug-related holiday. I honestly have no clue where 4/20 originates. 23:53:42 bicycle day at least makes sense. 23:54:05 5744 23:54:06 er 23:54:07 oh 419 are the scammers 23:54:08 http://en.wikipedia.org/wiki/420_(cannabis_culture) 23:54:12 learn you some factoids 23:54:24 elliott: apparently there are a lot of 4nn things :P 23:55:21 scammers? 23:55:27 CakeProphet: yes 23:55:31 nigerian 23:56:42 what a lame origin story. 23:58:28 Bicycle day is increasingly observed in psychedelic communities as a day to celebrate the discovery of LSD, this occasionally involves the consumption of LSD but most of the time individuals mark the day through referring to the discovery on social media. 23:58:35 CakeProphet, hey did you keep reading Homestuck. 23:58:38 The article seems to suggest that these events are mutually exclusive. 23:58:40 Phantom_Hoover: nope. 23:58:48 CakeProphet you are terrible. 23:58:55 You should either kill yourself 23:58:58 Or read it 23:59:06 The hoover seems to suggest that these events are mutually exclusive. 23:59:21 no it is an inclusive or 23:59:47 Hope about I just do both? 2011-06-11: 00:00:16 hope about i just do both 00:00:33 s/hope/how/g 00:00:57 I probably just introduced several typos in previous posts though. 00:01:11 "posts" 00:01:12 OK but you must kill yourself after Homestuck ends. 00:01:23 implying we'll even be alive by then 00:01:33 Which is basically the only logical course of action because life will be as unto a pale shadow after Homestuck ends. 00:01:42 CakeProphet: Have I mentioned that Homestuck gets about ten times better after the first act or two. 00:01:52 no, but I assumed so. 00:02:03 (It gets about a hundred times better every few hundred pages from thereon out.) 00:02:42 elliott: hey elliott! elliott! check out this thing I want you to hear: http://www.youtube.com/watch?v=5pr6AbJ9Ij0 00:02:54 you have to hear it, or your life is incomplete. 00:03:10 *exlucsive-or 00:03:19 #c 00:03:24 *+ 00:03:24 Sorry I can only consume Homestuck all other forms of media are invalid by default. 00:03:27 (Note: This is not technically true.) 00:04:17 -!- pikhq has joined. 00:04:51 what, why is there an MS paint adventures wiki 00:05:11 CakeProphet: You don't want to read that. 00:05:17 CakeProphet: You have no idea how many spoilers are ahead of you. 00:05:41 Homestuck is... about five thousand times more complicated and plotful than Problem Sleuth. 00:05:44 are they really spoilers as long as they're ahead of you? 00:05:57 CakeProphet, also don't look at any Homestuck stuff on Youtube. 00:06:04 Sgeo learned this the hard way. 00:06:10 Phantom_Hoover: RIP Bic 00:06:12 The best pen. 00:06:28 He died the way he lived. 00:06:31 Inky. 00:06:34 Frustrating people. 00:06:46 * Phantom_Hoover → sleep 00:06:48 -!- Phantom_Hoover has quit (Quit: Leaving). 00:07:55 Sometimes you feel like you are trapped in this room. Stuck, if you will, in a sense which possibly borders on the titular. 00:08:10 20:13:26: gah, I'm getting a burst of Sgeoism from my parents, who have basically banned the family from eating vegetables because of the E. coli outbreak in Germany 00:08:19 ais523: have you taken the non-Sgeo solution to this problem 00:08:25 which is to ignore them? 00:08:32 that's one part of it :P 00:08:40 I'm thinking about it 00:09:08 at least it's a "relatively" minor temporary thing 00:12:10 20:25:24: floating point arithmetic's avoided like the plague in computer games, except in graphics routines, generally speaking 00:12:15 ais523: "embedded" games, maybe 00:12:24 I doubt C++ desktop games are so rabid 00:12:27 I thought in games in general 00:12:29 even desktop games 00:12:32 Well, I dunno 00:12:47 many 8-bit consoles completely lack an FPU 00:12:58 20:36:37: Wow. Fedora 16 is going to have btrfs as its default filesystem. 00:12:59 20:36:53: It doesn't have an fsck yet. 00:13:11 Fedora, upgrading rashly without thinking to be OMG MODERN because it's basically RedHat: The Pre-Alpha? 00:13:12 SHOCKING 00:13:31 dude, Ubuntu's new interface is so bad 00:13:32 don't ever use it. 00:13:42 obviously btrfs doesn't need fsck, it just won't break the file system 00:13:46 it wants to be Apple so hard. 00:16:44 elliott: Well, at least the Fedora devs are busy writing btrfsck. 00:17:02 that reads as ... butterfuck 00:17:18 They are also fucking butter. 00:17:54 MOTHS: THE WOGS OF THE TAPS 00:17:57 YEAH 00:18:05 wogs of the taps? 00:18:12 moths? 00:18:13 wat? 00:18:29 YES 00:18:30 FUCK YOU 00:18:49 ålrajt 00:18:57 shtut up swede bot 00:19:10 swede architecture the worst architecture 00:19:33 elliott person the worst person 00:19:40 olsner: DIE ASS 00:20:03 ASS DYE 00:20:10 TARSKI REBEL 00:20:22 sometimes 00:20:24 i say the best things 00:20:27 such as 00:20:28 always 00:20:38 elliott: http://cdn.jimonlight.com/wp-content/uploads/2009/08/infart1.jpg 00:20:50 infart rum 00:20:53 the best rum 00:24:55 lol, oracle saying: "In line with our strategy towards a more open Java ecosystem, ..." 00:25:14 when did they stop actively preventing an open java ecosystem? 00:25:23 that instant 00:25:27 then they started again immediately after 00:26:36 well towards is a synonym of against, right? 00:27:26 hmm, in swedish it would be a simple typo actually 00:27:39 and most people don't even know which is which :( 00:29:48 CakeProphet: btw you should watch this: http://www.mspaintadventures.com/?s=6&p=003701 ... it'll convince you reading homestuck is an excellent idea :P 00:29:54 (You won't understand a single thing, so it's not spoilery.) 00:33:56 -!- ais523 has quit (Read error: Connection reset by peer). 00:35:11 -!- ais523 has joined. 00:38:02 Sgeo: Hey Homestuck just updated again. 00:38:07 Yes again. 00:38:50 apparently train tracks are turing complete 00:42:50 http://esoteric.voxelperfect.net/wiki/Chalcraft-Greene_train_track_automaton 00:43:25 is this about http://wadler.blogspot.com/2011/06/combinator-library-for-design-of.html ? 00:43:44 apparently not - the wiki page is a lot older than the blog post 00:43:50 i think he means augur 00:43:54 i mean augur's mention 00:44:03 oerjan: yes 00:44:18 first comment 00:45:15 elliott: the queue fetch modus is even more hilarious. 00:45:38 CakeProphet: DID YOU WATCH THAT PANEL I LINKED I SPENT A WHOLE THREE SECONDS GOOGLING IT DOWN YOU KNOW 00:45:40 HARD WORK I TELL YOU 00:45:54 NOPE I AM READING SHIT IN ORDER DOG 00:45:59 part of your life was wasted. 00:46:06 RIP that part of my life. 00:46:08 Died of being wasted. 00:46:43 If you decide to give up reading watch it, it has deluded many upon many a person into thinking reading nearly four thousand panels of comic is an excellent idea. 00:46:53 (Sorry did I say deluded I mean convinced of the true fact that.) 00:47:31 Hold onn 00:47:45 I am holding onn. 00:47:47 CakeProphet is holding unn. 00:47:51 You will have to handle enn. 00:50:01 According to my dad, the entire purpose of raves is to get people into the drug culture 00:50:08 True 00:50:12 enn så lenge 00:50:18 That is the terrible secret of raves 00:50:46 Actually I've gone to a rave and consumed no drugs. 00:50:54 Impossible 00:50:56 and am even "into the drug culture" 00:50:58 TAKE THAT. 00:51:14 dad. 00:51:16 -!- pikhq has quit (Ping timeout: 240 seconds). 00:51:32 -!- pikhq has joined. 00:51:57 but yes most people go to raves to take some kind of drug and dance for hours. 00:52:06 CakeProphet: Oh man 2037 is right ahead of you. 00:52:06 but not everyone. 00:52:16 Savour the moment for you can only experience that music for the first time once in your life. 00:52:27 elliott: I'm on 2053 now 00:52:32 I hope you savoured it 00:52:53 yes it was quite savoury. 00:53:12 god, these pesterlogs make panels MOVE SO SLOWL. 00:53:13 Y 00:53:31 Hahaha the pesterlogs at this point are about one thirtieth of what they become, lengthwise. 00:53:38 Note: I am terrible at estimating such ratios, but yeah. 00:53:51 THIS IS A SIMPLE TIME AND YOU SHALL REGARD IT AS A SIMPLE PLEASURE FOR UNASSUMING FOLK 00:54:29 I like to use trees. It's not not exceptionally practical. But I think they are elegant. 00:54:46 >not not 00:55:00 Wait did it take you several minutes just to read 2053. 00:55:02 HAVE YOU READ BOOKS BEFORE 00:55:16 no it took me several minutes to talk on IRC and do nothing. 00:55:22 I waste a lot of time that way. 00:55:22 That usually takes a while yes. 00:59:25 -!- Hammi13 has joined. 00:59:32 Hammi13: what did you do to the other hammis. 00:59:40 Hiii 01:00:43 Hey Hammi13 01:04:17 -!- Patashu has joined. 01:04:35 -!- Hammi13 has left. 01:04:40 lmao 01:04:42 :D 01:04:45 i lemonparty'd 01:11:26 -!- zzo38 has joined. 01:11:37 How much do you know of LLVM? 01:11:55 Some of the documentation seems to be incomplete, such as the documentation for the bitcode format. 01:12:26 ask coppro 01:12:29 comex: you're welcome 01:13:08 coppro has 46575 seconds idle. 01:13:21 hes just shy 01:13:46 about half a day, maybe he'll be back from sleep/work/school soon then 01:17:49 Do you know how well LLVM currently works? 01:18:10 what a vague questoin 01:18:19 currently? I'd say about 4, geographically speaking 01:18:19 But regardless, lack of documentation makes it difficult to use 01:18:27 OS X uses the clang compiler for all stock userspace applications, so it's definitely mature 01:18:56 it has better diagnostics than gcc, supports almost all the language extensions gcc does, and has similar runtime code execution speed 01:19:07 so LLVM is good enough for a C compiler :P 01:19:37 but pikhq might yell at you or something. 01:19:39 zzo38: i know that ghc has deprecated its C backend because the LLVM backend got better than it 01:19:44 CakeProphet: eh? 01:19:47 CakeProphet: No, clang > gcc. 01:20:08 You mentioned something about bootloading before. 01:20:12 (C ~ gcc, there) 01:20:25 Boot*strapping*. There is a difference. 01:20:27 No, I mean for writing LLVM codes. However, some documentation missing makes it difficult. Such as, some sections of the document about bitcode format seems incomplete. 01:20:33 define LLVM codes 01:20:48 you're not meant to write bitcode, anyway 01:20:52 you're meant to use the API 01:20:53 lol bitcode 01:20:56 or at least write LLVM IR 01:20:58 It is *presently* not feasible to build a Linux system with clang as *the* C and C++ compiler. 01:21:01 (LLVM IR is the name for their assembly, right?) 01:21:06 0 = print 0 1 = launch missiles 01:21:09 (pikhq?) 01:21:11 However, it soon will be. 01:21:32 elliott: Yeah, LLVM IR is the name for the assembly language and the bytecode resulting from assembly thereof. 01:22:01 zzo38: right, use the API or output LLVM IR; bitcode is essentially an internal API 01:23:32 (!!) [0, unsafePerformIO launchMissiles] 01:23:44 er wait 01:23:49 * flip (!!) [0, unsafePerformIO launchMissiles] 01:24:01 er 01:24:01 ([0, unsafePerformIO launchMissiles] !!) 01:24:17 elliott: that doesn't type, does it? 01:24:24 types as well as oerjan's 01:24:25 or is launchMissiles of type Num x => IO x? 01:24:26 ERROR, BRAIN DUMPED 01:24:54 picky, picky 01:25:10 [0, unsafePerformIO launchMissiles `seq` 0] 01:25:18 clearly it returns the number of missiles succesfully launched 01:25:22 If you use the API with C, then can it also be used to run some LLVM codes at compile-time as well? In that case it would be helpful. 01:25:22 *+s 01:25:27 oerjan: also 0 was meant to be print 01:25:28 not... 0 01:25:40 zzo38: Yes, you can compile things to memory and run them directly. 01:25:40 elliott: print 0 01:25:43 LLVM is a JIT in this way. 01:25:45 zzo38: Yes, LLVM JITs. 01:25:58 !acro 01:26:05 And is actually even the basis of a JVM implementation. 01:26:06 ASSE 01:26:16 lulz 01:26:18 But the FAQ does also say you can emit LLVM assembly or LLVM bitcode. 01:26:27 zzo38: Note that LLVM is C++ and so is its library, but there are bindings to just about every language. There might not be a C binding, but you can write a simple layer yourself for the functions you need with extern "C". 01:26:31 !acro 01:26:32 Also, that's interesting, I didn't realise. 01:26:36 BCJE 01:26:38 Still, bitcode would be pretty painful to generate compared to the API. 01:26:41 (it's not *that* good, because the JDK is from SPACE) 01:26:54 there is a C binding 01:26:58 olsner: oh, good then 01:27:08 which I believe is the base of the haskell binding 01:27:26 or one of them anyway 01:27:38 The Haskell binding is pretty neat, FWIW. 01:28:35 Generate LLVM functions at runtime and then use them as standard Haskell functions without any real effort. 01:29:31 obligatory: http://augustss.blogspot.com/2009/06/more-llvm-recently-someone-asked-me-on.html 01:29:58 for my llvm-outputting compiler I chose to just write llvm assembly instead of figuring out how to make stuff with the expected types at runtime 01:30:32 loser 01:30:47 Where is document for API with C? 01:30:52 yes. I think it was before that blog post where august does pretty much exactly what I needed done 01:31:10 olsner: What compiler did you do? Did you make some compiler? 01:32:35 not an esolang, and not a known language either 01:33:12 olsner: Then what is it? 01:36:19 horriblysecretlang 01:36:36 or was that horriblesecretlang 01:36:45 it's only "secret" because it's terribly uninteresting 01:37:17 Did you do it just for practice? 01:38:12 well, it's not done yet 01:38:53 If there is C binding, where is the document about the C binding? 01:39:19 in the headers of the C binding, probably 01:39:22 The tutorial is only for C++ and Objective Caml. 01:40:53 -!- FireFly has quit (Quit: swatted to death). 01:41:57 -!- clog has joined. 01:43:46 elliott: act 2 01:44:35 CakeProphet: sweet. 01:46:15 CakeProphet: you clicked the link on http://mspaintadventures.com/?s=6&p=002148 right? 01:46:22 (A stupid question, but yes, people seriously fail to.) 01:46:39 yes. 01:46:41 HERP DERP WHAT'S A LINK OH I DUNNO ITS DEFINITELY NOT FOR CLICKING THOUGH 01:46:45 (Historical reenactment) 01:48:15 elliott: that advice is kind-of useless, if we didn't know to click the link on the page, we wouldn't know to click it on IRC either 01:48:21 (not that I actually /did/ click the link on IRC) 01:48:35 ais523: It was directed to CakeProphet 01:48:40 [asterisk]at 01:48:56 There's a link where the narration usually is, and I guess some people assume it's just irrelevant or something :P 01:50:34 elliott: I know 01:52:45 also elliott is implying that I'm too daft for link clicking. 01:52:57 * CakeProphet is going to call a WAAAAAMbulance 01:53:10 CakeProphet: Hey now, I've had to deal with Sgeo reading Homestuck. 01:53:13 I HAVE LEARNED TO ASSUME NOTHING. 01:53:31 the clunky flash game thing was kind of cool 01:53:37 but nothing really happens. 01:53:55 The Flash games get much less clunky. Oops, did I just say something? 01:53:55 In some games something happens 02:14:23 hmm, this is annoying 02:20:04 -!- pikhq_ has joined. 02:20:53 Oh WTF some spammer managed to get an arbitrary image to appear in th Newspeak forums 02:21:08 Or at least in the RSS feed 02:21:30 -!- pikhq has quit (Ping timeout: 260 seconds). 02:21:34 oh noes 02:22:15 http://forums.newspeaklanguage.org/index.php?topic=297.0 02:22:20 Road to the Truth can be found at the following address: truenewworld.com 02:22:20 (attention, it is not the ad of the site - it is the ad of the Truth). 02:22:48 this guy has painting skils 02:22:52 http://truenewworld.com/Newworld.jpg 02:24:18 Everyone should be required to read what they write online. Not for accuracy or sensibility, but just checking that their eyes don't glaze over at a wall of text 02:24:30 (Yes, I know such a thing is impossible, so shut up) 02:25:47 http://www.wolfsearch.org/gfeed/img0/teen+sex/10_teenx1.png 02:25:52 compare prices on millions of products 02:29:56 there is no teen sex on the other side of that link, just a blank page 02:30:18 AdBlock? 02:30:32 Idiotic porn spam site block? 02:30:42 no teen sex!? link is broken! 02:31:05 Sgeo: yeah maybe my dad has installed one for me 02:31:55 i guess the pixel must be white because i can't see it 02:32:22 ...this spammer cross-references the spam post with other spam posts 02:32:28 X-D 02:32:45 yeah it is white 02:32:47 Unless those "forums" are just spam shills, I guess 02:33:00 worst teen sex ever 02:34:05 http://forums.newspeaklanguage.org/index.php?topic=300 [NSFW] 02:34:14 thx for telling me its nsfw lol 02:34:19 Description: Sasha notices that this guy's car is dirty, and she offers to wash it "for a ride." We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum. Sasha is no exception. She gives us a nice little strip tease, complete with hosed-down boobies as she washes his car. Then she buffs this guy's cock with her mouth. Sasha 02:34:20 bends over the hood of his car and gets fucked like a good girl, bouncing her ass on his prick and squealing like a little fuck-doll. 02:34:26 "We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum." 02:34:31 i... 02:34:49 Sasha notices that this guy's car is dirty, and she offers to wash it "for a ride." We all know that when girls say they want a ride, what they really mean is that they want to saddle up on top of a bologna pony and bounce their tight pussies on it until they cum. 02:34:52 oh 02:34:54 yeah 02:35:01 im slo 02:35:28 just... "bologna pony" are you serious 02:36:14 i have no idea what that means so dunno 02:36:52 unless, of course, it just means... bologna pony 02:36:52 penis apparently 02:36:58 oh. 02:37:00 nh 02:37:14 but... what... 02:38:17 makes perfect sense if you think about it 02:42:46 ... 02:42:54 it was immediately obvious, without thinking, actually. 02:43:45 they why it is a pony remains to be seen. 02:43:49 s/they/though 02:43:54 to me, bologna is just a random city in italy 02:44:09 and i don't see why any city + pony should imply penis 02:44:12 bologna is also a type of sausage in the states. 02:44:31 oh 02:44:34 freakin' Europeans. How can you not know this shit. 02:45:00 then it's also obvious why it's a pony 02:45:24 the only reason I see is for it to rhyme. 02:45:28 bologna is tomato sauce with ground beef 02:45:34 ah, well, nevermind. I see. :P 02:45:34 then you're kind of slow 02:45:59 just, halfway paying attention 02:46:03 i guess i should go to sleep, being even more of an asshole than usual :D 02:46:17 as I am about to go get ridiculously drunk, and this is what is currently on my mind. 02:46:31 makes sense 02:46:40 in fact, I shall go do that now. Goodbye. I will likely be on in a little while. 02:46:43 bologna ponys is what's on your mind? 02:46:50 oh yeah, baby. 02:51:57 -!- CakeProphet has quit (Ping timeout: 276 seconds). 03:19:12 Does anyone know how to make the lines that separate vim... windows? panes? less ugly? 03:21:02 see :help status-line, maybe? 03:22:27 the vertcial separator 03:22:32 it's a line of inverted | chars 03:22:34 which is just hideous 03:22:51 oh, i only use horizontal 03:27:07 Do any .S3M players crash if you have overlapping sample data? 03:28:17 hm and setting configuration variables for scripts is "let Foo=n" right? 03:29:50 i think let is for actual variables, set is for options. but i haven't made any scripts beyond simple .vimrc 03:30:16 right 03:30:18 this is vimrc 03:30:23 configuring a script 03:30:24 isn't working though 03:30:37 oh, works now 03:31:14 -!- ais523 has quit (Read error: Connection reset by peer). 03:31:53 I happen to know that the script for CWEB programming has some bugs. Such as, if you type in a variable name "do_something" then it colors "do" as a reserved word. There are other problems too. Although, you can type in ":syn off" to turn off syntax highlighting and then it works OK. 03:31:58 the default one for windows only uses let inside a defined function, set otherwise 03:32:32 -!- ais523 has joined. 03:33:17 There is also a script for WEB although I think it is even worse. 03:36:44 elliott: hl-vertsplit seems relevant 03:36:51 oerjan: thanks 03:36:56 *hl-Vertsplit 03:37:00 er 03:37:04 *hl-VertSplit 04:06:34 -!- ais523 has quit (Read error: Connection reset by peer). 04:07:51 -!- ais523 has joined. 04:07:57 o no the ais523 04:08:21 for some reason freenode keeps disconnecting on me 04:08:26 and my client automatically reconnecting 04:09:22 it's your peers, they keep resetting it. 04:09:45 you should give them a stern talk 04:10:25 the net's gone all peershaped 04:10:47 it's quite peerplexing 04:11:07 stupid peer pun 04:11:52 puns can't all be peerfect 04:11:55 I'm glad I'm not the last scandinavian awake anyway 04:12:25 http://esolangs.org/wiki/Talk:Underload#Why_the_reserved_characters.3F 04:12:25 hth 04:14:41 olsner is also me 04:14:48 i'm everyone who starts with an o 04:15:06 ais523: i guess only you can give a real answer to maharba's question 04:15:32 what was it? it's not in nearby scrollback unless I'm missing something 04:15:36 oh, on the wiki? 04:16:03 ais523: if you don't get it, it's a link 04:16:04 oerjan: i know the answer 04:16:09 i just wanted to be an ass instead 04:16:16 i'll make a real answer 04:16:17 -!- CakeProphet has joined. 04:16:18 -!- CakeProphet has quit (Changing host). 04:16:18 -!- CakeProphet has joined. 04:16:35 what's the answer? 04:16:39 elliott: noo, be an ass, don't answer 04:16:41 is it something convoluted and cool 04:16:50 say something fun instead 04:17:05 yes and remember to use funny words like poo 04:17:07 I've answered 04:17:12 oklofok: poo! 04:17:15 xD 04:17:17 and should really tell elliott to stop trolling 04:17:18 me too 04:17:20 elliott: stop trolling 04:17:25 ais523: that wasn't trolling, that was a joke :( 04:17:28 difference 04:17:29 well, OK 04:17:34 it wasn't /funny/ 04:17:38 but who says jokes have to be funny 04:17:46 ais523: I did troll by referring to ais vapourware in my response though 04:17:51 so hey how's Feather going 04:17:57 it's simple, really, when elliott says something it isn't trolling 04:18:00 badly, or well, depending on your point of view 04:18:11 tending towards the non-insanity-inducing side 04:18:23 * elliott resists temptation to add Feather to [[Category:Shameful]] 04:20:40 hey nothing shameful in preventing the collapse of the universe 04:21:00 maybe the universe is *meant* to collapse 04:21:08 preventing that would be shameful 04:21:23 olsner: it was, until feather reset that 04:21:28 ooh, maybe ais523 only thought about Feather on order of Doc Scratch THIS IS A PLAUSIBLE THEORY... 04:21:40 one day I will stop relating everything to that darn webcomic that hasn't updated in entire HOURS ugh what is his PROBLEM 04:21:52 elliott: hey, the article is a pretty good one describing the current state of the language 04:21:54 so glad i don't use my f-five key to refresh or it'd be burned out 04:22:08 ais523: i only wanted to do it to annoy you :D 04:22:11 and there's only an article about it at all because people kept asking 04:22:24 ok yeah I'm fairly sure if you ever get a Feather interp ais523 04:22:31 running it will end the universe and summon Lord English 04:22:32 don't do it 04:22:59 i'm sure it will be nothing as comprehensible as english 04:23:29 No, ignore that message about that running it will end the universe and so on. If you write the program, you can run it. 04:23:33 oerjan: "english" in this case is a reference to a pool term 04:24:06 anyway, ais523 will probably get feather finished just before christmas next year 04:24:13 oh dear 04:24:20 oerjan: How much do you want to bet? 04:24:27 if I do finish it, I'll aim for april 1 04:24:29 And in what country's currency? 04:24:36 ais523: dude, december twentytwelve is the best idea :D 04:24:41 six quatloos 04:24:41 then people generally won't believe me, which may manage to let them survive through it 04:24:45 Release notes: 04:24:46 - Sorry. 04:24:52 wtf's going on right now in mspa 04:25:01 Patashu: things 04:25:07 can i just tell you you are being so hilarious i cannot concentrate on playing my guitar 04:25:12 i'm going to close the screen -> 04:25:17 oklofok: donk 04:26:00 Patashu: you remind me of that onion skit where some stuff is happening 04:26:14 "skit", is that a word? I seem to think it is 04:26:24 pretty sure it is 04:26:36 yeah skit's a word 04:27:40 also nynorsk for shit, anyway 04:28:08 and swedish for shit, indeed 04:28:11 well bokmål too if you mean the verb 04:28:35 also works as the imperative form of the verb 04:29:01 you're a bok mal 04:29:37 elliott: no, you're the mal and you're bok 04:31:45 The S3M official documentation says channel type 16..31 corresponds to Adlib channels (9 melody + 5 drums). But 9+5=14 it doesn't add up to 16. Do you know how it works? 04:32:33 addition? afaict you did it correctly there 04:32:38 must be their fault 04:35:24 I am trying to write the program that reads the file format. I also have a S3M file open in a hex editor so that I can see some things. But I have no Adlib S3M files (actually I don't know if any even exist, nor of any programs that can play them). 04:37:00 Do you know anything about the Adlib sound card, or about S3M? 04:37:11 nope 04:39:49 It also says bit 0-7 for channel type and bit 8 for channel enabled, but that is clearly wrong. It should be bit 0-4 for channel type and bit 7 for channel enabled. 04:40:01 obviously 04:41:12 The table for the header says channel settings for 32 channels, which is 32 bytes long in total, where 255=unused and +128=disabled, so that would agree with my texts, and also agrees with the actual S3M file. 04:45:25 Like DVItype can be used as a correct document for DVI format as well as a program to test it, so can my program be used to do similar thing for S3M file. 04:46:23 Probably you would get less errors in documentation for file formats if you did them like this. 04:50:02 oerjan: hm I am surprised there is no such thing as OverloadedLists... 04:52:26 Just ((:>) 0 ((:>) 0 VNil)) 04:52:32 oh fer chrissakes, how do you do showsPrec again... 04:53:40 (As far as I know, Knuth is the only other person who documents formats in this way; this has resulted in his documentation being extremely accurate.) 04:56:14 :t showsPrec 04:56:15 forall a. (Show a) => Int -> a -> String -> String 04:56:42 first argument is precedence level, second what to show, third string to pretend it to 04:56:54 The file I have claims to be the OFFICIAL documentation for the Scream Tracker file format...... 04:57:55 elliott: i think i recall there was some ListLike class in the iteratee stuff 04:58:20 oerjan: in this case, it encodes the length so that's not really worthwhile 04:58:23 as in 04:58:25 probably not possible 04:58:31 first argument is precedence level, second what to show, third string to pretend it to 04:58:34 pretend it to :D 04:58:41 *prepend 04:59:00 PREPEND I SAID THAT INSTEAD 04:59:24 I think I'm going to need both unary and binary numbers here. 04:59:52 hey oerjan, http://sprunge.us/JMUb 05:00:01 (I realise there's already a Data.TypeLevel on hackage but it sucks it uses undefiend and the like) 05:00:37 The document says the number of orders should be even. The file I am testing it with has an odd number of orders. 05:00:53 -!- Sgeo has quit (Ping timeout: 260 seconds). 05:04:51 Could not deduce (Succ (ToBinary n0) ~ Succ (ToBinary n)) 05:04:53 r u srs 05:05:34 * oerjan cannot precisely help without seeing code 05:05:47 elliott: make it deductible 05:06:02 olsner: deduct yourself 05:06:08 oerjan: i'm hacking it on my own :P 05:06:16 no big problem right now 05:06:20 just a day's type-level work 05:06:37 just another day in the type system 05:11:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 05:13:43 oerjan: can you believe that you can do all this vector stuff fine with unary type-level nats for the length 05:13:46 but if you make it binary 05:13:48 it all gets ugly as shit 05:13:48 :( 05:13:54 like even 05:13:55 instance (Eq a) => Eq (Vec n a) where 05:13:55 VNil == VNil = True 05:13:56 (x :> xs) == (y :> ys) = x == y && xs == ys 05:13:56 don't type 05:13:59 [asterisk]won't type 05:14:37 oerjan: because 05:14:39 (:>) :: a -> Vec n a -> Vec (Succ n) a 05:14:41 Succ is a type family 05:14:45 and it's just hard to deduce anything about it 05:14:46 ok wait 05:14:49 what if I just do the really ugly 05:14:53 hm if you make it binary, make the Vec's into binary trees i suggest 05:14:58 data Vec n a = LolHiddenConstructor [a] 05:15:17 oerjan: heh, what would the type of the branch constructor be then? 05:16:37 Br1 :: Vec n a -> Vec n a -> Vec (Twice n) a 05:16:51 oerjan: um but what is Twice... 05:17:01 Br2 :: Vec n a -> Vec n a -> a -> Vec (TwiceAndABit n) a 05:17:02 oh, just the 0 digit? 05:17:06 I call it O and I 05:17:18 oerjan: this is actually tempting, but I dislike a bit how it changes the runtime representation 05:17:34 the worst part though is 05:17:42 class FromList n where fromList :: [a] -> Maybe (Vec n a) 05:17:45 instance FromList Z where ... 05:17:52 instance (FromList n) => FromList (S n) where ... 05:17:55 good luck doing that with binary 05:18:09 eek 05:18:27 * elliott tries the binary tree idea before the cheating "let's just make it unsafe internally" 05:18:55 oerjan: hm the leaves would just be nil here, right? 05:19:18 hm what about Br1 :: Vec n (a,a) -> Vec (0 :> n) a 05:19:27 wat 05:19:28 *Br0 i guess 05:19:34 what's that for 05:20:10 well it's a standard trick for forcing trees to be balanced by type 05:20:18 don't your two constructors already achieve that? 05:20:28 "(0 :> n)" I assume you mean (O n) 05:20:42 ok 05:20:48 but -- don't your two constructors already achieve that? 05:20:57 the typed-safe balancedness, that is 05:21:25 ok that's not the precise thing achieved, but: 05:21:38 with that you can do FromList easier 05:21:43 ah 05:21:48 do I still need BrTwo with that? 05:21:55 yes 05:22:12 data Vec :: * -> * -> * where 05:22:12 VLeaf :: Vec BZ a 05:22:12 VBr0 :: Vec n (a,a) -> Vec (O n) a 05:22:12 VBr1 :: a -> Vec n (a,a) -> Vec (O n) a 05:22:13 erm 05:22:14 I n 05:22:16 for the latter 05:22:32 great, the Eq instance derives now, but not the Ord instance 05:22:55 Couldn't match type `BZ' with `BO n1' 05:22:55 Inaccessible code in 05:22:55 a pattern with constructor 05:22:55 VLeaf :: forall a. Vec BZ a, 05:22:55 in a case alternative 05:22:55 In the pattern: VLeaf {} 05:22:57 In a case alternative: VLeaf {} -> GT 05:22:59 wat 05:23:21 sigh, it is generating code that does not respect the fancy type magic 05:25:17 (+>) :: a -> Vec n a -> Vec (Succ n) a 05:25:17 a +> VLeaf = VBr1 a VLeaf 05:25:17 a +> VBr0 b = VBr1 a b 05:25:17 a +> VBr1 a b = whoops look at my coding energy drain away 05:25:18 im a good programmer 05:27:23 a +> VBr1 a' b = VBr0 ((a,a') +> b), i think 05:28:21 heh, I just hit upon that now :) 05:28:48 *Main> 0 +> 9 +> 0 +> 9 +> VLeaf 05:28:48 VBr0 (VBr0 (VBr1 ((0,9),(0,9)) VLeaf)) 05:28:48 *Main> 0 +> 9 +> 0 +> 9 +> 0 +> VLeaf 05:28:48 VBr1 0 (VBr0 (VBr1 ((9,0),(9,0)) VLeaf)) 05:28:50 that doesn't look right... 05:29:36 or no wait it does 05:29:38 looks right to me 05:29:43 oerjan: heh, now I just have to write a dest (opposite of cons) function... 05:29:48 this is going to be pretty slow runtime-wise, isn't it 05:30:19 MAAAYBE 05:30:37 well hm 05:30:46 vhead (VBr0 b) = fst (vhead b) 05:30:47 it's just rebalancing a tree, isn't it 05:30:52 vhead (VBr1 x b) = x 05:30:53 right? 05:31:12 because, lol, that doesn't type :) 05:31:13 think so 05:31:18 because 05:31:21 Could not deduce (n1 ~ Succ n0) 05:31:22 from the context (Succ n ~ BO n1) 05:31:22 fucking Succ 05:31:27 i'm going to try and make succ a typeclass intsead 05:31:51 -!- Patashu has quit (Ping timeout: 276 seconds). 05:33:17 lol didn't work 05:33:47 this sucks :/ 05:34:07 oerjan: wanna give it a shot? I can give you the code :P 05:34:09 you need bijection between Pred and Succ, i guess 05:34:14 mwahaha 05:34:15 I have no Pred 05:34:26 maybe you need it 05:34:33 where? 05:34:45 for vhead? 05:34:55 vhead :: Vec (Succ n) a -> a 05:34:59 not bothering with a full vdest right now 05:35:02 just a head 05:35:34 well you said that didn't type 05:35:48 it doesn't, but if vhead doesn't, making it do even more won't either 05:36:11 i meant vhead 05:37:11 right 05:37:14 i don't see what you are saying 05:37:17 what type do you want vhead to have 05:37:21 isn't there something you supposedly can do with ~ and type families to force things to be bijections 05:37:41 i don't actually know that, mind you 05:38:03 vhead :: Vec (Succ n) a -> a 05:38:03 vhead (VBr0 b) = fst (vhead (unsafeCoerce b)) 05:38:03 vhead (VBr1 x b) = x 05:38:04 nailed it 05:38:14 O_o 05:38:26 unfortunately "vhead foo" fails because of the type family :D 05:38:31 for foo = 0 +> VLeaf 05:38:34 oerjan: haha i scared you 05:40:12 sort of ruins the point of type level programming, doesn't it :P 05:40:28 oerjan: well in this case I've lost the ability to care about how safe the internals are 05:40:31 so long as the exposed API is safe 05:41:33 "According to Calver, the cheese at this point had "a caramel nose, a sweet twiggy greenness and a creamy good length of flavour...lemony, with a certain 'spritziness'"." 05:42:04 that was just before he started hallucinating from the mold, i take 05:42:26 my prediction: it actually just tasted like cheddar 05:42:26 or possibly just after 05:44:14 can't you make Succ into a GADT somehow 05:44:28 um that would result in it having constructors 05:44:36 that... makes no sense, really 05:44:40 hm... 05:44:51 phantom GADT :D 05:45:21 ooh, wait 05:45:29 oerjan: your constructors are _bad_ 05:45:35 :( 05:45:38 Leaf == VBr0 Leaf == VBr0 (VBr0 Leaf) == ... 05:45:50 and in fact (VBr0 Leaf) produces the forbidden type (BO BZ) 05:45:56 (all zeroes must be normalised to Z) 05:46:04 well that's your job :P 05:46:09 >:| 05:46:13 oerjan: this causes _actual problems_ 05:46:18 that's why we can't recurse 05:46:19 in the VBr0 branch 05:46:24 because we might be doing (vhead VLeaf) 05:47:11 fine, make a Vec1 which cannot be zero length 05:48:31 move VBr0 and VBr1 to it, but not Leaf 05:48:48 yeah OK, in a minute 06:05:11 -!- oerjan has quit (Quit: Good night). 06:15:38 -!- lifthrasiir has quit (Ping timeout: 240 seconds). 06:17:07 I have this horrible temptation to write a patcher. 06:51:00 -!- cheater8 has quit (Ping timeout: 260 seconds). 06:53:19 -!- cheater8 has joined. 07:01:18 -!- ais523 has quit (Remote host closed the connection). 07:06:07 -!- CakeProphet has quit (Ping timeout: 276 seconds). 07:26:22 -!- monqy has quit (Quit: hello). 07:28:47 -!- augur has quit (Remote host closed the connection). 07:30:24 -!- augur has joined. 07:32:35 -!- augur has quit (Remote host closed the connection). 07:33:41 -!- Vorpal has joined. 07:39:51 -!- augur has joined. 07:45:32 -!- Phantom_Hoover has joined. 08:09:17 -!- Sgeo has joined. 08:12:32 -!- zzo38 has quit (Quit: zzo38). 08:22:01 -!- CakeProphet has joined. 08:23:52 ?hoogle evaluate 08:23:53 Control.Exception evaluate :: a -> IO a 08:23:53 Control.OldException evaluate :: a -> IO a 08:23:53 Test.QuickCheck evaluate :: Testable a => a -> Gen Result 08:36:18 -!- lifthrasiir has joined. 08:43:55 http://www.youtube.com/watch?v=JAWuMd6GOfs&feature=related 08:43:55 Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them. 08:44:03 Ohmygodacatinzergog 08:44:34 a cat in zer gog 08:45:00 Phantom_Hoover: That cat looks surprisingly comfortable with the environment. 08:45:19 http://www.reddit.com/r/askscience/comments/hwv1e/computer_scientists_do_you_consider_syntax_to_be/ 08:45:33 Presented without comment. 08:46:17 Ow. 08:57:53 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 08:58:00 "loseth abacus . sup you can get a htc hd7 for putting in your email at" 08:59:11 " but who says jokes have to be funny" <<< poo 09:03:22 yeah 09:06:34 nothing worse than sitting comfy in your armchair and then didididididiiii hello i'm an alarm clock on the other side of room hihihihi come touch me :))))))))))))))))))))))))))))))))))) 09:06:46 *- 09:08:24 well actually many worse. 09:08:33 but not all worse? certainly not. 09:10:27 -!- Phantom_Hoover has joined. 09:19:18 :t execState 09:19:19 forall s a. State s a -> s -> s 09:22:47 !help 09:22:47 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 09:37:02 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 09:38:02 -!- Phantom_Hoover has joined. 09:43:08 -!- MigoMipo has joined. 09:43:28 -!- Patashu has joined. 10:05:23 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:10:06 -!- CakeProphet has quit (Ping timeout: 240 seconds). 10:12:59 -!- Timwi has joined. 10:20:30 -!- Timwi has changed nick to Timwi-Away. 10:23:43 -!- Timwi-Away has quit. 10:37:19 -!- CakeProphet has joined. 11:16:12 -!- MigoMipo has quit (Remote host closed the connection). 11:29:02 -!- elliott has quit (Remote host closed the connection). 11:29:14 -!- elliott has joined. 11:31:37 -!- pikhq has joined. 11:31:47 -!- pikhq_ has quit (Ping timeout: 255 seconds). 11:34:49 -!- FireFly has joined. 11:50:02 05:04:43: ehird: Now write an editor that distinguishes alignment from indentation and actually maintains your alignment in the correct tab/space ratio while you write code. 11:50:02 many editors can do this >:| 11:50:04 past gregor sucks 12:04:18 -!- Phantom__Hoover has joined. 12:13:03 "Multi-penised, six-legged, two-anused piglet given silly name" --Metro 12:21:38 -!- ralc has joined. 12:23:31 http://www.reddit.com/r/askscience/comments/hwqzc/dear_asksci_in_todays_age_we_can_create_light/ 12:24:48 lol 12:25:26 Sgeo eagerly awaiting you trying to defend this guy 12:26:45 TIL That all money is debt & that most money doesn't actually exist. :) (unpac.ca) 12:26:47 this person is a good poster 12:27:09 'create light from photons' 12:27:12 photons aren't light :O 12:27:13 Didn't occur to me to try to defend him 12:27:24 apparently river song is marilyn munroe 12:27:28 til from this person 12:28:33 But: Not everyone has a basic knowledge of elementary science. They see articles about making virtual photons real (if I understand the linked article correctly) and misinterpret it. It's entirely understandable that to someone who doesn't know what a photon is, it sound the way he described it. 12:30:06 lol 12:30:11 when isa id 12:30:13 eagerly awaiting 12:30:14 i meant 12:30:16 fucking dont 12:36:09 pikhq, wrt the "huge" kernel on ubuntu: seems like ubuntu builds with debug symbols 12:38:13 apparently river song is marilyn munroe 12:38:41 That actually seems plausible given the sheer idiocy of her character. 12:39:25 Sgeo, it does occur to me that they might possibly be talking about that entanglement thing. 12:39:39 they made link things in heir comments 12:40:10 "How long does a pig's orgasm last?" 12:40:14 Possibly the best question. 12:40:33 * Sgeo sorts his feeds into Fast, Click, and Slow 12:41:03 click 12:41:45 Click is for those feeds where I have to open externally to have any idea what's going on 12:41:52 Or not "any idea" 12:42:10 Um, like SMBC, due to the votey, or MSPA 12:42:40 * Phantom__Hoover notes that of the links in today's IWC annotation, "Pencil" is the only one he has previously seen. 12:43:05 I should read IWC's archive 12:43:10 Then start reading it regularly 12:43:44 * Phantom__Hoover notes that of the links in today's IWC annotation, "Pencil" is the only one he has previously seen. <-- do you mean "seen the wikipedia page" or "seen the word"? 12:43:53 Vorpal, seen the WP page. 12:43:55 ah 12:44:06 Sgeo, it's like Homestuck. 12:44:10 Except with Lego. 12:44:12 And science. 12:44:18 And no sprites 12:44:21 Or games 12:44:21 And even slower-moving plots. 12:44:22 Or 12:44:22 Or 12:44:23 Somehow. 12:44:23 Phantom__Hoover, and less weird troll romances 12:44:27 It's like Homestuck but not Homestuck. 12:44:33 It is similar in that it is: 12:44:34 - long; 12:44:37 - a web comic. 12:44:46 -!- quintopia has quit (Ping timeout: 240 seconds). 12:45:06 elliott, well it does manage to have about 20 parallel plots which move at a rate of about 5 in-comic seconds per month. 12:45:06 elliott, by that measure, schlock is quite similar to homestuck too! 12:45:19 isn't schlock the one drawn by a mormon 12:45:45 elliott, is he? I don't know. 12:46:44 elliott, I found another similarity between homestuck, iwc and schlock: they use long story-arcs. 12:46:58 so you need to read a large part of the archive for anything to make sense. 12:47:02 homestuck doesn't have story arcs 12:47:05 it is all one gigantic arc 12:47:17 as far as i know, not a single homestuck arc can be legitimately said to have ended 12:47:34 elliott, yeah, one huge story arch is a degenerate case of long story arcs :P 12:47:34 elliott, the Intermission wrapped up pretty well. 12:47:54 Phantom__Hoover: POINT 12:48:02 Does it count a wrapped up if there's something like a prequel? 12:48:36 No. 12:49:22 has any "story arc" in iwc actually ended so far? 12:49:30 maybe espionage... 12:49:41 isnt the whole point of iwc that nothing ever happens and the plots will never advance 12:49:59 except by dramatic intervention by, like, killing everyone 12:50:02 elliott, come on, they reached the dragon after all. That was actually something happening 12:50:04 -!- quintopia has joined. 12:50:04 -!- quintopia has quit (Changing host). 12:50:04 -!- quintopia has joined. 12:50:09 elliott, the whole point of IWC is to get more comics than Calvin & Hobbes. 12:50:11 True fact. 12:50:17 Phantom__Hoover: yes and then it will end 12:50:24 Vorpal, yes, and then they turned around and went to a pub. 12:50:25 (gives oerjan nightmares) 12:50:36 Phantom__Hoover, true 12:50:40 elliott, on that day the annotation will explain the GUT. 12:50:49 Phantom__Hoover, but it was still some sort of advancing. 12:50:57 Phantom__Hoover, GUT? 12:51:01 -_- 12:51:03 Gran Unified Theory 12:51:06 ah 12:51:09 *Grand 12:51:10 right 12:51:32 Grain Unified Theory 12:52:13 bran flakes theory 12:53:28 Candidates include Fruit Loop Gravity. 13:22:49 -!- copumpkin has joined. 14:04:26 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:09:52 -!- copumpkin has joined. 14:18:20 -!- copumpkin has quit (Ping timeout: 246 seconds). 14:37:10 ?t foldl 14:37:10 Maybe you meant: tell thank you thanks thx ticker time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . ? @ ft v 14:37:13 :t foldl 14:37:13 forall a b. (a -> b -> a) -> a -> [b] -> a 14:37:18 hmm 14:37:23 ?src concatMap 14:37:23 concatMap f = foldr ((++) . f) [] 14:37:26 in terms of fold come on 14:37:28 woot 14:37:42 :t foldl ((++) . f) (9,[]) 14:37:42 forall t a. (Monoid t, Num t, Show a, SimpleReflect.FromExpr (t, [a])) => [(t, [a])] -> (t, [a]) 14:38:00 :t foldl (\(a,x) r -> f a x ++ r) (9,[]) 14:38:01 forall t a. (Num t, Show a, SimpleReflect.FromExpr (t, [a]), Monoid t) => [(t, [a])] -> (t, [a]) 14:38:06 :t foldl (\(a,x) r -> ?f a x ++ r) (9,[]) 14:38:06 forall t a. (?f::t -> [a] -> (t, [a]), Monoid t, Num t) => [(t, [a])] -> (t, [a]) 14:38:19 ?hoogle concatMapM 14:38:19 ?thanks foo 14:38:19 No results found 14:38:20 you are welcome 14:38:23 -_- 14:45:10 :t ask 14:45:11 forall (m :: * -> *) r. (MonadReader r m) => m r 14:56:22 * Phantom__Hoover attempts to remember how to pronounce "mamihlapinatapai". 14:56:37 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:13:28 ?undo do { fx <- f x; gmapM (everywhereM' f) fx } 15:13:28 f x >>= \ fx -> gmapM (everywhereM' f) fx 15:13:33 ?pl f x >>= \ fx -> gmapM (everywhereM' f) fx 15:13:33 gmapM (everywhereM' f) =<< f x 15:17:55 :t gmapM (everywhereM' f) =<< f x 15:17:55 Not in scope: `everywhereM'' 15:18:42 :t everywhere 15:18:43 forall a. (Data a) => (forall a1. (Data a1) => a1 -> a1) -> a -> a 15:18:57 tswett: that's the definition of everywhereM' 15:19:01 er 15:19:02 -!- Sgeo has quit (Ping timeout: 255 seconds). 15:19:03 twice11: 15:19:05 misping 15:19:19 -- ndm hates this, but I don't know how to code his descendM 15:19:19 everywhereM' :: (Monad m) => GenericM m -> GenericM m 15:19:19 everywhereM' f x = f x >>= gmapM (everywhereM' f) 15:19:19 :) 15:19:20 it's syb stuff 15:19:38 Ah, recursive. 15:20:35 I just wanted to test whether "f x >>= gmapM (everywhereM' f)" is equivalent to the point{less,free} output produced by ?pl 15:20:42 Obviously it is. 15:20:46 Yeah, it is 15:20:56 I dunno why ?pl likes =<< so much 15:21:00 I guess to try and preserve "applicative order" 15:21:06 It can be kind of ugly IMO 15:21:17 Probably because ?pl also likes . for non-monadic code. 15:21:46 Ah, precedence stuff? 15:22:28 Maybe that too, but I just thought about shared code for producing monadic =<< and non-monadic dots. 15:22:37 Right. 15:22:46 Well, it is ?undo that created the >>=. 15:22:50 ?pl just flipped it around to =<<, inexplicably. 15:22:51 (line 1, column 30): 15:22:51 unexpected "," 15:22:51 expecting white space or simple term 15:23:06 twice11: btw, haven't seen you around here before -- come from the wiki? 15:23:17 or has someone been blabbing in #haskell again :) 15:23:44 I have been around here (or whatever was the esolang wiki recommended channel at that time) in 2007. 15:23:56 It's always been this place, AFAIK 15:24:09 The channel is quite a bit older than the wiki 15:24:29 I met oerjan already at that time, and we made the proof that 0x29A is turing complete. 15:25:01 I came here to ask about the claim of turing-completeness, as I was unable to see how it works. 15:25:33 ah, cool 15:25:37 are you the inventor of 0x29A? 15:25:47 Now a friend slightly hinted me to get here again - and I thought it might be a good idea. 15:26:15 No, I didn't invent it, it just stumbled upon it randomly browsing the esolang wiki. 15:26:19 I bet it was ralc. You can never trust that ralc. 15:26:25 Sitting there idling, plotting our downfall quietly. 15:27:08 rambling again, eh? 15:27:21 All two lines of ramble. 15:27:32 No, I was not pointed here by ralc. 15:27:50 And if I should cause downfall of the channel, feel free to kick me. 15:28:14 If you cause the downfall of this place it might be a bit tricky to kill you, since we'll presumably all be gone. 15:28:17 Er, kick you. 15:28:22 I swear that was a typo. 15:28:41 My endpoint does not support RSP, so no problem ;) 15:28:49 RSP == remote strangulation protocol. 15:29:07 Hmm, I've always preferred the UDP Disintegration Laser. 15:30:11 Hmm, never heard of, neither did google. 15:30:37 Yes, well, someone had to make up the remote strangulation protocol too, didn't they. :p 15:34:41 elliott, TbH, the TCP Orbital Bombardment always tickled my fancy more. 15:37:07 -!- pikhq has quit (Ping timeout: 258 seconds). 15:37:11 -!- pikhq_ has joined. 15:46:37 -!- augur has quit (Remote host closed the connection). 15:52:09 -!- elliott has quit (Read error: Connection reset by peer). 15:56:24 -!- hiato has quit (Ping timeout: 250 seconds). 16:14:45 -!- Sgeo has joined. 16:22:56 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 16:23:45 -!- elliott has joined. 16:24:14 -!- augur has joined. 16:47:14 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 16:48:18 -!- augur has quit (Remote host closed the connection). 16:48:39 -!- oerjan has joined. 16:50:36 (gives oerjan nightmares) 16:50:42 AYEEE 16:51:51 nothing worse than sitting comfy in your armchair and then didididididiiii hello i'm an alarm clock on the other side of room hihihihi come touch me :)))))))))))))))))))))))))))))))))))� 16:52:29 wow 16:52:41 i am sorry, but you are clearly misspelling "in the room of your housemate on the other side of the wall, and he is not home..." 16:57:03 12:40:10: "How long does a pig's orgasm last?" 16:57:13 "Long enough". HTH, HAND. 16:58:33 also, how can the channel be this silent when elliott is here 16:58:47 i was too busy composing the greatest musical masterpiece ever to be created 16:59:14 ah. i guess that's a proper excuse. 16:59:30 -!- augur has joined. 16:59:43 oerjan: for your wonderful concern, you get to listen to it 16:59:45 SO 16:59:46 LUCKY 17:00:07 14:12:46: hi everyone 17:00:08 14:22:53: or noone 17:00:08 14:23:01: pity 17:00:09 14:23:13: maybe I could just sit here monologuing until someone tells me to stop spamming 17:00:35 elliott's musical mode of choice is gangsta rap. 17:00:40 And those are the words. 17:00:58 I will offer a five quadrillion dollar bounty to anyone who can rap those lines to this thing. 17:03:27 -!- Phantom__Hoover has joined. 17:06:46 -!- monqy has joined. 17:08:11 -!- Timwi-Away has joined. 17:08:15 -!- Timwi-Away has changed nick to Timwi. 17:09:55 -!- augur has quit (Remote host closed the connection). 17:12:39 -!- azaq23 has joined. 17:16:02 -!- augur has joined. 17:22:21 -!- augur has quit (Remote host closed the connection). 17:24:52 -!- augur has joined. 17:29:07 -!- oerjan has quit (Quit: Later). 17:29:25 -!- Tritonio has joined. 17:31:19 -!- elliott has quit (Remote host closed the connection). 17:34:07 -!- elliott has joined. 17:35:29 -!- Tritonio has quit (Quit: Leaving). 17:37:46 -!- zzo38 has joined. 17:50:14 -!- augur has quit (Remote host closed the connection). 18:10:56 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 18:13:17 -!- Phantom__Hoover has joined. 18:13:54 -!- MigoMipo has joined. 18:22:44 -!- augur has joined. 18:24:49 I am trying to figure out how to shorter C code for selecting numbers 1 to 300 that have digit 3 or divisible by 3 18:26:16 golfing? or just shorter? 18:26:44 Golfing 18:27:15 I have 22 bytes of a expression that makes 0 for numbers that meet this criteria. 18:28:34 I know of operator precedence and order, a few mathematical things about modulo and multiplication and stuff, but still I did not figure it out 18:30:28 That is, if there is any shorter expression for that! 18:33:55 What’s the 22 bytes expression you already got/ 18:34:01 / => ? 18:35:33 x%3&&x%10-3&&x/10%10-3 18:35:56 But maybe is possible to change other parts of the program, although it doesn't seem to help from what I can figure out 18:36:26 Right, so x needs to be divisible by 3 — I thought you meant it should contain *digits* divisible by 3 18:37:11 Either divisible by three or at least one digit is 3. 18:37:19 maybe you could generate all matching numbers, dunno if that'll be shorter though 18:37:20 Sounds like a fizzbuzz variant. 18:37:28 Yeah 18:38:28 -!- Timwi has quit. 18:38:54 Also, someone made a C program output "Success" with 21 bytes, the most obvious way I can figure out is 24 bytes. I can figure out how to make "Success" to standard error with 18 bytes, but not to standard output with 21 bytes. 18:39:22 zzo38: Your expression seems to fail on 311 18:39:34 twice11: It only has to be OK for numbers 1 to 100 18:39:39 s/100/300/ 18:39:52 Ah, OK. In that case... 18:41:20 I noticed that it seems the C standard functions will have the same address twice if you run the program twice. That doesn't seem to help, though. (This is for "Success" problem) 18:41:40 Hmm. 24 bytes is obvious. 18:41:57 Ah, perror for the stderr case - clever. 18:42:45 what if you dup'd the fd then perrored 18:42:50 i guess that would still go over though 18:42:55 Try to find out the address where the string for perror is stored. 18:43:07 And then puts that address. 18:43:10 heh 18:43:17 twice11: I thought of that, but could not figure it out. 18:43:40 Do you get access to stderr/stdout of failed programs? 18:44:09 And even if not - you get the address from strerror. 18:44:24 In the worst case you need to do a binary search. 18:44:51 No further hints here - *you* want to win the golfing. 18:45:14 Yes you do get access to stderr/stdout of failed programs. 18:45:38 But I do suppose you are correct. Still, all of those are things I have already thought of. It is OK if you want to give no further hints. 18:45:52 So what is your problem? 18:46:10 O, I just wanted to mention it, is all. 18:46:25 It should be straight-forward to apply my hints. 18:46:34 Especially if you get stdout/stderr. 18:47:02 there is no guarantee the address is predictable though 18:47:24 Who cares at golfing. 18:47:31 i mean, 18:47:33 It needs to pass the judge system once. 18:47:34 it might differ enough between runs 18:47:39 Addresses of "puts" and "strerror" and that stuff themself seem to always be the same each time (I have tried it). 18:47:54 twice11: well actually there have been proposals for a rejudge button on anagolf :) 18:48:22 There are even time()-dependent golf entries around... 18:48:53 twice11: the cheat entries (random+resubmit spam ones) are a really bad problem at anagolf 18:48:55 thus the rejudge proposals 18:49:07 It is one reason why I dislike endless problems. 18:49:09 basically if you're ok hammering the server for a few minutes chance will get you pretty much anywhere 18:50:32 On my system, the strerror result is not constant. Did you try on the judge system? 18:50:36 However, in any case, what I prefer to do, is I can post multiple solutions if I have it, some for random or time dependent, others with embed, cheat, genuine, alnum-only, symbols-only, etc. 18:50:53 twice11: The strerror result is not a constant pointer. 18:51:04 Too bad :( 18:51:07 The address of the result changes with each run. 18:51:28 I was suggesting to hardcode that. 18:51:32 zzo38: they might be doing a 18:51:35 main="machine code"; 18:51:37 trick, you know 18:51:39 -!- pikhq has joined. 18:51:50 I already had all of these ideas (elliott: except your last one) 18:52:02 -!- pikhq_ has quit (Ping timeout: 252 seconds). 18:52:10 elliott: That will store a pointer at the main location. 18:52:20 You need at least char main[]="machine code"; 18:52:44 Yeah yeah :) 18:52:45 main[] should do 18:52:47 without char 18:52:58 Maybe a global variable from libc has a constant offset from the "Success" string... 18:53:10 main[] declares an array of ints. 18:53:24 Are you sure you can initialize that with a string?! 18:53:28 yep, but if you can do with every other byte being 0... 18:53:31 it... might work :) 18:53:42 or maybe, if you put a L before the string 18:53:46 twice11: I also thought of those things too, I tried subtraction... 18:53:48 or an LL i gues 18:53:48 s 18:53:50 then maybe it will work fine? 18:53:52 unicode-y 18:54:28 elliott: Isn't 0x00 a noöp on x86? :) 18:54:35 0x90 is a nop. 18:54:37 No, I don't think so 18:54:38 0x00 not. 18:54:43 The fuck is 0x00, then? 18:54:47 but yeah i think 18:54:49 main[]=LL"..." 18:54:52 might actually work 18:54:58 0x00 is NOP in z80, though, I think. 18:55:03 And why would you ever want 0x00 to not be NOP? 18:55:41 Oh, wait, x86. x86 hates you. 18:55:44 pikhq: In case the way of all command and the electronics and stuff works, makes it help to not have 0x00 to be NOP, like, some pattern, etc 18:55:48 0x00 is the first byte of a bunch of add instructions, but by itself means nothing to x86 18:56:08 You see? x86 hates you. 18:56:09 I understand the request for NOP at 0xFF (unprogrammed ROM celss are NOPs), but what does 0=NOP help in practice? 18:56:20 twice11: C string programming :D 18:56:33 twice11: Uninitialised pages! 18:56:41 I think usually nop is an alias for a completely different instruction that just happens to have no effect 18:56:43 twice11: If that is the case, then maybe 0xFF should be debug trap command. 18:56:53 ... Presuming you have a kernel that has just-allocated pages as 0. 18:57:01 olsner: FEH 18:57:11 0xFF as space for hotpatching is what I had in mind. 18:57:17 Without erasing. 18:57:45 For 0-initialized pages, crash-on-NUL would be nice. 18:57:59 twice11: O, that makes sense, then. 18:58:20 It would be useful if 0xFF to be NOP in case of hotpatching. 18:58:25 0 should be hcf 18:58:30 that'll teach low-level programmers to make memory errors 18:58:52 Isn't on Z80 the typical NOP encoding one of 0x40/0x49/0x52/0x5B/0x64/0x6D/0x76/0x7F? 18:59:14 Z80, hoggin' all the nops 18:59:15 But maybe 00 is a NOP, too... 18:59:20 on x86, 0x90 aka nop is actually xchg ax,ax (or xchg eax,eax) 18:59:23 http://www.reddit.com/r/askscience/comments/hx40e/scientists_of_reddit_whats_the_most_disastrous/c1z3xo2 18:59:30 olsner: I love how it needs special-casing in sixty-four bit mode 18:59:30 I misread that as "cut her into half" 18:59:35 You and your LOGIC 18:59:35 elliott: yeah :) 18:59:44 Those are LD A,A; LD B,B and so on Z80 18:59:55 on x86, mov ax,ax would be two bytes. 19:00:12 elliott: plus I think the special case only applies for the ax/eax opcode, not for all the other nops for the other registers :) 19:00:25 olsner: yeah :D 19:00:29 great for assemblers 19:00:30 so logicla 19:00:32 logical 19:00:48 NOP needs to be special-cased for 64 bit? 19:00:58 twice11: yes, otherwise it would clear the high bits of rax 19:01:08 it would xchg eax with eax, which would clear the top thirty-two bits of rax 19:01:25 so the opcode gets special-cased to mean a true nop 19:01:35 found a bochs bug a while ago, test eax,eax clears the higher bits of rax 19:02:04 I hope the bug was that the bits are cleared... 19:02:19 yes, ordinary cpus don't clear them 19:02:29 So 0x90 is no longer a nop, but you would need a 64-bit-prefix on that? 19:02:44 no no: 0x90 is still a nop, that's the special case 19:02:51 OK, finally got it. 19:03:42 to get the real xchg eax,eax behavior (clearing the upper bits) you have to use a different encoding of xchg 19:04:36 -!- Timwi has joined. 19:04:58 and eax,0ffffffffh should work to. 19:05:12 hey zzo38 19:05:15 try sys_errlist[0] 19:05:22 yes, and take 5 bytes or so 19:06:17 hmm, how do you do a syscall from linux assembly again? :p 19:06:36 You guys still discussing the golf? 19:06:40 oh wait 19:06:41 elliott: oh, there are many ways to do that :) 19:06:44 dup2 isn't a syscall 19:06:44 is it 19:06:52 Timwi: i'm having a go at doing it incredibly nonportably :) 19:07:01 pretty sure it is, the file descriptors live in the kernel 19:07:25 but maybe it shares a syscall with dup3 19:07:41 oh, it is a syscall 19:07:54 what's the shortest byte-count way to syscall, then :p 19:08:16 probably the interrupt, int 81h iirc 19:08:32 or is that 81 not-hex, hmm 19:08:48 0x80 it is on linux 19:08:50 elliott: int 80h. 19:08:59 right 19:09:24 hmm 19:09:32 If you're *also* willing to actually set up vdso access, then it'd be a call to the appropriate system call. 19:09:35 (note: PITA) 19:09:41 it occurs to me I have no idea how I would go about finding the machine code of /just/ the main function I defined 19:10:06 Stop! We try to get something below 24 bytes! 19:10:50 elliott: what do you mean? 19:11:00 olsner: like, i can get an ELF .o from nasm 19:11:04 and link that with libc with gcc 19:11:10 but i just want to extract the specific bytes of main from there 19:11:14 and that seems like a pain 19:11:28 elliott: objdump is your friend. 19:11:36 just output a flat binary from nasm? 19:11:40 Or that. 19:11:45 olsner: that doesn't support external libc references 19:11:47 but uh 19:11:54 I can't find the header with syscall numbers :( 19:11:56 on here 19:12:00 so i can't use the syscall thing afaik 19:12:05 how would you get those libc references into your char array anyway? 19:12:12 true 19:12:35 um wait 19:12:38 perror isn't a system call 19:12:42 nope :) 19:12:42 elliott: sys/syscall.h 19:15:26 Hrm. Apparently glibc 2.14 actually breaks ABI. Hard-core. 19:15:55 ugh now why isn't this working 19:16:10 Because it’s not esoteric enough 19:16:17 so which glibc is everyone using now, and which century will they be using 2.14? 19:16:49 olsner: It's "just" dropping the RPC interfaces. 19:17:15 it has RPC interfaces? 19:17:23 Had. 19:18:10 They're being dropped because a) that's fucking STUPID b) the damned thing really fucked with builds, and wouldn't cross-compile right. 19:18:32 Also, as far as I know, the absolute oldest glibc you'll still find is going to be something like 2.10. 19:18:34 gah, even the machine code is long for write 19:18:36 (see RHEL) 19:20:52 Huh. 19:21:00 Apparently Ulrich Drepper no longer works for Red Hat. 19:21:12 He is VP, Technology Division at Goldman Sachs. 19:21:52 Since October 2010 :-p 19:21:58 Yup. 19:36:33 -!- kovacs1 has joined. 19:59:09 -!- CakeProphet has quit (Ping timeout: 252 seconds). 20:00:58 -!- CakeProphet has joined. 20:00:59 -!- CakeProphet has quit (Changing host). 20:00:59 -!- CakeProphet has joined. 20:05:27 Thank you for making many great points in this conversation. 20:05:56 -!- Tritonio has joined. 20:06:59 yes 20:09:52 Is it possible in LLVM to tell it to use different settings for optimization for different parts of the code? 20:10:18 -!- oerjan has joined. 20:10:25 I think so, but I'm no expert 20:10:38 No, but you can split your code into separate bitcode files, optimize each one however you like, and link them together 20:11:18 Is that so even if the API is used? 20:11:28 That I'm not sure about 20:11:40 I did find the header files for using LLVM API with C 20:11:41 The API may allow more fine-grained control 20:13:10 I do see a lot of things in those header files. But I do not understand all of it. 20:13:17 A lot of useful things are in there. 20:15:39 -!- CakeProp1et has joined. 20:15:52 -!- CakeProphet has quit (Ping timeout: 276 seconds). 20:18:54 -!- Tritonio has quit (Quit: Leaving). 20:21:45 -!- MigoMipo has quit (Remote host closed the connection). 20:23:48 -!- CakeProp1et has quit (Ping timeout: 240 seconds). 20:24:22 -!- CakeProphet has joined. 20:24:23 -!- CakeProphet has quit (Changing host). 20:24:23 -!- CakeProphet has joined. 20:25:01 Wow! 20:25:55 Sorry. Wrong window... 20:26:13 No CakeProphet is truly a wondrous thing. 20:26:25 there you see him, there you don't 20:26:31 -!- kovacs1 has quit (Ping timeout: 260 seconds). 20:27:24 #define __NR_fcntl64 221 20:27:24 #define __NR_gettid 224 20:27:26 oops 20:27:29 #define __NR_fcntl64 221 20:27:29 /* 223 is unused */ 20:27:30 #define __NR_gettid 224 20:27:33 :o 20:31:15 hmm, how about 222? 20:31:23 heh 20:31:26 good point 20:31:50 i'm sure poor 223 feels left out too 20:32:00 oh wait 20:32:06 -!- pikhq has quit (Ping timeout: 240 seconds). 20:32:16 -!- pikhq has joined. 20:32:26 Y U NO READING COMPREHENSION 20:32:35 olsner, we don't talk about 222 in this channel. 20:33:02 it's a third of evil 20:33:48 the number of the 1.33 quarterbeasts 20:44:03 -!- aloril has quit (Ping timeout: 250 seconds). 20:44:22 http://en.wikipedia.org/wiki/Oil_drop_experiment#Millikan.27s_experiment_and_cargo_cult_science this is downright creepy 20:46:35 Sgeo, THE CHARGE ON THE ELECTRON IS RISING 20:46:35 And why would you ever want 0x00 to not be NOP? 20:46:47 WE'RE ALL GOING TO DIE 20:47:13 in case you accidentally run into zeroed memory, it might be nice not to have a NOP. theoretically. 20:47:32 -!- cheater8 has quit (Ping timeout: 246 seconds). 20:47:40 that's one reason to make 0 a HCF instruction instead of NOP 20:47:49 or debug breakpoint or something 20:48:04 yeah but zeroing memory is arbitrary :D 20:49:14 otoh, a non-zero pattern is better for clearing memory area that you don't want used accidentally, like msvc fills with 0xcc (int3/debug breakpoint) 20:52:37 -!- kovacs1 has joined. 20:53:29 *Clearly* it should be filled with int 80h. 20:53:49 pikhq: but that's a two byte instruction 20:54:22 BAH 20:55:25 there are a couple of reserved undefined instructions though 20:56:03 they are, eh, defined as undefined instruction 1 and 2 or something like that 20:57:01 best instructions 20:57:02 and their behaviour would be defined as causing the undefined instruction exception 20:57:40 -!- aloril has joined. 20:58:13 defined things as "undefined" something is probably the best way to define anything ever :> 20:58:23 *defining things 21:04:26 hehe, the f00f bug is listed on wikipedia as an HCF instruction :) 21:04:55 -!- CakeProphet has quit (Ping timeout: 244 seconds). 21:05:02 i'm a purist 21:05:10 it's not an hcf unless the cpu actually catches on fire 21:05:23 > let things = undefined in things 21:05:23 *Exception: Prelude.undefined 21:05:32 -!- kovacs1 has quit (Ping timeout: 255 seconds). 21:06:06 halt, conquer france 21:06:28 -!- CakeProphet has joined. 21:06:28 -!- CakeProphet has quit (Changing host). 21:06:28 -!- CakeProphet has joined. 21:06:38 > let things = undefined in things 21:06:38 *Exception: Prelude.undefined 21:06:44 spent a minute waiting for oerjan to correct his pun code there 21:06:45 >_< 21:06:55 :D 21:09:42 elliott: maybe it's a NOPUR then - no operation until reset 21:09:53 no purring 21:09:57 its forbiten 21:10:15 but it might be doing memory stuff while it's looping, so not sure if it's really no operation 21:11:32 -!- CakeProphet has quit (Ping timeout: 240 seconds). 21:11:34 God. Banshee is a fucking *revolting* media player. 21:11:44 I couldn't use it for 2 minutes. 21:12:37 Why would you *want* it to display albums by the artist tag (as opposed to the album artist tag)? 21:12:59 -!- CakeProphet has joined. 21:13:15 Seriously, I should not have albums under [dialog] simply because some live album happens to have a track of dialog. 21:13:51 [dialog] is an artist? 21:14:39 It's a psuedo-artist for tracks of general dialog not really attributable to anything sane in MusicBrainz. 21:15:40 that track should have the artist set to whoever is doing the dialog, shouldn't it? 21:15:45 -!- variable has quit (Remote host closed the connection). 21:16:18 olsner: Who the hell are you going to attribute something like "AND WITHOUT FURTHER ADO, THE FOO BARS" to, anyways? 21:16:38 find the announcer's name obvs 21:16:42 exactly 21:16:46 personally id just attribute it to the album artist 21:16:54 Also, that scheme *really* fucks up on albums where the album artist is Various Artists. 21:17:06 how many such albums have dialogue tracks 21:17:12 elliott: Not that many. 21:17:13 how many such albums are worth listening to 21:17:14 The Foo Bars feat. Announcer - Announcing the Foo Bars 21:17:53 Person Who Said "And Without Further Ado, The Foo Bars" 21:18:13 That *too* would screw up on Banshee. 21:18:27 It would list *the album* under Person Who Said "And Without Further Ado, The Foo Bars". 21:18:35 In addition to being under The Foo Bars. 21:18:43 The Foo Bars feat. Person Who Said "And Without Further Ado, The Foo Bars" - Person Who Said "And Without Further Ado, The Foo Bars" saying "And Without Further Ado, The Foo Bars" 21:19:11 olsner: id buy that single 21:19:53 So, yeah. When it takes me all of 15 seconds to find a *major* flaw in your handling of tags, your music program sucks. 21:20:12 -!- variable has joined. 21:20:34 Though, good on it for at least sorting by the artistsort tag and displaying by artist. Can't manage to get Quod Libet to do that. 21:21:03 have you tried Clementine lately? 21:21:13 Tempting. 21:21:31 it was so disappointing using amarok 2 for the first time :/ 21:21:33 like... why did you do this 21:21:38 Ah, heck, I will. 21:21:51 before that amarok was like itunes done properly 21:21:57 one thing I really miss from clementine is a way to get to related music from the currently playing song, or a song listed in the playlist 21:21:58 Yeah, Amarok 2 was saddening. 21:21:59 -!- variable has quit (Remote host closed the connection). 21:22:17 Amarok 1 was fucking t3h awesome. With any luck, so's Clementine. 21:22:17 e.g. good song playing from shuffle, rightclick to list all stuff from the same artist 21:22:25 olsner: how did that actually work anyway? 21:22:26 genre tags? 21:22:40 http://upload.wikimedia.org/wikipedia/commons/7/73/Amarok_2.4.png <-- seriously who even designed this 21:22:50 spotify does that particular part quite well since artists and albums are clickable links 21:22:53 -!- variable has joined. 21:22:54 nobody wants to fucking read a wikipedia article in the centre of their ugly media player 21:22:56 the whitespace is all fucked up 21:22:58 the left pane is almost useless 21:23:06 and the useful shit at the right is stripped down to the point of unusability 21:23:07 why 21:23:12 oh because its FANCY KDE PANEL WIDGETS 21:23:45 Seriously people, *just eat your fucking dog food*. that alone would solve so many usability woes. 21:23:45 elliott: I didn't mean any fancy stuff though, just the *really obvious* stuff that you can do with a media library 21:23:47 e.g. good song playing from shuffle, rightclick to list all stuff from the same artist 21:24:00 if clementine has any kind of smart browser functionality, which i'm like 99.999 percent sure it does, this should actually be like 21:24:04 a sixty line patch 21:24:18 exactly 21:24:25 have a go at it :P 21:24:33 or just make an issue. 21:24:59 http://www.clementine-player.org/ 21:25:00 wow 21:25:01 pretty fancy site 21:25:17 i find it amusing that the most native-looking screenshots are on windows 21:25:41 oh man 21:25:51 doing it myself? it'll be horrible code and then I'd have to get all involved in their "community" to send a patch in and meh... I don't want anything more to do with it than have this particular thing fixed anyway 21:25:52 did they clone the amarok ... whats even the name for the bar visualisation 21:25:53 that everything has 21:25:55 probably winamp started it 21:26:00 isn't it a fork of amarok? 21:26:00 they cloned it identically, awesome :D 21:26:06 olsner: no, "rewrite" 21:26:12 olsner: they basically recreated amarok onepointfour in qtfour 21:26:15 from scratch 21:26:32 (But Better, one presumes) 21:26:39 sigh 21:26:49 olsner: um you realise that amarok onepointfour was tied to kde? 21:26:54 and clementine is meant to be cross-platform 21:26:58 so forking it would just not be tenable 21:27:03 you'd have to port from qtthree + kdethree -> qtfour 21:27:08 which would involve rewriting most of it anyway 21:28:13 well theres http://code.google.com/p/clementine-player/issues/detail?id=273&q=similar&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Stars 21:28:15 I used amarok in !kde just fine, but still in X of course 21:28:19 not quite the same thing though 21:28:23 http://code.google.com/p/clementine-player/issues/detail?id=1162&q=similar&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Stars 21:28:23 similar 21:28:28 olsner: still depends on a shitload of kde libs and daemons 21:29:16 Dammit; one issue with Clementine. Can't sort by one tag and display a different. 21:29:42 pikhq: how often do you actually care about the exact ordering of your artists? its not like type-to-search isnt faster 21:29:47 and most of the time i just use shuffle anyway 21:30:18 elliott: For artists, it's a minor thing. For albums, I *really* want it to sort by date. 21:30:42 why not just sort by date then 21:31:19 It doesn't have the concept of sorting by things. It has the concept of grouping by things. 21:37:49 In short, it's too stupid for its own good. 21:38:34 > [x | x <- [1..10], then group by x `mod` 3] 21:38:35 Illegal transform or grouping list comprehension: use -XTransformListCompNo... 21:38:40 darn 21:38:54 oerjan: "then group by" 21:38:57 Oh, yeah, and it also seems to struggle with the concept of album artists. 21:38:57 hasql? 21:39:27 If an album has multiple artists on it, but a single album artist, it gets filed under "Various Artists". 21:39:28 !haskell {-# LANGUAGE TransformListComp #-} main = print [x | x <- [1..10], then group by x `mod` 3] 21:39:34 ​/tmp/input.23664.hs:1:13: unsupported extension: TransformListComp 21:39:56 pikhq, saw this and thought of you: http://www.cracked.com/blog/5-reasons-internet-access-in-america-disaster/ 21:39:57 what's that *No up there 21:40:23 !haskell {-# LANGUAGE TransformListCompNot #-} main = print [x | x <- [1..10], then group by x `mod` 3] 21:40:26 ​/tmp/input.23757.hs:1:13: 21:40:47 hm... 21:40:55 !haskell main = print [x | x <- [1..10], then group by x `mod` 3] 21:41:13 Gregor: UPGRADE 21:41:29 grmble 21:44:23 -!- pikhq_ has joined. 21:44:28 (http://www.haskell.org/ghc/docs/latest/html/users_guide/syntax-extns.html#generalised-list-comprehensions, anyway) 21:45:49 -!- copumpkin has joined. 21:46:05 > groupBy ((==) `on` (% 3)) [1..10] -- old style 21:46:06 [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]] 21:46:17 hm that's not very well grouped 21:46:40 groupBy only groups adjacent elements 21:46:44 i know 21:47:04 -!- pikhq has quit (Ping timeout: 252 seconds). 21:47:09 there's just no short way to express this without the extension i guess 21:47:33 > groupBy ((==) `on` (% 3)) $ sortBy (comparing (% 3)) [1..10] -- old style 21:47:34 [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]] 21:47:39 er what 21:47:48 :t comparing 21:47:49 forall b a. (Ord a) => (b -> a) -> b -> b -> Ordering 21:48:01 oh duh :P 21:48:14 > groupBy ((==) `on` (`mod` 3)) $ sortBy (comparing (`mod` 3)) [1..10] -- old style 21:48:15 [[3,6,9],[1,4,7,10],[2,5,8]] 21:48:29 > 1 % 3 21:48:30 1 % 3 21:48:33 heh 21:48:46 that's actually haskell's fraction notation 21:48:59 > 1%2 + 1%3 21:49:00 5 % 6 21:49:12 yeah realized about the time I saw your oh duh and revised code 21:50:55 > scanl1 (+) $ map recip [1 :: Int ..] 21:50:55 No instance for (GHC.Real.Fractional GHC.Types.Int) 21:50:55 arising from a use o... 21:51:03 oh hm 21:51:11 > scanl1 (+) $ map (1%) [1 :: Int ..] 21:51:12 [1 % 1,3 % 2,11 % 6,25 % 12,137 % 60,49 % 20,363 % 140,761 % 280,7129 % 252... 21:51:31 > scanl1 (+) $ map (1%) [1 ..] 21:51:32 [1 % 1,3 % 2,11 % 6,25 % 12,137 % 60,49 % 20,363 % 140,761 % 280,7129 % 252... 21:51:42 > scanl1 (+) $ map (1%) [1000 :: Int ..] 21:51:43 [1 % 1000,2001 % 1001000,1503001 % 501501000,2009011003 % 503005503000,6300... 21:51:55 > scanl1 (+) $ map (1%) [1000000 :: Int ..] 21:51:56 [1 % 1000000,2000001 % 1000001000000,1500003000001 % 500001500001000000,200... 21:52:06 darn short lines 21:52:35 lambdabot seems to run on a 64 bit system. 21:53:00 > (1 :: Integer) == (1 :: Int64) 21:53:00 Couldn't match expected type `GHC.Integer.Type.Integer' 21:53:01 against inf... 21:53:08 > (1 :: Integer) == (1 :: Int32) 21:53:09 Couldn't match expected type `GHC.Integer.Type.Integer' 21:53:09 against inf... 21:53:11 oh wait 21:53:16 > (1 :: Int) == (1 :: Int64) 21:53:17 Couldn't match expected type `GHC.Types.Int' 21:53:17 against inferred type ... 21:53:21 > (1 :: Int) == (1 :: Int32) 21:53:22 Couldn't match expected type `GHC.Types.Int' 21:53:22 against inferred type ... 21:53:29 huh 21:53:32 oerjan: That can't work. 21:53:42 Int, Int32 and Int64 are distinct types. 21:53:47 -!- CakeProphet has quit (Ping timeout: 240 seconds). 21:53:51 i'd have imagined one of the types to be a synonym 21:53:55 > maxBound :: Int64 21:53:55 9223372036854775807 21:54:00 maxBound :: Int 21:54:13 ... 21:54:21 > maxBound :: Int 21:54:22 9223372036854775807 21:54:25 that'd be a bad idea since it'd make some haskell programs subtly dependent on the local word size 21:54:30 what olsner said 21:54:45 olsner: um they _already_ do that if they use Int 21:54:58 yes but not in a way 21:55:01 that could make it type on one machine 21:55:02 but not another 21:55:03 that's just _sick_ 21:55:07 hm 21:55:16 instead it types on all, but runs differently :) 21:55:34 well I would consider using more than the allowed range for Ints unportable/undefined anyway 21:55:34 gross but less so 21:55:47 i.e., you can do it as long as you acknowledge you are creating a "GHC program" that only works on some machines 21:56:00 the allowed range = by the report that is 21:56:09 > scanl1 (+) $ map (1%) [1000000 :: Int32 ..] 21:56:10 [1 % 1000000,666667 % (-242126656),353137899 % 820529344,(-1022068671) % (-... 21:56:16 MUCH BETTER 21:56:19 yeah, you can't count on more than 31 bits in an Int anyway 21:56:31 Do they really guarantee 31? 21:56:39 yes 21:56:45 that's the number I remember yes 21:56:47 IIRC not only ocaml, but also haskell have just 28 bits or so. 21:56:51 thirty-two with a tag bit for GC :) 21:56:59 twice11: no it's thirtysomething 21:57:04 Oh, 31 including sign. That's possible. 21:57:16 -!- zzo38 has quit (Remote host closed the connection). 21:57:29 does anyone use a sign bit ever 21:57:45 ghc of course doesn't put the tag bit in the same word, so uses 2^n size 21:58:06 The finite-precision integer type Int covers at least the range [ - 229, 229 - 1]. 21:58:08 --haskell ninety-eight 21:58:13 that's two to the power of twenty nine 21:58:17 oerjan: u lied 21:58:19 monqy: um two's complement is the most common representation 21:58:20 or wait 21:58:25 that's thirty bits, right? 21:58:26 elliott: darn 21:58:31 oh right 21:58:31 so that's 30 bits of two's complement 21:58:31 oerjan: yeah that's what I thought 21:58:31 so two tag bits, weir 21:58:31 d 21:59:09 monqy: and you can consider one bit as sign, although it isn't just negating what it would be without it of course 21:59:29 oh right 22:00:36 ROBOTS EAT PEOPLE 22:00:37 elliott: verbatim is pronounced ver-bay-tim, right? but can you say verb-a-tim instead or is that definitely wrong? 22:00:37 RUN 22:01:03 olsner: i dont even know with pronunciation and like wtf 22:01:04 `quote like wtf 22:01:08 131) alise: why internet is like wtf 22:01:09 olsner: I've never heard anyone pronounce it the latter way, I probably wouldn't recognize that pronunciation. 22:01:18 verb-a-tim is my mental pronunc 22:01:22 elliott: two tag bits is used for some mark and sweep algorithms, isn't it 22:01:23 but then im a socially isolated weirdo 22:01:36 Gregor, verbatim is how I'd pronounce it, and I'm fairly sure I've said it at some point. 22:01:43 Phantom__Hoover: congrats on conveying 0 information 22:01:48 "verbatim" 22:01:52 I wonder how the romans pronounced it 22:01:55 I pronounce "verbatim" "verbatim" too 22:02:19 *facepalm* 22:02:26 I pronounce "verbatim" "roman" 22:02:28 olsner, werbahtim, I assume. 22:02:37 we're 'bating 22:02:52 elliott: with that three color thing it requires 2 tag bits 22:02:55 mastur? 22:03:04 http://www.haskell.org/haskellwiki/Amb THIS CODE IS STILL AS COOL AS IT WAS WHEN I WROTE IT THREE YEARS AGO 22:03:16 POLYMORPHIC LIST MONAD TRANSFORMER WITH CUT AWW YEAH 22:05:43 olsner: the a in the second last syllable is long, so it carries the stress (although the romans iirc considered the length more important than the stress) 22:06:08 http://en.wiktionary.org/wiki/verbatim#Latin 22:06:48 (their poetry was based on long vs. short syllable meters) 22:08:59 so verbum means word, and -atim is an adverbial suffix, so basically it's "wordly"? 22:09:47 http://en.wiktionary.org/wiki/-atim#Latin 22:09:52 by the word, i guess 22:10:08 or wait 22:10:13 word by word 22:10:30 so there are more than this particular adverbial suffix and it adds additional meaning? 22:10:56 so it seems 22:11:19 I think latin suddenly became too hard to bother with 22:12:04 but I wonder, how do we know how the romans pronounced things? preserved mp3:s on millenia-old memory sticks? 22:12:04 heh my impression is that it has scores of little words and stuff 22:12:29 i don't think we actually know precisely 22:13:38 maybe there is an ancient pronunciation guide preserved, i don't know 22:14:56 "Pronunciation of Latin by the Romans in ancient times has been reconstructed from a variety of data, such as the evolution of features of the Romance languages, the representation of Latin words in other languages, such as Greek, the metrical patterns of Latin poetry, and more." 22:15:09 http://en.wikipedia.org/wiki/Latin#Phonology 22:15:37 hm i recall seeing metrical patterns mentioned as a guide 22:16:05 basically since latin script doesn't tell you which vowels are long and short, you need to use poetry to find out :P 22:16:54 olsner: did you know latin doesn't actually have one word for "yes"? you have to express it using one of several methods 22:17:37 oerjan: I did not know 22:18:07 * oerjan doesn't actually know enough latin to speak 22:18:21 -!- Lymia has quit (Ping timeout: 240 seconds). 22:18:55 -!- Lymia has joined. 22:19:37 i think "sic" (thus) is the one that evolved into what modern romance languages use 22:26:14 -!- Timwi has quit. 22:40:52 -!- ralc has quit (Quit: Leaving). 22:45:54 http://en.wikipedia.org/wiki/Anatoli_Bugorski 22:46:00 This raises so many questions. 22:46:36 Like, "how stupid do you have to be to stick your head into a proton beam even if the safety mechanisms fail?" 22:47:33 Excuse me he is awesome. 22:48:08 -!- elliott has quit (Quit: Leaving). 22:48:29 Oh god please don't tell me elliott has left to find the nearest proton beam. 22:48:35 "remained a poster boy for Soviet and Russian radiation medicine" ... basically he randomly survived due to his own awesomeness with no help from his doctors, and now he's a poster child for great medicine? 22:48:43 -!- elliott has joined. 22:48:54 olsner, it was Soviet Russia after all. 22:53:02 -!- augur has quit (Remote host closed the connection). 23:01:22 in soviet russia, radiation survives you! 23:04:19 -!- pikhq has joined. 23:05:25 -!- Patashu has joined. 23:06:08 -!- augur has joined. 23:07:33 -!- pikhq_ has quit (Ping timeout: 258 seconds). 23:17:29 -!- Wamanuz3 has quit (Read error: Connection reset by peer). 23:20:52 Wait "lascivious" is spelt that way. 23:21:03 I always thought it was "laviscious". 23:21:38 This is nearly as bad as the time I thought "Fibonacci" was spelt "Fibocanni". 23:21:41 -!- Wamanuz has joined. 23:22:57 a viscous lie indeed 23:23:27 * oerjan gets annoyed by people spelling it fibbonaci too 23:24:17 Ugh, I can't prove it, don't quite have the patience and statistics, but I suspect there is no difference in minimum functional gravity between altitudes 23:24:42 Minimum functional gravity? 23:24:42 That is, the least amount of gravity such that gravity doesn't stop pulling once it's started 23:24:55 OK your explanation makes even less sense. 23:25:09 Gravity... doesn't stop pulling... once it's started? 23:25:16 Gravity is *always* pulling. 23:25:19 That's how it works. 23:25:22 As far as I can tell, sometimes, gravity starts pulling, but then stop 23:25:23 stops 23:25:26 Sgeo: You seem to have a very, very confused idea of how gravity works. 23:25:32 Um... Sgeo. 23:25:32 This is in SL 23:25:37 Oh, never mind. 23:25:37 I thought this was obvious 23:25:43 You should really really really have clarified that. 23:26:14 Linden Labs seems to have a very confused idea of how gravity should be implemented. 23:26:17 :P 23:26:26 They just use Havok 23:26:59 That's new. 23:27:04 -!- CakeProphet has joined. 23:27:04 -!- CakeProphet has quit (Changing host). 23:27:04 -!- CakeProphet has joined. 23:27:14 Phantom__Hoover: um he's been speaking about it several times before 23:27:29 Sgeo, isn't it because they use FP for everything? 23:27:41 Phantom__Hoover, yes 23:27:42 oerjan, he's also developed an interest in /r/AskScience, so either was plausible. 23:27:44 I think 23:27:54 heh 23:35:11 -!- augur has quit (Remote host closed the connection). 23:38:06 Cold War protest stuff is quite interesting in hindsight. 23:38:49 > ("fi"++).concat<$>sequence[id,join((:).head)]`sequence`["bo","na","ci"] 23:38:50 Couldn't match expected type `[a]' against inferred type `a1 -> a1' 23:40:45 > ("fi"++).concat<$>sequence[id,join((:).head)]`mapM`["bo","na","ci"] 23:40:47 ["fibonaci","fibonacci","fibonnaci","fibonnacci","fibbonaci","fibbonacci","... 23:40:54 -!- zzo38 has joined. 23:41:03 -!- zzo38 has quit (Remote host closed the connection). 23:41:28 -!- pikhq_ has joined. 23:41:28 -!- pikhq has quit (Ping timeout: 246 seconds). 23:41:52 > let ncycle a b = map ((+a) . (`mod` (a+b)) [1..] in ncycle 10 15 23:41:53 : parse error on input `in' 23:42:04 > let ncycle a b = map ((+a) . (`mod` (a+b))) [1..] in ncycle 10 15 23:42:05 [11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,10... 23:42:22 er, no. 23:42:47 > let ncycle a b = map ((`mod` b).(+a)) [1..] in ncycle 10 15 23:42:48 [11,12,13,14,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,1,2,3,4,5,6,7,8,9,10,11,1... 23:42:58 ....bleh, nevermind. :P 23:43:13 * CakeProphet just woke up, and did not think that one through. 23:43:20 Sgeo: if they use FP, why is their scripting language an imperative hack :( 23:44:12 whoosh 23:44:39 elliott: yeah yeah i _guessed_ that's not what the acronym is for :P 23:45:01 > let ncycle a b = liftM2 (:) head (takeWhile.(/=).head <*> tail) $ map ((`mod` b).(+a)) [1..] in ncycle 10 15 23:45:04 [11,12,13,14,0,1,2,3,4,5,6,7,8,9,10] 23:45:30 fp can stand for too many things it makes me sad :( 23:45:46 My regular expression language is now called FP. 23:45:53 * oerjan wonders what CakeProphet and Deewiant are actually trying to make 23:46:04 I was trying to make a more efficient cycle over numeric ranges. 23:46:22 but using mod doesn't work for that... 23:46:34 or at least not the way I'm using it. 23:46:40 what's wrong with cycle [10..15] 23:46:51 I have a latent fear of ++ 23:47:00 it comes from programming in Python long ago. 23:47:45 CakeProphet, why, the O(n) execution? 23:47:49 yours can easily be _more_ inefficient spacewise, since it doesn't use a cyclic structure 23:48:14 Phantom__Hoover: yes. 23:48:24 unless it's a really long cycle which you _don't_ want to hold on to, i guess 23:48:39 it's just a strange reflex I have from programming in Python, where one of the rules of thumb is to never chain together large amounts of list concatenation. 23:48:56 basically, optimization in Python consists of relying on as many C built-ins as possible, or writing your own. 23:49:04 CakeProphet: note that cycle doesn't actually _do_ a large amount of ++, just a single one 23:49:08 @src cycle 23:49:08 cycle [] = undefined 23:49:08 cycle xs = xs' where xs' = xs ++ xs' 23:49:28 oerjan: it does as many ++'s as you traverse... 23:49:38 because that's a recursive definition there. 23:49:54 CakeProphet: well it does the length of xs if that's what you mean 23:51:24 once you reach the end of the cycle it uses sharing 23:51:52 oh, so there's some optimization afoot. 23:52:18 CakeProphet: That's why it's not defined as 'cycle xs = xs ++ cycle xs' 23:52:20 it's not really optimization, it's just the fact that xs' is referred to inside itself 23:52:45 hm... 23:52:58 -!- augur has joined. 23:53:15 well, space efficiency wasn't the concerning as much as execution. 23:53:26 CakeProphet: it is quite possible that ghc does _actual_ optimization on the result, though 23:53:48 if you use cycle in the right way, it might be inlined as an actual loop 23:54:12 Ah, I see. 23:54:19 !show acro 23:54:19 haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!) 23:54:24 any idea why this is so slow? 23:54:33 or is it just egobot taking a long time? 23:54:35 !acro 23:54:40 OJMWQZQOLE 23:54:44 night 23:54:51 * CakeProphet waves. 23:54:52 -!- elliott has quit (Quit: Leaving). 23:56:39 CakeProphet: well egobot recompiles it each time 23:56:52 ah okay, that's probably it. 23:57:02 I've actually notice slowness with all of the Haskell userinterps so that makes sense. 23:57:09 *noticed 23:57:34 what's more it tried to compile it as an expression first before as a module 23:57:37 *tries 23:58:50 hm... 2011-06-12: 00:00:04 !haskell let pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!) in do {len <- pick [2..10]; putStrLn =<< (Control.Monad.replicateM len $ pick ['A'..'Z'])} 00:00:06 IUWCWN 00:00:21 !delinterp acro 00:00:21 ​Interpreter acro deleted. 00:00:31 !addinterp acro haskell let pick a = System.Random.randomRIO (0, length a - 1) >>= return . (a !!) in do {len <- pick [2..10]; putStrLn =<< (Control.Monad.replicateM len $ pick ['A'..'Z'])} 00:00:31 ​Interpreter acro installed. 00:00:36 !acro 00:00:38 VSQXNSS 00:00:43 eww 00:01:04 now it works with the initial expression compile 00:02:06 -!- augur has quit (Remote host closed the connection). 00:02:47 actually i think expression = ghci command there 00:02:53 !haskell :t map 00:02:59 map :: (a -> b) -> [a] -> [b] 00:03:21 !acro 00:03:24 MEESWCHD 00:03:31 takes slightly less time now, yes. 00:04:53 -!- wareya_ has changed nick to wareya. 00:08:15 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 00:12:44 00:19:36 -!- augur has joined. 00:31:50 -!- augur has quit (Remote host closed the connection). 00:33:25 -!- wareya has quit (Read error: Connection reset by peer). 00:34:05 -!- wareya has joined. 00:38:57 -!- TOGoS has joined. 00:39:17 -!- TOGoS has left. 00:51:18 -!- wareya_ has joined. 00:52:09 -!- pikhq has joined. 00:52:15 -!- pikhq_ has quit (Ping timeout: 252 seconds). 00:53:20 -!- wareya has quit (Ping timeout: 240 seconds). 01:03:52 -!- Robdgreat has joined. 01:21:25 -!- FireFly has quit (Quit: swatted to death). 01:43:24 * pikhq is still amazed that there was a consumer 1080i recording media in 1998. 01:44:41 The client sent 01:44:42 Expect: 100-continue 01:44:42 but we only allow the 100-continue expectation. 01:46:13 Not to mention that the damned thing is competitive with Bluray. 01:47:02 (modulo h.264, which did not exist at the time) 02:14:28 -!- augur has joined. 02:23:32 pikhq: How can YOU help FYTHE? :P 02:24:06 Gregor: By performing MAGIC on it. 02:24:47 How about by performing magic WITH it? 02:25:08 Whatever happened to Plof, anyways? 02:25:42 It's still on the docket >_> 02:25:56 * tswett looks up how many of Gregor there are. 02:26:11 I'm starting to think that both Fythe and will be better if they're not implemented/designed by the same person :P 02:26:12 This web site claims that there is 1 or fewer of him. 02:26:49 Well, I could *probably* make Fythe better by figuring out why fastjit-tests segfaults. 02:26:58 Yeah! X-D 02:26:58 In GGGGC. 02:27:16 In collector.c, line 117. 02:27:55 REMOVE THAT LINE -> PROBLEM SOLVED 02:29:24 That would be a syntax error. 02:31:14 Well, that's new, at least. 02:31:28 If I compile without optimisation it segfaults somewhere *else*. 02:31:42 At 0x0000003c46c84bb1 in libc. 02:32:10 Somewhere in the evaluation of the macro GO() from fastjit/fastjit-tests.h 02:32:18 (line 29) 02:34:24 fastjit/fastjit-tests works just fine, though. I'm inclined to think something in your build system is fubared. :P 02:34:53 Oh, well, no wonder it does. That's... A stale file. 02:35:06 Very stale. 02:43:46 Aha ... for some reason I can't call GGGGC_collect from main() 02:43:50 BUT WHY 02:44:43 * pikhq does a bisect 02:44:47 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 02:46:50 It was in a GGGGC change. 02:47:24 OH FFFFFFFFUUUUUUUUUUUUUUUUUUUUUU 02:47:25 I know why 02:47:42 It was revision 393; "Function space: Now with free()!" 02:47:56 Gregor: A WILD EPIPHANY APPEARS 02:48:05 pikhq: Nope, that's not it, although that revision did create a segfault :P 02:48:22 My "epiphany" is that I made PUSH and POP unsuitable for pushing globals. 02:48:27 -!- CakeProphet has set topic: shit is wicked bananas i am telling you | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 02:49:13 BAAAH 02:53:38 what's this ggggc thing? 02:54:25 garbage garbage garbage garbage collection 02:55:35 Gregor's G-filled G-filled Garbage Collector. 02:55:57 :P 02:56:33 Gregor's Generalpurpose Generational Garbage Collector 02:56:47 I was thinking if I made it parallel, since I'm cheating with "purpose" any way, I could make it GGPGPGC 02:57:14 Or maybe add "portable" to make it GPGPGPGC 02:57:51 good name! 02:57:55 what's it for? 02:58:39 What's it for? It's a garbage collector ... 02:58:57 I'm using it in Fythe, but I didn't write it for Fythe, I wrote it to see if I could write a GC :P 02:59:04 (I did adapt it for Fythe) 02:59:13 did it turn out you could? or is that yet to be seen? 03:03:30 It's not as fast as Java's :( 03:03:41 (Not reliably anyway) 03:04:16 That it's not an utter embarassment next to Java's is itself an achievement. 03:05:34 -!- Lymia has quit (Ping timeout: 244 seconds). 03:06:42 NOT 03:06:43 GOOD 03:06:44 ENOOUGH 03:06:51 Gregor: better it! 03:07:08 On memory-intensive tests it easily outstrips Boehm and manual memory management, but I don't really know where else to go in terms of speed >_> 03:07:50 Does Boehm usually beat out manual memory management? 03:08:06 I guess a big part of the problem is to find a set of benchmarks that is a good balance between real-world similarity and giving your particular gc better results than the competition 03:08:30 olsner: So far, he's just been using Boehm's gcbench. 03:09:02 Which, though heavily artificial, is at least not designed in favor of his collector. 03:09:11 (though his collector might be designed in favor of it. :P) 03:11:44 hmm, you might also want to balance in tricky benchmarks that you use to make your collector better 03:14:19 pikhq: Boehm infrequently beats out manual memory management. 03:14:43 Also, I'm using both GCBench and binary_trees (which are similar but not identical) 03:15:06 pikhq: BTW thanks for leading me down the right road to fix fastjit-tests, it's working now ;P 03:16:13 Whoo. 03:16:48 Gregor: Still... Is there any real reason to actually use malloc and free anymore? 03:16:56 No? 03:17:40 Mmkay, good. So I don't have to feel bad about my attitude towards it being "GARBAGE COLLECT ALL THE THINGS". 03:18:06 Yes, from the instant main initializes the GC, everything should be in GC. 03:18:37 Nonono, I mean as in "never use malloc in new programs." 03:19:39 *Obviously*, if you're already using a garbage collector, it's probably a bad idea to also use malloc. What with that really screwing things up if you have things pointing between both heaps. 03:22:14 -!- ray24 has joined. 03:22:26 what would you do if a girl farted on your face? 03:22:29 -!- Lymia has joined. 03:22:50 Stick my arm up the girl's rear and out her mouth 03:22:56 Why, what would you do 03:23:02 lmao 03:23:11 I highly doubt you'd do that 03:23:18 Nah I totes do it 03:23:22 I collect girls impaled on my arms 03:23:25 I also collect arms 03:23:38 wtf lol 03:23:48 but "my arm" singular implies that you only have one 03:23:57 you can't be doing too well collecting them 03:24:07 No one wants to sell me their arms :( 03:24:21 what are ye all up in arms for 03:25:24 Patashu: that cannot be right, i hear arms dealing is all the rage 03:25:40 Ha ha 03:25:55 I tried to take some arms off of people but turns out they had a right to bear them :( 03:25:57 Got some prison time for that 03:26:43 * CakeProphet retrieves his arms from the safe. 03:27:09 * Robdgreat takes himself out of arms way 03:27:52 honestly, I didn't believe girls fart 03:28:41 They fart rainbows 03:29:01 well, some eat thunder and fart lightning 03:29:06 i'm pretty sure this is mandatory http://4.bp.blogspot.com/_XU9x8G7khv0/S7IIbe-yBJI/AAAAAAAAN9k/NDYV6HOP-Y0/s1600/second-amendment_bits.jpg 03:29:58 ...wtf are we even talking about right now. 03:30:08 aren't we supposed to be doing Mad Computer Science? 03:30:17 what would you do if a girl farted on your face? 03:32:22 I think a more important question 03:32:30 In what situation could I possibly be in that would cause this to happen. 03:34:55 -!- zzo38 has joined. 03:35:19 To quote Monty Python, "sit on my faaace, and tell me that you love me!" 03:42:38 Hrm. Fun fact. Debian doesn't seem to package the cord library in Boehm GC. 03:44:17 -!- azaq23 has quit (Read error: Operation timed out). 03:51:56 lmao!!! 03:52:12 What happened was this topic came up at starbucks 03:52:14 i was with my friends 03:52:38 I stated that girls don't fart 03:52:51 and she said did right at my face 03:53:18 And you decided to resolve this dilemma by asking for the appropriate reaction on a channel you've never been to? :P 03:53:41 I'm just a bit traumatized... 03:53:45 Sorrrrrrrrrrrrrrrrrrrrrrrrrry 03:55:30 I dont think I'll ever feel the same about girls 03:55:34 Thought they were pure 03:55:39 not farters 03:56:32 of my 18 years of life.. i've not once heard/seen/smell the fart of a girl 03:56:58 =| 03:57:48 I realized that the harmonic seventh chord is something else I have figured out by myself before I learned what it is called. It is basically linear: 4 5 6 7 8 03:58:49 do you have the actual instrument 03:58:53 that I can have 03:59:01 No. 03:59:06 Then hell with you BRO! 03:59:07 I do not have the actual instrument. 03:59:16 Hey man > = ) why dont you go get one 03:59:37 It is not an instrument I am describing here 03:59:50 Then what EXACTLY is being described here? 04:00:08 Pitches of notes 04:00:54 Dude that's like the most random thing ever 04:00:59 hahha! 04:03:13 yo zzo38 I bet I could outdo you in harmonics 04:03:23 OK 04:04:07 I'm gonna take your harmonic chords 04:04:10 and Im gonna turn it into my rap 04:04:47 ultimate revenge 04:04:50 dude. 04:11:49 ray24: what do those integers represent. 04:12:02 are they scale degrees? 04:12:14 They're a scale of harmonic integers bro 04:12:37 so they're harmonics, then. 04:12:40 ray24: be careful. zzo38 has been known to try to get us to compose music in strange scales 04:13:51 i'll do it if you pay me 04:14:28 -!- augur has quit (Remote host closed the connection). 04:16:46 The numbers 4 5 6 7 8 could be seen as scale degrees in a linear temperament I guess. They are not scale degrees in any normal way. If you have a frequency called "f" then you play the tones of frequencies (4f,5f,6f,7f,8f) is what I mean by that. 04:19:06 right 04:19:32 Program your computer to play those tones and then you can hear it by yourself too. 04:19:43 so 4 would just be the second octave over f, and 5 would be...... major third? 04:19:47 how do you become a millionaire 04:19:55 CakeProphet: Yes, a just major third. 04:20:26 is 6 a perfect fifth? no... 04:20:31 (As opposed to an equal-tempered major third, which is slightly different) 04:20:35 right. 04:20:41 CakeProphet: It is a just perfect fifth. 04:20:53 so this is all just intonation then. 04:20:57 Yes. 04:21:31 bleh, no way I'll be able to figure out the rest. :P Except 8, which is just the third octave. 04:21:44 Yes. 04:21:58 I think you could leave out the octaves and still have the same chord. 04:22:57 since octaves don't really contribute to the quality of a chord. 04:23:11 I got a trumpet but I cannot figure out how to apply anything you guys are saying! 04:23:24 I think most trumpets are equal temperament right? 04:23:56 The 7 is what is called the "harmonic seventh" (I only learned today that it is called that) 04:24:01 I think they have equilaterals 04:24:02 so probably can't play just tones. 04:24:20 zzo38: yes a harmonic seventh is the seventh on the harmonic minor. There are other sevenths as well. 04:24:25 *minor sevenths 04:24:48 don't ask me why. I guess were just like "hey this minor scale sucks let's make three of them!" 04:24:57 *they were 04:25:24 so harmonic minor = major seventh 04:26:00 because the harmonic minor scale is the melodic minor scale with a raised seventh. To add more tension to the seventh because it's a semitone away from octave, whereas a minor seventh is a whole tone away from octave. 04:26:31 You're a musical buff 04:26:35 * CakeProphet just schooled ray24 in some music theory. 04:26:36 that's crazy man! 04:26:48 are you like beethoven jr 04:26:52 ....no 04:26:57 I actually cannot play any instrument well. 04:27:01 Most instruments are made for equal temperament. This has various advantages, although just intonation is more "pure" and is far better in case of music written to use just intonation (instead of equal temperament). 04:27:04 I just spend a lot of time on the internet learning things. 04:27:16 have you ever touched an instrument 04:27:30 CakeProphet: I know all those things about minor scales, but the "harmonic seventh" I refer to here has nothing to do with that as far as I can tell. 04:27:34 yes, I used to play trombone in middle school, and I learned guitar in high school. Oh, and I took piano lessons as a wee lad. 04:27:46 Whoaaa 04:27:48 zzo38: oh really? hmmm 04:27:58 can you tap dance on top of a piano 04:28:00 ray24: but I am a terrible musician. :P 04:28:01 sorry really random 04:28:03 ...no 04:28:23 zzo38: dunno, I could ask one of my friends. He's a music major. 04:28:41 so cakeprophet is like a self help book 04:28:56 No, I just like learning things. 04:29:18 bet you haven't learned anything from me yet 04:29:32 I do plan on applying my music theory knowledge when I get around to making a signal processing library in Haskell. 04:29:41 ray24: not yet, but you could always change that. 04:29:48 whoa, haskell ... that's top notch stuff 04:29:52 ....... 04:30:01 What! 04:30:09 That is, just intonation is a rational temperament. Equal temperament is irrational temperament. Equal temperament has advantage you can transpose into any key and play any chord; all chord are equally bad; you can make music with a lot of chord and modulations and stuff. Just intonation has advantage that good chords are exactly correct and you have proper ratios to everything. 04:30:25 Therefore, I recommend that whenever you play music, try, if possible, to play in the kind of temperament that it was written for. 04:30:36 Is it possible to reduce 50% of those words in that paragraph and still hold it's intended meaning?? 04:30:39 > fix("haskell "++) 04:30:40 "haskell haskell haskell haskell haskell haskell haskell haskell haskell ha... 04:30:51 ray24: Possibly. Maybe. 04:31:09 my eyes man!! 04:31:23 ray24: can you program? 04:31:56 what if I cannot 04:32:04 just curious. There is no consequence. 04:32:37 it _might_ make it a little easier to follow some of the conversations here :P 04:32:51 04:33:00 Program isn't a challenge. the only challenge is my motivation! 04:33:08 though it would make sense, since you're on a channel about esoteric programming languages (and mostly about random off-topic things, but generally centered on computer science or mathematical topics) 04:33:18 yo.. 04:33:26 I came here I thought esoteric was hip hop 04:33:30 honestly. 04:33:36 ray24: what kind of hip hop do you like. 04:33:38 ...that's a new one :P 04:33:54 esoteric is a pretty cool hiphop 04:33:57 artist 04:34:01 I'm a big fan of The Roots. Black Thought is a beast. 04:34:09 You should get into esoteric 04:34:22 If you read the TOPIC message, then you would have realized that the TOPIC message is often nonsense and doesn't really help much (unless you want to see the log files). 04:34:42 Yeah I got the topic thing on auto-hide 04:34:47 since it's really distracting to have it on 04:35:07 you know, I'm focused typing here and there's something there... can't have it all at once 04:35:49 ray24: http://mitpress.mit.edu/sicp/full-text/book/book.html 04:35:54 This book will allow you to become a wizard. 04:36:12 * pikhq notes that the read and write system calls are a royal pain to use. 04:36:25 Efficient as hell in certain cases, but a royal PITA. 04:36:29 it only requires that you read it with an inquiring mind and a stalwart soul. 04:36:31 will becoming a wizard make me a mark zuckerberg? 04:36:40 No, it will be much stranger. 04:36:48 OK. That is understood. (I use a different IRC client, which displays the TOPIC message when joining the channel but it scrolls off of the screen as soon as there is more text. This is in agreement with the RFC.) 04:36:49 http://sprunge.us/WJcG You see? Royal PITA. 04:36:56 (just copies stdin to stdout) 04:37:12 This is the actual book from mitpress? 04:37:40 ray24: yes. 04:37:57 if i read that book, will I develop stronger comprehension? 04:38:04 uh, possibly. 04:38:10 if you read it and understand it, then yes. 04:38:19 what if I comprehend before reading it 04:38:23 though I guess it would help to have some background beforehand. 04:38:24 serious q 04:38:38 ray24: then you fucking psychic and I am afraid of you. 04:38:41 *you are 04:38:44 I really am a psychic 04:39:22 ray24: uh, okay, then explain how a Lisp interpreter works. 04:39:29 ^_^ 04:39:36 FOILED. 04:39:43 I need some exposure first 04:39:49 I know because I am psychic. 04:39:58 yeah you'e a psychic cuz 04:40:05 nevermind 04:40:15 pikhq: what on earth are you doing. 04:41:06 lol 04:41:10 yo cake, r u high 04:41:17 CakeProphet: Fucking around at random. 04:41:31 Also, lemme re-paste that. 04:41:31 http://sprunge.us/KbVE 04:41:36 Now it strictly conforms! 04:43:22 I've decided 04:43:23 to read that book 04:43:28 Good luck with that. 04:43:34 if i read that book and understood 04:43:41 what should i be able to accomplsih? 04:44:02 I think this is the first time I've seen strictly conforming POSIX code, for that matter. 04:44:27 you will become an initiate wizard. And you will be able to write code in slightly antiquated languages, which means you can tell a computer to do anything that a computer is capable of doing. 04:44:38 pretty vague, I guess. 04:45:46 but then you could start developing your mad hacker cred further, or whatever it is that you want to do with your newfound powers. 04:46:16 are you serious about this 04:46:21 will i develop these powers 04:46:30 bcuz I'm really gonna read it if so. 04:46:32 Has anyone else here ever written a strictly conforming POSIX program? 04:47:55 ANDDDDDD that would be no. 04:48:44 ray24: CakeProphet may be slightly non-literal about the wizard bit 04:48:58 yeah man i dont want to have false hopes and stuff 04:49:12 i wanna do it so I could hack computers some day 04:49:21 for the greater good of society 04:49:35 pikhq: I honestly don't know anything about POSIX standards 04:50:04 so I doubt it 04:50:05 I think IM gonna go jump cows right now... 04:50:09 wait.. im gonna read this book 04:54:08 http://www.esoterichiphop.com/ 04:59:12 I cannot believe how much filler words they have in that book 05:00:14 maybe I just got a high IQ or something iono! 05:02:17 it depends on your definition of filler words. Most words are pretty essential to the meaning of a sentence. 05:03:08 they use a lot of general words. ie " framework, structure, organization etc" 05:03:09 -!- augur has joined. 05:03:43 repetition won't stimulate much in my mind to be honest 05:03:55 ray24: well, since it's the introduction if they used anything less general you would be overwhelmed by specific details. 05:05:25 I usually just go straight into the problems 05:07:27 -!- pikhq_ has joined. 05:07:28 -!- pikhq has quit (Ping timeout: 252 seconds). 05:10:05 So a lisp represents inputs that you feed it 05:10:22 maybe a lisp could also interpret my algorithm 05:10:27 interesting 05:11:01 I wasn't a programmer 1 hour ago.. but I might be a programmer in the next 24 hours 05:13:54 !help languages 05:13:55 ​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. 05:14:11 no lisp that i can see 05:17:55 I'll become a good programmer within a month 05:17:57 no problem, 05:18:02 Not even a challenge 05:18:20 Seems pretty easy so far 05:19:45 Brb I'm gonna hop the hence behind my yard and jump the cows 05:19:49 * oerjan tries to resist linking to a certain peter norvig page 05:19:50 hehe they're backk! 05:24:20 the cow jumped over the moon 05:35:33 I should really stop doing pointless shit. 05:36:55 Such as "golfing executable size for (nearly POSIX-compliant) cat whilst only relying on POSIX features." 05:44:19 What are you talking about 05:44:23 that's an excellent idea. 05:46:19 the best way to do that is to write it in assembly of course. 05:46:35 but won't the executable be different sizes on different architectures? 05:47:53 I'm demanding that it be a strictly conformant POSIX C program. 05:48:36 and I guess you're going by the executable size on your local machine? 05:49:31 For an i686 machine using musl. 05:49:48 ah okay. 05:49:52 now I have to ask.. 05:49:53 why? 05:49:58 I have no idea. 05:50:05 for sport? it seems oddly specific. 05:50:10 to be merely recreational. 05:50:36 are you just really really bored? 05:50:44 suppppppppp! 05:50:59 yo cake 05:51:00 I am easily amused by oddly specific tasks. 05:51:02 r u a hacker 05:51:31 http://sprunge.us/ZHdQ Nasty, but strictly conformant. 05:52:28 And it is nearly a perfect POSIX cat (it does not *quite* comply to the requirements for argument handling) 05:53:34 And yes, read and write are *really* nasty. 05:53:43 But that's the cost you pay for not using stdio. 05:54:01 ...it would be amusing if compliant POSIX programs cannot be written in compliant POSIX C 05:54:14 What is nasty with read and write? 05:54:36 zzo38: Note that, to do it *right*, you have to retry if you get EINTR. 05:55:15 How do you to modify operands? 05:58:47 So far, I'm down to 1680 bytes. 06:01:02 Incidentally, this is *obnoxiously* slow. 06:01:42 Of course, having to enter the kernel twice per character will do that. 06:04:13 What is pikhq_ talking about 06:04:22 ray24: A lot of craziness. 06:04:40 ur craziness elicits no response from your intended audience 06:04:57 Because some days, I like to spend an hour doing something that is literally pointless. 06:05:06 Why!? 06:05:13 Entertainment. 06:05:29 how many forms of entertainment do you have? 06:05:47 *Hooray*, taking 5 minutes to cat 578 megabytes! 06:05:53 ray24: Rather a lot, actually. 06:06:02 are you a hacker? 06:06:12 Depends on the sense of "hacker" that you use. 06:06:26 break codes.. conduct illegal stuff 06:06:36 adding virus to mp3 files 06:06:41 corrupting sys files 06:06:49 *GASP* 06:06:50 No, but not for lack of skills. 06:06:59 Dude, you can put /viruses/ in mp3 files? 06:07:03 how do you do that shit. 06:07:11 i think it's possible 06:07:17 Is there a vaccine for it? 06:07:22 nope : 06:07:23 :P 06:07:24 CakeProphet: :D 06:07:30 mpcillin 06:07:53 tee hee hee. :3 06:10:03 you know what would be a great invention that i thought of 06:10:27 it might be possible through some insane stack buffer overflow exploit on certain media players... but that sounds highly improbable due to the nature of lossy compression. 06:10:48 CakeProphet: It'd most likely be a buffer exploit in the parser. 06:11:09 That sort of thing is *far* more common than you'd ever like to think. 06:11:33 Even happens in believed to be *good* software. 06:11:41 I will continue thinking that it is uncommon for my own mental safety. 06:11:43 (see that libpng buffer overflow a few years back) 06:11:58 right, but has it been known to happen with mp3s? 06:12:05 I dunno. 06:12:28 I guess it's similar in principle really. The fact that you can embed code into any kind of data format is pretty scary in itself. 06:12:44 You must remember, though, that C is commonly used, and with C you get a very, very high risk of buffer overflows. 06:12:58 lame. :P 06:13:22 (....not the mp3 d?en?coder) 06:13:34 er, excuse me (de|en) 06:13:45 there is no such thing as an ecoder. :P 06:14:08 Then invent one. 06:14:54 An ecoder takes an input signal and turns it into kittens. The ambiguity of this definition is intentional and allows for a wide variety of behaviors. 06:15:00 There, I invented the term. 06:15:19 how long did it took CakeProphet to finish that book? 06:15:27 Dude I don't even remember. 06:15:31 coding the den 06:15:48 ah yes, I forgot about dencoders. 06:16:16 Clearly, it codeth dens. 06:16:30 yes, it codes an input signal as a comfortable living space. 06:17:02 I guess ecoder could be a coder that is environmentally friendly. 06:18:30 pikhq_: so what is the best way to avoid buffer overflows in C exactly? 06:21:54 hmmm, apparently the Twilight hack works by giving lengthy name for Epona and causing a stack buffer overflow. 06:22:02 +a 06:27:22 Buffy the vampire 06:28:50 CakeProphet: Don't use C. 06:30:05 maybe trusting trust was a digression, maybe the _real_ unremovable vulnerability was C itself... 06:32:04 shit just got more real than kraft mayo. 06:34:21 * pikhq_ is probably far too good at making things pointlessly small. 06:35:09 Hmm. cat is larger than shish. 06:35:33 Admittedly, shish has the advantage of assuming Linux x86. 06:35:38 And no libc. 06:39:57 döner 06:40:35 ... And possesses the minimal functionality necessary to count as a "shell". 06:41:02 + a kebab 06:41:24 Nope. No kebabs. Only cd and environment handling. 06:42:05 And command execution. 06:42:25 those commands better behave, or else 06:42:42 And that's comprehensive. 06:42:59 You may now be frightened. 06:43:12 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 06:43:26 Thank you for compliance. 06:43:37 yw 06:56:28 It is possible to still write programs in C that do not have buffer overflows, if you are careful. 06:56:49 zzo38: Yes, it's possible if you have a divine level of care. 06:57:14 And that leaves out all known programmers. 06:57:19 In the case of Twilight hack, it doesn't matter though because you cannot overflow the length of the name in the normal game. 06:57:42 And other programs are not supposed to be used to create files for this game 06:58:22 The whole *deal* with buffer overflows is that you can't make assumptions that the input will be well-formed. 06:58:29 If you could, gets would be a reasonable function. 06:58:32 pikhq_: When security is important, I do it carefully. 06:58:33 (hint: it's not) 06:59:25 I know gets is not a very good function but they did correct that and other ones by making new functions that do not have this problems. 06:59:33 Yup. 07:00:14 Such as: fgets, snprintf, etc. 07:08:24 TeX is very secure (as long as you use the One True TeX; not e-TeX, pdfTeX, LuaTeX, XeTeX, etc) if you can simply disable the commands you do not want in the format file by undefining those control sequences (and ensuring you have no other control sequences or active characters with the meanings that they had). I wrote a program accessing TeX with HTTP forms and if you try to "improve" it you have a chance of introducing security holes! 07:10:42 Is it possible to determine at compile time where overflows could potentially happen 07:10:55 I know there's a C extension, Cyclone or something, that does it 07:11:18 Patashu: Halting problem. 07:11:28 O_O 07:11:37 Yes I have read about Cyclone. 07:11:38 * Patashu goes flying into the horizon 07:11:39 Best you can do is heuristics. 07:11:49 Or runtime checks. 07:15:30 -!- oerjan has quit (Quit: Good night). 07:17:12 -!- Albibeno has joined. 07:21:29 -!- Albibeno has quit (Ping timeout: 250 seconds). 07:24:10 -!- Albibeno has joined. 07:26:30 , , ? 07:26:45 QVOD 07:27:48 -!- Albibeno has left. 07:28:58 -!- esowiki has joined. 07:29:20 -!- esowiki has joined. 07:29:41 -!- esowiki has joined. 07:30:02 -!- esowiki has joined. 07:30:41 -!- esowiki has joined. 07:31:18 -!- esowiki has joined. 07:32:14 -!- esowiki has joined. 07:32:52 -!- esowiki has joined. 07:33:40 -!- esowiki has joined. 07:34:27 -!- esowiki has joined. 07:35:11 -!- esowiki has joined. 07:35:12 -!- glogbot has joined. 07:42:46 -!- Ycros has joined. 07:42:47 -!- Lymia has joined. 07:43:24 -!- oklofok has joined. 07:43:24 -!- pingveno has joined. 07:43:24 -!- ttm_ has joined. 07:43:24 -!- HackEgo has joined. 07:43:24 -!- Zwaarddijk has joined. 07:43:33 -!- myndzi has joined. 07:43:36 -!- Slereah_ has joined. 07:43:36 -!- Albibeno has joined. 07:43:36 -!- pikhq_ has joined. 07:43:36 -!- augur has joined. 07:43:36 -!- zzo38 has joined. 07:43:36 -!- Robdgreat has joined. 07:43:36 -!- wareya_ has joined. 07:43:36 -!- CakeProphet has joined. 07:43:36 -!- Wamanuz has joined. 07:43:36 -!- variable has joined. 07:43:36 -!- aloril has joined. 07:43:36 -!- monqy has joined. 07:43:36 -!- lifthrasiir has joined. 07:43:36 -!- coppro has joined. 07:43:36 -!- olsner has joined. 07:43:36 -!- SimonRC has joined. 07:43:36 -!- EgoBot has joined. 07:43:36 -!- jcp has joined. 07:43:36 -!- comex has joined. 07:43:36 -!- mtve has joined. 07:43:36 -!- rodgort has joined. 07:43:36 -!- jix has joined. 07:43:36 -!- yorick has joined. 07:43:36 -!- iamcal has joined. 07:43:36 -!- Gregor has joined. 07:43:36 -!- micahjohnston has joined. 07:43:36 -!- tswett has joined. 07:43:46 -!- zzo38 has quit (Quit: zzo38). 07:43:50 -!- twice11_ has joined. 07:43:50 -!- Deewiant has joined. 07:43:56 -!- comex has quit (Excess Flood). 07:44:02 -!- comex_ has joined. 07:44:02 -!- pikhq has joined. 07:44:06 -!- quintopia has joined. 07:44:06 -!- clog has joined. 07:44:06 -!- sebbu has joined. 07:44:06 -!- yiyus has joined. 07:44:06 -!- ineiros has joined. 07:44:16 -!- fizzie has quit (*.net *.split). 07:44:17 I'm afraid that all we're getting is mojibake, Albibeno. 07:44:26 -!- ray24 has joined. 07:44:26 -!- lambdabot has joined. 07:44:31 -!- twice11_ has quit (*.net *.split). 07:44:32 -!- Deewiant has quit (*.net *.split). 07:44:36 -!- mycroftiv has joined. 07:44:36 -!- shachaf has joined. 07:44:43 -!- oklofok has quit (*.net *.split). 07:44:43 -!- pingveno has quit (*.net *.split). 07:44:43 -!- ttm_ has quit (*.net *.split). 07:44:43 -!- HackEgo has quit (*.net *.split). 07:44:43 -!- Zwaarddijk has quit (*.net *.split). 07:44:45 -!- pikhq has quit (*.net *.split). 07:44:45 -!- Ycros has quit (*.net *.split). 07:45:09 -!- shachaf has quit (Max SendQ exceeded). 07:45:19 -!- pikhq has joined. 07:45:31 -!- shachaf has joined. 07:45:37 Would the server please start coöperating? 07:46:48 -!- pikhq_ has quit (Ping timeout: 240 seconds). 07:48:23 smoke ganja? 07:49:06 -!- fizzie has joined. 07:49:46 -!- oklofok has joined. 07:49:46 -!- pingveno has joined. 07:49:46 -!- ttm_ has joined. 07:49:46 -!- HackEgo has joined. 07:49:46 -!- Zwaarddijk has joined. 07:49:59 -!- twice11_ has joined. 07:49:59 -!- Deewiant has joined. 07:50:12 -!- pingveno has quit (Max SendQ exceeded). 07:50:27 -!- Ycros has joined. 07:50:29 -!- Albibeno has left. 07:51:10 -!- pingveno has joined. 07:53:13 -!- twice11_ has changed nick to twice11. 08:01:30 !perl print 'a'<=>'b' 08:01:32 0 08:01:39 ...what? 08:01:44 !perl print ('a'<=>'b') 08:01:44 0 08:01:47 !perl print ('a'<=>'c') 08:01:47 0 08:01:51 That is entirely wrong. 08:02:00 !perl print ('a' cmp 'c') 08:02:00 ​-1 08:02:11 oh okay. <=> doesn't do what I think it does apparently. 08:03:12 !perl print sort 'a'..'c' 08:03:12 abc 08:12:55 ah, cmp is for strings, <=> is numeric. 08:13:24 !perl print '99 bottles of beer' <=> '20 bottles of beer' 08:13:24 1 08:14:59 -!- monqy has quit (Quit: hello). 08:15:03 !perl print '99 bottles of light beer' == '99 bottles of lager' 08:15:04 1 08:15:10 Obviously Perl is wrong in this case. 08:26:12 -!- Patashu has quit (Ping timeout: 252 seconds). 08:46:06 -!- Kustas has joined. 08:49:49 Whoa CakeProphet is still here 08:50:23 yes.. 08:53:00 !print '9999999 tons of gold' '10000000 grams of copper' 08:53:10 !perl '9999999 tons of gold' < '10000000 grams of copper' 08:53:20 !perl print '9999999 tons of gold' < '10000000 grams of copper' 08:53:21 1 09:12:43 -!- ray24 has quit (Quit: Leaving). 09:14:11 -!- Phantom_Hoover has joined. 09:15:10 Lymia: yeah, obviously it's only interested in the number part. 09:15:17 hmmm... 09:15:45 !print '99sdjwer99' > '99' 09:15:50 !perl print '99sdjwer99' > '99' 09:16:25 !perl print '99 sdjwer 99' > '99' 09:16:29 !perl print '99 sdjwer' > '99' 09:16:32 ...? 09:16:47 !perl print '99 sdjwer 99' == '99' 09:16:48 1 09:16:51 interesting 09:16:55 !perl print '99 sdjwer 98' == '99' 09:16:55 1 09:17:01 !perl print '98 sdjwer 99' == '99' 09:17:18 so it just finds the first number-like entity and uses that. 09:17:31 !perl print '90.1 sdjwer 99' > '99' 09:17:37 !perl print '90.1 sdjwer' > '99' 09:17:45 and not decimal numbers apparently. 09:18:03 so basically don't ever rely on that feature. 09:18:15 !perl print '99.1 sdjwer' > '99' 09:18:16 1 09:18:18 er wait, lol typo 09:18:35 !perl print '$99' == '$99' 09:18:35 1 09:18:44 okay, I think that's enough of that. 09:19:22 !perl print "asdfasdf" == "asdfasdf" 09:19:23 1 09:19:25 !perl print "asdfasdf" == "asdfasff" 09:19:26 1 09:19:29 ... 09:19:30 :c 09:20:18 yeah I think in the case where there is no number they're both zero 09:20:24 or the string is zero rather. 09:20:50 !perl print '99 problem' + 'none of them are bitches' 09:20:50 99 09:21:36 Non-numeric srings are indeed 0. 09:21:38 !perl print 'foo'+0 09:21:39 0 09:21:46 CakeProphet: There is documentation available about strings, numbers and implicit conversions in perl. 09:21:49 Lymia: but yeah, for stringy operators you want eq, ne, lt, gt, and cmp 09:21:54 Anyway, you're supposed to use the eq and... 09:21:57 Right. 09:22:03 twice11: of course there is. :P 09:22:13 You know that one? 09:22:21 !perl print "0, but true" + 0 09:22:21 0 09:22:26 what is "that one"? 09:22:34 "perl print "TRUE!" if "0, but true" 09:22:42 !perl print "TRUE!" if "0, but true" 09:22:43 TRUE! 09:23:02 so this is an expression which is numerically zero, but logically true. 09:23:13 So... 09:23:15 because every non-empty string is true... 09:23:24 Is this golf usable material? 09:23:35 twice11: yes, I understand how Perl works. Unless you're speaking to someone else, then I guess it's fine to continue. 09:24:10 Lymia: it could be in some very specific situation. But I doubt it. 09:24:11 CakeProhet: Sorry, it looked like you were experimenting with the comparison operators... 09:24:37 oh, I was. I was just experimenting with how the numeric context worked. Otherwise I had it down. No worries. 09:24:55 !perl print '$99' == '$199' 09:24:56 1 09:25:07 Lymia: Using implicit conversion from string to number ignoring everything after the first valid number occurs sometimes in golf. 09:25:26 !perl print '$9242'+0 09:25:27 0 09:25:58 Lymia: shame, it really should work with currency symbols. 09:26:30 !perl print ' 9242'+0 09:26:30 9242 09:26:33 ..... 09:26:36 !perl print 'wat 9242'+0 09:26:37 0 09:26:41 granted, any kind of software that handles money should not be relying on Perl's numeric conversion mechanism. 09:26:47 er....? 09:26:47 !perl print '$1' < '€1' # how should this be decided... 09:27:08 twice11, 1 == 1 therefore false 09:27:13 twice11: well, I didn't mean it should try to /compare/ currencies precisely. 09:27:18 !perl print ' 9242 25334 ' 09:27:19 9242 25334 09:27:22 !perl print ' 9242 25334 '+0 09:27:22 9242 09:27:41 Lymia: perl is just doing atof() on that string. 09:28:00 Ah. 09:28:13 It ignores whitespaces in the beginning, parses a floating point number, and aborts at the first invalid character. 09:30:06 !perl print 1 . 4 09:30:06 14 09:30:26 !perl print ' 9242.25334 '+0 09:30:27 9242.25334 09:30:32 !perl print 1.0 eq 1 09:30:32 1 09:30:38 interesting. 09:30:45 !perl print 1.0+1.0+1.0+1.0+1.0 eq 5 09:30:45 1 09:31:09 I suppose it cuts off the .0 part 09:31:25 when it converts the literal into a number or whatever. 09:31:34 so it's just 1 when it converts to a string. 09:31:48 !perl print 1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1 eq 11 09:31:49 1 09:31:49 or... some equivalent of that effect. 09:31:54 !perl print 1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1+1.1 == 11 09:32:01 ? 09:32:23 !perl print 1.0 == 1 09:32:23 1 09:32:30 !perl print 1.0 . "" 09:32:30 1 09:32:43 !perl print 1.1 . 1.1 09:32:43 1.11.1 09:33:10 !perl print 1.1.1.1 #oh no, ambiguity! 09:33:10 ​.... 09:33:26 an appropriate response.. 09:33:56 !perl // // // 09:34:35 In fact, "perl print 1.1.1.1" prints four charcters of "\x01". 09:34:58 Like the binary representation of an IPv4 address... 09:35:07 What on earth.. 09:35:26 !perl print 255.255.255.255 09:35:26 Works even with a different number of components. 09:35:26 ​ 09:35:41 I didn't know about this craziness... 09:35:58 !perl print 0x48.0x45.0x4C.0x4C.0x4F 09:35:58 7269767679 09:36:11 huh? not with hex numbers... 09:36:34 !perl print 72.64.76.76.79 09:36:35 H@LLO 09:36:41 !perl print 72.69.76.76.79 09:36:42 HELLO 09:36:45 !perl print 32.32.32.32.32.32.32.32.64 09:36:46 ​@ 09:36:57 seems EgoBot kills spaces. 09:37:01 yeah. 09:37:09 Locally, I get them. 09:37:44 !perl print 32 . 32 . 32 . 32 . 32 . 32 . 32 . 32 . 64 09:37:44 323232323232323264 09:37:51 where is that . notation documented? 09:37:59 Just checking. 09:38:09 !perl print 32.32 09:38:09 32.32 09:38:19 With the spaces inbetween, the dot is just the concatenation operator... 09:38:24 right 09:38:38 I was referring to the other form. 09:40:51 CakeProphet: man perldata, search for "Version Strings" 09:41:01 ooooh 09:41:10 Note "If there are two or more dots in the literal, the leading "v" may be omitted" 09:41:45 !perl print v65.72 09:41:45 AH 09:44:28 !perl print (printf "%vd" v65.72) 09:44:29 Bareword found where operator expected at /tmp/input.23532 line 1, near ""%vd" v65" 09:44:41 !perl print (printf "%vd",v65.72) 09:44:41 65.721 09:44:59 !perl print v64 09:45:00 ​@ 09:45:01 !perl print keys %{{v64 => "hah"}} 09:45:02 v64 09:45:21 !perl print keys %{{v64.64 => "hah"}} 09:45:22 ​@@ 09:45:34 Very consistoric. 09:46:14 !perl print stuff => 3 09:46:14 stuff3 09:46:55 !perl printf "%vd" v65.72 09:46:56 Bareword found where operator expected at /tmp/input.23924 line 1, near ""%vd" v65" 09:46:59 !perl printf "%vd",v65.72 09:47:00 65.72 09:47:20 !perl print (sprintf "%vd",v65.72) 09:47:20 65.72 09:47:37 OK, that's my fault. I mixed up printf and sprintf, causing the extra 1. 09:48:07 !perl print v64 => "stuff"; 09:48:08 v64stuff 09:48:16 !perl print v64.64 => "stuff"; 09:48:17 ​@@stuff 09:48:23 !perl print v64.64, "stuff"; 09:48:24 ​@@stuff 09:48:28 !perl print v64, "stuff"; 09:48:29 No comma allowed after filehandle at /tmp/input.24281 line 1. 09:48:45 !perl print scalar number => 3 09:48:46 number3 09:48:51 !perl print (scalar number => 3) 09:48:52 number3 09:49:02 ah I see 09:49:07 !perl print scalar (number => 3) 09:49:08 3 09:49:20 -!- Lymia has quit (Ping timeout: 268 seconds). 09:52:20 -!- Sgeo has joined. 09:52:48 !perl print substr dastardly => 2, 4 09:52:48 star 10:00:08 -!- Kustas has quit (Quit: all work and no play). 10:00:42 Uh, Chrome? I'd like to see my saved passwords now, kthx 10:05:28 -!- sebbu2 has joined. 10:05:29 -!- sebbu2 has quit (Changing host). 10:05:29 -!- sebbu2 has joined. 10:07:01 Sgeo: Wrench->Preferences->Personal stuff->Manage Saved Passwords...->Click a line and "show" 10:07:35 There is no "show" 10:08:07 -!- sebbu has quit (Ping timeout: 240 seconds). 10:08:08 -!- sebbu2 has changed nick to sebbu. 10:08:11 Oh 10:08:15 If I select one entry in the list, a "Show" button appears after the big dots. 10:08:23 Found it, need to hover over the right side of the password box 10:28:36 -!- Patashu has joined. 11:11:21 -!- Lymia has joined. 11:11:21 -!- Lymia has quit (Changing host). 11:11:21 -!- Lymia has joined. 11:12:49 .... 11:12:55 Scrollback tells me this: wtf perl 11:13:18 you needed scrollback to know that? 11:20:23 -!- Guest64102 has joined. 11:21:03 Hey guys, wot u chatting about tosay? 11:21:57 -!- Guest64102 has left. 11:31:30 nm u? :3 11:35:27 -!- ralc has joined. 11:36:37 -!- Ycros has quit. 11:37:13 -!- Ycros has joined. 11:46:20 http://www.reddit.com/r/programming/comments/hxg39/ny_times_schools_revamping_their_computer_science/c1z6q17 11:46:20 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 11:46:30 /r/programming in a nutshell. 12:16:26 -!- FireFly has joined. 12:17:45 http://en.wikipedia.org/wiki/Category:Baryons 12:17:48 So many baryons. 12:19:30 Is there a 'list of categories' 12:19:32 or category:list 12:19:34 *lists 12:19:48 http://en.wikipedia.org/wiki/Category:Categories 12:19:53 Yo dawg 12:20:00 Not to be confused with Category:Category-theoretic categories. 12:20:06 I put a category in your category of categories 12:20:21 HIDDEN CATEGORIES 12:20:26 http://en.wikipedia.org/wiki/Category:Contents I got a category about contents, so there's content in your category 12:20:26 Perhaps they are like the DEEP WEB 12:21:33 Indeed, they are: they are incredibly boring. 12:21:46 "bottomonium" 12:21:54 Possibly the best name for a particle. 12:22:21 Bottommonium deserves to be the name for something made out of bottom quarks 12:22:25 my butt is made up of bottomonium 12:22:28 * Patashu shows u it 12:22:58 Sgeo, as indeed it is, being a bound state of a bottom quark and a bottom antiquark. 12:23:23 It appears to be known by boring people as the upsilon meson. 12:23:32 NO 12:23:33 WAIT 12:23:34 http://en.wikipedia.org/wiki/Oops-Leon 12:23:45 This is the best name for a nonexistent particle. 12:25:30 Why don't they annihilate? 12:29:24 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 12:31:52 -!- Phantom_Hoover has joined. 12:32:30 12:25:30: Why don't they annihilate? 12:32:34 'cos science. 12:32:58 Particle-antiparticle interactions aren't as simple as "they meet and go poof". 12:33:56 what do they do then? meet and have a cup of tea? 12:34:39 They go poof in a multitude of different ways, or sometimes go poof after flying around for a bit. 12:34:41 It takes several nanoseconds to convince an antiparticle he doesn't exist 12:41:46 Sgeo, it seems to be largely due to QCD being crazy weird. 13:03:37 -!- Sorcy has joined. 13:05:41 -!- comex has joined. 13:05:48 -!- foocraft has joined. 13:06:01 -!- Ycros has quit (Disconnected by services). 13:06:04 -!- Sorcy has changed nick to Ycros. 13:06:25 Who is this Ycros fellow. He seems like a frangible chap. 13:06:37 lies 13:08:09 * Phantom_Hoover swatpans Ycros --==\#/ 13:08:17 Indeed, he is not. 13:10:15 -!- comex_ has quit (*.net *.split). 13:15:57 " 13:15:57 Another, fundamentally incorrect, but nonetheless useful, way 13:15:57 to distinguish the twins is to imagine that despite their genetic dif- 13:15:57 ferences, they are both avid coee drinkers. If they each spend the 13:15:59 entire time between events D and R drinking coee, L experiences 13:16:01 no trouble at all, but M nds that he spills his coee all over him- 13:16:03 self at event T. After all, his spaceship suers a huge acceleration at 13:16:05 that time. L experiences no such trauma. This explanation is fun- 13:16:07 damentally flawed because if we allow for gravitational forces, there 13:16:09 are many ways to construct twin paradoxes which do not involve 13:16:11 this asymmetry" 13:16:21 OK this is possibly the best derivation of special relativity. 13:17:49 linky> 13:17:52 ? 13:18:11 http://cosmo.nyu.edu/hogg/sr/sr.pdf 13:18:38 It doesn't pull any punches with the maths, though: that's just a footnote. 13:19:12 Is the math skimmable? 13:19:25 For some reason, I really don't like applied math 13:19:32 Yeah, that's why I told you that. 13:19:55 I sought it out specifically because I wanted the derivations without handwaving. 13:20:52 Matrices 13:21:09 Yes. For the Lorentz transformation. 13:21:24 I think I'll live 13:21:55 Any of it gets too tedious for me to bother really looking at, I can just nod my head I think 13:22:31 Although I don't understand matrices all that perfectly, I still think I'll live 13:23:06 * Sgeo wants a similar paper for GR though 13:24:22 Your brain *will* melt if you try GR. 13:24:38 FUN 13:24:57 I can always skim the harder looking math and just nod my head, right? 13:25:35 Consider that GR isn't even solved in most non-trivial cases. 13:25:37 Oh, huh, this has excersize problems 13:25:55 Not going to do them for now, but maybe at a later date 13:26:02 Like, non-trivial as in a binary star system. 13:26:47 Can it be brute-forced somehow? I don't quite understand what is meant by "not solved" 13:29:48 http://en.wikipedia.org/wiki/Solutions_of_the_Einstein_field_equations 13:32:14 14 equations for 20 unknowns, doesn't that just mean there are an infinite number of solutions that fit those equation? Is it the case that some of those are wrong? 13:32:25 Wait, hmm 13:32:42 n/m the wait 13:55:55 I think I'll soon ask a question on /r/askscience that sounds like a weird question, but hopefully it isn't 13:58:21 We are all at DEFCON 2. 14:12:12 -!- pikhq_ has joined. 14:12:21 -!- pikhq has quit (Ping timeout: 252 seconds). 14:27:19 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 14:55:49 http://www.reddit.com/r/askscience/comments/hxro3/when_i_touch_a_wall_what_color_is_the_light/ 15:03:41 -!- Patashu has quit (Ping timeout: 252 seconds). 15:26:03 I made the mistake of checking to see if /r/astrology exists 15:26:05 It does 15:26:11 http://www.reddit.com/r/astrology/comments/h6lgc/a_serious_discussion_about_astrology_as_a_science/ 15:31:29 I'm now mentally trying to work out a way to test astrology 15:32:42 Does Astrology attempt to say what a particular period of your life will be like based on your birth date? If not, ignore this. if so: 15:33:19 Do it backwards. Attempt, without looking at a star chart, to guess what planets will be in what houses when in your life, and then see if reality matches 15:33:42 This should eliminate any tendency to see "Oh, your life was like this" an then think back to corresponding events. 15:33:54 I just remembered that there's an ex-astrology person here. 15:54:17 -!- azaq23 has joined. 16:07:38 -!- pikhq has joined. 16:07:56 -!- pikhq_ has quit (Ping timeout: 260 seconds). 16:19:25 -!- BeholdMyGlory has joined. 17:12:37 -!- Ycros has quit (*.net *.split). 17:12:37 -!- fizzie has quit (*.net *.split). 17:25:02 -!- Vorpal has joined. 17:33:14 the difference between stock 2.6.32 on ubuntu lucid and vanilla (mostly, needed one apparmor related patch) 2.6.39.1 is... astonishing. Utterly astonishing. For s2disk and resume from disk I have a 18x-20x speed up. Measured both by doing a clean reboot then suspending to disk right after logging in. 17:33:27 on clean boot I have a 5-10x speedup 17:33:32 quite amazing. 17:34:16 note that the kernel config for both were quite similar when it comes to making most things modules. 17:34:25 and so on 17:36:05 Yeah, there was a lot of improvements in there. 17:36:23 Including a few patches labeled "This is utter magic." 17:37:14 pikhq, what really? 17:38:11 pikhq, one thing that could help is that dm-crypto seems to use both cores for decrypting now. Though the results of my tests on that are not fully conclusive. It was definitely single threaded in 2.6.32 17:38:33 As in "all of a sudden, the whole thing goes twice as fast" magic, not "we code where mere mortals dare not tread". 17:38:40 back then kcryptd loaded one core fully when doing cat file.iso > /dev/null. Now both cores are loaded fully by kworkerd sometimes 17:39:17 pikhq, however 2.6.27 still beats all following kernels when it comes to number of wakeups per second reported in powertop 17:39:38 -!- monqy has joined. 17:39:55 on 2.6.27 I could get down to 5W with monitor on lowest brightness, wlan and bluetooth off, and idle cps 17:40:11 with 2.6.32 it was around 8 W. On 2.6.39.1 it is 7 W 17:41:04 culprit seems to be "[kernel scheduler] Load balancing tick" raising number of wakeups per second by 10-20 17:43:47 -!- Ycros has joined. 17:43:48 -!- fizzie has joined. 17:44:36 pikhq, hm. resume from disk now says "loading pages and uncompressing" (or so, could be different word order, went to quick for me to memorise it exactly". 17:44:40 that would explain a lot 17:44:48 since I have a 5400 RPM disk 17:51:10 @tell oerjan Do you logread? 17:51:10 Consider it noted. 18:16:15 -!- azaq23 has quit (Quit: Leaving.). 18:22:25 -!- copumpkin has joined. 18:23:44 -!- Phantom_Hoover has joined. 18:45:36 Googling for closures CPS brings up school closings in Chicago 18:52:06 -!- azaq23 has joined. 18:52:19 -!- azaq23 has quit (Client Quit). 19:09:32 why are you searching for closures CPS 19:09:43 rather than each independently 19:15:54 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 19:41:34 -!- MigoMipo has joined. 19:47:26 -!- Lymia has changed nick to Lymia_. 19:47:32 -!- Lymia_ has changed nick to Lymia. 20:07:28 -!- calamari_ has joined. 20:10:30 -!- guy_ has joined. 20:10:42 -!- calamari_ has quit (Client Quit). 20:22:29 -!- zzo38 has joined. 20:25:30 Because I'm wondering if there are any complications to just making _every lambda_ a closure. It sounds inefficient 20:25:58 Would just the ones that were defined as lambdas in the original source be sufficient?/ 20:26:59 -!- elliott has joined. 20:31:27 I predict CakeProphet is at or past 2282 20:31:27 elliott: You have 2 new messages. '/msg lambdabot @messages' to read them. 20:31:33 I know this because I am psychic 20:33:12 * Sgeo learns of /r/gue 20:34:13 wow a reddit where redditors can go beyond pretending they are rational and good argumentors to... pretending that double 20:57:11 * Sgeo finally removes the Newspeak forums from his RSS reader 21:06:44 * Sgeo etermines a way to get a sensible mean from his statistics problem from earlier 21:07:10 Besides just averaging the results of the experiment as is, which I'm still uncertain as to whether that will give a valid result. 21:08:34 "Never use the == operator with floating point, it doesnt even work 21:08:35 bitwise" 21:08:37 What. 21:08:53 I mean, I know that in normal circumstances, == is a bad idea, but 21:08:54 Which language? 21:08:59 wanna see some horrible code? --> http://paste.cplusplus.se/paste.php?id=12264 21:09:54 Wait, where did that kuk come from? 21:10:11 it means cock 21:10:28 That doesn't answer my question olsner. 21:10:47 well, I don't know tbh 21:11:02 it might be an attempt to call the function pointer data 21:11:34 * Phantom_Hoover links to http://www.youtube.com/watch?v=aLwaPP9cxT4&feature=related just to mess with Sgeo's head. 21:12:37 o.O that's awesome 21:14:07 olsner, a function pointer that is not even defined in the structure. 21:14:26 Phantom_Hoover: indeed! 21:14:35 Who wrote this? 21:14:56 "Never use the == oper­a­tor with float­ing point, it doesn’t even work 21:14:56 bit­wise" 21:14:57 wheres this from 21:14:57 Or is it fraudulent, like the comments suggest? I don't know enough about that sort of glowing, except something to do with black body radiation. I did take the video too literally I think. I assume that for a substance to glow hot, it has to hit a certain temperature, and of course ice cannot exceed 100C. If that's right, then this video is fraudulent 21:15:06 http://blog.ometer.com/2005/01/15/more-floating-point-fun/ 21:15:10 Yeah, they've got a bolt inside it. 21:15:21 oh, havoc pennington 21:15:22 Induction heating only works on conductors. 21:15:26 Phantom_Hoover: some guy who dropped by another channel and "ohai, code no worky, halp plx" 21:15:37 Which channel. 21:15:38 but presumably in response to something miguel posted 21:15:48 I desire to mock him, unless he is a troll, in which case meh. 21:16:06 well, he left, and it's a swedish channel 21:16:13 olsner: maybe it's meant to be a union 21:16:18 Phantom_Hoover, I am saddened to say that my brain did not initially report any problems with the video 21:16:21 and they're trying to call the function named hiho 21:16:24 Sgeo, TbH, I'm slightly confused by the orange-white glow; induction heating normally makes a violet glow. 21:16:42 Sgeo, I only noticed that when I googled it. 21:16:58 i would love to have an actual flaming ice cube 21:17:51 Sgeo: anyway, wrt bitwise, I suspect it means that == actually tries to do some computation 21:18:06 it's from the famous paper what every computer scientist should know about floating point, following the link 21:18:09 which i haven't read :p 21:18:18 or have, but then forgot reading it 21:20:10 elliott, that's OK, you're not a computer scientist. 21:20:26 what am i 21:20:38 am i 21:20:38 a robot 21:20:42 No. 21:20:45 You are a werewolf. 21:20:50 Hmm, I think my current naive approach would result in the correct mean, since errors would fly in both directions (assuming normal distribution), but a wrong distribution 21:20:54 Who is secretly a Nepeta/Karkat shipper. 21:22:10 wat 21:22:19 Sgeo: derp 21:22:22 Sgeo: are you a scientist 21:22:33 elliott, trying to act like one in SL 21:22:39 so no then 21:22:47 elliott, you realise that noöne without a maths degree understands stats. 21:22:53 Phantom_Hoover: obvs 21:24:45 http://youtubedoubler.com/?video1=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D8M5FxI_p5wg&start1=&video2=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DQ7ZUxyLyIao&start2=&authorName=Sgeo does not sound as good as I was hoping 21:25:10 i 21:25:21 that youtubedoubler is shitty anyway 21:25:24 it doesnt' wait for them to load 21:25:41 * Phantom_Hoover remembers that he has a Year Of Dicking Around In Physics ahead of him/ 21:28:00 I must create a list of things to dick around with. 21:28:20 EVERYTHING 21:32:26 Given a measuring apparatus that is only capable of measuring in such a way that it puts excessive weight on the first few results, and pretending that I know the true distribution to be symmetrical, why wouldn't the errors line up such that I'd get the correct mean? 21:32:59 Um, I did not adequately describe my measuring apparatus I think 21:34:08 Sgeo, you do realise that I go to a state school which can barely afford to run a photocopier, yes? 21:34:20 Phantom_Hoover, :( 21:40:22 -!- guy_ has quit (Read error: Connection reset by peer). 21:44:08 -!- tombom has joined. 21:44:46 hi does anybody remember the name of that programming language for bank software, or have a link to the page about it? the original wbesite appears to be down, but it was on the old turing tarpit geocities page 21:44:56 it was written like 200,,,,,560,,150 21:45:01 bancstar 21:45:12 There's a mirror. 21:45:23 ISTR that an RWian made that page, actually. 21:45:33 oh god i thought it was called bankstar 21:45:43 so i kept googling bankstar and i was one letter off! ugh 21:45:45 thank you so much 21:51:54 -!- Vorpal has quit (Read error: Operation timed out). 21:57:00 * Phantom_Hoover → sleep 21:57:04 -!- Phantom_Hoover has quit (Quit: Leaving). 21:57:48 "The scala build process requires a bootstrap compiler, called "starr" for "stable reference Iforrrrrget", to get the ball rolling." 21:57:56 Scala programmers don't understand acronyms. 21:58:45 no i think they actually understand them very well 21:59:15 Was that a joke or did you not get my joke 22:00:10 oklofok: there's a new lang on the esolang wiki that references the grandfather paradox ;D 22:02:45 I still have yet to contact the company that would currently own BANCstar 22:03:05 are you scared 22:03:19 No, just a permanent procrastinator 22:03:25 I even forgot which company 22:03:28 I remember tracing it 22:04:17 I think on this Channel some people (including myself) were discussing the example BANCSTAR program and actually managed to figure it out a little bit. 22:04:58 -!- fizzie has quit (Ping timeout: 260 seconds). 22:05:08 Fidelity, I think 22:05:23 What. 22:05:37 * Sgeo goes to trace it again 22:07:07 -!- tombom has quit (Quit: Leaving). 22:08:11 Broadway & Semour -> Micrographic (partially?) 1996 22:08:36 *Micrographic Services Inc 22:08:38 -!- oerjan has joined. 22:08:55 I cannot find the BANCSTAR program anymore. 22:09:01 Which still exists 22:09:10 This makes no sense, and is not what I traced some time ago. 22:09:29 But I remember that we had figured it out before! And I helped with it too. 22:09:56 BANCstar is now reminding me of SCP-055 22:13:12 http://codu.org/logs/log/_esoteric/2010-10-07 http://codu.org/logs/log/_esoteric/2010-10-08 http://codu.org/logs/log/_esoteric/2010-12-21 22:15:38 The 2001 article authoritively states that BancSTAR went there 22:15:44 So that weird imaging thing is not involved 22:16:07 I am hereby authoritatively stating that Sgeo does not exist. 22:18:10 * Sgeo breathes deeply as he goes to figure out who to send an email to 22:18:40 Sgeo: is this seriously causing you anxiety.......... 22:18:54 I'm a random individual about to email a corporation 22:18:55 BRB 22:19:01 FIGHT THE POWER 22:20:07 -!- zzo38 has quit (Quit: OuchOuchOuchQuitQuitQuit). 22:21:59 Sgeo: don't worry, _i_ would have collapsed completely before even managing to tell i was anxious 22:22:00 oerjan: You have 1 new message. '/msg lambdabot @messages' to read it. 22:22:24 @tell Sgeo Yes 22:22:24 Consider it noted. 22:25:13 ?tell Sgeo no 22:25:13 Consider it noted. 22:28:44 Back 22:28:44 Sgeo: You have 2 new messages. '/msg lambdabot @messages' to read them. 22:29:06 i wonder what they could be 22:30:13 it is theoretically possible we don't actually know 22:30:25 "Hello. I'm just curious as to the availability of documentation of BancSTAR." 22:30:37 That's the email I'm planning on sending 22:31:07 isn't "Hello." a little informal for a corporation. 22:31:43 Dear Corporation, 22:31:52 proper formal greetings is something you only see in nigeria scams, I think 22:31:54 -!- Sgeo_ has joined. 22:32:26 oh. maybe they stopped using formal greetings because they caught in the spam filters. 22:32:32 *+got 22:32:47 Sgeo: they'll probably sue you if you send that 22:32:54 -!- Sgeo_ has quit (Client Quit). 22:32:59 What. 22:33:04 that was me 22:33:06 im in your house 22:33:06 hi 22:33:13 Sgeo: they'll probably sue you if you send that 22:33:17 "what do you know about bancstar!?" *subpoena* 22:33:24 oh wait 22:33:31 oerjan: what were you gonna say 22:33:35 I was flat whatting at the claim that I'd get sued. Not at the other Sgeo. 22:33:52 elliott: nothing, i just didn't realize this wasn't an ordinary reconnect 22:33:54 Sgeo: u just dont understand corp/s 22:33:59 be scared 22:34:14 Instead of Hello, what should I write? 22:34:42 Dear Very Respected Sir and/or Madam, 22:34:48 Yo 22:35:03 I'll just omit the Hello I think. 22:35:05 sup bro 22:35:11 I failed this part of english, but got a passing grade because my teacher "knew" that I could do it properly 22:35:14 Sgeo: at least sign with 22:35:16 Regards, 22:35:17 Sgeo 22:35:25 Is "Thanks in advance" pretentious?. Ok, Regards is better 22:35:34 lol wow 22:35:42 Sincerely, 22:35:49 Sincerely, 22:35:50 Regards, 22:35:51 Sgeo 22:35:55 Your biggest fan, 22:35:56 Sgero 22:36:00 without the r 22:36:03 the r is awful 22:36:05 Typing up letters for my step-mom may have distorted my brain a bit. 22:36:05 Don't be out too late, 22:36:07 Your mother 22:36:26 so uh 22:36:27 You're not my REAL father, 22:36:28 Albert Einstein 22:36:30 are you not greeting them or what 22:36:37 monqy: this is the email he is sending 22:36:44 "GIVE ME THE FUCKING BANCSTAR DOCUMENTATION WHORES" 22:36:49 good enough 22:36:55 subject: !!!!! 22:36:56 Sent 22:37:02 lol 22:37:10 did you greet 22:37:12 did you say thank you 22:37:18 No and no :/ 22:37:22 hahahhahaahahaha 22:37:22 sued 22:37:38 see at first i thought the anxiety was totally unwarranted because how hard can it be to send a corp an email... 22:38:29 Would have been nice if there were no sarcastic comments in here, such that I would actually be capable of taking genuine advice. 22:38:45 lol, wrong place Sgeo 22:38:46 elliott: everything is hard when you're a perfectionist with only half a clue 22:38:49 lol 22:38:54 advice Sgeo: 22:38:58 EMBARRASSES HIMSELF ON IRC DAILY 22:38:59 22:39:06 WHY DIDN'T YOU HELP ME OUT GUYS 22:39:19 anyway im pretty sure everyone mentioned the greeting before you actually sent it s o o 22:40:00 back in my agora days, i used to sign my email with Greetings, 22:40:06 X-D 22:40:09 be a time traveller 22:40:10 [[ 22:40:11 oerjan 22:40:12 22:40:13 Blah blah blah. 22:40:15 Greetings, 22:40:15 ]] 22:40:22 (you signed "oerjan" right) 22:40:26 i gradually got the realization that was somewhat backwards 22:40:49 Ørjan, actually 22:40:51 iirc 22:41:18 that may have changed at some point 22:57:36 I should test my ideas about simulation 22:58:16 Erm, I mean, make a simulation to test my ideas about my detector's faults 22:58:33 your simulation of a detector of what? 22:58:42 still second life scripting? 22:58:43 a detector of detector faults 22:58:54 which is in fact a simulator. 22:58:57 D E T E C T I O N 22:59:10 testing ideas. 22:59:49 Of what exactly happens when I'm trying to do a binary search to find a value, but the value keeps randomly changing each comparision 22:59:55 simulation in MUDs is easy. You just write out what happens. 23:00:37 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:01:19 Sgeo: There are two possibilities a) your binary search is horrible b) Second Life has a horrible scripting environment 23:02:10 or c) another process is changing the value mid-execution 23:02:20 Or maybe the value I'm testing CANNOT be tested any other way, regardless of what scripting is like, and regardless of search... actually that's not true, I can make a different search 23:02:33 But yes, I think another process is changing the value mid-execution 23:02:39 That was pretty much my point 23:03:17 If, for each comparison, I do 20 trials, and then go in the direction suggested by the majority of the trials... 23:03:36 the only sane way to do a search would be to take a copy of the... uh... unnamed data structure 23:03:49 or, yes, you could run multiple tests. 23:04:07 a democratic search algorithm. :) 23:04:10 Sgeo: well you could consider it as estimating the mean or something of a statistical distribution 23:05:06 although things might be complicated if the value changes in small steps rather than being completely independent each time 23:05:26 oerjan, I have no idea 23:05:30 herpeti derp 23:05:37 herpetology 23:05:50 I'd say using the mean could get tricky, whereas mode would be pretty straightforward and accurate. 23:06:02 or maybe it should be spelled herpty derp in english 23:06:20 I do suspect that it's entirely dependent on another value that I'm capable of instantly measuring. Does that help? 23:06:39 not really, since you don't know the process behind it. 23:06:48 but it's a start. 23:07:02 Sgeo: do you mean capable or incapable there? 23:07:10 Capable. 23:07:27 Sgeo: just rewrite Second Life in Haskell and use STM. Problem solved. 23:07:31 -!- Lymee has joined. 23:07:50 aha. well then if you measure both near simultaneously you should be able to test that hypothesis... 23:08:36 STM is awesome 23:08:42 elliott: yes it is. 23:08:43 Lymee: what did you do with lymia 23:08:54 I can;t test the original value simultaneously, just whether a current guess is higher or lower. I can test the value I suspect it's dependent on simultaneously 23:08:54 elliott: every concurrent project that I'm writing ever is using STM. 23:10:04 Sgeo: well then use the value it is dependent on to construct the guess? 23:10:08 in particular I have an idea for an online text-based game in which every player and object is pretty much completely concurrent in this way. 23:10:21 oerjan, I don't know the exact relation between them. 23:10:38 Sgeo: can you make graphs? :D 23:10:39 -!- Lymia has quit (Ping timeout: 246 seconds). 23:10:54 you could just continually monitor the relationship between the values. 23:11:07 Sgeo: hm. use a binary search for _each_ value of the depended-on value 23:11:20 make a table from that 23:11:34 -!- fizzie has joined. 23:11:36 oerjan, the depended-on value randomly and constantly changes without my being able to control it 23:11:38 or at least for some interval of that value 23:11:50 what is the depended-on value 23:12:02 something some other fucked-up scripter made. 23:12:15 Frames per second. Smallest unit of time, if I understand properly 23:12:43 wow what 23:12:44 Well, 1/fps is smallest unit of time 23:13:01 why would anyone make the smallest unit of time ever-changing 23:13:05 ever 23:13:08 Sgeo: yes, so use a table for your search. measure your depended-on-value, look up the state for your binary search for that value, then immediately do the next step of that binary search 23:13:14 lol so sgeo by 23:13:15 RANDOMLY 23:13:17 you mean 23:13:18 not randomly 23:13:31 Hmm, ty 23:14:01 essentially you are then doing several binary searches in parallel 23:14:21 needs more STM... 23:14:42 you might want a bit of error correction if the depended-on-value could change in between 23:15:05 though if the fps value changes very fast, you'd likely end up retrying your algorithm ad infinitum. 23:16:40 -!- Patashu has joined. 23:17:50 r 23:18:54 Slight complication that I should have mentioned: Measuring whether guess is above or below value is not instantaneous, it takes a certain amount of time. I'm not even sure of the best amount of time, so I'm currently fudging it at 1.5sec 23:19:08 um you can just output the data raw 23:19:11 and check it externally 23:19:11 can't you 23:20:02 yes, the more code you can take out of this shitty scripting environment, the better. 23:20:07 elliott: doesn't work for a binary search 23:20:32 although i guess he could do a batch, calculate new guesses externally, then another batch 23:20:53 Why would I want to calculate new guesses externally? 23:21:42 Sgeo: hm well the important point is to get the raw data out as well, i think, so you can check if things are behaving as expected 23:22:21 at the very least just copy all of the data before you do the checks. 23:22:35 http://tech.slashdot.org/story/11/06/12/148208/Why-Doesnt-Google-Kids-Exist 23:22:35 lol 23:22:43 What would happen if I just went with my idea of the 20 trials then going in the democratic direction? 23:22:44 so that you're not at the whim of whatever the fuck is messing with your data. 23:23:16 Sgeo: I have no idea. You'd probably get inconsistent results occasionally, but I really don't know how the data is changing. 23:23:19 or how often, etc. 23:23:39 so is this about figuring out how gravity works or what 23:23:43 Sgeo: several trials should help with error correction, i assume 23:23:45 Yes 23:24:17 Sgeo: you should make it so that when numbers tie they play rock paper scissors. 23:24:32 you, know, because it's more exciting than just randomly selecting one. 23:24:50 for more than 2 values construct a rock paper scissors tournament tree. 23:24:56 Gravity, for reasons I still haven't quite understood (yes, floating-point error, but what about it?), when it takes effect, if it's weak enough, starts the object moving downwards, then stops 23:25:20 I'm trying to measure the strength of gravity needed such that it doesn't stop moving downwards, and am doing this measurement at different altitudes. 23:26:46 so what are the data values representing? 23:28:41 Well, the way I'm taking the measurement is: Set buoyancy (which I'm using to set the effect of gravity, if I'm wrong about that, well...) to guessed level. Start physics. After .75 seconds, get altitude. .75 seconds after that, measure altitude again. If no change between first and second measurement, gravity's too weak, otherwise, too strong. 23:28:58 Then it returns to original altitude and repeats with the binary search 23:31:29 er, what are you searching I mean. 23:33:14 i think maybe plain binary search is too error-prone for this, since one error completely ruins the rest of the search 23:33:18 The minimum strengh of gravity such that gravity doesn't just weirdly stop after a short amount of time. 23:34:36 why would there be error 23:34:50 also why are you doing this 23:35:09 because according to Sgeo's theory it depends on the fps rate, which might change during each test 23:35:49 -!- FireFly has quit (Quit: swatted to death). 23:36:00 perhaps checking it both before and after and discarding data if it has changed will help 23:36:21 13:59:32: AnMaster: by defining functions with certain names, you can affect the behaviour of glibc malloc 23:36:29 i wonder how it knows whether they're defined or not... 23:36:44 Sgeo: I was basically going to suggest that if you know the exact relationship between fps and value then you could normalize the results by converting it to a unit that's independent of framerate. 23:36:49 examining /proc/self/exe? 23:37:15 CakeProphet: my impression is he hasn't got a function yet 23:37:17 As in, before and after the entire binary search? 23:37:41 Sgeo: preferably as often as possible... 23:38:02 Honestly, I didn't set out trying to determine that function. I set out trying to determine if it's also dependent on altitude. 23:38:06 if you find out it doesn't change that often, you could do it rarer 23:38:28 Sgeo: well that just means your function got another parameter 23:38:37 Hey, so I read http://www.reddit.com/r/askscience/comments/hxro3/when_i_touch_a_wall_what_color_is_the_light/ and I was wondering if there was a 'What quantum phenomena actually mean compared to media simplifications' page out there 23:38:42 for this, entanglement, tunnelling etc 23:38:42 But, as in, an entire binary search gets discarded if FPS significantly changes 23:38:54 yes if you poll the fps constantly then you can associate each test value with the fps at which it was measured, which will make things less error-prone later either by having the old fps at the ready or by being able to normalize all of the values. 23:39:08 Patashu: im sorry you had to see sgeo on /r/askscience 23:39:13 lol 23:39:15 Patashu: do you need a hug 23:39:17 Note: FPS is a floating-point 23:39:17 its traumatic for all of us 23:39:30 Sgeo: that might be enough. well you'll have to decide on a precision. 23:40:09 elliott: at first I thought you were joking and it was just someone acting ridiculous but then I looked and it's actually sgeo 23:40:18 I don't know what to think 23:40:24 Sgeo: also if it _does_ change more often, you don't have to discard _all_ the data for a search, just store what you have so far and continue that search when fps returns to that value 23:40:29 monqy: try crying 23:40:37 its great, gets out all the emotions for several whole minutes 23:40:41 elliott, what was so horrible about my question? 23:40:46 all this depends on how often fps actually changes, of course 23:41:00 (significantly) 23:41:30 if you can find the function then you won't have to deal with any of that foolishness. :P 23:42:05 CakeProphet, considering that I can't even begin to fathom why the effect I'm measuring even exists... 23:42:07 and instead you only have to deal with the foolishness of trying to find the function. 23:42:21 CakeProphet: he needs this foolishness to estimate the function, duh 23:42:29 I guess. 23:42:41 -!- pikhq_ has joined. 23:42:52 so I forgot why sgeo was even doing this at all 23:43:00 -!- pikhq has quit (Ping timeout: 276 seconds). 23:43:05 is there something important about second life gravity 23:43:11 And all I really want to do, at this point in time, is to see if altitude is an imput to the finctiion 23:43:16 input, function 23:43:17 I would say just grab everything relevant from your environment at each test, and store them all together in some kind of data structure which is of course not going to be shitty because this is Second Life's scripting engine. 23:43:35 and then perform SCIENCE on that data. 23:43:39 to find the function. 23:46:14 Sgeo: well the obvious explanation is that some value dependent on buoyancy and divided by fps is subtracted from altitude each frame, and if it's low enough it won't change the altitude. hm but why would it change it initially and then stop... that would make more sense if you _added_ to the altitude and it reached a power of 2 23:46:39 maybe the actual altitude value increases downward... 23:46:50 No, it doesn't. 23:46:59 or is negative. 23:47:18 Sgeo: have you considered asking the SL team about it? 23:47:22 And I've been performing these experiments at 4000, so there's no power of 2 boundary right there, are there other similar boundaries 23:47:35 CakeProphet, no, maybe I should. Or ask other scripters. 23:48:48 There is now a chain message thing about some product called "Cocoa mulch", and how it's dangerous to dogs. 23:48:58 All I can think is "No shit sherlock?' 23:49:08 ...this has nothing to do with SL right. 23:49:13 Right 23:49:29 Sgeo: oh that thing 23:49:33 its not actually made out of chocolate though 23:50:10 and selling a substance that will kill dogs without mentioning it sounds pretty lolillegal to me 23:50:46 um one would expect the dangerous-to-dogs component of chocolate to be in the cocoa... 23:51:10 (hm was it theobromine?) 23:51:33 Happy Dog Antifreeze Bites! They Make Dogs Happy and Warm! 23:51:52 (!!!!!!) 23:51:52 -!- wareya_ has changed nick to wareya. 23:52:51 oerjan: its not made out of cocoa either 23:53:01 but yeah IIRC that stuff contains theobromine 23:53:12 :t foldl1 (.) (repeat (+1)) 23:53:13 forall a. (Num a) => a -> a 23:53:25 -!- fizzie has quit (Ping timeout: 244 seconds). 23:53:36 :t fix (+1) 23:53:36 forall a. (Num a) => a 23:53:41 er 23:53:48 need a . somewhere I think. 23:53:54 hm... 23:54:05 :t fix ((+1).) 23:54:05 forall a (f :: * -> *). (Num a, Functor f) => f a 23:54:25 :t const (fix (+1)) 23:54:26 forall a b. (Num a) => b -> a 23:54:33 it's really that, i think 23:54:44 or wait 23:55:05 > foldl1 (.) (repeat (+1)) 3 23:55:08 actually it's even worse. in either case neither has a chance of holding with strict addition 23:55:14 *E 23:55:32 Haskell has problems with infinity. They need to fix that bug. 23:55:45 but foldl1 _ (repeat _) by itself can never halt 23:55:54 shhhh. don't tell me that nonsense. 23:56:11 unlike foldr1 23:56:19 CakeProphet: no problems 23:56:24 Int/Integer are just strict 23:56:26 > foldr1 (.) (1+) a 23:56:30 Couldn't match expected type `[a -> a]' 23:56:30 against inferred type `t ->... 23:56:33 er 23:56:36 > foldr (.) succ Zero 23:56:37 Not in scope: data constructor `Zero' 23:56:38 > foldr (.) succ Z 23:56:38 Not in scope: data constructor `Z' 23:56:41 c'mon peano :( 23:56:44 :t foldr1 (.) (1+) 23:56:45 obviously they can just write a procedure in the compiler that determines whether or not it halts without running it. 23:56:46 Couldn't match expected type `[a -> a]' 23:56:47 against inferred type `t -> t' 23:56:47 In the second argument of `foldr1', namely `(1 +)' 23:56:51 oh hm 23:56:55 you're forgetting a repeat. 23:57:05 duh 23:57:08 :D 23:57:15 > foldr1 (.) (repeat (1+)) a 23:57:18 mueval-core: Time limit exceeded 23:57:21 bah 23:57:40 :t foldr1 (.) (repeat (1+)) 23:57:40 forall a. (Num a) => a -> a 23:58:04 hm does that mean Expr addition is actually strict... 23:58:16 > 1+(1+(1+undefined)) :: Expr 23:58:17 I don't think so, I've seen infinite series I thought. 23:58:18 1 + (1 + (1 + *Exception: Prelude.undefined 23:58:24 indeed not 23:58:39 ?let compn 0 f = f; compn n f = f . compn (n-1) f 23:58:41 Defined. 23:58:44 now just define a lazy nat type 23:58:46 and you can say 23:58:49 compn inf succ 23:59:01 elliott: i think Expr _should_ be lazy enough for this 23:59:07 * Sgeo suddenly connects something he read a while ago to the halting problem. 23:59:24 :t foldr1 (.) (repeat (0*)) 4 23:59:25 forall a. (Num a) => a 23:59:27 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) 23:59:28 Overlapping instances for GHC.Show.Show ((b -> b) -> b -> b) 23:59:28 > foldr1 (.) (repeat (0*)) 4 23:59:28 arising fro... 23:59:29 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f 23:59:30 *Exception: stack overflow 23:59:30 Overlapping instances for GHC.Show.Show (b -> b) 23:59:31 arising from a use of `... 23:59:32 :( 23:59:34 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f 23:59:34 Overlapping instances for GHC.Show.Show (b -> b) 23:59:35 arising from a use of `... 23:59:36 oh 23:59:40 :t f 23:59:41 forall a. (SimpleReflect.FromExpr a) => a 23:59:42 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f :: Expr 23:59:43 Couldn't match expected type `SimpleReflect.Expr' 23:59:43 against inferred ... 23:59:45 Would 100% accuracy in determining all the points of the mandelbrot require halting problem shenannigans? 23:59:47 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f :: Expr -> Expr 23:59:48 Overlapping instances for GHC.Show.Show 23:59:48 (Simpl... 23:59:52 oerjan fix it. 23:59:58 Sgeo: no I don't think so. 2011-06-13: 00:00:05 elliott: use a rather than f if you want an Expr 00:00:08 Sgeo: thats a question ive asked too 00:00:19 oerjan: no, f has to be a function 00:00:23 cant do a . a . 00:00:34 CakeProphet: the mandelbrot set is defiend in terms of an infinite sequence, dude 00:00:41 yes I know. 00:00:55 CakeProphet: indexed by complexes, which means we have _reals_ here 00:01:07 the majority of which are uncomputable 00:01:24 oh? 00:01:24 I wasn't even thinking in terms of that >.> 00:01:25 so yes, Sgeo, there is no algorithmic way to determine all the points of the mandelbrot set 00:01:26 didn't know. 00:01:33 given a specific pair of rationals, though, there may be an algorithm 00:01:37 or even computable reals 00:01:40 but it's not obvious 00:01:43 Oh 00:01:45 CakeProphet: um it's trivial to show 00:01:50 elliott: I'm sure it is. 00:01:53 CakeProphet: there are a countable number of strings -> countable number of computer programs 00:01:57 I was thinking for a specific pair 00:01:59 all computable reals have a corresponding program, obviously 00:02:00 >.> 00:02:03 but the reals are uncountable 00:02:10 uncountable > countable 00:02:16 therefore Almost All(tm) reals are uncomputable 00:02:22 in fact, Almost All reals are /undescribable/ 00:02:31 erm 00:02:33 in fact, Almost All reals are /undefinable/ 00:02:40 * CakeProphet doesn't spend his waking hours thinking about the Mandelbrot set and its obvious implications. 00:02:49 um, this is totally unrelated to the mandelbrot set 00:02:53 ...it is now 00:02:54 but you type 00:02:55 about things 00:02:56 quickly. 00:03:00 and change subject. 00:03:04 and I am talking about something you said before. 00:03:05 which was. 00:03:14 i note that Turing's paper introducing turing machines was about computable vs. non-computable numbers. 00:04:55 > compn (foldr1 (.) (repeat (1+)) 0 :: Expr) f a :: Expr 00:04:58 *Exception: stack overflow 00:05:00 -!- fizzie has joined. 00:05:05 well it typed :P 00:05:15 > fix ((1+).) a 00:05:17 *Exception: stack overflow 00:05:24 hm... 00:05:28 I wonder what would be required of strings to produce an uncountable number of them. 00:05:46 :t fix ((1+).) a 00:05:47 forall t. (Num t) => t 00:05:49 aha 00:05:53 :t fix ((1+).) a :: Expr 00:05:54 Expr 00:05:57 er 00:06:00 > fix ((1+).) a :: Expr 00:06:02 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:06:07 ok _that_ worked 00:06:13 woooo 00:06:39 oerjan: YAAAAAAAAAAAAAAAAAAAAAAAAAAAY 00:06:47 > fix succ :: Expr 00:06:48 succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (succ (suc... 00:06:55 > fix (1+) :: Expr 00:06:56 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:07:01 SUPER KAWAII 00:07:15 > fix (1/) :: Expr 00:07:15 1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (1 / (... 00:07:28 > fix ((1+) . (1-)) :: Expr 00:07:28 CakeProphet: infinite (but still countable) length noncomputable strings are uncountable 00:07:30 1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (1 - (1 + (... 00:07:33 oerjan: BOY HOWDY 00:07:36 LOOK AT DAT INFINITE SUM 00:07:51 elliott: ostensible oscillations on that (1/), bro. 00:08:01 no offense but that sum doensn't converge 00:08:04 CakeProphet: duh, thus the latter one 00:08:12 oklofok: duh 00:08:18 oklofok: wrong btw its = 1/2 00:08:30 yeah but that's only w.r.t. the weak topology 00:08:46 * elliott torlling mathematicians with zeta summes since 999 00:09:20 > foldr1 ($) (repeat (1+)) :: Expr 00:09:21 Occurs check: cannot construct the infinite type: a = a -> b 00:09:25 eek 00:09:30 > foldr1 (.) (map (*) [1..]) a :: Expr 00:09:32 1 * (2 * (3 * (4 * (5 * (6 * (7 * (8 * (9 * (10 * (11 * (12 * (13 * (14 * (... 00:09:39 why didn't it simplify it to sqrt(2*pi) 00:09:40 you sly dog. 00:09:41 oh hm 00:09:43 stupid lambdabot 00:10:11 sad that oerjan isn't taking my trollbait 00:10:12 > foldr1 (.) (repeat (0*)) 4 00:10:13 *Exception: stack overflow 00:10:17 > foldr ($) undefined (repeat (1+)) :: Expr 00:10:17 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:10:28 its very sad oerjan very sad 00:10:38 I really think multiplying infinite zeroes should magically halt 00:10:43 > foldr (.) undefined (repeat (1+)) undefined :: Expr 00:10:45 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:10:48 uh 00:10:52 *huh 00:10:52 oerjan> > foldr ($) undefined (repeat (1+)) :: Expr 00:10:52 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:10:55 HUH DIDN'T SIMPLIFY TO -1/2 00:10:56 WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 00:10:59 I WONDER WHY?????????? LAMBDABOT IS DUM 00:11:00 Gregor: beat java? 00:11:16 No, just got home from an amusement park :P 00:11:24 EVEN BETTER 00:11:29 I SAID IMPORTANT THINGS IN LOG 00:11:32 OF PLOF 00:11:37 Gregor: Java doesn't just sit around while you play games. 00:11:41 it is growing more powerful. 00:11:56 elliott: E_DONTCARE 00:12:03 Gregor: Um it involves your GC segfaulting. 00:12:08 Gregor: or not even segfaulting 00:12:11 Broken longjmp stuff 00:12:13 on your very own testcase 00:12:18 also builds of the testcases are broken on lps branch 00:12:22 In conclusion looooooooooooooooooooooooooool@u 00:13:23 > foldr1 (.) (repeat (1+)) a 00:13:24 1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (1 + (... 00:13:43 CakeProphet: would you know, that mueval timeout before was just an accident 00:13:55 oerjan: somewhere at the end of that sequence is an a.... right? 00:13:57 how low _is_ it, that's pretty trivial computation 00:14:02 CakeProphet: O_O 00:14:11 yes and at the end of 0.9 recurring theres an 0 00:14:19 CakeProphet: conversing with angels on the head of a pin 00:14:19 good 00:14:29 just making sure I understand these things. 00:14:34 about things at the end of infinite things. 00:15:09 elliott: so do you pronounce 0 as "oh"? That would explain the "an" 00:15:20 but I read it as "an zero", which was very awkward sounding. 00:15:47 an trax 00:15:52 *thrax 00:15:56 yeah i say oh when its a digit 00:16:01 except when typing it out 00:16:01 huh 00:16:03 or saying it 00:16:10 so um i dunno 00:16:16 "zero point nine recurring theres an oh" 00:16:17 how i say that 00:16:39 your nomenclature is typechecking, I guess. 00:16:46 what 00:17:02 0.9 is a number, thus zero, but 0 is being referred to as a digit, thus oh 00:17:30 hey ehird name the digits 00:17:33 zero one two three ... 00:17:34 nope 00:17:46 then you're just A FEEBLE INCONSISTENT HUMAN 00:17:54 puny mortal. 00:18:33 15:56:28: (If you define the ordering relation on correctness correctly.) 00:18:48 15:57:38: AMD64 I can understand, x86_64 I can't. 00:18:49 15:57:56: Nor the banal x64. 00:18:53 Deewiant: especially not in a dobela interp amirite 00:20:08 also builds of the testcases are broken on lps branch // dude, there is only one test that's supposed to work AT ALL, and that one is ultra-beta-y, PLUS you're using it with a retardedly huge input value that's causing huge stacks. 00:20:13 So in short: Fuck you. 00:21:11 Congratulations, that's the most hostile reaction to a "I ran this testcase which just hangs with a large value in the default branch but causes a massive libc error in the lps branch" bug report I've ever seen. 00:21:23 BTW, it freezes even with half that value. 00:21:27 Erm, crashes, I mean. 00:21:36 Whereas I suspect it would run to completion slowly in the default branch. 00:22:06 so I was thinking an interesting non-deterministic could consist of two parts. One is a string of characters, and the other is a logical assertion. Certain facts are taken from the string (the number of a's, the number of b's, etc) and used to compile a list of instructions. When the program runs, these instructions are computed in a non-deterministic order, until the result satisfied the logical assertion (which will li 00:22:12 *non-deterministic language 00:25:41 the second part of the language may operate differently that what I just said, but the basic idea is that you have a series of instructions that are computed non-deterministically, with the end result having to satisfy a logical statement. 00:26:01 s/second/first/ seriously need to do some more self-editing. :P 00:33:43 :t runWriter 00:33:44 forall w a. Writer w a -> (a, w) 00:34:31 > let loop = do {tell "whee! "; loop; return "ah!"} in runWriter loop 00:34:32 ("ah!","whee! whee! whee! whee! whee! whee! whee! whee! whee! whee! whee! w... 00:34:40 * oerjan cackles evilly 00:34:53 hmmm, I wonder if the instruction set could be completely optional. So basically you just specify the conditions of your program and it non-deterministically runs programs until one matches. 00:35:25 that would take much longer, because of the infinite programs and all... 00:37:39 CakeProphet: "logical assertion (which will li" 00:37:50 (which will likely also have its own batshit language) 00:38:04 i saw a bat the other day 00:38:07 a very important part of the sentence. 00:38:29 all's well that ends well 00:39:47 @tell oerjan Do you logread? 00:39:57 mind you sometimes it takes a while to get around to it 00:39:59 -!- elliott has quit (Read error: Connection reset by peer). 00:41:27 * oerjan is disappointed by the lack of reaction to the runWriter code 00:41:50 -!- elliott has joined. 00:42:42 yes I think instead of using some weird string statistics I will instead just make an esoteric machine-code language, that gets randomly shuffled until it runs and satisfied the given condition. Ah, but that means that either the program must always halt, or the logical assertion language cannot test the state of registers after execution. 00:42:58 the logical assertions can only be about the layout and nature of the program itself... 00:43:32 rice's theorem strikes again 00:43:35 "[03:41:20] * oerjan is disappointed by the lack of reaction to the runWriter code" <<< idgi 00:43:50 looks like it should be an infinite loppy 00:44:40 it's infinite in the middle, and yet _both_ ends produce part of the result 00:44:48 hot 00:45:32 well sure, but.... does it really work like that :P 00:45:32 proving that the >>= of the Writer monad is in a sense strict in _neither_ its first nor its last argument 00:45:37 haskell i mean 00:45:41 that's just magic 00:45:55 http://www.facebook.com/photo.php?pid=32117951&l=953460d5fd&id=1055580469 <-- my day today 00:46:29 ah hmm 00:48:11 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 00:48:28 > runWriter $ do {tell "whee! "; undefined; return "ah!"} -- maybe this makes things clearer 00:48:29 ("ah!","whee! *Exception: Prelude.undefined 00:49:07 can you implement those semantics for writer from within haskell? 00:49:24 yes, Writer is entirely written in haskell 00:49:27 hmm. 00:49:41 it's just about being lazy in the right spots 00:49:56 -!- elliott has quit (Remote host closed the connection). 00:50:00 -!- elliott_ has joined. 00:50:30 :t tell 00:50:31 forall w (m :: * -> *). (MonadWriter w m) => w -> m () 00:50:44 @src Writer tell 00:50:44 Source not found. You speak an infinite deal of nothing 00:50:46 oerjan: whats the best monad 00:50:49 @src tell Writer 00:50:49 Source not found. Just try something else. 00:50:55 bah 00:51:14 elliott_: reverse state? >:D 00:51:19 hey oerjan i wrote cofunctor 00:51:20 class Fuctor f where fap :: (f a -> f b) -> a -> b 00:51:33 fuctor hahaahasd 00:52:51 oh its actually cofmap :: (a -> b) -> acc b -> acc a :P 00:52:59 which is a really cool type. 00:53:00 Gregor: how do you differ from normal humans there? you seem to be the average of the two niggas 00:53:29 whats f upside town 00:53:32 t? 00:53:46 not really 00:53:50 ?src Functor (,) 00:53:50 Source not found. I feel much better now. 00:54:09 hmm 00:54:12 is there really no instance?? 00:54:19 > fmap succ (9,9) 00:54:20 the katakana for na in japanese maybe 00:54:20 (9,10) 00:54:23 right 00:54:49 i think someone has gutted @src, and it always had holes 00:55:57 oklofok: tell for writer should just be tell msg = Writer ((), msg) i think 00:55:58 well tuples aren't cofunctors then 00:56:39 the adjoint functor to tuples is (e ->) iirc 00:57:01 oerjan: that would produce (a -> b) -> (c -> b) -> (c -> a)... 00:57:02 with cofunctors 00:57:35 ?hoogle [a] -> [a] -> [a] 00:57:35 Prelude (++) :: [a] -> [a] -> [a] 00:57:35 Data.List (++) :: [a] -> [a] -> [a] 00:57:36 Data.List deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a] 00:57:37 adjoints are still of the same variance though 00:57:37 grr 00:57:44 :t concat . zipWith (\a b -> [a,b]) 00:57:45 Couldn't match expected type `[[a]]' 00:57:45 against inferred type `[b] -> [[b]]' 00:57:45 Probable cause: `zipWith' is applied to too few arguments 00:57:49 so gross :( 00:57:50 ugh what 00:57:53 oh 00:58:51 elliott_: um what are you looking for 00:59:19 interleaving two lists? 00:59:42 yeah 01:00:28 :t curry $ sequence [fst, snd] 01:00:29 forall b. b -> b -> [b] 01:01:08 http://sprunge.us/cSbW help this doesn't work :( 01:01:39 :t (concatMap (sequence [fst, snd]).) . zip 01:01:40 forall b. [b] -> [b] -> [b] 01:02:21 :(((( 01:04:35 newtype a :<- b = Flip (b -> a) 01:04:35 class Cofunctor cof where 01:04:35 cofmap :: (a -> b) -> cof b -> cof a 01:04:37 instance Cofunctor ((:<-) a) where 01:04:39 cofmap f (Flip g) = Flip (g . f) 01:04:41 there's an instance :P 01:04:43 TOO BE DETERMINED: USEFUL INSTACNE??? 01:04:44 > scanl (flip (-)) 0 (repeat 1) 01:04:46 instant acne 01:04:46 [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,... 01:04:49 erp 01:05:09 > scanl (flip (-)) 0 [1..] 01:05:11 [0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,... 01:05:23 what was it again... 01:06:00 or wait 01:06:51 > 0 : [1..] <**> [id, negate] 01:06:52 [0,0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,-10,11,-11,12,-12,13,-... 01:07:06 > 0 : ([1..] <**> [id, negate]) 01:07:07 [0,1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,10,-10,11,-11,12,-12,13,-13... 01:07:48 Sgeo: btw hs upd 01:10:03 > scanl (flip (-)) 0 [-1..] 01:10:05 [0,-1,1,0,2,1,3,2,4,3,5,4,6,5,7,6,8,7,9,8,10,9,11,10,12,11,13,12,14,13,15,1... 01:10:15 not quite 01:10:59 ?src Monoid 01:11:00 class Monoid a where 01:11:00 mempty :: a 01:11:00 mappend :: a -> a -> a 01:11:00 mconcat :: [a] -> a 01:11:01 > scanl (flip (-)) 0 [-1,-2..] 01:11:02 [0,-1,-1,-2,-2,-3,-3,-4,-4,-5,-5,-6,-6,-7,-7,-8,-8,-9,-9,-10,-10,-11,-11,-1... 01:11:03 oerjan what's a comonoid 01:11:10 huh 01:11:23 must be something categorical 01:11:50 is that a pun oerjan 01:11:52 maybe a monoid in the opposite category 01:11:58 is that a pun oerjan 01:12:10 "Dually, a comonoid in a monoidal category C is a monoid in the dual category C[caret]op." 01:12:14 no, that is probably actually meaningful 01:12:19 oerjan what's a comonoid as a haskell typeclass 01:12:32 you got it right though :P 01:12:37 hm wait 01:12:40 doesn;t that involve the dual of Hask 01:12:43 i don't know about monoids in categories, other than monads 01:12:49 which is... not very expressable in haskell 01:12:52 erm 01:12:53 the opposite of Hask 01:13:00 you know, Hask[caret]op 01:13:30 no that's easy. a dual category has the same objects and arrows, just reverses which it considers domain and codomain 01:13:32 * pikhq_ has become convinced that build systems are not declarative enough. 01:14:12 so newtype (<~) a b = (<~) (b -> a) 01:14:22 er 01:14:29 i guess you need it to start with : 01:15:53 (-> e) is a functor from Hask to dual of Hask, i think 01:16:24 aka cofunctor from Hask to Hask 01:17:48 so newtype (<~) a b = (<~) (b -> a) 01:17:50 already wrote that 01:17:54 but note that <~ is not a valid type-operator. 01:17:59 afaik. 01:18:07 already wrote that :P 01:18:24 oerjan: ok well that is a shame since I already used that structure as a cofunctor 01:18:27 and the instance was predictably boring 01:18:35 oerjan: but i don't see how you can make that a monoid 01:18:40 erm, comonoid 01:18:42 unless functions are monoids, hmm 01:18:49 well (a -> a) is I guess 01:18:58 so (a -> a) is a comonoid too, lol 01:19:04 or wait what 01:19:10 well a monoid in a category is not the same as a monoid algebra, aka haskell Monoid 01:19:11 i still don't know what comonoids would look like 01:19:16 using <~ instead of -> in their signatures?? 01:19:20 oerjan: right 01:19:27 does haskell even have the former? 01:19:48 and all i know is that Monads are supposedly monoids in categories 01:20:01 or wait 01:20:07 i'm not even sure of that 01:20:12 -!- Sgeo has quit (Ping timeout: 240 seconds). 01:20:24 there may be several different concepts there 01:21:27 hm I wonder what the <~ comonad looks like? 01:21:51 well hmm 01:22:19 duplicate :: (a <~ b) -> (a <~ (a <~ b)) 01:22:28 duplicate :: (b -> a) -> ((b -> a) -> a) 01:22:33 heh 01:22:38 well that's not right. 01:23:00 extend :: ((c <~ b) -> b) -> (c <~ a) -> (c <~ b) 01:23:10 extend :: ((b -> c) -> b) -> (a -> c) -> (c -> b) 01:23:24 ok that is definitely _not_ an instance :D 01:23:26 i believe the Cont monad comes out of treating (-> e) as its own adjoint functor 01:23:29 wait 01:23:34 that's actually extendable functors 01:23:40 argh, edward kmett 01:23:44 put the comonad class first :( 01:23:52 ugh it's split in two 01:24:29 elliott_: yeah see I had no idea that spades slick was exiled from the dark kingdom of the trolls' instance of the game. 01:24:43 along with the rest of the midnight crew. 01:24:51 CakeProphet: that's actually _revealed_ in the recap, IIRC 01:25:11 CakeProphet: protip: if you see something you have _absolutely_ no recollection of in a recap 01:25:13 it's probably revealed there 01:25:16 hussie = total asshole 01:25:17 :D 01:26:05 oh wait 01:26:13 CakeProphet: it actually is, in the /intermission/: http://www.mspaintadventures.com/?s=6&p=003174 01:26:23 but it's not clear that that planet is the trolls' there, of course 01:26:36 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:27:21 CakeProphet: so yeah, if that's the only thing that you didn't realise was happening in the recap, you're an A+ reader :P 01:27:55 although not understanding [S] Jack: Ascend. until it's elaborated upon is perfectly understandable. them flashes be dense. 01:31:46 elliott_: Could I get your opinion on a hypothetical not-fucking-terrible way of specifying a build system? 01:32:04 pikhq_: define specifying 01:32:28 elliott_: ... Here, I'll just link. 01:32:30 http://sprunge.us/OcFX 01:33:13 pikhq_: needs more ai-make 01:33:34 srsly, this is a perfectly fine file format, but it should be generated :P 01:33:51 True, rather a lot of it could be generated. 01:33:51 also is this tcl, the $:: kind of gives it away 01:34:15 When I think "domain-specific language" my mind jumps to Tcl. 01:34:17 pikhq_: but yeah i mean its perfectly "fine" except for the specification of c++-sources which needs automating, its just that id rather write almost none of it 01:34:25 if ai-make spit this out id be perfectly happy 01:34:31 use-tools {c++ c++0x} {c c99} 01:34:35 pikhq_: unnecessary, it can infer this from the rules 01:34:38 (make them declarative) 01:34:46 s/c++-sources/c++ sources/ 01:34:49 so you can also say e.g. 01:34:52 c++ flags ... or whatever 01:34:59 or even 01:35:04 c++ needs some-gcc-extension 01:35:21 pikhq_: link-with <-- do you need this? it seems like you could make an obvious default 01:35:34 Probably not *need*, no. 01:35:43 s/use-tools windres \n windres-sources resource.rc/windres sources resource.rc/ 01:35:46 like I said :P 01:35:56 cd ui-gameboy <-- gross, makes me think imperative 01:35:59 try in-directory or similar 01:36:12 pikhq_: i'll just do a partial rewrite :P 01:36:34 pikhq_: how does Tcl alias a function? 01:37:00 elliott_: In what sense? As in, "create an alias for some other function"? 01:37:05 yeah 01:37:25 pikhq_: or actually 01:37:28 pikhq_: how do you override a function? 01:37:29 that is 01:37:31 define a new function with the same name 01:37:34 but keeping a ref to the old one 01:37:35 so you can call it 01:37:56 rename foo bar 01:38:07 This changes the name of proc "foo" to "bar". 01:38:15 so just rename it to something obscure? :p 01:38:27 Or rename it to something in your own namespace. 01:39:03 rename proc ::ohHolyGodIt'sReplacingProc::_proc 01:39:35 what does the install-extra block do? 01:39:41 specify that it should only be installed with some configurations? 01:40:10 Just files that should be installed, but aren't obvious from the declaration of the program. 01:40:49 what is the abi-evrsion part of libsnes for? 01:40:51 version 01:40:58 shared library field of somekind? 01:41:00 some kind 01:41:19 Shared library versioning. 01:41:39 So, the name of the actual library, soname, etc. 01:41:57 if {$::uiplatform == windows} { 01:41:57 export define PHOENIX_WINDOWS 01:42:02 what does export mean 01:42:07 define it in everything using this module? 01:42:11 Yeah. 01:43:12 what does convenience-module do? 01:43:24 Uh, nix that. 01:43:25 and how does "depends modules" act differently to "use-modules"? 01:43:40 And that should be use-modules. 01:45:14 with-args is very low-level... 01:45:28 what's the one/zero thing 01:45:29 second element 01:45:45 also you have "useplatform" where you mean "uiplatform" 01:45:45 Default. 01:46:40 So, the default arguments would be the same as "--with-bsnes --without-bgameboy --without-libsnes", and I didn't end up defining defaults on uiplatform or profile. 01:47:20 http://sprunge.us/Afjb 01:47:21 i made it suck less 01:47:35 # oh and you can also say "c++ needs some-library-name", or something like that 01:47:36 disregard this 01:47:40 i made it more concrete and used it later 01:48:31 Nice work. 01:49:30 Though the implementation might end up having to be more complex, what with that conflating both "-lfoo" and "pkg-config --libs foo". 01:49:34 Feh, could be done, though. 01:49:52 Check if there's a pkg-config file for "foo" and use that if so, otherwise use -lfoo. 01:49:56 pikhq_: Those should be conflated. 01:49:59 And it should be more than that. 01:50:03 Consider programs which have their own -configs. 01:50:06 Erm 01:50:07 Libraries 01:50:13 And those which are composed of multiple libraries, etc. 01:52:42 So now it needs a heck of a lot of logic for handling libraries. Bleck. 01:53:05 so what 01:54:29 Hmm. Trying to think of a sane bit of implementation logic. (that is, doing something *other* than having literally a seperate definition for every single library) 01:55:49 Probably something like "If there's a file defining how to use library 'foo', use that, otherwise if there's a pkg-config file for 'foo', use that, otherwise use '-lfoo' and hope it works."? 01:56:20 it should be haskell not tcl imho hand 01:59:12 Already, though, this looks a few multiples better than other build systems. 01:59:58 imo the file format can literally just be a show'd haskell data structure though because it's only useful with ai-make ;) 02:00:19 You and your ai-make. :P 02:00:42 ya 02:18:08 -!- ralc has quit (Quit: Leaving). 02:33:21 hmm, one and a half hours to go 02:36:29 and then... BOOM 02:37:34 boom 02:38:24 pretty much yes 02:53:50 -!- Sgeo has joined. 02:56:23 oh god ray24 came back 02:56:32 why didn't we re-scare them off 02:56:43 03:53:18: And you decided to resolve this dilemma by asking for the appropriate reaction on a channel you've never been to? :P 02:56:49 oh they've been here 02:56:55 03:56:32: of my 18 years of life.. i've not once heard/seen/smell the fart of a girl 02:56:55 uh 02:57:01 wow this guy is incoherent 02:57:55 04:33:00: Program isn't a challenge. the only challenge is my motivation! 02:57:55 04:33:18: yo.. 02:57:55 04:33:26: I came here I thought esoteric was hip hop 02:57:55 04:33:30: honestly. 02:58:00 this is the best 02:59:10 04:59:12: I cannot believe how much filler words they have in that book 02:59:10 05:00:14: maybe I just got a high IQ or something iono! 02:59:13 this is the literal best 02:59:15 Sgeo: btw hamsteak updated 02:59:31 elliott_: I lol'd furiously. 02:59:32 ty 02:59:40 05:10:05: So a lisp represents inputs that you feed it 02:59:40 05:10:22: maybe a lisp could also interpret my algorithm 02:59:40 05:10:27: interesting 02:59:40 05:11:01: I wasn't a programmer 1 hour ago.. but I might be a programmer in the next 24 hours 02:59:43 anything is possible if you're an idiot 02:59:46 that's my life motto 03:00:01 05:17:55: I'll become a good programmer within a month 03:00:01 05:17:57: no problem, 03:00:01 05:18:02: Not even a challenge 03:00:01 05:18:20: Seems pretty easy so far 03:00:01 05:19:45: Brb I'm gonna hop the hence behind my yard and jump the cows 03:00:02 what 03:00:09 what is this even 03:00:15 is this guy high 03:00:36 06:06:02: are you a hacker? 03:00:36 06:06:26: break codes.. conduct illegal stuff 03:00:37 06:06:36: adding virus to mp3 files 03:00:39 06:06:41: corrupting sys files 03:00:42 ADDING VIRUS TO MP3 FILES 03:00:49 elliott_: see my comments below... 03:00:54 this is just amazing om 03:00:54 g 03:00:57 * oerjan is slightly annoyed by people using "isomorphism" to prove TC-ness of languages when the correspondence is not actually invertible 03:01:10 oerjan: it's one of them one-way ismorphisms 03:01:14 oerjan: change them all to "injection" :-P 03:02:14 07:10:42: Is it possible to determine at compile time where overflows could potentially happen 03:02:15 07:10:55: I know there's a C extension, Cyclone or something, that does it 03:02:15 07:11:18: Patashu: Halting problem. 03:02:17 pikhq_: _sigh_ 03:02:20 ...it's not even that, necessarily 03:02:28 So a lisp represents inputs that you feed it 03:02:34 oerjan: can u ban ppl who say halting problem in response to any static analysis task thx 03:02:38 elliott_: what does that even mean? can you tell me? 03:02:52 CakeProphet: i don't even know 03:03:01 07:48:23: smoke ganja? 03:03:01 totes 03:03:03 *what is this i don't even 03:03:15 brb, gotta compose a song it's urgent 03:04:50 arborealis reminds me a little of V 03:04:50 -!- elliott_ has quit (Read error: Connection reset by peer). 03:28:49 -!- myndzi has quit (Remote host closed the connection). 03:35:19 oh god act 5... 03:35:26 I DON'T WANT TO READ ABOUT TROLLS. 03:35:49 I was already tired of reading their chat logs. 03:36:33 It might be easier once you start to get to know them? 03:42:27 all.. twelve? 03:42:27 -!- elliott has joined. 03:42:41 -!- myndzi has joined. 03:49:55 Yes, there are 12 03:51:31 song composed, universal balance restored 03:52:35 wooho 03:52:36 o 03:52:44 is it a good song 03:52:56 also wow ray24 is amazing 03:55:27 monqy: its the best thing anyone has ever written 03:55:32 also yeah, he's zepto 04:00:13 2011-03-01 04:53:07( elliott) 07:57:56 Nor the banal x64. 04:00:13 2011-03-01 04:53:08( elliott) dobel 04:00:25 elliott: though, as pikhq_ and I discussed afterwards, placing a virus inside of an mp3 file is not out of the question. 04:00:34 CakeProphet: Of course, but lol. 04:00:39 yes I know. :P 04:00:46 Deewiant: dobanalx64 04:01:43 Deewiant sure is writing a lot in response 04:02:05 8.3 04:02:21 Deewiant: how long did it take you to type that 04:02:27 ~1 04:02:43 also, what sixty-four bit OSes are there with a 8.3 limitation? 04:02:51 Beats me 04:02:53 second question: that dobelx64 runs on? 04:03:00 elliott: http://en.wikipedia.org/wiki/File:Internet_superheroes.jpg the most important people on the internet. 04:03:19 CakeProphet: nonsense, none of those look like famous bisexuals 04:04:03 -!- myndzi\ has joined. 04:04:48 -!- myndzi has quit (Ping timeout: 240 seconds). 04:04:50 elliott: also why doesn't Andrew Hussie have a Wikipedia article, but MSPA and Whistles do. 04:05:04 and all of the other self-sustained webcomic artists on this article do. 04:05:22 because of racism 04:05:35 except Dave Stanworth from Snafu Comics, whatever the fuck that is. 04:43:07 -!- augur has quit (Remote host closed the connection). 04:45:20 -!- augur has joined. 05:19:53 -!- Lymee has quit (Ping timeout: 258 seconds). 05:30:28 -!- yiyus has quit (Ping timeout: 240 seconds). 05:31:53 -!- sebbu has quit (Read error: Connection reset by peer). 05:32:20 -!- sebbu has joined. 05:49:37 Hello? 05:50:30 Goodbye? 05:50:30 -!- augur has quit (Remote host closed the connection). 05:50:46 I need to procrastinate writing something. Say something. 05:50:59 sjdsd 05:57:36 * pikhq_ can has hacked together piece of shit build system, that definitely needs to be much smarter. Much much smarter. 05:57:42 elliott: So, tell me. ai-make. 05:58:23 pikhq_: does it use tup? 05:58:27 your build system 05:58:46 elliott: No, but only because what I have is more of a prototype than anything else. 05:58:55 make it spit out tup :P 05:59:17 I feel the only options are to make it output tup or to do my own beta build system. 05:59:40 And tup has the advantage of it already working very well. 06:00:50 tup has the disadvantage of triggering a bug in Debian's fuse, though. 06:00:59 report it? 06:01:15 I found out that it was a bug by finding the Debian bug report. 06:01:26 I mean report it to tup 06:01:28 for a workaround 06:01:30 Aaah. 06:01:55 It's breaking pretty much every unmount of a fuse filesystem, so... 06:03:21 *facepalm* 06:03:38 "use umount --fake to update /etc/mtab" 06:03:48 -!- Lymee has joined. 06:03:58 Debian's umount doesn't do --fake. 06:05:13 *Aaaah*. 06:05:41 fuse should have a dependency on mount >= 2.19, but it doesn't. 06:05:45 is that simon's yogscast noise 06:05:50 AAAAH A UMOUNT KITTEN 06:06:12 And guess what's not in Wheezy? 06:07:08 young wheezy as in like... lil' wayne? 06:07:08 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628735 06:07:27 *weezy actually 06:07:33 and lil wayne, even. 06:07:41 It's a Toy Story character, you uncultured fuck. 06:07:43 CakeProphet: No, as in the character in Toy Story. 06:07:51 `addquote It's a Toy Story character, you uncultured fuck. 06:07:54 yeah I just added my own line 06:07:55 455) It's a Toy Story character, you uncultured fuck. 06:07:56 deal w/ it 06:08:03 Sorry, Toy Story *2*. 06:08:09 oh that's why I don't it. 06:08:16 because anything > 1 is SHIT. 06:08:26 CakeProphet: Pixar defeats your notions of "bad sequels". 06:08:27 -!- Lymee has quit (Ping timeout: 276 seconds). 06:08:28 what 06:08:33 have you even seen the toy story sequels 06:08:36 nope. 06:08:36 they are the best 06:08:38 this is how I know. 06:08:41 -!- aloril has quit (Ping timeout: 250 seconds). 06:08:59 2 is better than 1, and 3 is better than 2. Any further questions? 06:09:07 I know because I haven't seen them. You can attempt a rebuttal but it will swiftly smitten by my immaculate logic. 06:09:13 *be swiftly 06:09:22 That's theist logic right there. 06:09:36 pikhq_: I was really pleasantly surprised by 3, I was afraid it was going to be a "LOL IT IS BACK AND THE INTERNET IS A THING NOW: LOOK AT THESE INTERNET REFERENCES: THE MOVIE" 06:09:37 I am such a good writer. I should start on this writing thing, that I am good at. 06:10:12 There will be no typos. Nope. I won't even bother proofreading it three times like I normally one. It's a waste of time because I never make mistakes when I type. 06:10:19 s/one/would/ 06:10:44 publish a book with s///s in 06:11:01 elliott: Yeah, pretty surprising that they made it not merely good, but great. A freaking sequel to a sequel. 06:11:10 Aaah, the power of giving a damn. 06:11:50 -!- Lymee has joined. 06:13:03 This unabashed Toy Story idolatry is deeply disturbing to me. 06:13:19 (as you can see, I am preparing myself for writing mode) 06:13:24 Dammit you discovered my secret fake Toy Story fetish. 06:13:29 CakeProphet: It's Pixar idolatry, actually. 06:13:43 PIXAR HATH DONE NO WRONG 06:13:49 pikhq_: excuse me they made cars 06:13:51 and are making a sequel to cars 06:14:18 elliott: Oh, right, Cars was pretty solidly meh. 06:14:31 oh they also got owned by Disney, which is wrong. 06:14:48 What does that mean 06:14:55 elliott: Disney bought them out. 06:15:02 I mean what does "which is wrong" mean 06:15:13 morally 06:15:14 elliott: it is a normative qualifier applied to the previous action. 06:15:21 monqy: yes but how 06:15:28 in response to pikhq_ saying that PIXAR HATH DONE NO WRONG. 06:15:32 CakeProphet: Disney has ceased their crimes against art. 06:15:39 CakeProphet: Because Pixar hath taken over. 06:15:53 elliott: crimes against art, apparently 06:15:58 monqy: zepto 06:16:20 No, I refuse to defend my normative assertions with petty logic defenses. It is a waste of time 06:16:33 -!- Lymee has changed nick to Lymia. 06:16:34 -!- Lymia has quit (Changing host). 06:16:34 -!- Lymia has joined. 06:16:39 Disney is evil, which is self-evident. 06:16:40 -!- Lymia has changed nick to Lymee. 06:16:41 ur a normative aspen 06:16:48 -!- Lymee has changed nick to Lymia. 06:17:17 CakeProphet: Disney is primarily guilty of crimes against art. The artists have conquered Disney. Any further questions? 06:17:18 I should sleep soon. I blame CakeProphet for keeping me awake. 06:17:56 apex 06:17:58 aplomb 06:18:00 archaeostry 06:18:04 vicious 06:18:05 cobbley 06:18:12 tartan 06:18:19 aaavct 06:18:23 Deewiant: vector 06:18:34 amiably 06:18:39 incandescent 06:18:48 nock 06:18:54 petulant 06:18:57 -!- FireFly has joined. 06:18:58 orgiastic 06:19:02 oppenheimer 06:19:04 pastures 06:20:16 cockalorum 06:20:24 -!- aloril has joined. 06:20:31 affluent 06:20:33 acrid 06:20:35 arsenic 06:20:39 apiculture 06:20:41 apeirj 06:20:44 -!- pikhq has joined. 06:22:03 legerdemain 06:22:05 lifeblood 06:22:17 ruse 06:22:23 ferrofluid 06:22:23 chicanery 06:22:23 vast 06:22:26 cardigan 06:22:31 lol... 06:22:33 syzygy 06:22:37 darkening 06:22:53 gantry 06:22:54 -!- pikhq_ has quit (Ping timeout: 246 seconds). 06:22:59 quintuple 06:23:04 archaeologist 06:23:07 CakeProphet: words channel 06:23:19 lexicon 06:23:22 lackluser 06:23:32 ....GOD DAMNIT 06:23:35 what 06:23:36 there is a word I am looking for 06:23:38 and I cannot think of it. 06:23:39 heh 06:23:42 what does it mean 06:23:46 uh... shit I don't even remember. 06:23:51 lol 06:23:53 ah 06:23:54 vainglorious 06:23:57 there it is. 06:24:06 meaning is quite clear. 06:24:08 In Python, can you make a tuple containing itself? 06:24:11 yes. 06:24:18 no 06:24:20 tuples are immutable 06:24:22 Python is dynamically typed, values can go anywhere values can go. 06:24:25 no 06:24:26 oh wait 06:24:26 tuples are immutable 06:24:28 containing itself. 06:24:31 hmm 06:24:31 nevermind... 06:24:33 it might be possible 06:24:38 no it's not... 06:24:41 C modules? 06:25:03 x = (x,) ? 06:25:08 >>> x = [(),()] 06:25:08 >>> x[0] = x 06:25:08 >>> x.__class__ = tuple 06:25:09 Traceback (most recent call last): 06:25:11 File "", line 1, in 06:25:13 TypeError: __class__ assignment: only for heap types 06:25:15 so close :D 06:25:16 Oh, this machine is just being slow 06:25:17 Deewiant: nope 06:25:19 Deewiant: x is unbound 06:25:21 I thought it inflooped 06:25:25 But it just took 5 seconds to error 06:25:44 hmm 06:25:49 you can always use ctypes to bind to the python api 06:26:23 >>> x = [1,2,3] 06:26:30 >>> x.append(x) 06:26:33 int PyTuple_SetItem(PyObject *p, Py_ssize_t pos, PyObject *o)¶ 06:26:33 Insert a reference to object o at position pos of the tuple pointed to by p. Return 0 on success. 06:26:35 >>> x = tuple(x) 06:26:38 >>> print x 06:26:42 ... 06:26:49 yeah that won't work 06:26:56 >>> tuple([(),[9]]) 06:26:56 ((), [9]) 06:26:59 it would just contain a reference to the x list 06:27:03 right 06:27:11 OK so I need to bind to PyTuple_SetItem. 06:27:13 you'd have to like, map tuple recursively. 06:27:23 which wouldn't halt unless you make it a generator. 06:27:39 See, this is why Haskell > Python. 06:27:49 well duh. 06:28:38 >>> py.PyTuple_SetItem(id(x), 0, id(x)) 06:28:38 Segmentation fault 06:28:58 Python is designed for programmers whose feeble minds are destroyed by any type of "unreadable" code or "difficult to follow" semantics. 06:29:19 oh wait 06:29:22 i'm fucking up the call somehow 06:29:46 >>> help(py.PyTuple_SetItem) 06:30:11 elliott: try that with a print 06:30:32 aha i've got it 06:30:35 CakeProphet: that wont work its a bound c api 06:30:36 but ive got it 06:30:36 Strange, Python, like all imperative languages, has semantics that only make sense with years of immersion. 06:30:47 >>> print py.PyTuple_SetItem.__doc__ 06:30:55 IT'S AB OUND C API 06:30:57 IT HAS NO DOCUMENTATION 06:31:05 elliott: THERE ARE LOTS OF THOSE THAT HAVE DOCUMENTATION FOOL. 06:31:08 -!- zzo38 has joined. 06:31:13 CakeProphet: I LITERALLY LOADED IT WITH CTYPES 06:31:17 it reads from the shared object 06:31:20 which contains no documentation 06:31:22 because it is a binary 06:31:25 oh, well, okay then. 06:31:58 AttributeError: dlsym(0x7fff5fc43cc0, PyTuple_SET_ITEM): symbol not found 06:31:59 gah 06:32:14 it would be crazy to give Perl currying 06:32:15 ./tupleobject.h:#define PyTuple_SET_ITEM(op, i, v) (((PyTupleObject *)(op))->ob_item[i] = v) 06:32:16 lovely 06:32:35 so basically accessing an element of @_ that wasn't provided causes the subroutine to return a curried form. 06:33:10 so, what is the entire point of making a tuple an element of itself? 06:33:14 it would fuck up Perl's ability to omit parentheses on a lot of function calls. 06:33:18 lifthrasiir: absolutely none, really. 06:33:28 elliott, can you write that in Python with ctypes 06:33:38 Lymia: what do you think im trying to do :p 06:33:44 pikhq: actually, now that I think about it, you can't do this in Haskell either can you? 06:33:52 So, wait. 06:34:04 In theory you can write something as powerful as a C module in Python, right? 06:34:09 (Int, (Int, (Int, ...))) 06:34:27 explain powerful. 06:34:38 is infinite memory python turing complete? 06:34:39 CakeProphet: Yeah, it fails in the type system, sure enough. 06:34:42 CakeProphet, then why does pikhq think Haskell > Python for this thing? :p 06:35:18 dunno, ask him. :) 06:35:38 I think he was making that assertion in general though. 06:36:12 It was a general statement. 06:36:14 Patashu: yes. 06:36:16 it has bignums so yes. 06:36:19 i think he got the wrong example. (obviously i don't challenge that Haskell > Python...) 06:37:11 >>> x = [1];x.extend(x);print x; #chaos ensues 06:37:54 CakeProphet, that's [1, [...]]. Python's repr correctly handles recursive list. 06:38:03 and by chaos ensues I actually mean nothing interesting happens 06:38:04 (but for recursive *objects*, no.) 06:38:06 because that's just [1,1] 06:38:21 --wait, i read it append... 06:38:46 aha, wait 06:39:21 I was trying to use my Haskll-writing brain in my Python-writing reality, thinking that x.extend(x) would attempt to construct an infinite list. 06:39:25 looool. 06:39:25 not how it works. 06:39:47 argh god dammit 06:40:05 elliott: the problem here is that you're trying to use Python to do something silly. 06:40:08 python doesn't have laziness does it 06:40:13 fuk u 06:40:17 it does, but not all the time no. 06:40:35 generators/iterators are lazy. 06:40:47 itertools.cycle([1,2,3]) works like cycle in Haskell. 06:41:02 I guess generators kind of count yeah 06:42:00 yes, that's definitely a form of laziness compared to most languages capacities for such things. 06:42:40 gah this sucks 06:42:41 oh well 06:42:58 elliott: yeah don't use Python, dude. 06:43:04 good advice 06:43:09 bet i couldn't do it in perl either 06:43:22 Perl doesn't even have that shit what are you talking about. 06:43:30 that's an undefined task in Perl. 06:43:38 precisely 06:43:41 couldn't even do it 06:43:49 doesn't need to because it's so awesome. 06:46:05 -!- Vorpal has joined. 06:46:41 sub list { [1,[2,[3,list]]] } 06:46:49 bam. something you would never ever want to use. 06:48:43 sub list { my $x=[1,[2,[3]]]; push @{$x->[1]->[1]}, $x; $x } 06:48:52 infinite linked list in Perl, but you would never ever want to use such a thing. 06:52:02 struct list {int car;struct list *cdr;} list = {0, &list}; 06:52:18 I was once asked to correct a hard drive testing and wiping program to do a asynchronous SMART test on the drive. It was written in Python. There was some list of functions that returned process objects and then the main loop was checking which are done, checking success/failure, and yield. 06:52:29 CakeProphet, isn't that just a circular linked list? 06:52:32 which can be useful 06:52:35 zzo38: cool story bro 06:53:08 Vorpal: True. It's a lot harder to pull off many of Haskell's more interesting linked lists. 06:53:12 This new one worked in a different way but I just made the new function "class" instead of "def". I don't know if this is the proper way that proper Python programmers would do it, but it worked. 06:53:16 Such as the entire Fibonacci sequence. 06:53:27 pikhq, how does that one work 06:53:27 pikhq: O, now you can make it in C as well. 06:53:50 zzo38: It's *doable*, sure, just not easy. 06:53:52 I also would like to learn about it, how to make the Fibonacci sequence with that way. 06:54:23 !haskell let fibs = 0:1:zipWith(+)fibs(tail fibs) in fibs 06:54:36 IIRC 06:54:37 hm... 06:54:53 > let fibs = 0:1:zipWith(+)fibs(tail fibs) in fibs 06:54:54 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 06:54:58 > fix ((0:) . scanl (+) 1) 06:55:00 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 06:55:08 :t scanl 06:55:09 forall a b. (a -> b -> a) -> a -> [b] -> [a] 06:55:16 Ah, right, lambdabot. 06:55:17 what does scanl do? 06:55:27 > scanl (*) 1 [1..] 06:55:28 [1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800... 06:55:39 uh 06:55:42 what 06:55:59 you don't recognize the sequence? 06:56:28 1*1 = 1, 1*2 = 2, 2*3 = 6? 6*4 = 24 06:56:29 aha 06:56:38 > map (foldl (*) 1 . enumFromTo 1) [1..] 06:56:39 [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8... 06:57:23 Deewiant: that's going to be a bit slower 06:57:29 oerjan, so scanl is something in between foldl and map? 06:57:35 oerjan: Just demoing 06:57:44 Vorpal: It's foldl but keeping intermediate results 06:57:44 :t enumFromTo 06:57:45 forall a. (Enum a) => a -> a -> [a] 06:57:49 enumFromTo a b = [a..b] 06:57:50 Deewiant, righ 06:57:52 right* 06:57:57 zzo38: using a class as a fancy kind of function is done by "real Python programmers", for what it's worth 06:59:06 "real Python programmers" <-- lol 06:59:41 a dashing bunch they are. 06:59:48 Funny, the only "real Python programmer" I know uses Python as an imperative functional language. 06:59:52 (he, ah, frightens me) 07:00:27 > nubBy(((>1).).mod)[2..] 07:00:31 mueval-core: Time limit exceeded 07:00:42 > nubBy(((>1).).mod)[2..] 07:00:45 mueval-core: Time limit exceeded 07:00:49 yes, if anything can be said about Python, it's gotten the whole "multi-paradigm" thing well done. 07:00:50 erm 07:00:59 oerjan: You can't nub an infinite list 07:01:05 yes you can 07:01:08 :t nubBy 07:01:08 forall a. (a -> a -> Bool) -> [a] -> [a] 07:01:11 whaaat? 07:01:20 Oh, right, of course you can 07:01:22 > nubBy(((>1).).mod)[2..] 07:01:23 -!- augur has joined. 07:01:24 CakeProphet: OK. I was just wondering. As it happened, it did work. (The thing was that the program to start the test terminates immediately, and the drive itself performs the test. Later on you need to run it again to get the results (the man page says what the result codes mean). So I just made it "class" that keeps its own timing and then checks the result and tries to act like a process object) 07:01:25 mueval-core: Time limit exceeded 07:01:31 what does nubBy do? 07:01:35 :t nubBy(((>1).).mod)[2..] 07:01:35 :t filter 07:01:36 forall a. (Integral a) => [a] 07:01:36 forall a. (a -> Bool) -> [a] -> [a] 07:01:38 well 07:01:39 > nub [2..] 07:01:40 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:01:50 > nubBy (==) [2..] 07:01:51 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:01:54 pikhq: What is the programmer you know uses Python as imperative functional language? 07:02:01 :t nub 07:02:02 forall a. (Eq a) => [a] -> [a] 07:02:08 maybe i'm misrembering the code 07:02:14 oh duh 07:02:15 Deewiant, I don't see any difference to just [2..] there 07:02:16 zzo38: Friend of mine who's not generally on #esoteric. 07:02:21 :t nubBy(((>1).).gcd)[2..] 07:02:22 forall a. (Integral a) => [a] 07:02:23 > [2..] 07:02:24 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:02:24 > nubBy(((>1).).gcd)[2..] 07:02:26 [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... 07:02:34 > nub [1..] 07:02:35 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 07:02:43 yay it's the id function! 07:02:48 heh 07:02:54 no 07:02:55 Does he frightens you? 07:02:58 oerjan: I think it's just not liking your list of prime numbers. 07:03:02 > nubBy (((0==).) . mod) [2..] 07:03:03 so what does nub do 07:03:04 [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... 07:03:09 zzo38: His skill does. 07:03:19 > nub "no nub is not identity" 07:03:20 "no ubistdey" 07:03:21 pikhq: In what way? 07:03:45 oerjan, heh... Doesn't quite answer what it does still 07:03:55 zzo38: I'd say he has Gregor-like skillz. 07:04:02 oerjan, oh unique elements? 07:04:06 > nub (replicate 100 'x') 07:04:07 > nub [1,2,1,3] 07:04:07 "x" 07:04:08 [1,2,3] 07:04:12 > nub [1,1,1,1] 07:04:13 [1] 07:04:23 So, yeah. Just very, very good at programming. 07:04:24 looks like it discards dupes 07:04:35 bbl 07:06:17 I need to work on being very, very good at programming. 07:06:20 yup that's what nub does 07:07:05 aah, and nubby uses a comparison other than identity 07:07:06 clever 07:07:19 CakeProphet: Yes probably you should. And I should learn too. And also everyone else that is programming. 07:07:55 I am taking steps by learning more languages. Perl is the most recent one. Very soon I will be fleshing out my regular expression language in Haskell. 07:08:00 which should give me more Haskell experience. 07:08:12 > nubBy (0== . mod .) [2..] 07:08:13 Patashu: it's a little abuse to use it with a non-equivalence relation 07:08:13 : parse error on input `.' 07:08:18 -!- Slereah has joined. 07:08:22 -!- monqy has quit (Quit: hello). 07:08:25 > nubBy (0== . . mod ) [2..] 07:08:25 : parse error on input `.' 07:08:26 > nubBy (((0==).) . mod) [2..] 07:08:28 [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... 07:08:36 yeah, I was trying to reconstruct it by hand 07:08:41 the .s and ()s are kind of hmmmm 07:08:53 You need to bracket operator sections 07:09:01 multiple nearby .'s kind of scare me in Haskell 07:09:06 I have a hard time figuring out what is happening. 07:09:07 it slides it into the opening I guess? 07:09:16 > nubBy (\x y -> x `mod` y == 0) [2..] 07:09:17 [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101... 07:09:23 ?unpl ((0==).).mod 07:09:23 (\ e h -> 0 == (mod e h)) 07:09:40 > nubBy (0== .( . (mod)) ) [2..] 07:09:41 : parse error on input `.' 07:09:53 opposite doesn't work? 07:09:59 == and . are operators, you can't have them next to each other 07:10:05 > nubBy ((0==) .( . mod) ) [2..] 07:10:06 Couldn't match expected type `a -> GHC.Bool.Bool' 07:10:06 against inferred ... 07:10:12 ?unpl (0==) . (.mod) 07:10:12 (\ e -> 0 == \ h -> e (mod h)) 07:10:18 Patashu: operator sections always need parens. 0== . is always a parse error. 07:10:19 It seems that Haskell can make a lot of functional list processing to make infinite lists with numbers and this stuff, from these examples. There seems many ways to make it. 07:10:19 -!- Slereah_ has quit (Ping timeout: 240 seconds). 07:10:55 yes Haskell is very good at infinite lists. 07:11:16 > nubBy (\x y -> x `gcd` y == 0) [2..] 07:11:17 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:11:23 > nubBy (\x y -> x `gcd` y == 1) [2..] 07:11:24 [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,... 07:11:25 my Haskell bf interpreter uses an actual infinite tape. 07:11:31 Can you poke arbitrary values into memory and execute arbitrary addresses with Python's ctypes? 07:11:32 zzo38: Yeah, it comes pretty naturally with laziness. 07:11:33 as I'm sure most do. 07:11:39 > nubBy (\x y -> x `gcd` y == 2) [2..] 07:11:39 [2,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,5... 07:11:43 Lymia: I doubt it. 07:12:10 Patashu: you want > 1 for gcd 07:12:27 -!- elliott has quit (Remote host closed the connection). 07:12:30 yeah 07:12:33 just mucking with it 07:12:38 zzo38: For another example, see Lazy K. Which represents input in a pure functional language using an infinite list. 07:13:06 You just pass it an infinite list, and output the resulting list. 07:13:30 Patashu: http://docs.python.org/release/2.5.2/lib/ctypes-pointers.html 07:14:14 Have you any worked with API of LLVM? In which programming languages? I would like to learn some things about it, and how to make something with it. 07:14:19 > iterate((<**>[show.length,take 1]).group.show)1 07:14:20 No instance for (GHC.Num.Num [GHC.Base.String]) 07:14:20 arising from the literal... 07:14:33 > iterate(read.(<**>[show.length,take 1]).group.show)1 07:14:33 Couldn't match expected type `GHC.Types.Char' 07:14:34 against inferred type... 07:14:36 bah 07:14:55 > fix (\x:y:xs -> x+y) ([1]:1) 07:14:56 : parse error on input `:' 07:15:28 -!- Vorpal has quit (Ping timeout: 260 seconds). 07:15:36 > fix (\x:y:xs -> x+y) ([1]++1) 07:15:37 : parse error on input `:' 07:15:40 okay, other : then 07:15:50 * Patashu looks up lambdas 07:16:10 > fix (\(x:y:xs) -> x+y) [1,1] 07:16:11 Occurs check: cannot construct the infinite type: t = [t] 07:16:19 Patashu: need parens again 07:16:25 (x:y:xs) 07:16:27 aaah 07:16:34 ok I get why 07:16:48 > filter even [1..] 07:16:49 [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,... 07:16:49 > fix (\(x:y:xs) -> x+y) ([1..]) 07:16:50 Occurs check: cannot construct the infinite type: t = [t] 07:16:57 hmm 07:17:05 ?ty fix 07:17:06 forall a. (a -> a) -> a 07:17:09 ?ty \(x:y:xs) -> x+y 07:17:10 forall t. (Num t) => [t] -> t 07:17:26 > fix f ::Expr 07:17:26 f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (... 07:17:31 Patashu: ^ 07:17:40 *Aaaah*, fix. 07:17:46 okay 07:18:03 Everyone's favorite combinator. 07:18:49 > fix (1:) 07:18:49 [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,... 07:19:27 > fix (a+) ::Expr 07:19:28 a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (a + (... 07:19:39 (\(x:y:xs) -> x+y:x:y:xs) maybe 07:19:48 > fix (\(x:y:xs) -> x+y:x:y:xs) ([1..]) 07:19:49 Couldn't match expected type `[t1] -> t' 07:19:49 against inferred type `[t2]' 07:20:08 > fix (\(x:y:xs) -> x+y:x:y:xs) ([1]:1) 07:20:09 Couldn't match expected type `[[t1]] -> t' 07:20:09 against inferred type `[... 07:20:16 lol 07:20:22 Haskell really likes infinite lists... 07:20:30 yup 07:20:34 Haskell really likes infinite lists...* 07:20:41 No, just Haskell programmers... 07:20:46 I should go implement one in Python 07:20:49 -!- yiyus has joined. 07:21:21 Patashu: fix takes one argument, not two 07:21:23 > map (sum . take 2) . iterate (drop 2) $ [1..] 07:21:25 [3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99,1... 07:21:35 so how do I give it a starting condition? 07:21:39 you don't. 07:21:42 There is no starting condition 07:21:49 > fix f :: Expr -- again 07:21:50 f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (... 07:21:57 it recursively calls f 07:22:16 on, recursive calls of f 07:22:24 > [1]:1 07:22:24 No instance for (GHC.Num.Num [[t]]) 07:22:25 arising from a use of `e_111' at wrong way 07:22:32 oh 07:22:34 > 1:[1] 07:22:35 [1,1] 07:22:53 Haskell causes my brain to hurt. 07:22:56 > fix 07:22:57 Overlapping instances for GHC.Show.Show ((a -> a) -> a) 07:22:57 arising from a u... 07:22:58 er 07:22:58 I should use it more until it stops causing that. 07:23:05 > fix ("sup dawg" ++) 07:23:06 "sup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsup dawgsu... 07:23:29 with operator sections you can literally just imagine it as chaining together that bit of text infinitely. 07:23:32 > fix (\ ~(x:y:xs) -> 1:1:x+y:x:y:xs) 07:23:33 [1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,1,2,1,... 07:23:39 ~ ? 07:23:42 Lymia: It's kinda like lifting weights. It's going to make your brain sore, but that's just your brain getting better. 07:23:51 Patashu: Lazy match, basically 07:23:58 > fix ("LOOK BEHIND YOU " ++) 07:24:00 "LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIND YOU LOOK BEHIN... 07:24:11 > (\ ~(x:xs) -> 0) [] 07:24:12 0 07:24:15 > (\(x:xs) -> 0) [] 07:24:16 *Exception: :3:1-12: Non-exhaustive patterns in lambda 07:24:25 > fix (s ++) :: Expr 07:24:26 No instance for (Data.Monoid.Monoid SimpleReflect.Expr) 07:24:26 arising from a u... 07:24:26 > (\ ~(x:xs) -> x) [] 07:24:27 *Exception: :3:1-14: Irrefutable pattern failed for pattern (x... 07:24:28 ....awww 07:25:02 > fix ([s] ++) 07:25:03 [s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,... 07:25:20 Patashu: ~ is a lazy pattern. Meaning the pattern is not checked if it's not needing. 07:25:24 otherwise pattern matching is strict. 07:25:53 Patashu: Unlike a usual pattern match, it assumes the pattern match went through. So, it's perfectly lazy. However, if the pattern doesn't actually hold and you evaluate it, then you get _|_. 07:25:57 Patashu: in Deewiant's example the one without a lazy pattern errored because there was no pattern for [], even though the argument is never used. 07:26:08 what's like fix but lets you use an initial state/ 07:26:16 iterate I think. 07:26:18 :t iterate 07:26:19 forall a. (a -> a) -> a -> [a] 07:26:28 > iterate (+1) 1 07:26:29 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 07:26:33 > iterate (\(x:y:xs) -> x+y:x:y:xs) (1:1) 07:26:34 No instance for (GHC.Num.Num [t]) 07:26:34 arising from a use of `e_111' at Python lets you subclass array, right? 07:26:44 Patashu: right-hand argument of : is a list 07:26:46 > iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1]) 07:26:47 [[1,1],[2,1,1],[3,2,1,1],[5,3,2,1,1],[8,5,3,2,1,1],[13,8,5,3,2,1,1],[21,13,... 07:26:47 right 07:26:48 !python print "test" 07:26:50 test 07:26:50 woah lol 07:26:52 that sort of worked 07:26:54 XD 07:26:55 Lymia: list? yes. 07:27:08 > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:27:10 [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177... 07:27:12 > iterate (\(xs:x:y) -> xs:x:y:x+y) (1:[1]) 07:27:12 Occurs check: cannot construct the infinite type: t = [t] 07:27:27 > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1]) 07:27:28 No instance for (GHC.Num.Num [a]) 07:27:28 arising from a use of `e_111' at oh 07:27:32 -!- zzo38 has quit (Quit: #esoteric). 07:27:35 > map head ( iterate (\(x:y:xs) -> x+y:x:y:xs) (1:[1]) ) 07:27:36 [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177... 07:27:37 or 07:27:43 > map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:27:45 [1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,177... 07:27:49 Lymia: usually it makes things difficult though. you're better off using an internal list as an aggregate (if you will allow me to use Java speak...) and then simply define the methods you need yourself. 07:28:19 Lymia: but either way is fine. 07:29:14 > map head . iterate (\(x:y:xs) -> x*y:x:y:xs) $ 2:[1] 07:29:16 [2,2,4,8,32,256,8192,2097152,17179869184,36028797018963968,6189700196426901... 07:29:25 multiplication fibonacci! 07:30:21 fold zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:30:23 > intercalate ", " $ iterate (sequence[show.length, take 1]<= Couldn't match expected type `GHC.Types.Char' 07:30:24 against inferred type... 07:30:24 !python exec """class InfList(list):\n\tdef __init__(self,fun):\n\t\tself.fun=fun\n\t\tself.buffer={}\n\tdef __getitem__(self, index):\n\t\tif index in self.buffer:\n\t\t\treturn buffer[index]\n\t\ttemp=self.fun(index)\n\t\tself.buffer[index]=temp\n\t\treturn temp\nprint InfList(lambda x:x)""" 07:30:24 ​[] 07:30:39 oops 07:30:41 Patashu: most likely need more parens. 07:30:42 sheesh 07:30:42 > fold zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:30:42 Not in scope: `fold' 07:30:48 > foldl zip map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:30:49 Occurs check: cannot construct the infinite type: a = (a, b) 07:30:53 hah 07:31:07 > foldl . zip . map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:31:08 Couldn't match expected type `b -> [b1]' 07:31:08 against inferred type `[(a... 07:31:13 Patashu: Haskll can't magically discern when you're supplying arguments to a function and when you're passing functions to other functions. 07:31:22 I can't either 07:31:23 without parens. 07:31:24 @_@ 07:31:37 Patashu: if you would like a language that can do that, see Perl. :P 07:31:42 > foldl zip . map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:31:43 Occurs check: cannot construct the infinite type: a = (a, b) 07:31:45 granted Perl has the advantage of having proper first-class functions. 07:31:49 *not having 07:31:52 ?ty foldl zip 07:31:53 Occurs check: cannot construct the infinite type: a = (a, b) 07:31:53 Expected type: [a] 07:31:53 Inferred type: [(a, b)] 07:32:02 okay, so that's no good then 07:32:15 :t zip 07:32:16 forall a b. [a] -> [b] -> [(a, b)] 07:32:19 :t foldl 07:32:20 forall a b. (a -> b -> a) -> a -> [b] -> a 07:32:26 nope. 07:32:55 unless [a] = [(a,b)] 07:32:57 but it doesn't... 07:33:49 maybe some kind of monadic version of zip... 07:33:54 what on earth are you trying to do. 07:34:01 not sure 07:34:09 oh, well that might be your problem. 07:34:16 wait I remember now 07:34:29 for a list [a,b,c,d,e] I want to make [(a,b),(b,c),(c,d)] etc 07:34:48 > (zip`ap`tail) [a,b,c,d,e] 07:34:48 hmmm 07:34:49 [(a,b),(b,c),(c,d),(d,e)] 07:35:03 there you go. instant black magic from Haskell wizards. 07:35:07 wtf 07:35:11 jesus christ what is that 07:35:12 hahaha 07:35:19 :t ap 07:35:20 forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b 07:35:41 I'm guessing it relies on the monad instances for functions. 07:35:42 that, Patashu, is the -> Monad. 07:35:48 which I still don't really know about. 07:36:01 *instance 07:36:02 :t ap.($) 07:36:03 forall a b a1. (a1 -> a -> b) -> (a1 -> a) -> a1 -> b 07:36:15 :t zip`ap`tail 07:36:16 forall b. [b] -> [(b, b)] 07:36:22 huh 07:36:26 ?pl \x -> f x (g x) 07:36:27 ap f g 07:36:30 > (zip`ap`head) [a,b,c,d,e] 07:36:30 Couldn't match expected type `[b]' 07:36:31 against inferred type `SimpleRef... 07:36:36 huh 07:36:45 > (\x -> zip x (tail x)) [a,b,c,d,e] 07:36:46 [(a,b),(b,c),(c,d),(d,e)] 07:36:49 Patashu: yes if you plug in a function with a completely different type you will get a type error. :D 07:36:56 Patashu: Here's a hint: 07:37:00 they have different types? 07:37:01 :t head 07:37:02 :t tail 07:37:02 forall a. [a] -> a 07:37:03 :t (zip`ap`) 07:37:03 forall a. [a] -> [a] 07:37:03 forall a b. ([a] -> [b]) -> [a] -> [(a, b)] 07:37:06 wow, they do 07:37:07 oh wait 07:37:09 I want uhhh 07:37:12 :t init 07:37:12 forall a. [a] -> [a] 07:37:15 no not that one 07:37:18 oh wait yes that one 07:37:19 lol 07:37:25 > (zip`ap`init) [a,b,c,d,e] 07:37:26 [(a,a),(b,b),(c,c),(d,d)] 07:37:50 Deewiant: aah I see. 07:38:19 > join(zip.tail) [a,b,c,d,e] 07:38:21 [(b,a),(c,b),(d,c),(e,d)] 07:38:29 :t join 07:38:30 forall (m :: * -> *) a. (Monad m) => m (m a) -> m a 07:38:51 > join [[1,2,3],[4,5,6]] 07:38:52 [1,2,3,4,5,6] 07:39:06 monadic FLATTEN. 07:39:09 bam. 07:39:10 CakeProphet: different Monad 07:39:35 > join (Just (Just 5)) 07:39:36 Just 5 07:39:45 > \x -> x 07:39:46 Overlapping instances for GHC.Show.Show (t -> t) 07:39:46 arising from a use of `... 07:39:47 > join (Just Nothing) 07:39:48 Nothing 07:40:03 > (\x -> x) (1) 07:40:03 1 07:40:04 oerjan: better? :D 07:40:19 > (\ -> x) (1) 07:40:20 : parse error on input `->' 07:40:24 > (\ふぉお -> ふぉお) (1) 07:40:25 1 07:40:26 CakeProphet: still not the same monad as in join(zip.tail) :) 07:40:41 oerjan: oh, right... I was just showing what join does. 07:40:47 I /still/ don't know how function works as a monad. 07:40:51 (zip`ap`init) map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:40:58 oops 07:40:59 > (zip`ap`init) map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) 07:41:00 Couldn't match expected type `t -> a -> b' 07:41:01 against inferred type `[... 07:41:09 > (zip`ap`init) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) ) 07:41:11 [(1,1),(2,2),(3,3),(5,5),(8,8),(13,13),(21,21),(34,34),(55,55),(89,89),(144... 07:41:17 CakeProphet: it really just gives everything an extra argument, it's isomorphic to Reader 07:41:18 > (zip`ap`head) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) ) 07:41:19 No instance for (GHC.Num.Num [b]) 07:41:19 arising from a use of `e_111' at > (zip`ap`tail) ( map head . iterate (\(x:y:xs) -> x+y:x:y:xs) $ (1:[1]) ) 07:41:30 [(1,2),(2,3),(3,5),(5,8),(8,13),(13,21),(21,34),(34,55),(55,89),(89,144),(1... 07:41:44 oerjan: it gives everything an extra argument that has no effect? 07:42:45 :t (tail) >>= 07:42:46 parse error (possibly incorrect indentation) 07:42:51 :t ((tail) >>=) 07:42:51 @src >>= -> 07:42:52 Source not found. 07:42:52 forall a b. ([a] -> [a] -> b) -> [a] -> b 07:42:58 @src -> >>= 07:42:58 Source not found. 07:43:03 @src (->) >>= 07:43:03 Source not found. Take a stress pill and think things over. 07:43:08 @src (->) (>>=) 07:43:08 f >>= k = \ r -> k (f r) r 07:43:32 :t ((tail) >>=) (++) [1..] 07:43:33 bloody @src with its impossible to remember fickle syntax _and_ missing functions 07:43:33 forall a. (Num a, Enum a) => [a] 07:43:40 > ((tail) >>=) (++) [1..] 07:43:42 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:44:19 oerjan: ah, that's... difficult to think about. :: 07:44:50 but I see how the zip`ap`tail works 07:45:30 :t ap 07:45:31 forall (m :: * -> *) a b. (Monad m) => m (a -> b) -> m a -> m b 07:45:43 :t (+1) >>= 07:45:44 parse error (possibly incorrect indentation) 07:45:48 :t ((+1) >>=) 07:45:49 forall a b. (Num a) => (a -> a -> b) -> a -> b 07:45:55 :t ap zip 07:45:56 forall a b. ([a] -> [b]) -> [a] -> [(a, b)] 07:45:57 CakeProphet: if you understand how ski abstract elimination works, you can see that many of the monadic functions become versions of that for -> 07:46:05 :t zip 07:46:06 forall a b. [a] -> [b] -> [(a, b)] 07:46:10 e.g. ap is S, return is K 07:46:22 :t (+1) >>= (-) a :: Expr 07:46:23 Couldn't match expected type `Expr -> b' 07:46:23 against inferred type `Expr' 07:46:23 In the second argument of `(>>=)', namely `(-) a' 07:46:27 hmmmmmm 07:46:27 > (+1) >>= (-) a :: Expr 07:46:28 Couldn't match expected type `SimpleReflect.Expr -> b' 07:46:28 against infe... 07:46:34 :t ap zip tail 07:46:35 forall b. [b] -> [(b, b)] 07:46:46 >>= is a more complex combinator, but still just a combinator. 07:46:46 > (+b) >>= (-) a :: Expr 07:46:47 Couldn't match expected type `SimpleReflect.Expr -> b' 07:46:47 against infe... 07:46:50 :t (ap). (. tail) 07:46:51 forall a b a1. ([a1] -> a -> b) -> ([a1] -> a) -> [a1] -> b 07:47:00 :t ((ap). (. tail)) zip 07:47:00 forall a b. ([a] -> [b]) -> [a] -> [(a, b)] 07:47:08 woah, that makes something different 07:47:32 Patashu: zip`ap`tail is just a fancy syntactic sugar for writing ap zip tail 07:47:44 yes 07:47:48 ?quote aztec 07:47:48 quicksilver says: zip`ap`tail - the Aztec god of consecutive numbers 07:48:41 > (zipWith (+))`ap`tail [1..] 07:48:42 Couldn't match expected type `[a] -> [a]' 07:48:42 against inferred type `[t]' 07:48:52 ap flip( tail zip ) 07:48:59 oops 07:49:01 :t ap flip( tail zip ) 07:49:02 Couldn't match expected type `[a]' 07:49:02 against inferred type `[a1] -> [b] -> [(a1, b)]' 07:49:02 In the first argument of `tail', namely `zip' 07:49:09 :t (zipWith (+))`ap`tail 07:49:10 forall a. (Num a) => [a] -> [a] 07:49:15 :t flip 07:49:16 forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b 07:49:36 > (zipWith (+))`ap`tail $ [1..] 07:49:37 [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,... 07:49:40 > flip 3 / 2 07:49:40 -!- Lymia has quit (Excess Flood). 07:49:41 Overlapping instances for GHC.Show.Show (a -> f b) 07:49:41 arising from a use of... 07:49:46 > flip 3 - 2 07:49:46 Overlapping instances for GHC.Show.Show (a -> f b) 07:49:47 arising from a use of... 07:49:56 > flip minus (3 2) 07:49:56 > (zipWith (+))`ap`tail $ [0..] 07:49:57 Not in scope: `minus' 07:49:57 [1,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,5... 07:50:02 > flip subtract (3 2) 07:50:03 Overlapping instances for GHC.Show.Show (a -> a) 07:50:03 arising from a use of `... 07:50:09 > 3 - 2 07:50:10 1 07:50:15 > flip subtract 3 2 07:50:16 1 07:50:18 -!- Lymia has joined. 07:50:42 flip subtract 2 3 07:50:47 > flip subtract 2 3 07:50:49 -1 07:50:50 the addition of two consecutive integers is always odd. :) 07:50:53 how come it isn't flipping them 07:51:04 > subtract 2 3 07:51:05 1 07:51:11 woah 07:51:14 > (-) 2 3 07:51:15 -1 07:51:18 Patashu: "subtract 2 from 3" 07:51:21 > flip (-) 2 3 07:51:22 1 07:51:26 > flip (/) 2 3 07:51:27 1.5 07:51:33 > flip div 2 3 07:51:34 1 07:51:42 div does what? 07:51:46 maybe it's integer division 07:51:48 > flip div 2 4 07:51:49 2 07:51:52 yeah ok 07:52:03 > ap flip tail zip 07:52:04 Occurs check: cannot construct the infinite type: a = [a -> b] 07:52:13 > (zipWith (-))`ap`tail $ [0..] 07:52:14 [-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... 07:52:16 > ap flip tail zip [1..] 07:52:17 Couldn't match expected type `t -> a -> b' 07:52:17 against inferred type `[... 07:52:21 > ap tail zip [1..] 07:52:22 Couldn't match expected type `a -> b' against inferred type `[a1]' 07:52:26 > ap zip tail [1..] 07:52:27 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:52:31 the subtraction of two consecutive integers is always -1. :) 07:52:38 or 1 07:52:40 > ap (flip tail zip) $ [1..] 07:52:41 Couldn't match expected type `a1 -> a -> b' 07:52:41 against inferred type `... 07:52:49 is there a flip for functions? 07:52:55 yes, it's called flip. 07:53:10 ... 07:53:29 > ap zip tail [1..] 07:53:29 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:53:53 > ap flip (tail [1..]) zip 07:53:53 Couldn't match expected type `f (a -> b) -> a' 07:53:54 against inferred typ... 07:53:55 :t flip tail 07:53:55 Couldn't match expected type `a -> b' against inferred type `[a1]' 07:53:56 Probable cause: `tail' is applied to too many arguments 07:53:56 > flip ap tail zip [1..] 07:53:56 In the first argument of `flip', namely `tail' 07:53:57 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:54:04 Patashu: yeah you can't flip a one-argument function. 07:54:07 doesn't make sense. 07:54:29 so, wait 07:54:32 > ap zip tail [1..] 07:54:33 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:54:38 > flip ap tail zip [1..] 07:54:41 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:54:42 right? 07:54:49 why do I put the flip over THERE when the stuff it's flipping is over THERE 07:54:58 ...because flip flips the function arguments... 07:55:03 yep 07:55:04 you need to give it a function to flip. 07:55:08 ah 07:55:11 it's not magic 07:55:23 it can't know what to flip otherwise. 07:55:29 @src flip 07:55:29 flip f x y = f y x 07:55:37 @src ap 07:55:37 ap = liftM2 id 07:55:42 @src liftM2 07:55:43 liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) } 07:55:59 Patashu: that's a rather bad definition for ap, as far as understanding it. 07:56:00 > ((ap `flip` tail) zip) [1..] -- I sometimes like this style since then the `flip` is where the next argument goes 07:56:01 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 07:56:03 * oerjan watches Patashu digging himself deeper 07:56:45 so liftM2 lifts two values out of their context and applies them to a function 07:56:50 ap is the same but with no function 07:57:03 right, so the left-hand argument has to be a function in that case. 07:57:28 > tail [1..] 07:57:29 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:57:37 it applies a function wrapped in a monad to the other monad. 07:57:37 right 07:57:48 @src liftM 07:57:48 liftM f m1 = do { x1 <- m1; return (f x1) } 07:57:52 liftM tail [1..] 07:57:59 > liftM tail [1..] 07:57:59 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 07:58:00 arising from a use... 07:58:01 uh, no. 07:58:03 nope!!! 07:58:22 > liftM (+1) [1..] 07:58:23 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 07:58:44 :t (+1) 07:58:45 forall a. (Num a) => a -> a 07:58:46 :t tail 07:58:47 forall a. [a] -> [a] 07:58:51 > liftM show [1..] 07:58:51 ["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17... 07:59:07 :t liftM 07:59:08 forall a1 r (m :: * -> *). (Monad m) => (a1 -> r) -> m a1 -> m r 07:59:17 notice the type of the argument function. 07:59:24 and the monad types. 07:59:39 m a1 = [a1] in the case of the list monad. 07:59:54 liftM = map for lists 07:59:56 what about the function? 08:00:07 map tail [1..] 08:00:09 > map tail [1..] 08:00:09 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 08:00:10 arising from a use... 08:00:16 > map head [1..] 08:00:16 it operates on the "inner type", not the monad itself. 08:00:17 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 08:00:17 arising from a use... 08:00:28 Patashu: you're asking it to apply head to each number in that list 08:00:30 doesn't make sense. 08:00:31 oh yeah 08:00:31 ok 08:00:47 COMPUTER 08:00:49 @src zip 08:00:49 zip (a:as) (b:bs) = (a,b) : zip as bs 08:00:49 zip _ _ = [] 08:00:50 COM-PU-TER 08:00:52 COMPUTER SCIENCE 08:00:53 you can't give numbers head. 08:01:04 (ZING!) 08:01:19 CakeProphet: CHURCH DISAGREES! 08:01:26 (ZONG!) 08:01:46 yeah the church is all about giving head to cardinals 08:02:02 Patashu: liftM = (.) for functions 08:02:05 ..oh god 08:02:11 what have I done. 08:02:20 Anybody who didn't get my joke needs to leave :P 08:02:35 Gregor: wait what 08:03:01 oerjan: LAMBDA CALCULUS 08:03:19 ...what does that have to do with head 08:03:32 I know I'm pretty confused as well. 08:03:46 Church, numbers, lambda calculus, RECURSIVE DATA/CODE STRUCTURES 08:03:59 It was a Church numerals joke and you guys SUCK 08:04:36 > map head $ tails [1..] 08:04:37 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 08:04:41 :3 08:05:26 the elusive "heads" function. 08:05:43 lol 08:05:47 > [1..] 08:05:48 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 08:06:13 Patashu: what? you found it too! 08:06:20 argh! 08:06:27 No, that's different 08:06:32 > map head $ tails [] 08:06:33 [*Exception: Prelude.head: empty list 08:06:36 > tails [1..] 08:06:36 [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2... 08:06:39 LOL 08:06:41 go fig 08:06:59 > map tail [1..] 08:06:59 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 08:07:00 arising from a use... 08:07:06 vegeta, what does the scouter say about the cardinality of that set? 08:07:07 oh right lol 08:07:08 PROBABLY STILL COUNTABLE 08:07:26 * oerjan confirms countability 08:07:30 WHAT!? PROBABLY STILL COUNTABLE!!!!? 08:07:38 +ITS 08:07:47 nope, no +ITS 08:07:49 it's WHAT NINE THOUSAND 08:07:57 also 08:08:00 what's the opposite of init 08:08:06 last? 08:08:11 > last [1..] 08:08:14 ... 08:08:14 mueval-core: Time limit exceeded 08:08:16 lol 08:08:18 :D 08:08:31 :t lasts 08:08:32 Not in scope: `lasts' 08:08:34 darn 08:08:36 :t inits 08:08:37 forall a. [a] -> [[a]] 08:08:39 I think you want "reverse" 08:08:43 haha 08:08:48 > sort [1..] 08:09:06 > inits [1..5] 08:09:10 oops 08:09:26 thread killed 08:09:27 hey, it didn't time out 08:09:27 Patashu: might want to try some finite lists. 08:09:30 nice 08:09:35 I broke lambdabot 08:09:41 Patashu: that's a different timeout 08:09:43 > inits [1..5] 08:09:47 thread killed 08:09:51 mueval-core: Time limit exceeded 08:09:53 lol 08:09:55 > 1 08:09:56 1 08:10:02 > inits [1..5] 08:10:03 [[],[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]] 08:10:26 > iterate succ 1 --wooo, so many ways to write [1..] 08:10:27 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 08:10:46 > fix (1++) 08:10:48 Ambiguous type variable `a' in the constraints: 08:10:48 `Data.Monoid.Monoid a' 08:10:48 ... 08:10:50 > fix (1:) 08:10:52 [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,... 08:10:53 Patashu: whatis wrong with you. 08:11:24 > scanl1 (+) $ fix (1:) 08:11:25 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 08:11:48 > map last $ inits [1..] 08:11:49 [*Exception: Prelude.last: empty list 08:11:52 ooo, scan 08:11:57 I think that's something I wanted a while ago 08:12:02 > scanl1 (,) $ fix (1:) 08:12:03 Occurs check: cannot construct the infinite type: a = (a, a) 08:12:08 noo! 08:12:31 scan works like an accumulator of sorts. 08:12:35 aah 08:12:41 I was picturing a nondestructive fold 08:13:06 > scanl1 (*) $ scanl1 (+) $ fix (1:) 08:13:07 [1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,8... 08:13:20 is there such a thing? 08:13:45 what's destructive about folds 08:13:59 a fold gets rid of the value it uses 08:14:00 so it ends up with just one 08:14:28 scanl1 may be right, then 08:14:42 > foldl1 ($) (map (,) [1,3..]) [2,4..] 08:14:43 Occurs check: cannot construct the infinite type: a = a -> b 08:14:58 > zipWith ($) (map (,) [1,3..]) [2,4..] 08:14:59 [(1,2),(3,4),(5,6),(7,8),(9,10),(11,12),(13,14),(15,16),(17,18),(19,20),(21... 08:15:07 I'm picturing myfunc that goes myfunc f [a,b,c,d,e] -> [f a b, f b c, f c d, f d e] 08:15:17 maybe zipwith 08:15:18 hmmm 08:15:28 no zipWith takes two lists 08:15:33 but I can use that ap trick 08:15:37 > zipWith f`ap`tail $ [a,b,c,d,e] :: [Expr] 08:15:37 and make it take itself offset 08:15:39 [f a b,f b c,f c d,f d e] 08:15:42 yep 08:15:44 that's it ty 08:15:54 oh... I did that a while ago actually. 08:15:58 > zipWith ap (*) tail [1..] 08:15:58 Couldn't match expected type `[m (a -> b)]' 08:15:59 against inferred type `... 08:16:17 > zipWith (*)`ap`tail $ [1..] 08:16:17 [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5... 08:16:22 > zipWith ap (*) tail $ [1..] 08:16:23 Couldn't match expected type `[m (a -> b)]' 08:16:23 against inferred type `... 08:16:25 huh 08:16:27 Patashu: are you just stringing together function names...? 08:16:37 f`ap`tail is equivalent to ap f tail right 08:16:43 > ap (zipWith (*)) tail [1..] 08:16:44 [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5... 08:16:48 yes 08:17:14 so why does one work and one not 08:17:23 Patashu: but Haskell is not magical and can't discern what is applying to what. 08:17:28 hint: need moar parens 08:17:32 because zipWith (*) is f, not just (*) 08:17:39 > zipWith . ap (*) tail $ [1..] 08:17:40 Couldn't match expected type `a -> b -> c' 08:17:40 against inferred type `[... 08:17:50 > zipWith .( ap (*) tail $ [1..]) 08:17:51 No instances for (GHC.Num.Num [a -> b -> c], 08:17:51 GHC.Enum.En... 08:17:54 Patashu: erm i showed you above 08:17:55 > zipWith .( ap (*) tail) $ [1..] 08:17:55 Couldn't match expected type `a -> b -> c' 08:17:56 against inferred type `[... 08:17:57 I know 08:18:01 I want to do it without ` though 08:18:07 Patashu: i did that 08:18:08 he showed you that... 08:18:12 oh 08:18:24 aaah 08:18:24 ok 08:18:42 ap . zipWith (*) . tail $ [1..] 08:18:48 > ap . zipWith (*) . tail $ [1..] 08:18:49 Couldn't match expected type `a -> b' against inferred type `[a1]' 08:18:51 when you say stuff like zipWith ap (*) tail... it reads it like this (((zipWith ap) (*)) tail) 08:18:52 lol 08:19:01 > ap (zipWith (*)) tail $ [1..] 08:19:01 [2,6,12,20,30,42,56,72,90,110,132,156,182,210,240,272,306,342,380,420,462,5... 08:19:08 ?unpl app . zipWith (*) . tail 08:19:08 (\ c -> app (zipWith (*) (tail c))) 08:19:29 ?unpl app (zipWith (*)) . tail 08:19:30 (\ c -> app (zipWith (*)) (tail c)) 08:20:03 !perl print map {chop;$_} keys qw(abc def ghi jkl mno pqr) 08:20:03 Type of arg 1 to keys must be hash (not list) at /tmp/input.22685 line 1, at EOF 08:20:18 ...wat, lists are hashes fool. 08:20:36 !perl print map {chop;$_} keys %{{qw(abc def ghi jkl mno pqr)}} 08:20:37 mnabgh 08:20:54 > ap (zipWith (\x,y => (x,y)) tail $ [1..] 08:20:55 : parse error on input `,' 08:20:59 > ap (zipWith (\(x,y) => (x,y)) tail $ [1..] 08:21:00 : parse error on input `=>' 08:21:04 > ap (zipWith (\(x,y) -> (x,y)) tail $ [1..] 08:21:05 : parse error (possibly incorrect indentation) 08:21:07 :< 08:21:15 What was the syntax again? 08:21:16 Lymia: one more ) 08:21:28 > ap (zipWith (\(x,y) -> (x,y))) tail $ [1..] 08:21:29 Couldn't match expected type `b -> c' 08:21:29 against inferred type `(t, t1)' 08:21:38 > ap (zipWith (\x -> X)) tail $ [1..] 08:21:38 Not in scope: data constructor `X' 08:21:40 > ap (zipWith (\x -> x)) tail $ [1..] 08:21:40 Lymia: you could rewrite (\(x,y) -> (x,y)) as id 08:21:41 Occurs check: cannot construct the infinite type: b = b -> c 08:21:43 :c 08:21:54 I need to go back to that Haskell tutorial 08:22:01 Lymia: I think you want 08:22:04 (\x y 08:22:05 > ap (zipWith id) tail $ [1..] 08:22:06 Occurs check: cannot construct the infinite type: b = b -> c 08:22:23 Patashu: yeah that won't work. Sorry for misleading you. :P 08:22:25 lol 08:22:26 it's ok 08:22:48 Lymia: to specify multiple arguments you say (\a b c -> ...) 08:23:00 > ap (zipWith (\x,y -> (x,y))) tail $ [1..] 08:23:00 \(x,y) is one argument that is a tuple containing x and y 08:23:00 : parse error on input `,' 08:23:04 NOPE. 08:23:09 no comma 08:23:12 > ap (zipWith (\x y -> (x,y))) tail $ [1..] 08:23:13 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 08:23:15 > ap (zipWith (\x y -> (x,y))) tail $ [1..] 08:23:16 There we go. 08:23:16 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 08:23:17 damn 08:23:19 lymia got it before me 08:23:29 see also: (,) 08:23:44 > ap (zipWith (\x y -> (x,y))) (\x -> tail $ tail $ tail $ x) $ [1..] 08:23:45 [(1,4),(2,5),(3,6),(4,7),(5,8),(6,9),(7,10),(8,11),(9,12),(10,13),(11,14),(... 08:23:45 @src zip 08:23:45 zip (a:as) (b:bs) = (a,b) : zip as bs 08:23:45 zip _ _ = [] 08:23:57 > ap (zipWith (\x y -> (x,y))) head $ [1..] 08:23:58 No instances for (GHC.Num.Num [b], GHC.Enum.Enum [b]) 08:23:58 arising from a use... 08:24:05 zip = zipWith (,) 08:24:05 > ap (zipWith (,)) tail $ [1..] 08:24:06 [(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9),(9,10),(10,11),(11,12),(12... 08:24:18 -!- wareya has quit (Ping timeout: 260 seconds). 08:24:45 :t unzip 08:24:46 forall a b. [(a, b)] -> ([a], [b]) 08:25:09 how do you get stuff out of a tuple? 08:25:12 monads? 08:25:17 pattern matching. 08:25:26 for a 2-tuple you can use fst and snd 08:25:27 fst/snd 08:25:34 how about larger 08:25:35 !! ? 08:25:40 Pattern matching 08:25:40 pattern matching. 08:25:45 Patashu: no. This isn't Python. :P 08:25:53 !! is a function on lists 08:26:07 m-my overloading 08:26:50 I am honestly not quite sure why Python differentiates lists from tuples when they are pretty much the same that tuples are immutable. 08:26:59 *except that 08:27:30 tuple overloaded functions aren't in the standard. there's probably a package on hackage for it 08:28:02 but usually if you think you want large tuples, you usually really need a datatype 08:28:20 anything over a 3-tuple or maybe a 4-tuple is probably in that realm. 08:28:23 even those, really. 08:28:58 > case (1,2,3) of (a,_,_) -> a 08:28:59 1 08:29:26 Preferably use ~ there 08:29:34 ...why? 08:29:41 -!- wareya has joined. 08:29:48 it's a 3-tuple... always. 08:30:06 precisely _why_ you should use ~ 08:30:25 > ap (zipWith (*)) (\x -> tail $ tail $ tail $ x) $ [1..] 08:30:26 to avoid unnecessary strictness 08:30:26 [4,10,18,28,40,54,70,88,108,130,154,180,208,238,270,304,340,378,418,460,504... 08:30:33 > ap (zipWith (*)) (\x -> tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ tail $ x) $ [1..] 08:30:34 [15,32,51,72,95,120,147,176,207,240,275,312,351,392,435,480,527,576,627,680... 08:30:37 :C 08:30:41 > let thrd ~(_,_,a) = a in thrd (1,2,3) 08:30:42 3 08:30:42 :t drop 08:30:43 forall a. Int -> [a] -> [a] 08:30:47 *COUGH* 08:30:55 >drop 5 [1..] 08:31:00 > drop 5 [1..] 08:31:01 [6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,... 08:31:03 ehehehe 08:31:16 > take 5 drop 5 [1..] 08:31:17 Couldn't match expected type `[a]' 08:31:17 against inferred type `GHC.Types... 08:31:20 > take 5 . drop 5 [1..] 08:31:21 No instances for (GHC.Num.Num [a], GHC.Enum.Enum [a]) 08:31:21 arising from a use... 08:31:28 > dropWhile (<10) [1..] 08:31:29 [10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34... 08:31:29 CURRYING IS HARD 08:31:39 > take 5 $ drop 5 [1..] 08:31:39 [6,7,8,9,10] 08:31:41 Patashu: need. moar. parens. 08:31:42 there 08:31:43 Being curry is suffering 08:31:51 > drop 5 $ take 5 [1..] 08:31:52 [] 08:31:59 > dropWhile (!=-1) [1..] 08:32:00 Not in scope: `!=-' 08:32:05 /= 08:32:07 > dropWhile (>0) [1..] 08:32:10 mueval-core: Time limit exceeded 08:32:25 lol 08:32:32 Lymia: there is also takeWhile, which is to take as dropWhile is to drop. 08:32:43 why can't haskell optimize mathematical theorems and realize it won't return anything??? 08:32:44 gosh 08:32:53 > takeWhile (>0) [1..] 08:32:54 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 08:33:13 > fix id 08:33:17 mueval-core: Time limit exceeded 08:33:33 lambdabot doesn't use blackholes, even 08:33:49 oerjan: shocking. 08:34:19 black holes? 08:34:41 :t randomRIO 08:34:41 forall a. (Random a) => (a, a) -> IO a 08:34:58 Patashu: with some flag settings, ghc can actually detect that fix id is a loop, by putting a "black hole" tag on it when it starts evaluating 08:35:11 I assume it can also detect other things 08:35:31 but i think that's incompatible with the multiple core setting or something 08:35:50 (i.e. works badly with parallelism) 08:36:03 > takeWhile (/=6) <$> (forever $ randomRIO (1,6)) 08:36:04 08:36:22 > unsafePerformIO $ takeWhile (/=6) <$> (forever $ randomRIO (1,6)) 08:36:23 Not in scope: `unsafePerformIO' 08:36:24 CakeProphet: that won't halt in any case 08:36:36 oerjan: oh really? 08:37:06 is the 6 not included? 08:37:11 for IO, the part to the left of <$> won't be applied until the part to the right finishes 08:37:18 ah. 08:37:50 oh, and it's not even a list. :P 08:37:51 -!- pingveno has quit (Ping timeout: 244 seconds). 08:37:59 :t forever 08:38:00 forall (m :: * -> *) a b. (Monad m) => m a -> m b 08:38:51 Patashu: ghc can detect many things, it has a strictness analyzer to find out if there are any arguments it can be sure whether will be used or not 08:39:07 > (takeWhile (/=6) <$> (repeatM $ randomRIO (1,6))) >>= print 08:39:08 Not in scope: `repeatM' 08:39:53 CakeProphet: sequence . repeat, but it won't work for IO 08:39:55 -!- pingveno has joined. 08:40:29 oerjan: would liftM be any better or is it effectively the same thing. 08:41:05 -!- Vorpal has joined. 08:41:14 same thing. 08:41:55 what you need if you _really_ want to do that is to recurse with unsafeInterleaveIO 08:42:05 sounds fun. 08:42:24 however, Random has a pure interface, in case you didn't know 08:42:48 I did but it's somewhat tedious. 08:42:50 > takeWhile (/=6) . randoms $ makeStdGen 42 08:42:50 Not in scope: `makeStdGen' 08:42:53 er 08:42:59 > takeWhile (/=6) . randoms $ mkStdGen 42 08:43:01 [-3907187990116499535,-2519438828217931933,-8264534369199619667,86887135830... 08:43:10 oh hm 08:43:17 > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 42 08:43:18 [] 08:43:32 well didn't that work splendidly :P 08:43:36 yep. 08:43:46 > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 666 08:43:48 [] 08:43:49 you can tell because you'll get the same result every time. 08:43:53 wat 08:43:58 even with different inputs! wow! 08:44:04 > takeWhile (/=6) . randomRs (1,6) $ mkStdGen 4 08:44:05 [] 08:44:06 > randomRs (1,6) $ mkStdGen 666 08:44:07 [6,1,6,3,6,2,1,5,6,3,3,1,2,6,5,2,5,4,3,5,5,3,5,3,5,4,3,6,1,2,2,3,3,2,5,4,2,... 08:44:17 this random generator sure is consistent. 08:44:22 you'd think 08:44:28 > randomRs (1,6) $ mkStdGen 4 08:44:29 [6,3,3,2,4,2,6,1,2,6,4,5,1,5,4,6,2,6,1,5,6,1,3,1,5,4,6,2,6,2,6,1,6,6,5,1,6,... 08:44:33 they all begin with 6 08:44:35 trollolol 08:44:36 hahaha. 08:44:42 > randomRs (1,6) $ mkStdGen 5 08:44:43 [6,2,2,1,3,2,5,1,5,4,2,2,1,2,6,4,2,4,2,3,2,4,5,4,2,1,5,1,6,4,3,2,4,5,5,3,3,... 08:44:47 wtf 08:44:47 wtf 08:44:51 that's four in a row now. 08:44:59 :trollface: 08:45:05 > randomRs (1,6) $ mkStdGen 987 08:45:06 [6,2,6,6,5,5,2,1,4,4,3,2,4,5,4,6,5,6,6,6,5,6,4,4,4,5,3,2,2,5,3,6,5,2,1,4,3,... 08:45:09 > randomRs (1,6) $ mkStdGen 986 08:45:10 [6,3,2,1,5,5,2,1,1,6,5,5,3,2,2,2,5,1,5,2,3,3,2,1,1,1,4,3,2,3,6,6,2,3,6,2,5,... 08:45:15 weird 08:45:17 > randomRs (1,6) $ mkStdGen 985 08:45:18 [6,3,3,3,5,5,3,2,4,2,1,2,3,5,6,4,5,2,4,4,1,1,6,4,4,3,4,4,2,1,3,5,5,3,6,6,2,... 08:45:18 > (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:45:20 [6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,... 08:45:24 they all start pretty much the same way 08:45:31 hm oh hm 08:45:45 dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:45:49 > dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:45:50 [5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,... 08:46:02 then they start all being 5s. 08:46:23 lol 08:46:27 why does it do that 08:46:29 what is randomRs 08:46:41 i think it may only use the high bits for the first value 08:46:46 :t randomRs 08:46:47 forall a g. (Random a, RandomGen g) => (a, a) -> g -> [a] 08:46:51 randomRs takes a range and a stdGen thingy and makes random values. stdgen is basically the seed value 08:46:54 > (head . randomRs (1,6) . mkStdGen) <$> iterate (*2) 1 08:46:56 :t mkStdGen 08:46:56 Int -> StdGen 08:46:57 mueval-core: Time limit exceeded 08:47:09 http://learnyouahaskell.com/input-and-output#randomness 08:47:14 > (head . randomRs (1,6) . mkStdGen) <$> take 10 (iterate (*2) 1) 08:47:16 [6,6,6,6,6,6,6,6,6,6] 08:47:19 oops 08:47:27 > (head . randomRs (1,6) . mkStdGen) <$> take 10 (iterate (*3) 1) 08:47:28 [6,6,6,6,6,6,6,6,6,6] 08:47:32 wtf 08:47:39 > (head . randomRs (1,6) . mkStdGen) <$> take 20 (iterate (*3) 1) 08:47:40 [6,6,6,6,6,6,6,6,6,6,5,3,3,1,1,3,2,6,6,4] 08:47:49 > length $ takeWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:47:51 53667 08:47:52 > randomR (1,6) (mkStdGen 359353) 08:47:53 (6,1494289578 40692) 08:47:55 that is when it stops being 6 08:47:56 > randomR (1,6) (mkStdGen 35935335) 08:47:57 (3,1250031057 40692) 08:47:59 tada 08:47:59 3 08:48:11 > length $ takeWhile (==5) $ takeWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:48:13 0 08:48:22 oh right 08:48:27 > length $ takeWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:48:28 53668 08:48:40 and that's how many generators starting with 5 there are after 6 08:48:57 that's odd 08:48:57 > length $ takeWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:48:59 53668 08:49:03 oh look. 08:49:14 -!- guy_ has joined. 08:49:18 I guess it's just how the generator works from the seed number. 08:49:21 > randomR (1,6) (getStdGen) 08:49:22 No instance for (System.Random.RandomGen 08:49:22 (GHC.Types.IO ... 08:49:26 hmmm 08:49:36 :t mkStdGen 08:49:37 Int -> StdGen 08:49:45 :t getStdGen 08:49:45 IO StdGen 08:49:55 so I need to unwrap it 08:50:00 :t pure getStdGen 08:50:01 forall (f :: * -> *). (Applicative f) => f (IO StdGen) 08:50:01 good luck with that. 08:50:03 lol 08:50:32 > length $ takeWhile (==3) $ dropWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:50:34 53669 08:50:44 > mkStdGen 42 08:50:45 43 1 08:50:56 5366[89] always 08:51:19 -!- guy_ has quit (Changing host). 08:51:19 -!- guy_ has joined. 08:51:24 Patashu: you cannot use getStdGen in lambdabot, it doesn't allow IO actions 08:51:32 ah, ok 08:51:48 you might be able to use !haskell for that hough 08:51:53 yes 08:52:14 > length $ takeWhile (==2) $ dropWhile (==3) $ dropWhile (==4) $ dropWhile (==5) $ dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:52:15 53668 08:52:30 oerjan: do all of these $'s hurt your mathematician eyes? 08:52:39 AYEEE 08:52:43 I can change it to . if you like. 08:52:45 get dolla dolla bill 08:53:42 > length takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:53:43 Couldn't match expected type `[a]' 08:53:44 against inferred type `(a1 -> GH... 08:53:49 > length . takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:53:50 No instance for (GHC.Num.Num [a]) 08:53:50 arising from the literal `1' at ....or maybe I can't. 08:54:18 > length . takeWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:54:20 53668 08:54:32 > dropWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) $ (head . randomRs (1,6) . mkStdGen) <$> [1..] 08:54:34 [6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,... 08:54:39 so yeah, then it starts over. 08:55:44 CakeProphet: one usually needs to keep one $ :D 08:55:57 > 53668*6 08:55:58 322008 08:56:13 > 53667*6 08:56:14 322002 08:56:27 > dropWhile (==1) . dropWhile (==2) . dropWhile (==3) . dropWhile (==4) . dropWhile (==5) . dropWhile (==6) . dropWhile (==7) $ (head . randomRs (1,7) . mkStdGen) <$> [1..] 08:56:28 [5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,... 08:56:47 > dropWhile (==7) $ (head . randomRs (1,7) . mkStdGen) <$> [1..] 08:56:49 [3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,7,2,4,6,1,3,5,... 08:56:51 -!- MigoMipo has joined. 08:56:55 > 53669*6 08:56:56 322014 08:57:03 so... it's apparently unique to (1,6)? 08:57:09 (1,7) doesn't do it. 08:57:39 > 2^18 08:57:40 262144 08:58:02 > map (2^) [18..] 08:58:02 [262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,1... 08:58:12 @src randomR Integer 08:58:12 Source not found. 08:58:23 @source System.Random 08:58:23 http://darcs.haskell.org/packages/base/System/Random.hs 08:58:28 so something about 6 makes it do that. 08:58:44 > (head . randomRs (1,2) . mkStdGen) <$> [1..] 08:58:45 [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,... 08:58:49 and 2 as well 08:58:56 > (head . randomRs (1,4) . mkStdGen) <$> [1..] 08:58:57 [2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,... 08:58:58 now that's an outdated command :( 08:58:59 not the best rng I've ever seen 08:59:12 4 is interesting. :) 08:59:18 > (head . randomRs (1,8) . mkStdGen) <$> [1..] 08:59:19 [2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,... 08:59:31 another repeating sequence as well. 09:00:28 > take 53669 $ (head . randomRs (1,8) . mkStdGen) <$> [1..] 09:00:29 [2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,... 09:00:40 > drop 53669 $ (head . randomRs (1,8) . mkStdGen) <$> [1..] 09:00:42 [5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,... 09:01:19 wtf doesn't http://hackage.haskell.org/package/base list System.Random 09:01:19 > drop (53668/2) $ (head . randomRs (1,8) . mkStdGen) <$> [1..] 09:01:20 No instance for (GHC.Real.Fractional GHC.Types.Int) 09:01:20 arising from a use o... 09:01:35 CakeProphet, that is one hell of a short period for repetition on that prng! 09:01:35 > drop (53669`div`2) $ (head . randomRs (1,8) . mkStdGen) <$> [1..] 09:01:37 [6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,4,2,8,6,... 09:01:41 lol 09:01:55 it'd be better to use a hash 09:01:55 > drop (53669-4) $ (head . randomRs (1,8) . mkStdGen) <$> [1..] 09:01:57 [8,6,3,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,3,1,7,5,... 09:02:10 ....yep, the period is always 536699 09:02:25 CakeProphet, that is rather short 09:02:46 Vorpal: it's not the repetition of the prng for _one_ seed, but it's beginning value across several 09:02:55 *its 09:03:02 oerjan, uh... slow startup time? 09:03:09 or what do you mean 09:03:47 Vorpal: we are taking the first value produced for each seed [1,inf] 09:03:55 ah 09:04:16 CakeProphet, well... that is strange still. Always giving you similar values 09:04:25 yes, for the first one. 09:04:44 > drop (53669-4) $ (head . tail . randomRs (1,8) . mkStdGen) <$> [1..] 09:04:45 [1,3,6,7,8,4,5,6,8,3,4,5,7,2,3,4,6,1,2,3,5,8,1,2,4,7,8,1,3,6,7,8,2,5,6,7,1,... 09:04:53 CakeProphet, what is the period of the prng though? 09:04:58 no clue. 09:05:12 so yeah it's not so repetitive on the second value. 09:05:15 > drop (53669-4) $ (head . tail . randomRs (1,6) . mkStdGen) <$> [1..] 09:05:17 [1,1,6,5,4,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,4,3,2,2,1,6,5,5,... 09:05:32 the oscillation is larger 09:05:34 http://hackage.haskell.org/packages/archive/random/latest/doc/html/src/System-Random.html#randomRs 09:05:43 CakeProphet, I presume slow startup time 09:06:04 before it had a period of 4, now it's.... 8 09:06:15 > drop (53669-4) $ (head . tail . tail . randomRs (1,6) . mkStdGen) <$> [1..] 09:06:17 [3,2,6,5,3,1,6,4,2,1,5,4,2,6,5,3,1,6,4,2,1,5,4,2,6,5,3,1,6,4,3,1,5,4,2,6,5,... 09:06:55 this one is 10 I believe. 09:07:01 CakeProphet, wait what. Period of 8? Come on... something like 2^31-1 is the least I would expect for period from a decent PRNG 09:07:19 period for this pattern that we've noticed in the nth value from a given seed. 09:07:22 ah 09:07:44 > randomRs (1,6) $ mkStdGen 42 09:07:45 [6,4,2,5,3,2,1,6,1,4,4,4,1,3,3,2,6,2,4,1,3,1,1,5,5,5,1,3,6,1,5,6,1,3,5,4,1,... 09:07:46 still this is really *really* bad 09:09:06 Vorpal: it's not a problem if you get the seed from the system clock or something 09:09:49 but then you're in IO, yes? 09:09:56 but... I guess that's not a problem either. 09:10:23 oerjan, well... I would say it still is a problem then that this PRNGs has such a large setup time 09:10:26 because the functions that are computing pseudo-random numbers are still pure. 09:10:35 | otherwise = case (f n 1 rng) of (v, rng') -> (fromInteger (l + v `mod` k), rng') 09:10:42 one way to combat this would be to step it forward a few steps in mkStdGen 09:10:46 before returning it 09:11:15 say, by 1000? 09:11:21 i really don't like that mod there, isn't that a flawed way of getting a ranged value from an rng :( 09:11:39 CakeProphet, possibly. Would have to investigate it to find out what a good value for the stepping would be. 09:11:46 (in randomIvalInteger) 09:12:21 oerjan, what is the range of the integers before the mod? 09:14:22 > range (mkStdGen undefined) 09:14:23 Couldn't match expected type `(a, a)' 09:14:23 against inferred type `System... 09:14:26 erm 09:14:28 oerjan, I don't like the magic constants in stdNext and stdSplit 09:14:30 :t range 09:14:30 forall a. (Ix a) => (a, a) -> [a] 09:14:35 wrong range 09:15:12 -- This implementation uses the Portable Combined Generator of L'Ecuyer 09:15:12 -- ["System.Random\#LEcuyer"] for 32-bit computers, transliterated by 09:15:12 -- Lennart Augustsson. It has a period of roughly 2.30584e18. 09:15:37 hm 09:15:50 not familiar with that prng 09:16:01 > genRange (mkStdGen undefined) 09:16:01 (0,2147483562) 09:16:09 You are apeshit bananas at computers, and you know ALL THE CODES. All of them. You are the unchallenged authority on APICULTURE NETWORKING. And though all your friends recognize your unparalleled achievements as a TOTALLY SICK HACKER, you feel like you could be better. It's one of a number of things you SORT OF BEAT YOURSELF UP ABOUT for NO VERY GOOD REASON during sporadic and debilitating BIPOLAR MOOD SWINGS. You have a 09:16:11 :t undefined 09:16:12 forall a. a 09:16:15 :t mkStdGen 09:16:16 Int -> StdGen 09:16:21 hrrm 09:16:29 :t genRange 09:16:29 forall g. (RandomGen g) => g -> (Int, Int) 09:16:50 ok that's the same number as in randomIvalInteger, i think 09:16:54 wait wtf 09:16:59 CakeProphet, err? 09:17:11 CakeProphet, is this homestuck or something? 09:17:33 that means ghc's randomR _only_ works for random number generators with the same range as StdGen! 09:17:52 oerjan, if that is true, file a bug 09:18:01 Vorpal: yes. 09:18:14 CakeProphet, ah 09:18:20 CakeProphet, haven't been keeping up lately 09:26:27 -!- augur has quit (Read error: Connection reset by peer). 09:26:48 -!- augur has joined. 09:33:05 -!- oerjan has quit (Quit: Panic attack). 09:57:36 what the hell Perl. 09:57:50 $#array returns the last index of the array 09:58:05 as opposed to every other language ever, which returns the actual size. 09:58:37 I suppose in most cases you want the last index, but still. Not knowing that was the source of a bug. 09:59:09 isn't there another thing that you can use to get the size? 09:59:21 not that I'm aware of. 10:01:55 yeah I don't see a built-in function to get the length of a list 10:02:02 only the $# form for arrays. 10:02:33 huh 10:05:18 list != array, here. 10:05:24 though they are very very similar. 10:05:35 -!- wareya has quit (Read error: Connection reset by peer). 10:06:00 an array is basically a list stored in a variable. @array produces a list from the "array", which is the variable or whatever. 10:06:11 lists are what Perl then operates on when it does stuff. 10:06:22 and can look (1,2,3,4,5,6) as well. 10:06:27 or function 1,2,3,4,5 10:06:36 -!- wareya has joined. 10:06:41 or my ($x, $y) = (1,2) 10:08:02 (don't ask me why I decided to explain all of that. You might have even knew beforehand) 10:08:24 nah, i'm lousy at perl 10:09:21 an array is basically a list stored in a variable. @array produces a list from the "array", which is the variable or whatever. 10:09:26 then shouldn't something like... 10:09:33 $#@array 10:09:35 work? 10:09:37 ....no 10:09:41 it's $#array 10:09:44 which is probably what you mean. 10:09:53 CakeProphet, I meant for getting the length 10:09:55 $# is a special sigil thing. 10:09:57 right. 10:10:03 CakeProphet, as opposed to last index 10:10:08 oh... no. 10:10:21 $#@ is a syntax error I think. 10:10:36 CakeProphet, what about $#(@array) then? 10:10:40 nope. 10:10:52 uh okay 10:10:55 $#array is exactly what you want. if I want the size I just add one 10:11:04 I was just noting that it's inconsistent with most languages I've seen. 10:11:07 CakeProphet, what if it is a sparse array? 10:11:13 if perl does that 10:11:17 I don't think that exists in Perl. 10:11:19 ah 10:11:23 well okay then that works 10:12:07 there's likely a CPAN module for a sparse array, which would use some kind of OO interface to get size and last index 10:12:18 and have an overload on the subscript [] operation 10:12:31 heh 10:12:48 CakeProphet, why exactly are you learning perl? 10:12:55 morbid curiosity? 10:12:59 hmmm, well. 10:13:26 CakeProphet, can it be anything except morbid curiosity? :P 10:13:58 well I sadly don't have time to wait for your answer, have to make food now unless I want to wait for about 5 hours 10:13:58 I feel it will be useful later in the event that I become a sysadmin or something along those lines. Also, I decided to learn it simply for the knowledge, because I am trying to become experienced with as many languages possible, but now I've found that Perl is actually very good at some of the small programming tasks I end up doing often. 10:14:18 ah 10:14:48 better than Python, which is what I was using towards that end previously. 10:18:12 -!- zzo38 has joined. 10:35:06 " !!!" 10:37:13 -!- zzo38 has quit (Read error: Connection reset by peer). 10:38:17 -!- zzo38 has joined. 10:38:49 -!- BeholdMyGlory has joined. 10:40:53 " !!!" <-- can you please expand on this? 10:41:17 No. 10:41:40 oh come on that is easy, just add more spaces or exclamation marks! 10:41:57 You can do that yourself if you want to. 10:43:31 !python import __builtin__;__builtin__.len=lambda x:-1:print [] 10:43:31 File "", line 1 10:43:39 !python import __builtin__;__builtin__.len=lambda x:-1;print [] 10:43:41 ​[] 10:43:45 I keep getting a request for /wiki/index.php?title=User:NO_Body&action=edit on my HTTP server occasionally. I never had a file called that on my server (I do know what server does contain that file). 10:43:46 !python import __builtin__;__builtin__.len=lambda x:-1;print [1,2,3,4,5,6] 10:43:47 ​[1, 2, 3, 4, 5, 6] 10:43:51 !python import __builtin__;__builtin__.len=lambda x:100;print [1,2,3,4,5,6] 10:43:51 ​[1, 2, 3, 4, 5, 6] 10:43:59 !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]_;print [1,2,3,4,5,6] 10:44:00 File "", line 1 10:44:06 !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]);print [1,2,3,4,5,6] 10:44:08 ​[1, 2, 3, 4, 5, 6] 10:44:11 !python import __builtin__;__builtin__.len=lambda x:100;len([1,2,3,4,5,6]);print repr([1,2,3,4,5,6]) 10:44:12 ​[1, 2, 3, 4, 5, 6] 10:44:13 ...there is absolutely no reason to import __builtin__ 10:44:14 :< 10:44:21 __builtin__.len ?? 10:44:32 !python import __builtin__;__builtin__.len=lambda x:100;print len([1,2,3,4,5,6]);print repr([1,2,3,4,5,6]) 10:44:32 100 10:44:42 Lymia, why do you import __builtin__.len? 10:44:47 isn't that the same as the normal len 10:44:50 to do evil things. 10:44:52 well no 10:44:59 not if you want to redefine it. 10:45:08 CakeProphet, what is the difference then? 10:45:13 What is *this* request for: "POST http://203.55.174.173:6667/ HTTP/1.0" 10:45:15 re-defining len will just make a local copy 10:45:22 aha 10:45:25 if you want to change len for everything everywhere... then you would resort to that hackish nonsense. 10:45:33 CakeProphet, why on earth not just override __len__ in your class? 10:45:42 Vorpal: because that's not hackish enough. 10:45:45 hah 10:46:17 Buh. 10:46:17 No idea why this doesn't work as I expect. 10:46:27 zzo38, someone trying to connect to irc by assuming your site is a proxy of some sort maybe? 10:46:30 Lymia: how is it not working as you expect? 10:47:06 Maybe, but it is a POST request. I also got one which is the same but with 127.0.0.1 instead of 203.55.174.173 10:47:57 I also got some proxy request on port 7181 to some other computer using GET 10:48:01 zzo38, well 10:48:03 $ host 203.55.174.173 10:48:03 173.174.55.203.in-addr.arpa domain name pointer alicorn.furnet.info. 10:48:03 173.174.55.203.in-addr.arpa domain name pointer alicorn.furnet.org. 10:48:13 sounds like an irc network to me 10:48:47 Lymia: repr() and len() have nothing to do with each other. They're both __len__ and __repr__ on the list class, and likely use C internals to calculate their values. Thus changing __builtin__.len will not have any effect on repr for lists, because len will never be called. 10:49:19 Yes it does sound like an IRC network. But the request still doesn't make sense? 10:49:48 list.__repr__ probably uses list.__iter__, or the C-equivalent API for iterating on lists. 10:49:48 bbl 10:50:43 I also got "CONNECT 127.0.0.1:6667 HTTP/1.0" 10:51:16 !py str.__len__=lambda self:-1;print len("a") 10:51:29 !addinterp py python 10:51:29 ​Interpreter py installed. 10:51:30 !py str.__len__=lambda self:-1;print len("a") 10:51:31 More than once. 10:51:46 !languages 10:51:52 !help languages 10:51:52 ​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. 10:52:01 There is no python interpreter on egobot. 10:52:09 !py print "o rly" 10:52:18 oh wait, yes there is 10:52:20 !python print "ahem" 10:52:21 ahem 10:52:21 because you just used it. 10:52:31 !python print version 10:52:32 Traceback (most recent call last): 10:52:41 !delinterp py 10:52:41 ​Interpreter py deleted. 10:52:49 The same thing with the User:NO_Body request I get more than once. But that one is not even a proxy request, it is a request for the file on my server, which I do not even have (I know which server it is on, or at least was many years ago). 10:53:17 !python str.__len__=lambda self: -1; print len("A") 10:53:18 Traceback (most recent call last): 10:53:37 I seem to get requests for "proxyheader.php" on different servers 10:54:06 TypeError: can't set attributes of built-in/extension type 'str' 10:54:12 Lymia: foiled 10:54:19 http://answers.yahoo.com/question/index?qid=20090611071837AAGVVCX someone actually felt the need to ask in Yahoo! Answers 10:54:33 I mean, I Googled it, but only to use the calculator because I'm lazy 10:55:24 Lazyness something something virtue 10:56:00 I actually use sh as my calculator 10:56:04 I also get request for /wiki/index.php?title=Special:Userlogin&returnto=Image:NB_Art_REF.png (on the same server as the other file) 10:56:22 ghci if I'm trying to do something complicated involving sequences. 10:56:40 > 1 + 1 10:56:40 2 10:56:51 Bask in Haskell's glory 10:57:00 > e 10:57:01 e 10:57:05 > aeiou 10:57:06 Not in scope: `aeiou' 10:57:10 hmmm, where can I find e in Haskell? 10:57:13 [S] All: Behold Glory of Haskell 10:57:13 :t e 10:57:14 Expr 10:57:16 > log 1 10:57:17 0.0 10:57:19 > e + e 10:57:20 e + e 10:57:26 > t 10:57:27 t 10:57:28 > g 10:57:29 Ambiguous type variable `a' in the constraints: 10:57:29 `SimpleReflect.FromExpr ... 10:57:32 :c 10:57:33 wat 10:57:33 I already told MFGG that I do not have their wiki on my server!! 10:57:37 > e 2 10:57:38 Couldn't match expected type `t1 -> t' 10:57:38 against inferred type `Simpl... 10:58:01 Lymia: f and g are function Expr things 10:58:07 > f 2 10:58:08 Ambiguous type variable `a' in the constraints: 10:58:08 `SimpleReflect.FromExpr ... 10:58:10 > f a 10:58:11 Ambiguous type variable `a' in the constraints: 10:58:11 `GHC.Show.Show a' 10:58:12 a... 10:58:15 ...er 10:58:16 yeah. 10:58:19 > fix f 10:58:20 Ambiguous type variable `a' in the constraints: 10:58:20 `GHC.Show.Show a' 10:58:20 a... 10:58:24 > fix f :: Expr 10:58:25 f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (... 10:58:30 > 'aeiou' 10:58:31 : 10:58:31 lexical error in string/character literal at chara... 10:58:35 > f a :: Expr 10:58:35 f a 10:58:37 > Show "Aeiou" 10:58:38 Not in scope: data constructor `Show' 10:58:42 > Show 'Aeiou' 10:58:43 : 10:58:43 lexical error in string/character literal at chara... 10:58:45 Patashu: double quotes. 10:58:45 lol 10:58:49 > "Aeiou" 10:58:50 "Aeiou" 10:58:51 ah ok 10:58:55 > 'a' 10:58:56 'a' 10:58:57 mmk 10:59:12 > succ 'a' 10:59:13 'b' 10:59:16 > succ "a" 10:59:17 No instance for (GHC.Enum.Enum [GHC.Types.Char]) 10:59:17 arising from a use of `... 10:59:40 map succ "a" 10:59:45 oops 10:59:48 > map succ "A" 10:59:48 "B" 10:59:51 yesss 10:59:56 > succ <$> "A" 10:59:57 "B" 11:00:09 I get spambots filling in a search page. 11:00:11 repeat 13 $ map succ "A" 11:00:18 > repeat 13 $ map succ "A" 11:00:19 Couldn't match expected type `a -> b' against inferred type `[t]' 11:00:22 hmmm 11:00:22 not what you want. 11:00:24 :t repeat 11:00:25 forall a. a -> [a] 11:00:27 > repeat 13 11:00:28 oh 11:00:28 [13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13... 11:00:30 yeah 11:00:33 you want replicate 11:00:35 what's the one that only does it 13 times 11:00:36 aah 11:00:44 > replicate 13 $ map succ "A" 11:00:44 ["B","B","B","B","B","B","B","B","B","B","B","B","B"] 11:00:46 ah, no 11:00:51 I get requests consisting of (apparently) completely random bytes, not even with a proper HTTP request method. 11:00:56 I want 'do this 13 times' 11:01:06 Patashu: take 13 . iterate 11:01:16 take 13 . iterate . map succ "A" 11:01:20 > take 13 . iterate . map succ "A" 11:01:21 Couldn't match expected type `[a]' 11:01:22 against inferred type `a1 -> [a1]' 11:01:28 ... use $ instead of dot between iterate and map 11:01:35 > take 13 . iterate $ map succ "A" 11:01:35 Couldn't match expected type `[a]' 11:01:35 against inferred type `a1 -> [a1]' 11:01:42 er wait nevermind 11:01:44 > take 13 $ iterate $ map succ "A" 11:01:45 Couldn't match expected type `a -> a' 11:01:45 against inferred type `[GHC.T... 11:01:46 you want this 11:01:47 lol 11:02:00 > take 13 . iterate succ 'a' 11:02:01 Couldn't match expected type `[a]' 11:02:01 against inferred type `GHC.Types... 11:02:07 > take 13 . iterate $ succ 'a' 11:02:07 Couldn't match expected type `[a]' 11:02:08 against inferred type `a1 -> [a1]' 11:02:10 ... 11:02:13 :t iterate 11:02:13 forall a. (a -> a) -> a -> [a] 11:02:30 iterate succ 'a' 11:02:33 > iterate succ 'a' 11:02:34 "abcdefghijklmnopqrstuvwxyz{|}~\DEL\128\129\130\131\132\133\134\135\136\137... 11:02:39 okay 11:02:45 :t take 13 . iterate 11:02:46 Couldn't match expected type `[a]' 11:02:46 against inferred type `a1 -> [a1]' 11:02:46 Probable cause: `iterate' is applied to too few arguments 11:02:49 :t take 11:02:50 forall a. Int -> [a] -> [a] 11:02:51 > (iterate succ 'a') !! 13 11:02:52 'n' 11:03:01 can I do... 11:03:12 > (13 !!) $ iterate succ 'a' 11:03:12 Couldn't match expected type `GHC.Types.Int' 11:03:13 against inferred type ... 11:03:14 nope 11:03:17 :t !! 11:03:18 parse error on input `!!' 11:03:30 > take 13 . iterate succ $ 'a' 11:03:32 "abcdefghijklm" 11:03:52 Patashu: if you want only the 13th one, sure. 11:03:55 > tail . take 13 . iterate succ $ 'a' 11:03:57 "bcdefghijklm" 11:03:59 oh 11:04:02 > last . take 13 . iterate succ $ 'a' 11:04:03 'm' 11:04:16 > map . last . take 13 . iterate succ $ "aeiou" 11:04:17 Couldn't match expected type `a -> b' 11:04:17 against inferred type `[GHC.T... 11:04:34 > map $ last . take 13 . iterate succ $ "aeiou" 11:04:35 Couldn't match expected type `a -> b' 11:04:35 against inferred type `[GHC.T... 11:04:36 Patashu: I don't know where you get this idea you can tact on an arbitrary function and expect something to happen.... 11:04:42 > map (last . take 13 . iterate succ) $ "aeiou" 11:04:44 "mqu{\129" 11:04:48 there we go 11:05:20 > map last . take 13 . iterate . succ $ "aeiou" 11:05:21 Couldn't match expected type `[[a]]' 11:05:22 against inferred type `a1 -> [... 11:05:24 hmm 11:05:49 > (!!13) . iterate succ $ 'a' 11:05:51 'n' 11:06:01 Patashu: think about how last works 11:06:03 and how map works. 11:06:06 > map (!!13 . iterate succ) $ "I'm laughing for real right now guys" 11:06:06 :t last 11:06:06 Couldn't match expected type `GHC.Types.Int' 11:06:07 against inferred type ... 11:06:07 forall a. [a] -> a 11:06:07 :t map 11:06:08 forall a b. (a -> b) -> [a] -> [b] 11:06:09 blar 11:06:11 oh wait 11:06:14 > map ((!!13) . iterate succ) $ "I'm laughing for real right now guys" 11:06:15 "V4z-yn\130tuv{t-s|\DEL-\DELrny-\DELvtu\129-{|\132-t\130\134\128" 11:06:18 there we go lol 11:06:41 oh rot13? kind of. 11:07:43 > map ((!!13).( 11:07:44 : parse error (possibly incorrect indentation) 11:07:49 Why do I get so many CONNECT 127.0.0.1:6667 requests? They seem to be once each day, always from the same client requesting it. Each time it also comes with a POST request to the same address. 11:08:45 Actually at irregular intervals. 11:10:57 > map ((!!13).(\c -> iterate (if c > 'm' || c > 'M' then pred else succ) c)) "Hello World" 11:10:58 "UX__b-Jbe_W" 11:11:11 I don't think I did that correctly. 11:11:26 !rot13 Hello, World! 11:11:26 Uryyb, Jbeyq! 11:11:40 ah... of course not. 11:12:36 > map ((!!13).(\c -> iterate (if toLower c > 'm' then pred else succ) c)) "Hello World" 11:12:38 "Uryyb-Jbeyq" 11:12:46 crude. :P 11:13:25 Haskell's not really the best language for this application, without the use of some library I know nothing about. 11:15:39 !perl $_='Hello World'; tr/a-zA-Z/n-za-mN-ZA-M/; print 11:15:39 Uryyb Jbeyq 11:17:15 !perl $_='This is by far the most complex cypher in the world'; tr/a-zA-Z/z-aZ-A/; print 11:17:15 Invalid range "z-a" in transliteration operator at /tmp/input.3064 line 1. 11:17:28 what? how silly. 11:17:32 Why does Perl being demonstratably useful for something make me sad? 11:17:41 Sgeo: dunno. it shouldn't. 11:18:44 Perl is demonstratably useful for several things. I honestly think most of you guys just look at the syntax and decide to hate it. 11:18:57 well, maybe not most. 11:19:03 Please don't generalize me as being representative of #esoteric 11:19:07 some. yes, that's more acceptable, and equally vague. 11:20:06 I know elliott probably has some reason for why he dislikes Perl that he'll probably explain when he's online next. And I know pikhq dislikes it from experience. 11:22:06 but I suspect a large part of it is the syntax. 11:22:44 the vast amounts of it, the "ugliness", and so on. 11:23:12 !tr ja-en This is by far the most complex cypher in the world 11:23:21 :< 11:23:42 and then there's stuff like being difficult to debug. Which is true for most dynamically typed interpreted languages, but especially true for Perl, where almost every operation will spit out something (usually undef) in the event that it fails. 11:24:11 Instead of an exception? 11:24:31 which leads to poor error handling. Which is to say, there isn't really any of that. No exception handling mechanism. You just add an "or die 'error message'" to the end of a line that you want to halt the program if it fails. 11:25:15 !python raise Exception() 11:25:15 Traceback (most recent call last): 11:25:16 basically you ignore errors in Perl. which is convenient for small scripts, but again, makes things difficult to debug. 11:25:26 !python raise Exception() 11:25:26 Traceback (most recent call last): 11:25:30 Does Perl6 have possibility to use exceptions then? 11:25:43 uh, I honestly don't know much about Perl 6. 11:25:58 other than I probably won't like it as much. 11:26:20 but yes they're generally improving everything, so I wouldn't be surprised if they added proper exception handling. 11:26:53 (I know that sounds pretty inconsistent of me.. but whatever) 11:27:30 another problem is the OO semantics are complete crap. 11:27:48 but I don't really use Perl as an object-oriented language, so... don't care. 11:30:42 what I like about Perl is: a) massive online repository. Probably the largest for any language because it's been around forever. You can find a module to do just about anything and install it quickly (unless it has dependencies that are no longer maintaind or fail for whatever reason) b) massive amounts of syntax, which means that there are shorthands to do just about everything. This is very nice when you're trying to 11:31:25 Can you make your own syntax adjustments? 11:31:31 That is, define your own syntax for stuff? 11:31:36 and that is my massively sleep deprived rant on the benefits and drawbacks of Perl that I've discovered so far in my few months of learning it. I am now going to sleep. You can pester me about how wrong I am tomorrow. Good night (morning, really) 11:31:41 Sgeo: yes. 11:31:44 oooo 11:32:16 Night 11:32:47 CakeProphet, isn't CTAN older than CPAN? 11:33:19 CakeProphet, also your line got cut off 11:33:24 "This is very nice when you're trying to " 11:34:05 program something quickly. c) excellent string handling capabilities. This goes without saying. 11:34:12 http://www.perlmonks.org/?node_id=742468 <--see this 11:34:24 CakeProphet, anyway I'm pretty sure CTAN is older than CPAN 11:34:32 of course TeX is not general purpose 11:34:41 and: http://search.cpan.org/~pmqs/Filter-1.37/Call/Call.pm 11:34:59 Vorpal: oh, well yes. I didn't say it was /the oldest ever/. 11:35:19 hm true 11:35:49 Sgeo: so I'm not sure if it's built directly into the language, but this module lets you modify the source code at compile time. 11:35:53 CakeProphet, anyway the command line tool for cpan is a pain 11:35:57 with all of the hackish regex you could ever want. 11:36:00 TeX is for typesetting stuff but it can be made to do a lot of things. 11:36:04 Vorpal: yeah it can be. 11:36:11 CakeProphet, for a start it tends to conflict with distro package manager, and even when it doesn't, it works badly 11:36:51 I haven't that happen. But I have had it fail often due to broken dependencies. I think this just happens on a per-package basis though, when old modules stop being maintained or whatever. 11:37:06 and sometimes I'll be missing some kind of C library and it'll take me a while to figure out what it is. 11:37:30 CakeProphet, doesn't perl have a FFI? 11:37:38 oh you mean the module depends on a C library 11:37:41 right. 11:37:49 and, I have no idea, actually. 11:37:51 surely you get some error like "foo.h not found" or such then 11:37:57 ...nope. 11:38:00 CakeProphet, what? 11:38:05 what is the error you get then 11:38:08 I have to go up to the linker option line that it spits out 11:38:19 and see which libraries I have and don't have. 11:38:27 CakeProphet, okay so foo.a or foo.so or foo.la not found 11:38:32 surely -_- 11:38:35 ...no, nothing that nicely written. 11:38:39 ugh 11:38:47 CakeProphet, shouldn't the config process check it anyway 11:39:04 but that's okay because Perl is for L33T H4XX0RS LOLOLOLO we can figure this stuff out. 11:39:09 basically, unless it is libc or libm, configure should check it exists 11:39:14 uh.... maybe? I don't really know how cpan works, okay. 11:39:19 IMO 11:39:37 CakeProphet, yes but why make it hard for the users 11:39:42 even if they are programmers 11:40:56 ...that is a somewhat loaded question, so I will not answer it. :P 11:41:13 CakeProphet, how do you mean it is loaded? 11:41:22 "Oh, well yes, it's good to make it hard for users because that provides them with a challenge!" 11:41:40 interesting point of view, did you actually mean it? 11:41:45 or, my actual response would be like: 11:41:50 uh, I don't know. That's probably a bad idea. 11:42:00 well okay 11:42:03 maybe a bit loaded 11:42:06 in any case I don't think they /try/ to accomplish that. 11:42:15 CakeProphet, anyway, cpan is a pain to use. 11:42:26 yes when it doesn't work. which is often enough. 11:42:38 CakeProphet, are you sure they aren't trying to create the IWBTG of package managers? 11:42:41 ;P 11:43:00 ...no. I mean 11:43:10 there is a /ridiculous amount/ of output when you install stuff 11:43:15 so, there /might/ be something useful in it 11:43:26 but it takes a while to sift through. 11:43:33 CakeProphet, if it uses gnu ld to link I'm pretty sure you should get a easily visible linker warning 11:43:54 yeah it does. 11:44:26 but I usually don't pipe the output into grep or anything on the first run, so I miss all of that pretty easily. 11:44:38 $ ld -o test build/main.o -lnosuchlib 11:44:38 ld: cannot find -lnosuchlib 11:44:40 for example ^ 11:44:52 CakeProphet, wouldn't it error out on the first error? 11:45:20 well... see 11:45:30 yes? 11:45:32 this has been a month ago, and I have a terrible memory. So... 11:45:36 hm okay 11:45:38 maybe? 11:46:16 it wasn't a big deal I found out what was missing. But I don't remember an obvious "can't find this lib" thing. 11:46:21 linker errors tend to be rather straight-forward. Unlike C++ or haskell errors. Heck even C errors are complex compared to linker ones usually. 11:46:34 the more frustrating problem is when other Perl modules fail to instal for whatever reason. A test fails or something. 11:46:44 I only hit confusing linker errors when cross compiling basically. 11:46:58 CakeProphet, heh 11:47:50 but, occasionally problems aside, the sheer amount of modules on CPAN is quite nice. 11:48:28 but I agree the cpan program could be a little better. 11:49:14 OKAY GOOD NIGHT. 11:49:20 !kill everything 11:50:14 !rot47 ii could pull 2o much triippy 2hiit out of my 2piinal creviice, iit would make your head 2piin liike dervii2h iin a fuckiing blender. 11:50:15 ​:: 4@F=5 AF== a@ >F49 EC::AAJ a9::E @FE @7 >J aA::?2= 4C6G::46[ ::E H@F=5 >2<6 J@FC 9625 aA::? =::<6 56CG::a9 ::? 2 7F4<::?8 3=6?56C] 11:52:37 > fix (const 5) "I CAN DO WHATEVER I WANT" 11:52:38 5 11:52:47 CakeProphet, weren't you going to sleep 11:52:55 or was that a statement about the quality of the night? 11:52:59 !perl sleep 11:53:17 CakeProphet, how long does that sleep for? 11:53:35 forever. 11:53:40 -!- guy_ has quit (Ping timeout: 244 seconds). 11:53:40 will time out soon then 11:53:49 I forgot if it prints anything on timeout 12:24:27 -!- Vorpal has quit (Ping timeout: 246 seconds). 12:46:40 -!- Sgeo_ has joined. 12:47:07 -!- Sgeo__ has joined. 12:47:37 -!- Sgeo_ has quit (Client Quit). 12:47:45 -!- Sgeo__ has quit (Client Quit). 12:58:55 Can you make a C program in 4K that takes the longest time to compile? 12:59:30 That's an interesting contest 12:59:45 I don't know anything about what makes compiling faster/slower though. Maybe shitloads of templates? 13:01:36 Templates? That is C++? Maybe you can try one with C++ as well, then. And one with C. 13:01:42 C doesn't have te... what zzo38said 13:01:44 Ah, yeah 13:03:01 Is there a specific compiler you have in mind? 13:03:07 And command line options 13:03:40 gcc, although there might be other ideas 13:04:14 Is there a c compiler that figures out and replaces expensive constant divisions with 'magic number' operations? 13:04:16 Or whatever they're called 13:21:04 -!- Sgeo_ has joined. 13:22:01 -!- Sgeo has quit (Ping timeout: 244 seconds). 13:32:32 -!- foocraft has joined. 13:45:44 I am embarrassed by some of the atheists on /r/DebateAnAtheist and /r/DebateAChristian. Doesn't mean I won't hang out there, but still 13:54:02 -!- guy_ has joined. 13:54:09 -!- guy_ has quit (Changing host). 13:54:09 -!- guy_ has joined. 13:55:09 Hi guy_ 14:29:00 hi Sgeo_ 14:30:13 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:43:09 -!- foocraft has quit (Ping timeout: 240 seconds). 14:54:29 -!- Phantom_Hoover has joined. 14:54:50 Well lambdabot I wonder if there are any messages today. 14:54:50 Phantom_Hoover: You have 6 new messages. '/msg lambdabot @messages' to read them. 14:55:29 -!- foocraft has joined. 15:47:59 -!- Wamanuz has quit (Read error: Connection reset by peer). 15:48:20 -!- Wamanuz has joined. 15:57:27 -!- copumpkin has joined. 16:04:43 -!- Wamanuz has quit (Remote host closed the connection). 16:05:11 -!- Wamanuz has joined. 16:09:17 -!- aloril has quit (Ping timeout: 250 seconds). 16:17:36 -!- Vorpal has joined. 16:18:03 [50265.669097] PM: Device 00:0a failed to restore: error -19 <-- huh? 16:18:14 oh hm 16:18:19 lrwxrwxrwx 1 root root 0 2011-06-13 18:17 /sys/devices/pnp0/00:0a/driver -> ../../../bus/pnp/drivers/tpm_tis 16:19:04 zzo38: #include "this.c" in this.c 16:20:34 btw, I successfully completed the theory part of the exam for getting driving license! 16:21:26 -!- aloril has joined. 16:21:31 Vorpal: That would be much less noteworthy in the US. 16:21:59 "Yay, I can complete 10 questions multiple choice!" 16:22:06 Even I did that! 16:22:43 Vorpal: That would be much less noteworthy in the US. <-- I know. 16:22:52 but. You have to get 60 out of 65 tricky questions right here. You have 45 minutes for it. 16:23:18 oh and it is actually 70 questions but 5 of those are test ones for future exams 16:23:28 you don't know which ones are test ones 16:23:36 Sgeo_, yes, but then you had to overcome the insurmountable wall that was your idiot father. 16:24:07 Vorpal: I bet you're frightened by US roads now. ;) 16:24:35 I've heard of people cheating... 16:27:02 And I happen to know you can take the test arbitrary times. 16:28:01 -!- Vorpal has quit (Ping timeout: 250 seconds). 16:28:04 You could, in theory, brute force the driving exam. 16:28:05 -!- Vorpal_ has joined. 16:28:08 *shudder* 16:28:25 Vorpal_, were you hit by a US driver? 16:29:31 Vorpal_, were you hit by a US driver? <-- ? 16:29:38 -!- Vorpal_ has changed nick to Vorpal. 16:29:47 * Vorpal reads scrollback after " Sgeo_, yes, but then you had to overcome the insurmountable wall that was your idiot father." 16:29:53 logs* 16:30:31 pikhq, wrt US roads: YES 16:30:40 "I've heard of people cheating..." <-- how? 16:30:55 I DON'T WANT TO KNOW HOW 16:31:10 You could, in theory, brute force the driving exam. <-- surely it would change over time. I mean... I don't think they give the same set of questions to everyone 16:31:23 You'd like to think that wouldn't you. 16:31:47 How do people cheat on most multiple-choice exams where there are other people? 16:32:16 I dunno. I have never felt the urge to try. 16:32:37 Though, being me, I would probably be an expert on it in a few days. 16:32:41 If I cared. 16:33:18 No pikhq that is not arrogant at all. 16:33:37 How do people cheat on most multiple-choice exams where there are other people? <-- well I did see in the corner of the eye that another guy had something completely different up on his monitor, that I never got 16:33:46 so I'm 99% sure that they use different randomised sets of questions 16:34:00 Hmm, I wasn't thinking computerized 16:34:04 When I took it, it was on paper 16:40:23 right, mine was computerised 16:43:03 So. I wanna have this be able to output tup, shell, or make... Problem with that plan is that generating dependencies for make is Hell. 16:43:09 Not just hell, but Hell. 16:43:20 That level of torture has earned the upper case. 16:43:48 -!- azaq23 has joined. 16:49:04 -!- foocraft_ has joined. 16:51:53 -!- foocraft has quit (Ping timeout: 240 seconds). 17:08:53 -!- monqy has joined. 17:22:51 -!- Kustas has joined. 17:24:29 -!- TOGoS has joined. 17:24:39 -!- TOGoS has left. 17:36:59 -!- Gregor has quit (Quit: Coyote finally caught me). 22:08:24 -!- esowiki has joined. 22:08:25 -!- glogbot has joined. 22:08:29 ^^^ less amazing >_> 22:09:00 I want to know why I got a message to my phone when Codu went down (step one of the DMS), but glogbackup didn't join >_< 22:09:33 Sgeo_: continuations are dumb 22:09:58 Are you asking us to comment on the validity of that statement? :P 22:10:06 no he just needs a place to cry 22:10:08 and this is that place 22:10:09 So, here's my no-op C99 "check" as a solver: solution c99 {solved c99 {set [uplevel namespace current]::cc "gcc -std=c99"}} 22:10:20 pikhq: gross 22:10:26 it should check gcc actually works 22:10:32 and claims to support c99 22:10:42 pikhq: -pedantic 22:10:59 elliott: Yeah, I was just giving that as an example of how to actually write a stupidly simple solution. 22:11:13 Gregor: thats not a c99 compiler 22:11:18 thats a c99 compiler that complains a lot 22:11:24 see gcc does actually emit all the diagnostics c99 asks it to 22:11:27 it just emits them to /dev/null 22:12:48 Also, I should add an "args" to that, since, uh, generic checks will probably want to see those. :P 22:16:23 -!- zzo38 has quit (Remote host closed the connection). 22:17:26 its hilarious how rand claim copyright on A Million Random Digits with 100,000 Normal Deviates 22:21:23 http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477 <-- customers who viewed this item also viewed "Male Testicular Exam Model Anatomy" 22:21:52 "Turn your head and cough ..." (flips to a page and chooses a number) "four times." 22:22:46 * elliott notes that http://hcoop.net/~ntk/random/ is a copyright-free derivative 22:25:26 "NOTHING WILL BE SHIPPED. PURELY MEANT TO BE BOUGHT AS HUMOROUS IN YOUR "ORDERS" PAGE." --amazon seller 22:26:18 elliott: lolwuzzat? 22:26:38 Gregor: It's the sole seller for the modern literary masterpiece Hgiyiyi (hgjhjh, hjhk). http://www.amazon.com/Hgiyiyi-hgjhjh-hjhk-jjjj/dp/0649875427/ref=cm_cr_pr_product_top 22:27:22 einstein pondering the planck mass: http://i.imgur.com/4qkrT.jpg 22:27:31 Hgiyiyi slowly turned his head, as the beast crept towards him 22:28:09 oerjan: ugh, you're reading the translation? 22:28:21 I realise it was done by the author themselves, but it's just so more exquisite in the original yuajik: 22:28:38 Akj hgiyiyi hgjska ojtofngkjdl klsf, asjkhglfda ksjahglsjkh dkjah ighaiygagya gayigii. 22:28:54 olsner: this channel is pg thirteenXXNXJOIXkp 22:29:29 einstein was always pg13. except when cheating on his wife. 22:30:51 -!- CakeProphet has quit (Ping timeout: 246 seconds). 22:31:52 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:33:08 -!- Gregor has set topic: This channel rated M for strong language, sexual overtones and gore (Vidal). Parental discretion is advised. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 22:34:11 -!- elliott has set topic: this channel rated m ... for MURDER | logs: codu.org slash logs slash _ esoteric. 22:34:57 -!- Gregor has set topic: This channel rated for "You are Only Allowed to Use is Channel if you Have a Legitimate Keyboard" | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 22:37:33 -!- elliott_ has joined. 22:37:34 -!- elliott has quit (Read error: Connection reset by peer). 22:37:47 þ! yay, my keyboard is legitimate! 22:39:17 þ! my cut-and-paste is legitimate! 22:40:01 no, that's just an illegitimate cut-and-paste bastard of a þ 22:40:18 :´( 22:40:51 you should know better than making þs out of wedlock 22:41:51 > ord 'þ' 22:41:52 254 22:44:10 `addquote you should know better than making þs out of wedlock 22:44:11 455) you should know better than making þs out of wedlock 22:51:18 :) 22:51:41 `quote olsner 22:51:42 173) i think of languages as tools, there is no holy grail of languages even if there's no holy grail, that doesn't mean cups of crap is ok \ 220) DAMN YOU, I'm leaving olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! \ 236) elliott: just to bring you up to speed, you are 22:52:07 `quote 236 22:52:08 236) elliott: just to bring you up to speed, you are now my baby nephew. wtf, elliott is a nephew and his uncle is here? what Heck yes I'm elliott's uncle. 22:52:47 `quote 237 22:52:48 237) i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women... 22:54:35 `quote tun 22:54:36 No output. 22:54:41 `quote hlt 22:54:42 No output. 22:54:44 `quote hok 22:54:46 No output. 22:54:46 `quote hop 22:54:47 `quote hcf 22:54:47 4) that's where I got it rocket launch facility gift shop \ 258) Is there a name for something where I'm more attracted to someone if I know they've had a rough past? Sgeo, "Little Shop of Horrors" \ 314) back to legal tender, that expression really makes me daydream. Like, 22:54:48 No output. 22:54:59 `quote 314 22:55:00 314) back to legal tender, that expression really makes me daydream. Like, there'd be black-market tender. Out-of-town hug shops where people exchange tenderness you've NEVER SEEN BEFORE. 22:55:31 that is an idea 22:55:58 but I think it's based on the wrong meaning of tender 22:56:17 Yeah, money is basically a legal means of bruising people 22:56:39 `quote 22:56:40 54) If I ever made a game where you jabbed bears ... I'd call it jabbear. 22:56:48 `quote 413 22:56:49 413) Vorpal: it's actually called Happy Vorpal: Do not use it. Use Parsec. This is the wisdom of ZOMGMODULES. 22:57:09 who was using the zomgmodules nick again? 22:57:19 cpressey 22:57:28 neat 22:57:37 http://catseye.tc/projects/apple-befunge/ 22:57:39 what an fun thing 22:57:47 (zomgmodules inspired me to check catseye) 22:57:47 hmm, I've been slightly overusing the word "neat", I think 22:57:52 olsner: your parents are dead 22:57:53 neat 22:57:57 -!- Wamanuz has quit (Remote host closed the connection). 22:58:07 ] RUN 22:58:07 ?BULLSH*T ERROR IN 20 22:58:07 ] LIST 20 22:58:07 Unknown command, try @list 22:58:34 ugh 22:58:36 stupid throttling 22:58:38 ] RUN 22:58:40 ?BULLSH*T ERROR IN 20 22:58:40 Unknown command, try @list 22:58:42 ] LIST 20 22:58:43 lambdabot severely lacks a @bullshit commend 22:58:44 20 2 + 2 = 5 22:58:45 *a 22:58:46 quality humour from cats eye technologies 22:58:51 -!- Sgeo_ has changed nick to Sgeo. 22:59:11 > let 2+2 = 5 in 2+2 == 5 22:59:12 True 22:59:32 > 2+2 == (4::Expr) 22:59:34 True 22:59:39 huh 22:59:44 > 2+2 :: Expr 22:59:45 2 + 2 22:59:54 > 2+2 == (9::Expr) 22:59:55 False 22:59:59 huh it actually evaluates it 23:00:03 ?hoogle Expr -> Integer 23:00:03 Warning: Unknown type Expr 23:00:03 Unsafe.Coerce unsafeCoerce :: a -> b 23:00:03 Prelude floatRadix :: RealFloat a => a -> Integer 23:00:12 > a+2 == 4 23:00:13 False 23:00:16 > a+2 == 2+a 23:00:17 False 23:00:20 > 2 + 2 :: Expr 23:00:21 2 + 2 23:00:28 > a+2 == a+2 23:00:29 True 23:00:31 > 2 + 2 == (a :: Expr) 23:00:32 False 23:00:32 > a+2 == a+1+1 23:00:33 False 23:00:36 > a + 0 == (a :: Expr) 23:00:37 False 23:00:39 ugh 23:01:06 > a^(5::Expr) 23:01:07 a * a * (a * a) * a 23:01:15 -!- Wamanuz has joined. 23:01:53 lol what 23:02:21 > 1 < (2::Expr) 23:02:22 True 23:02:39 > 1 > (2::Expr) 23:02:40 False 23:02:56 it may have just enough evaluation that code using just numerals works 23:04:12 > a^10 23:04:13 a * a * (a * a) * (a * a * (a * a)) * (a * a) 23:05:31 > gcd a b 23:05:35 mueval-core: Time limit exceeded 23:05:45 > gcd (a+a) a 23:05:49 mueval-core: Time limit exceeded 23:07:03 Expr is shitty :( 23:15:08 -!- Patashu has joined. 23:18:23 "I come from a long line of people who were able to get laid at least once." :D 23:18:56 What about sperm donation? 23:19:26 that is not accounted for in the quote 23:19:35 imagine if your ancestors were like 23:19:37 sperm donated 23:19:40 ten generations up 23:19:48 the grand family of virgin 23:32:05 -!- pikhq has quit (Ping timeout: 252 seconds). 23:32:08 -!- pikhq_ has joined. 23:40:05 -!- DocHerrings has joined. 23:41:06 finally our herrings are saved 23:41:21 the doctor! he's arrived! 23:41:27 No more shall they fear the dangers of disease! 23:41:44 or wait, are you a group of herrings with a phd 23:41:52 anything's possible 23:41:59 save our soles! (wait, do you do soles too? or only herrings?) 23:42:39 Herrings only. They are the most sickly fish. 23:44:05 :( 23:44:12 herrings: god's least favourite fish 23:44:43 well, now you've experienced the highest-quality conversation this channel can sustain, it's all downhill from here 23:45:03 Then I can expect great things. 23:45:19 the bottom of that hill is where you find the finest beasts 23:45:20 always nice when the newbies are optimistic 23:46:07 "Hi, this is Freddie's dyslexia helpline. Please leave a massage." 2011-06-14: 00:02:16 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 00:06:41 -!- clog has quit (Ping timeout: 240 seconds). 00:10:13 -!- Gregor has set topic: This channel rated for "You are Only Allowed to Use is Channel if you Have a Legitimate Keyboard" | Join ##verybadattitude for more intellectual discussions | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 00:11:02 * Cannot join ##verybadattitude (You are banned). 00:11:06 :D 00:11:12 is it just me or is everyone banned 00:11:12 me too 00:11:16 oh good 00:11:20 thought i'd have to beat up Gregor there for a minute 00:11:37 right, our attitude is not bad enough to qualify yet 00:11:41 Gregor: you should glogbot it 00:11:46 http://codu.org/logs/_matrixofsolidity/ <-- good use of disk space 00:11:49 elliott_: It has the chanserv +b *!*@* mode, which is slightly distinct from just having the channel mode because in fact the channel will become joinable once a minute, but as soon as you join you'll be kickbanned :P 00:12:04 Gregor: X-D 00:12:15 joinable once a minute? 00:12:18 Gregor: So if you time it right and have discussions REALLY quickly... 00:12:19 -!- FireFly has quit (Quit: swatted to death). 00:12:44 Sgeo: Chanserv joins the channel to kickban you, then parts, but the channel only actually ceases existence (so loses its ban list) after about a minute. 00:13:13 Ah 00:13:26 It's possible to leave ChanServ in there, isn't it? 00:13:32 So it never ceases existence? 00:13:34 hey Gregor do javascript dudes still think writing programs in continuation-passing style manually is the key to WEB SCALE speed 00:13:47 hmm, as soon as *anyone* enters *everyone* get banned? 00:14:15 yes 00:14:38 olsner: AFAIK you can't make chanserv set more restrictive bans ... for everyone :) 00:15:46 :) 00:16:22 What can I say, it has a very bad attitude *shrugs* 00:16:25 YES I GOT IN 00:16:45 * Sgeo ruins it for everyone forever 00:17:04 so basically everyone needs to keep away for >1minute then one person can be in there for like one second? 00:17:08 Sgeo: ... whuh? 00:17:15 Joking about the forever 00:17:29 And getting in doesn't mean staying in ofc 00:17:33 But still 00:17:39 olsner: AFAIK it'll reset whether people are trying to /join or not, so you don't need to keep away :P 00:18:34 hmm, so if you time it *just* right, you could actually have several people in there? 00:19:02 olsner: Not sure, I don't see why not though. 00:19:12 lets set up bots to coordinate conversations in there 00:19:14 really short conversations 00:20:12 hey, this is like the numbers irc! ships meeting in the ocean to exchange "warez" 00:20:23 *numb3rs 00:22:20 hahahaha 00:22:22 yessss 00:23:44 "backtrace them!" "huh, we're banned? how can they have banned us, they don't know which name we're connecting with!" 00:24:38 loldoalfaolaol 00:25:41 lol, do Alf, AOL AOL! 00:26:11 alf do aol! lol aol! 00:28:07 what a lousy palindrome 00:28:44 it's so bad at being a palindrome it fails to be one 00:29:02 -!- CakeProphet has joined. 00:30:02 oerjan: you're not a very good palindrome yourself though 00:30:41 tehporPekaC 00:31:30 >renslo< 00:32:17 you know what really sucks haskell's module system 00:33:54 no I don't 00:33:58 what really sucks haskell's module system 00:35:20 yes 00:38:41 -!- foocraft_ has quit (Quit: Leaving). 00:44:56 I think Factor's is worse 00:46:56 c's module system is awful 00:49:39 -!- foocraft has joined. 00:53:21 Sgeo: how 01:01:31 elliott_: what's bad about it? 01:01:55 As far as I know, there's no room for finding vocabs outside the ... directories where Factor's expecting them. Actually, hmm, not sure about that. But there's no way to deal with two independently developed samely-named vocabs 01:02:01 afaik 01:02:11 CakeProphet: haskell's? 01:02:14 the hiding directive and choosing between qualified and unqualified are pretty sophisticated as far as I can tell. 01:02:14 its not ml's 01:02:17 yes. 01:02:19 ah, dunno about that. 01:02:33 basically there's no way to parameterise a module on another module 01:02:34 and that sucks 01:03:59 Pretty sure Factor's on the same boat there 01:04:28 Unless parameterising modules doesnt madate being able to parameterise on stu.. I'm clueless 01:04:41 An example of parameterising on a module please? 01:05:03 i lost my motivation to explain right after complaining 01:05:09 maybe tomorrow 01:05:21 ill find the augustss post about it 01:06:05 Sgeo: 01:06:07 http://augustss.blogspot.com/2008/12/somewhat-failed-adventure-in-haskell.html 01:06:07 http://augustss.blogspot.com/2008/12/abstraction-continues-i-got-several.html 01:06:09 http://augustss.blogspot.com/2008/12/abstracting-on-suggested-solutions-i.html 01:06:10 http://augustss.blogspot.com/2008/12/ocaml-code-again-im-posting-slight.html 01:07:07 elliott_: parameterise? 01:07:17 is that kind of like Perl's module system...? I doubt it. 01:07:24 CakeProphet: i linked the blog posts for a reason 01:07:28 read chronologically 01:07:38 LOOK I DON'T WANT HOMEWORK. 01:07:42 I HAVE SHIT TO DO. IMPORTANT THINGS. 01:07:47 like playing Risk with friends later. 01:07:51 and eating food. 01:07:57 CAN'T MULTITASK, NOEP. 01:08:01 do you want me to paste in the blog posts 01:08:02 theyre short 01:08:02 ty 01:10:53 uh, I'm not sure if this first one really has a point. 01:11:47 its showing something thats not possible in haskell 01:11:50 the later articles show how you can do it in ML 01:11:54 and how its still not possible to do cleanly in haskell 01:12:47 -!- foocraft has quit (Quit: Leaving). 01:14:35 elliott_: http://www.stefanwehr.de/publications/WehrChakravarty2008.html 01:14:48 BAM! ABSTRACT 01:15:00 irrelevant 01:15:05 typeclasses arent a viable replacement for the module system 01:15:08 because theyre a pain to use in this manner 01:15:22 anyway i linked the blog posts because im not actually interested in discussing this right now so 01:15:44 Good, then you agree that Perl has the best module system. 01:15:54 and will not be discussing further. 01:15:59 shut up 01:16:06 what's so good about perl's 01:16:08 :) 01:16:14 monqy: nothing, actually. I was joking. 01:16:22 :'( 01:16:56 it has some interesting export features. Modules can export different sets of functions based on 'tags' that you pass it. 01:17:30 actually that sounds kind of gross 01:17:31 but otherwise there's nothing special about it. It's a limited subset of other languages module systems. 01:21:00 use Getopt::Long qw(:config no_ignore_case bundling gnu_compat permute) 01:21:31 the big list there is a bunch of config options you can pass that module. 01:22:17 from wikipedia's Did You Know "... that Stephen Fry was an engineer and aspiring jazz pianist before he captained South Africa's rugby team against the British Lions?" 01:23:24 lol 01:23:26 CakeProphet: you'd think that could easily be expanded to something resembling ML functors 01:23:58 I honestly don't know how they work 01:24:16 but since you can have arbitrary code execute as a result of those options, I wouldn't be surprised if it were possible, if a bit tedious. 01:24:37 CakeProphet: well basically you _do_ pass parameters to modules, and get a module instance back 01:24:53 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:24:54 except Perl has no type system really so, and ML functors seemed concerned with typing of things. 01:24:59 CakeProphet: well you'd want to be able to use more than just strings as parameters 01:25:22 hmmm, don't think that's possible actual. 01:25:23 CakeProphet: well yeah but you could get the non-typing part of it 01:26:07 i guess python's module system allows that pretty easily, since modules are more or less just dictionaries 01:26:25 (iiuc) 01:26:36 so you could create one on the fly 01:26:38 yes, they're a special kind of class or whatever. 01:26:47 and yes, you can dynamically make a module that doesn't exist anywhere on file. 01:28:19 but you couldn't pass parameters to immediately effect the runtime loading of a module 01:28:24 *affect 01:28:29 you would have to do something afterwards. 01:29:27 CakeProphet: well i'm not entirely sure about Standard ML, but in Ocaml you cannot pass parameters directly either, instead the functor is a member of the file module which can then apply to parameters 01:29:43 ah okay, yes you could do something like that. 01:30:01 *which you can 01:30:02 it would be like.... calling a function in the module, more or less. 01:30:07 yeah 01:30:34 fancy stuff. xD 01:30:57 iirc Scala identifies modules and functors with classes as well 01:31:26 it's not exactly the same in Python, but I forgot in what ways that applies... 01:31:32 in Ruby however, they're exactly the same thing. 01:32:07 *with objects and classes, perhaps 01:32:36 yeah, essentially a module is an instance of type 'module' 01:32:45 shocking, really. 01:33:27 hm yesterday wikipedia had, for the first time i've seen, a Featured List, but none today 01:33:42 as in, the featured article was a list article? 01:33:51 or there were more than one features? 01:34:00 no, as in there was a specific added feature that was a list article 01:34:14 just above the picture spot 01:35:12 interesting. 01:35:39 well there's this: http://en.wikipedia.org/wiki/Wikipedia:Featured_lists 01:35:56 there's also featured sounds. They must be some pretty impressive sounds. 01:36:32 a lot of the featured sounds appear to be classical music. 01:36:50 further supposing the fact that Wikipedia editors are snooty pricks. :) 01:38:10 :) 01:40:11 once you get into the 1900s and up there's more political/historical speeches/recordings. 01:40:43 but nothing I would classify as a "truly epic sound" 01:41:01 like some kind of rainforest bird with multi-tonal squaks or something. 01:41:02 featured doesnt mean "awesome" 01:41:06 elliott_: shhh 01:41:26 it said "the best sounds on Wikipedia" 01:41:30 these are old people talking. 01:43:23 you realise that there are restrictions on featured stuff 01:43:27 like it cant be a fair use sample 01:43:37 yes I'm aware. 01:45:02 I'm not really talking about how these sounds awesomely fit into the rules. 01:45:20 just that they're not good sounds. Well, okay, the classical music is good. 01:45:36 a different name would be more suitable. 01:47:19 the best sounds on wikipedia in our snooty prick opinions 01:48:15 "the best moments in history, recorded and on Wikipedia. Oh, and some classical music." 01:48:32 -!- Lymia has quit (Ping timeout: 276 seconds). 01:48:49 let's pretend classical music is a best moment in history 01:52:13 yeah, see I was expecting to be blown away by the quality of these sounds. In much the same way that I expect such from articles in featured articles. 01:52:17 NOPE. NOT WHAT THEY MEANT. 01:52:26 I have been mislead. So many previous minutes, expired. 02:01:06 -!- Lymia has joined. 02:02:08 -!- pikhq has joined. 02:02:20 -!- pikhq_ has quit (Ping timeout: 260 seconds). 02:05:56 -!- clog has joined. 02:19:28 -!- Arandur has joined. 02:21:19 -!- Arandur has left. 02:22:03 wb clog 02:24:36 morning 02:50:09 -!- CakeProphet has quit (Ping timeout: 255 seconds). 02:55:35 -!- oerjan has quit (Quit: leaving). 03:08:51 -!- oerjan has joined. 03:09:30 -!- Sgeo has quit (Ping timeout: 255 seconds). 03:11:05 I'm convinced that Manitou Springs (town of about 5,000, ~8 km², adjacent to Colorado Springs) has managed to suck all the culture out of Colorado Springs (city of ~400,000, ~482 km²). 03:12:14 That's... Disturbing. 03:14:38 you should know that manitou is all-powerful 03:18:39 Also: *dang* the US has a low average population density. 03:19:00 32 people/km². 03:20:41 about 12 for norway 03:21:24 Yeah, and it's about 18 for my state. 03:21:51 And 0.46 in Alaska. :P 03:36:34 -!- Sgeo has joined. 03:37:39 -!- azaq23 has quit (Quit: Leaving.). 03:47:25 "i didnt think danes had mathematicians? i just figured danes walked around all day saying 'bjergen schergensensen' and nodding politely to oneanother" 03:51:16 lol that's just ignorant right 03:57:30 -!- pikhq_ has joined. 03:57:53 -!- pikhq has quit (Ping timeout: 276 seconds). 04:54:29 * pikhq_ contemplates build systems further 04:55:11 -!- Kustas has joined. 04:56:56 * pikhq_ wonders if EKOPath does awesome things for x264. Probably not, because the developers are already freakish, but hey. 04:58:48 Bear witness to my awesome new garbage collection idea! 04:58:52 I call it "chaos collection" 04:58:58 -!- Vorpal has joined. 04:59:07 Each page is designated for a particular /type/ (sorry, need static types for this) 04:59:15 You allocate by simply chopping up the page and handing them out. 04:59:27 bah, i've collected chaos for years 04:59:33 When you reach the maximum allotted amount of memory use, you switched to an LRU algorithm. 04:59:37 Gregor: Just parameterise it on N bytes rather than types 04:59:46 Gregor: Then Fythe can use it for objects less than one thousand bytes or so :P 04:59:47 elliott_: Wait for why it's types :P 04:59:55 oh this sounds interesting *checks log for context* 05:00:09 The least recently used page is marked as free, and each element added to the freelist for that type. 05:00:38 They're not modified yet, just marked as free. Later allocations of the same type can reclaim the same space, and use them, creating aliases. 05:00:49 Type safety is preserved! 05:00:53 Problem, correctness? 05:01:02 I'm not even going to try and understand what you're proposing. 05:01:05 (Note: Probably not advisable to use this for recursive types) 05:01:29 -!- Kustas has left. 05:01:30 elliott_: Don't trace reachability of existing pointers. Just mark the LRU page as free. 05:01:31 Gregor, oooh this sounds cool 05:01:38 Gregor: BTW, you actually mean _constructor_-specific 05:01:43 Since the thing is the size 05:01:43 i understand it perfectly. it's completely nuts. 05:01:50 elliott_: No, the thing is NOT the size. 05:01:54 `addquote I'm not even going to try and understand what you're proposing. i understand it perfectly. it's completely nuts. 05:01:54 elliott_: Type safety is crucial here. 05:01:55 456) I'm not even going to try and understand what you're proposing. i understand it perfectly. it's completely nuts. 05:01:59 Gregor: Alright. 05:02:01 Gregor: But what I mean is, 05:02:04 You couldn't have 05:02:08 data List a = Nil | Cons a (List a) 05:02:11 In one pool 05:02:16 It'd need a nil pool and a cons pool 05:02:20 Erm, imagine nil has one element embedded in it 05:02:23 So it actually has objects >_> 05:02:42 elliott_, wait what? Couldn't there be one globally shared Nil value? 05:02:50 Erm, imagine nil has one element embedded in it 05:02:50 So it actually has objects >_> 05:02:51 Null/nil/null/Nil/nool: Ruiner of types. 05:02:54 Amount I hate Vorpal: Thousands. 05:02:56 Gregor: OK, well 05:03:01 data Either a b = Left a | Right b 05:03:06 elliott_, s/value/object/ 05:03:15 I am just saying that you're equating types with constructors, which is only valid in C-like languages :P 05:03:22 Well, with records. 05:03:47 elliott_: Yes, I am, because I'm talking about a fucking garbage collector, and a chaos-inspired one at that >_> 05:04:03 elliott_, hm how does low level representation of something like " data Either a b = Left a | Right b" look like in ghc? 05:04:08 Gregor: Chaos as in the English word or? :P 05:04:08 s/how/what/ 05:04:12 Vorpal: You mean the values? 05:04:23 One word representing which constructor, then one pointer after it, consecutively in memory. 05:04:25 ah 05:05:07 elliott_, and in case of something like Maybe the pointer is null for the Nothing case? 05:05:11 also, a tag on the pointers to Eithers iirc 05:05:38 no pointer at all i'd say 05:05:48 oerjan: So, like my GC then? 05:05:57 Chaos Collection: Best GC? 05:06:09 Gregor: for a certain value of "best" 05:06:23 oerjan, so you mean for "Maybe Int" Nothing has a different size than Just 3? 05:06:39 Vorpal: at least conceptually 05:06:39 yes, constructors can have different sizes 05:07:01 oerjan, yes conceptually, but what about in practise? 05:07:18 elliott_, right 05:07:36 Vorpal: i think the first word or so also includes total length info for the gc 05:07:50 oerjan, hm okay 05:08:11 (or actually if there are unboxed fields it may need to tell where they are and what size, too) 05:08:29 hm, so how many different constructors are possible then? 05:08:46 hm... 05:09:43 Gregor, I think your GC is very interesting. Not sure how well it would actually work though. 05:10:21 Gregor, if each pool is type-specfic it would I guess potentially offer a very fast GC, but with many types in a program you could run into issues. 05:10:31 Vorpal: What's more interesting is if you can argue about its effects on a particular program or class of programs. 05:10:46 Gregor, I think I just did in some broad terms :P 05:11:02 Vorpal: I mean higher level. e.g. for some class the correctness of your final result reduces proportionally with the size of your heap. 05:11:10 ah 05:12:03 hm I just realised, nearly all C coding I have been doing lately has been for embedded systems. 05:12:24 with lately I mean something like the last 6 months or so 05:14:11 Well, that was helpful. 05:14:16 "Floating point exception". 05:14:25 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects 05:14:30 pikhq_: Stop dividing by zero. 05:14:33 pikhq_: It's not cool. 05:14:35 pikhq_, if you can I would suggest a debugger at this point. It can mean a lot of things. 05:14:48 Gregor, iirc you can get that for other things than div by zero 05:14:48 Vorpal: Compiler bug! 05:14:53 pikhq_, *ouch* 05:14:58 Vorpal: Not GCC, though. 05:15:02 pikhq_, which compiler then? 05:15:07 EKOPath. 05:15:11 pikhq_: lolsy 05:15:13 Which has yet to have a source release. 05:15:14 pikhq_: Is this GGGGC? 05:15:15 In x264. 05:15:16 pikhq_, never heard of it 05:15:19 pikhq_: Ah 05:15:28 Vorpal: In benchmarks, it has 2x performance. 05:15:29 Speaking of, I just finished downloading it! 05:15:36 pikhq_, nice, open source? 05:15:41 Vorpal: Soon to be. 05:15:44 right 05:15:53 Vorpal: Until, oh, now, it cost $2000 per seat. 05:15:55 oh Pathscale?! 05:15:58 Yeah. 05:16:01 this is *highly* interesting 05:16:34 Curiously, the clickthrough license already specifies GPL, although no source is included yet? >_> 05:16:34 I like how the price was enough to clue you in. :P 05:16:38 pikhq_, why is it going to be open source? 05:16:43 Gregor: The news was leaked 05:16:44 pikhq_, no I googled at the same time :P 05:16:45 Gregor: So :P 05:16:57 pikhq_, though yeah I would have guessed it based on the price too. 05:17:08 Gregor: The press release came out before they planned on having source up. 05:17:33 If it's not out in a day or two, *then* you can get upset. 05:17:43 Vorpal: http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects#Pointers-firstlayout 05:17:46 pikhq_, what made them go open source, I don't get it. Are we going to see VxWorks as open source next!? 05:17:49 Their live chat guy told me that 05:18:00 Then I internet married them 05:18:03 For their kindness 05:18:05 GGGGC works with EKOPath 05:18:07 Vorpal: bad sales? 05:18:10 ah 05:18:22 Vorpal: No idea, but I'm not about to complain. 05:18:24 Gregor: Swoot :P 05:18:28 pikhq_, nor me. 05:18:34 "So we now have GHC as the only major compiler which can cause *runtime* crashes depending on what characters are used in a string literal." 05:18:37 pikhq_, targets linux? 05:18:50 Vorpal: Yes. x86_64 only, though. 05:18:57 ah, no problem for me there 05:19:05 Vorpal: Also, *builds* Linux (with a small patch that I can't find yet). 05:19:17 awesome 05:19:17 "So we now have GHC as the only major compiler which can cause *runtime* crashes depending on what characters are used in a string literal." <-- *blink* 05:19:17 No visible change in performance from GCC. 05:19:19 elliott_, how? 05:19:23 Vorpal: OverloadedStrings :P 05:19:24 http://hackage.haskell.org/trac/ghc/ticket/5255 05:20:01 elliott_, ouch 05:20:12 -!- copumpkin has joined. 05:21:00 "GHC bug: people can define Functor instances for things that aren't functors." --dolio 05:21:20 heh 05:21:41 well, I'm off. Practical driving exam. I hate mornings though. Oh well. 05:21:47 mornings are the worst 05:21:50 yes 05:21:50 need banning 05:21:52 outlaw mornings 05:21:56 hah 05:22:02 five am to ten am officially no longer exist 05:22:04 everyone rejoice 05:22:22 But those are sleeping hours! 05:24:24 So, got xz built with it... 05:24:25 -!- CakeProphet has joined. 05:24:35 -!- CakeProphet has quit (Changing host). 05:24:35 -!- CakeProphet has joined. 05:26:01 -!- Vorpal has quit (Ping timeout: 240 seconds). 05:27:00 -!- elliott_ has changed nick to dodifer. 05:28:03 I wonder how many people are named Dodifer. 05:28:08 I estimate: twelve. 05:28:12 just me 05:35:51 Welp, -ipa is a bad bad flag to use. 05:36:04 It makes pathcc trigger a glibc bug. 05:36:13 By God, this is a positive stress test of my system. :P 05:42:16 Hmm. Well, xz is slower with it. 05:43:17 Apparently, it takes *cache size* as one of the optimisation flags, and its defaults are for an Opteron, which has fairly beefy L2. 05:50:38 Oh, and you have to *order* it to handle pointer alias more strictly. 05:51:45 http://en.wikipedia.org/wiki/Florence_Y%27all_Water_Tower 05:51:48 america 05:53:03 Let me just be absurd and give it -LNO:alias=restrict 05:53:05 dodifer: We invent words that the English language was sorely lacking? 05:53:17 Which makes it assume FORTRAN pointer semantics. 05:54:16 Gregor: suuuuuuuure 05:54:20 pikhq_: nice 05:54:26 "The city paid $472 to the W.T. Marx Company[5] of nearby Cincinnati, Ohio to make the changes; whereas a complete repaint would have been nearly three times as much" lol 05:54:56 Which does not help on xz at all. 05:55:06 gregor laughs at poor people, especially when those poor people are governments 05:55:21 It's pretty consistently being a couple seconds slower on decompressing $large_file. 05:55:38 Fortran pointer semantics should never slow anything down :P 05:55:59 dodifer: No, I mean that the compiler's output is consistently doing that no matter what I throw at it. 05:56:12 Only thing that helped notably was telling it my cache size. 05:56:41 i have an important question 05:56:43 does anyone actually use fedora 05:56:45 apart from linus 05:57:24 I get the feeling this is optimised for numerical-heavily workloads. 05:57:53 Lemme try flac. 05:59:48 is kernel three still not out yet 06:00:19 3.0-rc3 just came out. 06:00:28 is it any good 06:00:30 or is it the crap 06:00:39 By "just" I mean "a minute ago". 06:00:40 like is it stable 06:00:52 pikhq_: seven hours ago 06:01:14 BAH 06:01:27 BUT IS IT STABLE 06:01:27 It's not a -rc1, so it should be reasonably stable. 06:01:30 YAY 06:04:31 Kay, so flac -8 on Alive 1997 takes 57 seconds with EKOPath... 06:05:24 your flac is a lot faster than mine 06:06:02 And 62 with Debian's stock package. 06:06:16 flinix is 06:06:17 back 06:06:19 in 06:06:21 bizns 06:06:23 Same version of flac. 06:06:24 this time with linux THREE 06:06:26 all new 06:06:32 excuz me this is exctiging news 06:07:25 Now to see if it handles -ipa. 06:08:26 Nope, segfaults in the assembler. 06:09:24 hey pikhq_ im not sure you actually need tmpfs at all 06:09:26 or the block layer 06:09:29 if you have initramfs support 06:10:21 Indeed, you don't. 06:11:47 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 06:12:16 hmm, I wonder if BFS saves kernel size 06:17:28 Setup is 13132 bytes (padded to 13312 bytes). 06:17:28 System is 358 kB 06:17:29 pikhq_: 06:17:53 dunno if it can actually boot though 06:48:57 From my testing, I conclude that GCC and clang are actually *really* freaking good at optimisation outside of confusing circumstances. 06:49:20 pathcc is better, but it's not blowing the others out of the water. 06:50:02 If pathcc's automatic parallelisation and link-time optimisation *worked* I'd be saying something different, no doubt. 06:50:15 But it doesn't, so I'm not. 06:55:28 gcc? good at optimisation? 06:55:30 lol at your joking 06:55:55 well ok gcc's forte is more breaking programs 06:55:58 than being bad at optimisation 06:57:04 dodifer: In my testing, it's either slightly better or slightly worse than pathcc. 06:57:27 Admittedly, I was not able to get automatic parallelisation to work. 06:57:30 (link error) 06:57:39 Or LTO (SEGFAULT). 07:09:29 -!- oerjan has quit (Quit: leaving). 07:25:26 -!- dodifer has quit (Read error: Connection reset by peer). 07:45:49 -!- monqy has quit (Quit: hello). 08:02:33 -!- elliott has joined. 08:02:43 Gregor what was that really sad video with the rabbit that fell down the well 08:08:10 -!- Vorpal has joined. 08:09:13 you americans will be rather confused by this I bet. I failed the practical driving exam because I was to close to the right side of the road when I was about to turn left from a countryside road. That alone was what I failed on and it was enough to prevent me from passing. 08:09:33 ha ha Vorpal can't drive 08:09:37 * elliott emotional support 08:10:02 elliott, as if you could drive. 08:10:03 :P 08:10:08 Vorpal: i don't see how driving a car can be hard, its like a computer except it only has a few buttons and it doesn't crash 08:10:15 i mean basically 08:10:18 Vorpal: Yeah, US drivers would absolutely *frighten* you. 08:10:26 but like how do you even fail at driving 08:10:29 idgi 08:10:36 "whoops i went left but i wanted to go right, i guess i am stupid" 08:10:42 elliott, except unlike a computer you don 08:10:55 elliott: How do you think the US gets away with a driving test that anyone who can compute 1+1 can pass? 08:10:59 do need* to keep track of everything around you 08:11:06 pikhq_: because driving si easy? 08:11:13 Vorpal: you ignore your windows on a computer? 08:11:23 i mean come ON all you have to do is not bash into things 08:11:26 have you ever played donkey.bas 08:11:28 that's how hard driving is 08:11:33 elliott, no but try keeping track of 40 other computer users around you and what they are doing 08:11:33 don't hit the fucking donkey 08:11:35 the end 08:11:35 at the same time 08:11:39 oh no there's forty donkeys 08:11:40 elliott, then it is like driving 08:11:41 hardest fucking game 08:11:56 come on driving is easier than puzzle bobble 08:11:59 Vorpal: The cars on the road might frighten you more, actually... 08:12:12 i mean come ON all you have to do is not bash into things <-- yeah I'll *love* to see you drive. From behind a barricade preferably. 08:12:24 Vorpal: If it runs, it's probably street legal. 08:12:32 Vorpal: unfortunately im not stupid enough to fail at driving, sorry that it won't be entertaining 08:12:38 but driving is kind of pointless though 08:12:44 elliott, in Sweden you can fail the exam if you don't drive in a environmentally friendly way btw. 08:12:46 it takes hours and you can't do anything while its happening 08:12:48 I bet you can't in US 08:13:01 its like doing a rubiks cube for five hour sand then you arrive at your destination 08:13:05 stupidest way to travel 08:13:08 Vorpal: If you can drive around a couple of blocks you can pass. 08:13:17 Vorpal: lol, "drive in an environmentally friendly way" 08:13:20 but driving isn't intellectual but mostly motor skills? so stupidity should have almost nothing to do with it 08:13:24 GUYS IF WE REDUCE ENERGY USAGE A TINY TINY BIT 08:13:25 elliott, well, reasonably 08:13:27 WE WILL SAVE THE PLANET 08:13:43 SCIENCE PROVES IT ! ! ! ! ! ! 08:13:46 elliott, basically yes. I agree it don't help much. 08:13:54 but driving isn't intellectual but mostly motor skills? so stupidity should have almost nothing to do with it <-- indeed 08:13:59 I had no problems with the theory 08:14:01 i really love the "save the planet" slogan 08:14:01 like 08:14:08 elliott, they don't use that one here 08:14:11 if we dont reduce carbon dioxide 08:14:13 the planet will LITERALLY EXPLODE 08:14:34 elliott, they use the silly slogan "ecodriving", in English. I have no clue why they use that. 08:14:38 yeah, we'll reach explosive levels of co2 and the whole thing goes boom 08:14:38 olsner: its not that much motor skills 08:14:46 i mean there's not much finesse involved in turning a wheel really 08:14:47 Vorpal: Now to scare you more: I can legally drive *on your roads* with a US license. 08:14:52 well i mean 08:14:56 non-fine motor skills maybe 08:14:59 but thats just kind of like... moving your arms 08:15:09 Vorpal: Which you get for driving around a couple of blocks succesfully and answering 7 out of 10 multiple choice questions right. 08:15:18 i dunno, maybe the cars make driving hard, maybe i need to design a car 08:15:19 moving your arms is motor skills :P 08:15:29 -!- pizearke has joined. 08:15:40 although actually id just write the small amount of extra software required to be a better-than-human driver 08:15:48 cars: the worst?? 08:15:54 pikhq_, ugh 08:15:55 elliott: Such NIH, man. 08:15:59 I'm glad I'm not in US 08:16:01 Hmm.... 08:16:08 pikhq_: yeah i know google are already on it 08:16:20 Vorpal: swedish rodes must be really boring 08:16:23 How simple a ruleset would it take for a car to do as well as, or better than a human driver anyways? 08:16:26 if you have to drive you might as well have some excitement 08:16:27 elliott, why? 08:16:31 Lymia: ask google 08:16:32 oh 08:16:33 hah 08:16:36 Vorpal: because all your drivers are good and boring... 08:16:40 with the us its like 08:16:48 elliott, dude, you forgot the winter 08:16:48 what stupid fucks will be on the road today??? 08:16:59 elliott: Yes, that is exactly how it is. 08:17:02 elliott, driving and pathfinding arn't exactly the same problem... 08:17:10 Lymia: um 08:17:11 Lymia: Google has self-driving cars. 08:17:17 pikhq_, ah. 08:17:17 Lymia: google are working on self-driving vehicles 08:17:19 elliott, we get enough excitement during winter that we want a calm summer :P 08:17:20 elliott, I see. 08:17:26 Lymia: thousands of miles of real-world testing in california 08:17:32 Do they drive like non-assholeish drivers? 08:17:37 presumably :P 08:17:49 Yes, and the only accident so far is that a car got rear-ended. 08:18:01 they should try it in sweden without any modifications 08:18:05 WHEEEE SKIDDING 08:18:08 elliott, during winter yeah 08:18:18 pikhq_, which car? 08:18:26 hm are studded tires allowed during winter in US? 08:18:40 Lymia: Google's. 08:18:42 hmm i should reboot back into linux 08:18:48 wanna do some haskela 08:18:55 Vorpal: Depends on the state. 08:19:01 pikhq_, right 08:19:08 pikhq_, heh. I'm not too sure that counts as Google's fault... 08:19:18 Wonder if the program has cases to deal with "omg somebody is going to rear end me" 08:19:28 Lymia: It was at a stop light, too. 08:19:34 Vorpal: they're not even allowed in sweden in some places 08:19:38 pikhq_: lmao 08:19:44 oh wait 08:19:44 olsner, oh true. Mostly central stockholm iirc? 08:19:46 rear-end doesnt mean what ithink 08:19:47 Proof we need more robot cars. 08:19:47 =p 08:19:49 thats a lot less funny now 08:19:50 Vorpal: *Basically*, anywhere with winters that are worth caring about has studded tires legal. 08:19:52 olsner, but who in their right mind would go there. 08:19:55 i thought it meant a car flipping upside down for some reason 08:19:57 so like 08:20:00 pikhq_, right 08:20:02 google car stops orderly at the traffic light 08:20:04 three seconds later 08:20:06 Vorpal: people who live or work there, mostly 08:20:07 spontaneously flips itself over 08:20:12 olsner, yeah 08:20:13 no-one else would suffer the queues 08:20:16 why are you not laughing 08:20:29 olsner, I would never drive unstudded during winter, exception if I moved to some big city probably. 08:20:30 why are you not laughing 08:21:21 olsner, but the municipality I live in has as a stupid policy to never use salt during winter unless in extreme conditions. Just sand. So I need studded to get up the hill from where I live when it is icy :P 08:21:30 I wouldn't drive at all during winter, but that's just me not having bothered to learn how to drive 08:21:49 Vorpal: swedenbeach 08:21:54 elliott, ?? 08:21:59 olsner, you don't have a driving license? 08:22:03 we put sand......on road......now we pretend we are in country we actually like . . . 08:22:08 Vorpal: nope, what would I do with one? 08:22:17 elliott, what? That is far fetched 08:22:24 sand on roads is common during winter... 08:22:34 carpal tunnel syndrme 08:22:34 elliott: they don't use quite enough sand for that effect 08:22:42 olsner: palm trees....on the road....i nwinter... 08:22:49 elliott: Yeah, it's quite common. The idea is to increase the amount of traction. 08:22:55 palm trees 08:22:57 olsner, hm good to have a license still. In case you need to drive during work or such. 08:23:06 tarski was a palm tree±true±facts 08:23:08 ± <- tree 08:23:10 Done in the US pretty much anywhere that can expect, oh, an inch of snow in the winter. 08:23:23 Gregor i still need that video 08:23:35 pikhq_, an inch? Come on, they hardly even plow anything but highways for that much. :P 08:23:43 GREGOR I REQUIRE THE SAD RABBIT VIDEO 08:24:12 im going to go on a rampage 08:24:21 http://www.youtube.com/watch?v=VjMsQ_NUOMA no this is not it 08:24:26 jesus what is this 08:24:29 Vorpal: given how hard it is to code while driving, not sure why I'd be asked to drive :P 08:24:33 Vorpal: Well, rather, if they can reasonably expect an inch of snow in the winter *they will actually have the ability to sand roads*. 08:24:33 oh my god the rabbts voice 08:24:35 i mt errified 08:24:42 oh my god the toroises voice 08:24:43 olsner, heh. 08:24:49 YOU ARROGANT RABBIT 08:24:51 To account for somewhat more extreme winters. 08:24:51 olsner, where do you work btw? 08:24:52 YOU ARE LAUGHING AT ME????? 08:24:53 actual quote 08:24:57 pikhq_, right 08:25:01 god this rabbits laugh is terrifying 08:25:17 pikhq_, all of Sweden can expect significantly more than that 08:25:19 is that finish written in neon 08:25:27 dudes you are all mssing out on this video 08:25:31 its the most amazing thing ive ever watched 08:25:40 Cause a place like Houston is not really going to see snow more than once a decade. 08:25:44 HE'LL TAKE LONG TIME TO REACH HERE 08:25:56 man that tortoise is like 08:25:58 dancing over the ground 08:26:00 Vorpal: Yeah, pretty much the northern half of the US sees more significant snowfalls. 08:26:01 wow 08:26:14 oh 08:26:19 the tortoroyse has gone tu far 08:26:23 come on, south Sweden is probably worse than I live. The landscape in Skåne is so flat and open.... You get cases of trains getting stuck due to 2 meter high snowdrifts having been blown up against the track. 08:26:32 and Skåne is far to the south 08:26:39 And, of course, there's Alaska, which actually is *permafrost* in a lot of it. 08:26:46 does anyone know that sad rabbit video gregor linked once 08:27:02 olsner, didn't they use bandwagons last winter to rescue people from a train that got stuck in Skåne iirc? I seem to remember reading about it. 08:27:10 everyone has me on ignore noq 08:27:13 now 08:27:22 Vorpal: I wouldn't have heard about that, I don't read news 08:27:23 elliott, use the logs. See topic. 08:27:27 olsner, oh okay 08:27:32 Vorpal: uh what the fuck would i grep for 08:27:37 olsner, anyway where do you work? 08:27:44 elliott, -i "sad rabit" maybe? 08:27:48 ok fine 08:27:54 -!- elliott has quit (Remote host closed the connection). 08:27:58 what? 08:28:14 well rabbit* 08:29:19 pikhq_, anyway, how many people die in the traffic per year in US? 08:29:42 or maybe per 10000 citizens or such. 08:29:49 since that way it would be easier to compare the numbers 08:29:58 -!- elliott has joined. 08:31:01 elliott: you strike me as sorr of the person who /would/ own multiple sizes of rabbit just to be able to compare them 08:31:07 my secret is out 08:31:32 elliott, hehe 08:31:43 "I want a bigger rabbit so I can compare it to this rabbit and say it's bigger!" 08:32:09 hey i just realised that adding data to something can actually make it more compressible? 08:32:11 i guess thats obvious 08:32:12 but like 08:32:22 printing all strings of length 999999 is really easy 08:32:31 compared to printing one, truly-Kolgomorov-random string of length 999999 08:32:47 Vorpal: Uh, fatalities per 100,000 people was 11.01 in 2009. 08:32:51 isn't it *kolmogorov? 08:33:04 pikhq_, let me check statistics for Sweden 08:33:13 apparently only i fin this interesting 08:33:16 find 08:33:54 olsner: yeah 08:33:56 4.87. 08:34:06 pikhq_, 7,4 (cars) 3,8 (pedestrians) 08:34:10 that is the stats for Sweden 08:34:18 oh wait 08:34:20 no I misread 08:34:32 the former is per 100,000 cars 08:34:43 the latter is per 100,000 citizens 08:34:44 http://hackage.haskell.org/package/sbv this is hot 08:34:49 pikhq_, ^ 08:35:02 pikhq_, now I suggest you get better driving exams 08:35:07 so 7.4 out of 100000 cars die each year, but we don't know how many people were in them? 08:35:22 pikhq_, why are your driving exams so bad? 08:35:32 Vorpal: Per kilometers travelled is a better metric, BTW. 08:35:39 can't find that 08:35:46 * pikhq_ is trying to convert this figure to metric... 08:36:27 wait what, there seems to be statistics per amount of fuel. wtf 08:38:03 pikhq_, I can't find any km travelled figures, so can't compare anyway 08:39:06 pikhq_, this is what I can find basically: http://www.trafikverket.se/Privat/Trafiksakerhet/Olycksstatistik/Vag/Nationell-statistik/Arsdata-fran-1950/ 08:39:16 there is a button for English in the upper corner 08:39:34 not sure if that page exists in English though 08:39:48 they used to have vv.se as the address ... dvbf 08:40:14 olsner, yes but vägvärket changed name to trafikverket as you know 08:40:22 olsner, also "dvbf"? 08:40:38 vägvärket :P 08:40:44 oops 08:40:50 vägverket* of course 08:41:03 olsner, anyway what did "dvbf" mean? 08:41:06 what, you don't know about dvbf? 08:41:12 olsner, correct 08:41:22 how can you not? 08:41:30 Lessee. 08:41:32 det var bättre förr 08:41:40 olsner, aha 08:41:52 olsner, Jag chattar inte mycket på svenska. :P 08:41:59 olsner, faktiskt inget alls. 08:42:10 39.3 accidents per hundred million vehicle miles per year for Sweden, 62.2 for the US. 08:42:20 Yup, we need better driver education. 08:42:25 fast det där är inte en chat-förkortning, den kommer faktiskt från verkligheten 08:42:39 pikhq_, And we have the bad weather of the north states (apart from Alaska) in the whole country 08:42:43 (source for both, Wolfram Alpha, and WHY WON'T IT USE METRIC, MILES IS A TERRIBLE UNIT) 08:42:45 Our local "Road Administration" (Tiehallinto; approximate translation) quasi-recently also changed their name to "Destia". There seems to be a trend for picking nonsense names to sound more modern. The post office changed their name to "Itella" too. 08:43:05 they both sound italian 08:43:06 Vorpal: You also have a population density on par with Kansas. 08:43:21 olsner, säger folk "dvbf"? Jag har aldrig hört någon säga det högt. Skriva det kanske. 08:43:39 fizzie, trafikverket is not a nonsense name though. 08:43:41 Which you can drive all the way through and count on one hand the number of cars you've seen. 08:43:49 (if you choose the path right, mind) 08:43:55 fizzie, some other ones went for nonsense names though 08:44:10 Vorpal: hmm, förkortningen kanske är text-specifik ja... vanligtvis säger man nog alla orden när man säger det 08:44:15 Which you can drive all the way through and count on one hand the number of cars you've seen. <-- can't do THAT in most of Sweden 08:44:22 pikhq_, Sweden is rather unevenly settled. 08:44:41 pikhq_, an average is not going to give you any useful numbers for most of Sweden. 08:44:53 olsner, exakt. 08:45:10 Kansas has pretty much a single giant glob of population, a handful of smaller ones, and hundreds of miles of corn fields. 08:45:52 To avoid the globs of population, you only really need to keep off of the Interstate bisecting it. 08:46:13 pikhq_, well not like that here. South half of Sweden have quite a lot of cities. In the far northen parts you can go for miles (Swedish ones, 10 km) without even seeing a road. 08:46:23 (that was from a train though) 08:46:56 of course most americans probably don't count 50000 inhabitants as a city... 08:47:19 That's funny, W|A gives me "24.4 accidents per hunderd million vehicle kilometres per year" by default, with a "show non-metric" button available. 08:47:43 fizzie, which non-metric? 08:47:51 fizzie, and what is the funny part? 08:47:52 Didn't for me. 08:47:54 Miles. 08:48:01 ah 08:48:07 but what about furlongs? 08:48:13 Oh, wait, there it is. 08:48:21 "Show metric". 08:48:35 geoip or cookies maybe? 08:48:40 The "funny" (in the "curious") part was that it defaults to non-metric for pikhq. I guess by IP geolocation or some-such. 08:48:56 but what about furlongs? Oh, wait, there it is. "Show metric". 08:49:06 :D 08:49:11 furlongs are now metric :P 08:49:17 hah 08:49:23 -!- CakeProphet has quit (Ping timeout: 250 seconds). 08:49:32 fizzie: Which irks me, because metric is what I usually want, *especially* if comparing official statistics with any other country. 08:50:10 Our figure is 20.8 accidents per hundred million miles per year; but of course this is an even less populated place and so on. 08:50:29 hmm, xor is one-bit addition 08:50:31 what's one-bit subtraction? 08:50:37 oh, just xor on complement, heh 08:50:40 fizzie, yeah 08:50:55 and multiplication is and, right? 08:50:57 pikhq_, do you have those 2+1 roads in US? 08:51:01 yeh 08:51:01 http://en.wikipedia.org/wiki/2%2B1_road 08:51:01 yeah 08:51:33 wait no 08:51:35 it's not 08:51:36 hmm 08:51:37 ah yes you have a handful says wikipedia 08:51:40 what /is/ subtraction 08:51:42 Vorpal: Apparently in a handful of places. 08:51:47 Vorpal: I haven't seen one. 08:52:03 pikhq_, they increase safety a lot I heard. 08:52:38 :| 08:52:41 what is one-bit subtraction 08:52:45 Compared with just having lines on the road indicating when you can go into the oncoming lane to pass? I'm sure. 08:53:24 Wouldn't work as well with US drivers though. Blithering morons seem to not grok the idea of a "passing lane". 08:53:49 We have roads that do short 2+1-style stretches every now and then (alternating the side) with regular 1+1 road in-between the 2+1 sections. 08:53:52 ur all so helpful 08:53:54 pikhq_, hm, well they would have to, since the lane shifts side every now and then 08:54:08 fizzie, yeah that is what a 2+1 road is, isn't it? 08:54:42 Vorpal: I understood from the wiki description that it stays three-lane all the time. 08:54:57 hey fizzie 08:55:00 At least the side-change at the top diagram is like that. 08:55:02 fizzie, oh in total yes. 08:55:02 what logical op corresponds to one-bit subtraction 08:55:10 fizzie, though there can be 1+1 sections sometimes 08:55:16 but usually it is 3 in total 08:55:19 misunderstood you 08:55:28 elliott, XOR? 08:55:33 no 08:55:35 xor is one-bit addition 08:55:39 wait 08:55:39 omg 08:55:40 Right. 08:55:42 its the same thing 08:55:51 thats amazing its like im on DURGZ 08:55:52 The carry bit would have to be different, right? 08:55:54 :c 08:56:07 thats not part of addition or subtraction 08:56:28 It is part of it when you're chaining them for higher bits, right? 08:57:15 Vorpal: Ours always -- well, at least I think so -- just have a one-sided 2+1 section, and then a longer 1+1 gap, and then the same thing for the other side. There's typically signage saying how far the next 2+1 part is. 08:57:27 fizzie, heh, why 08:58:09 elliott, oh, I see. 08:58:15 You can only add and subtract one, right? 08:58:53 One of those operations always rolls over, and the other operation ends up on that value naturally. 08:58:56 Makes sense 08:59:37 Vorpal: Maybe it's cheaper that way when retrofitting old roads, have to widen just parts of it instead of the whole thing. 09:00:01 fizzie, hm right 09:01:25 pikhq_, anyway I don't understand how traffic in US can work at all 09:03:58 "Poorly". 09:05:08 -!- elliott has quit (Remote host closed the connection). 09:05:11 Incidentally, visited the UK National Museum of Computing (in Bletchley Park) last week. There was an http://en.wikipedia.org/wiki/Elliott_803 in there. 09:05:13 I recall an incident with a driver who was texting while driving on the highway. 09:05:17 Aw, he *just* went. 09:05:26 They changed lane unintentionally more than once. 09:05:31 At one point, they were perpendicular to the road...... 09:05:34 -!- elliott has joined. 09:05:35 wtf 09:05:43 what 09:05:57 09:05:11: Incidentally, visited the UK National Museum of Computing (in Bletchley Park) last week. There was an http://en.wikipedia.org/wiki/Elliott_803 in there. 09:06:01 fizzie: yeah thats me 09:06:05 got a problem w/ it???? 09:06:18 they never noticed i was sentient :( 09:07:10 Then I now have a picture of you, "yay". 09:07:26 im the most girly looking retrocomputer 09:09:36 Vorpal: It's a wonder that we still have population: http://upload.wikimedia.org/wikipedia/commons/b/ba/Atlanta_75.85.jpg 09:10:23 Yes, that really is 14 lanes. 09:10:41 -!- MigoMipo has joined. 09:14:21 pikhq_: that's nice and wide 09:14:58 elliott: Not even the widest. 09:16:42 hey elliot. 09:16:57 elliott: http://upload.wikimedia.org/wikipedia/commons/2/2c/RF_-_Houston_Texas_IH10.1.jpeg 09:17:44 elliott: For reasons of not-being-apeshit, the lanes aren't all crammed together. But, that's a 26 lane highway. 09:19:01 Yes, really, that is all the same damned road. 09:19:17 With onramps and offramps to different parts of the road. 09:19:27 -!- CakeProphet has joined. 09:19:32 -!- CakeProphet has quit (Changing host). 09:19:33 -!- CakeProphet has joined. 09:21:18 -!- CakeProphet has quit (Client Quit). 09:21:34 -!- CakeProphet has joined. 09:21:34 -!- CakeProphet has quit (Changing host). 09:21:35 -!- CakeProphet has joined. 09:23:51 Also, that road system requires this: https://secure.wikimedia.org/wikipedia/en/wiki/File:Texas_turnaround.svg 09:23:58 And fuck I should sleep, it's 03:30. 09:24:05 pikhq_: hi its ten am 09:36:41 -!- Miss has joined. 09:38:44 hi Miss 09:38:56 Hi 09:39:10 How r u 09:39:31 do you know what this channel is about 09:39:40 No 09:39:46 programming 09:39:58 About what !! 09:40:09 Miss: programming languages, to be specific 09:40:14 crazy nutso ones 09:40:17 to be even MORE specific! 09:40:17 Aha 09:40:36 Oh 09:40:39 augur, "crazy nutso ones" is a bit of an understatement, don't you think? 09:40:40 :3 09:40:50 this channel is the feather user and appreciation promotion group retroactiavte 09:40:54 Lymia: i dont know how to make it even more true 09:40:59 Im not realy spake english 09:41:05 i spaked english 09:41:13 ;( 09:41:29 augur, see: Malborge 09:41:31 See: Aura 09:42:00 malborge or malbolge 09:42:27 elliott 09:42:34 miss elliott 09:42:45 missy be thrownin down 09:42:49 im the hottest rond 09:42:51 round.. 09:42:52 :| 09:42:59 quality channel 09:43:05 QUALITY 09:43:09 VIP QUALITY 09:43:12 WHERES SLEREAH 09:43:17 :P 09:43:31 Miss: r u the reincarnation of alfred tarski famous kawaii british pyhsicist... 09:43:45 tarski, british? 09:43:52 yes 09:43:58 tarski is the most kawaii british physicist of all time 09:43:59 hardly 09:44:06 hes as british as he is a physicist so shut your mouth 09:44:14 true! 09:44:31 augur, Lymia is channeling her inner Japanese. Yep. 09:44:41 .. 09:44:41 what 09:44:44 wat 09:44:45 ;( 09:44:49 Miss: ;( 09:45:05 this is so confusing T_T 09:45:17 I need sleep 09:45:39 tarski needs sleep 09:46:04 Now im vacation  09:46:12 Now im vacation  09:46:29 O.O 09:47:20 v 09:47:36  09:47:37  09:47:42 ^ It's just like Minecraft! 09:47:57  09:47:59   09:48:08   09:48:16  S  09:48:18 Yeah. 09:48:21 Too spammy. 09:48:30 فيه احد سعودي 09:48:39 ههههه 09:49:59 ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه 09:50:01 هههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه 09:50:02 ههههههههههههههههههههههههههههههههههههههههههههههههههههههه 09:50:03 هههههههههههههههههههههههههههههههههههههههههههههv 09:50:03 هههههههههههههههههههههههههههههههههههههههههههههههههه 09:50:04 ههههههههههههههههههههههههههههههههههه 09:54:17 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 09:54:20 * Lymia explodes 10:00:40 -!- Miss has quit (Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi). 10:04:59 -!- Miss has joined. 10:05:02 وش ذا 10:05:31 ما شا الله انت سعودي 10:05:42 قاعد تطقطق علي 10:05:50 英語で? 10:06:52 لله 10:07:00 عد تله انت 10:07:06 wonder what i just said 10:07:53 Do you anderstand !!! 10:08:13 lol 10:08:21 英語で!! 10:08:33 I'm speak arabic 10:08:46 :-! 10:09:03 ;( ;( ;( 10:09:15 でان 10:09:18 Oh. 10:09:33 えいごではなせてください 10:09:34 There. 10:09:36 Squiggles. 10:09:57 -!- ais523 has joined. 10:10:11 :( 10:10:21 hi ais523 10:10:28 miss is very confused 10:11:15 في hi 10:11:24 ... 10:11:24 :< 10:11:52 No 10:12:38 なに? 10:12:49 has anything much been happening while I've been away from the Internet? 10:14:05 -!- Miss has left. 10:14:42 ais523: you've been away? 10:14:58 and thus began ais523's realisation that nobody truly cares about him ;__; 10:15:07 elliott: yes, but it's OK 10:15:10 three days or so is not much 10:22:33 -!- FireFly has joined. 10:38:28 I think the weather confused Sweden and UK as of recently 10:38:31 rain *again* 10:40:10 -!- ais523_ has joined. 10:40:19 -!- ais523 has quit (Disconnected by services). 10:40:20 -!- ais523_ has changed nick to ais523. 10:48:43 ais523: three days is not away 10:48:55 well, it's more than usual for me 10:49:20 hmm, checking Esolang's recent changes implies there's a new lang there that's actually interesting? 10:49:23 I must look at it some time 10:50:41 whats it called? 11:01:49 ?hoogle [a] -> Int -> a -> [a] 11:01:49 Network.CGI.Protocol replace :: Eq a => a -> a -> [a] -> [a] 11:01:49 Prelude enumFromThenTo :: Enum a => a -> a -> a -> [a] 11:01:50 Data.IntMap findWithDefault :: a -> Key -> IntMap a -> a 11:01:51 grr 11:03:15 > (\a i x -> take i a ++ x : drop (i+1) a) [1,2,3,4] 2 5 11:03:17 [1,2,5,4] 11:26:19 -!- ais523 has quit (Read error: Operation timed out). 12:16:32 -!- ais523 has joined. 12:25:40 -!- ais523 has quit (Read error: Connection reset by peer). 12:27:27 -!- ais523 has joined. 12:32:34 -10 points on a reddit comment, awesome 12:32:49 i've finally angered people enough to downvote me rather than just ignore me 12:32:52 elliott: wow 12:32:57 what did you say? 12:33:06 (I don't think Reddit has a search for lowest-rated posts by a particular user) 12:33:13 ais523: http://www.reddit.com/r/programming/comments/hz87n/journalist_writes_programing_is_too_hard_wishes/c1zlub4?context=1 12:33:16 elliott, was it Minecraft related? 12:33:16 also, I don't think I've ever downvoted a post at Reddit 12:33:30 Lymia: no, although that would be a rather efficient way to get downvoted into oblivion 12:33:52 to be fair, you are attacking a strawman there 12:34:03 I am, but the original post was just as idiotic, so I don't really care. 12:34:08 and people on the internet generally hate that 12:34:19 They do? The whole comments are attacking a strawman of the post. 12:34:31 Mostly latching on to the fact that Objective-C is mentioned as "lol blogger wants to make iphone apps". 12:35:01 lol, it's twelve points lower than my comment "my envisiaone powerh boards is more advanced than ur phbb" 12:35:11 good redditting etiquette 12:35:25 and indeed, you can't order comments by bottom, it seems 12:35:26 just top 12:35:35 well, objective-C is a good language for writing iphone apps in 12:35:56 because it has the best library support for that 12:36:35 that's... a non sequitur 12:36:38 I never claimed it wasn't 12:36:42 -!- ais523 has quit (Read error: Connection reset by peer). 12:38:10 -!- ais523 has joined. 12:38:21 [13:36] it's not quite a non sequitur 12:38:23 [13:36] but almost 12:38:24 [13:36] I'm not arguing with you, just commenting on something vaguely related 12:38:55 right 12:39:15 hmm, I can actually delete that karmawhoring /r/programming submission I made two years ago 12:39:20 on the one hand, I'd feel good inside 12:39:25 on the other hand, over one thousand karma :( 12:42:36 is that link karma or comment karma? 12:42:47 also, deleting something removes the karma from it? does that work for downvotes to? 12:42:58 link karma, and hmm, good point 12:54:52 hmm, a case of weird kerning made me see the :// in a URL as a smiley 12:55:05 and now it's hard not to 12:55:51 What was it a link to? 12:55:52 -!- wareya has quit (Read error: Connection reset by peer). 12:56:14 Also, wouldn't that affect discussions about it? 12:56:30 -!- wareya has joined. 12:56:52 Sgeo: it would eradicate all the valuable discussions about the link that were had 12:56:55 i.e., none 12:57:48 The link about iTunes going DRM-free? 12:58:05 yeah 13:00:50 Apple wanted people to pay them to get rid of the DRM on their current collection? 13:01:23 all the drm-free stuff is a separate product, so yeah 13:01:34 i dont think its fully drm free yet even 13:01:46 Wow :/ 13:02:09 -!- BeholdMyGlory has joined. 13:05:14 -!- ais523 has quit (Remote host closed the connection). 13:10:30 -!- BeholdMyGlory has quit (Remote host closed the connection). 13:10:48 -!- BeholdMyGlory has joined. 13:11:32 -!- BeholdMyGlory has quit (Remote host closed the connection). 13:14:36 -!- Deewiant has quit (Ping timeout: 244 seconds). 13:15:29 -!- Deewiant has joined. 13:18:19 -!- copumpkin has joined. 13:24:24 Sgeo: Oh uh, update etc. 13:24:29 IT IS MY DUTY TO NOTIFY THE MUCH LESS VIGILANT 13:24:31 Saw it 13:24:37 I have it in Google Reader 13:24:52 Or DO you 13:46:22 -!- BeholdMyGlory has joined. 13:50:11 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 13:50:32 -!- FIQ has quit (Quit: Lämnar). 13:51:19 now where's oerjan when you need him 13:52:19 probably out partying like always 13:54:32 yeah 13:54:38 he's such a ... party dude 13:54:51 -!- Phantom_Hoover has joined. 13:55:42 yeah oerjan is the "dude" in "partitude" 13:55:42 lambdabot, status report. 13:55:46 :( 13:55:46 Phantom_Hoover: You have 5 new messages. '/msg lambdabot @messages' to read them. 13:55:55 which means partying 13:57:52 "As far as we know, every force weakens with distance. " 13:58:06 I thought strong force between quarks gets stronger? 13:58:41 http://www.badastronomy.com/bad/misc/astrology.html 13:59:17 By the way. 13:59:26 The universe is expanding faster and faster now, right? 13:59:40 And... Einstein's universal constant fits. 14:09:59 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:10:34 I thought strong force between quarks gets stronger? 14:10:41 It's complicated. 14:11:10 you know what they say, what doesn't quark you only makes you stronger 14:11:12 It weakens with distance, but only up to a point; and colour confinement means that realistically you can only get them so far apart. 14:12:51 Lymia, what are you trying to say it doesn't sound sensible. 14:13:26 -!- aloril has quit (Ping timeout: 250 seconds). 14:14:04 Never mind. 14:16:29 Do you mean his cosmological constant? 14:17:00 (The cosmological constant really annoys me because of all the idiots who say "SEE EVEN WHEN EINSTEIN WAS WRONG HE WAS RIGHT".) 14:17:15 (It's science fanboyism, plain and simple.) 14:18:14 Yeah, I think that's it 14:18:22 How simple is the math anyways 14:18:48 For GR? 14:18:53 Crazy complicated. 14:19:15 just math it up and you're done 14:19:43 (OK, so it's not all that complicated, but it's extremely hard to actually use it.) 14:19:56 math. it. up. 14:20:27 don't listen to Phantom_Hoover, he doesn't even have a formal degree in math. so what was GR short for again? 14:20:40 you mean like general relativity? what the fuck is that, always wondered 14:21:35 It's, like, trampolines. 14:21:37 In space. 14:21:45 i love trampolines! 14:21:51 Do you love space. 14:21:54 if there's a safety net of course :\ 14:22:10 That's not a problem in space. 14:22:18 You can't hit anything. 14:22:24 what about all the gravity flying about in there? 14:22:38 what if some of it hits me in the face 14:22:59 Don't worry, it tastes like apples. 14:23:03 I love how the "rubber sheet" explanation for gravity.... relies on gravity to work. 14:23:20 ^ 14:23:24 Recursive metaphors. 14:23:27 Lymia, that is because it is a terrible explanation for it which is wrong in at least 3 ways. 14:24:14 Does the geometry of space change the way the rubber sheet metaphor describes it changed if the rubber sheet was flattened out but the distortions made from a birds-eye view were still there? 14:24:21 That is, is there a way to salvage it? 14:25:24 It's an explanation of gravity that relies on one's intuition about gravity to work, and not in a very direct way. 14:25:31 It's like saying "gravity causes gravity" 14:25:31 So, no. 14:25:53 Plus, you'd need 4 dimensions to extend it to 3d. 14:25:57 *cough* 14:27:16 No, I mean 14:27:32 -!- aloril has joined. 14:27:46 Not as an explanation. But if you look at the rubber sheet from the top, the "straight lines" get distorted 14:28:03 Is that distortion accurate to whatever way gravity gets distorted in actual reality? 14:28:06 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 14:28:09 Dunno. 14:28:41 -!- Phantom_Hoover has joined. 14:29:05 14:25:31: It's like saying "gravity causes gravity" 14:29:09 No, it's not. 14:29:28 It's nothing like the actual reason it happens, but it's not tautological. 14:32:18 (The actual reason it happens is that the geometry of 4D spacetime is altered such that the 4-vector which points 'futurewards' is deflected to have a space component.) 14:33:24 Phantom_Hoover, do you actually understand general relativity? With that I mean, "able to calculate on it" 14:33:47 Vorpal, no, but I understand The Principles. 14:33:58 ah 14:34:15 But I can calculate on a trampoline in space. 14:34:23 Although I can't do it as well as oklofok. 14:34:43 -!- copumpkin has joined. 14:34:50 Phantom_Hoover, err, what do you mean 14:35:49 Vorpal, have you considered that I have more amusing things to do than substitute for your scroll bar. 14:36:09 Phantom_Hoover, oh so "trampoline in space" is mentioned above? 14:36:13 you could have said that 14:36:37 trampo llineeeeeeeeeeeeeeeeeeeeeeeeees :DSDDDDDDDDDDDDDD 14:36:50 IN SPACE 14:39:18 14:27:46: Not as an explanation. But if you look at the rubber sheet from the top, the "straight lines" get distorted 14:39:21 No. 14:40:22 I assume that that no is to the question I aked that you didn't pate, rather than the tatement you pasted? 14:40:37 My s key was being funky 14:41:03 I'm sorry Sgeo I don't know how to pate tatements. 14:41:18 paste statements 14:44:21 Phantom_Hoover, so.... 14:44:27 The flow of time is bent so that it has a direction 14:44:29 Well... 14:44:33 A direction that's not time related. 14:44:36 =w= 14:44:55 Please everyone I am not this magic science man. 14:45:07 I only have a vague grasp on most things. 14:45:16 Shut up magic science man. 14:46:52 magic science NERD :DDDDDDDDDDDDD 14:47:41 Shut up magic maths nerd. 14:47:48 im not nerd :( 14:47:55 You and your pentagrams. 14:48:12 * Lymia draws a hexagram 14:48:29 JEW 14:48:38 Jewish Minecraft nerd. 14:48:47 margaxeh 15:08:02 -!- azaq23 has joined. 15:20:26 Holy SHIT. 15:20:31 That comment is now at -52. 15:20:40 I am lolling. 15:29:55 hm? 15:30:14 elliott, which comment? 15:30:38 oh 15:33:52 Note to self: elliott isn't perfect 15:33:59 Yes I am. 15:46:28 -!- Kustas has joined. 15:52:39 -!- monqy has joined. 16:00:47 Sgeo, you may also wish to note that I am in fact just this random 16-year-old, not some science prodigy. 16:33:23 -!- Kustas has quit (Read error: Connection reset by peer). 17:02:00 Sgeo, you only found that out now? 17:03:25 Sgeo has worryingly delusional beliefs about me most of the time. 17:07:10 -!- BeholdMyGlory has quit (Remote host closed the connection). 17:15:33 -!- BeholdMyGlory has joined. 17:40:01 !perl if ("David" == "David") { print("True"); } else { print("False"); } 17:40:02 True 17:40:08 !perl if ("Nancy" == "Nancy") { print("True"); } else { print("False"); } 17:40:08 False 17:40:17 HAVE FUN WITH THAT ONE GUYS 17:40:35 Does == work in Perl the way you'd expect? 17:40:42 "Da" means yes 17:40:46 "Na" means no 17:40:54 hence true and false :P 17:41:03 Ah. 17:41:15 No, that is not the reason :P 17:41:23 But you guys will NEVER figure out the reason. 17:41:26 but PH believed me :D 17:41:27 Dammit that seemed plausible. 17:41:44 Some kind of localisation thing combined with weird comparison! 17:42:10 Gregor: "NaN" 17:42:14 Gregor: and == is numeric equality 17:42:14 the end 17:42:22 "David" reads as 0, but "Nancy" reads as NaN 17:42:27 and we all know nan isn't equal to itself 17:42:27 elliott: Damn you :( 17:42:27 the end 17:42:33 that was easy 17:42:42 -!- pikhq_ has quit (Ping timeout: 240 seconds). 17:42:50 -!- pikhq has joined. 17:43:22 i figured that's what it was 17:43:38 also why you chose my given name as your "normal" test case, i do not know 17:43:44 you just wanted to puing me i guess 17:43:47 its a conspiracy 17:45:21 -!- oerjan has joined. 17:45:37 -!- TOGoS has joined. 17:46:05 -!- TOGoS has left. 17:52:01 !perl if ("Nancy" == "Nancy") { print("True"); } else { print("False"); } 17:52:01 -!- elliott has quit (Read error: Connection reset by peer). 17:52:02 False 17:52:20 wait oops I messed it up 17:52:45 somehow it worked in private 17:55:02 its a conspiracy 17:55:12 the Dave conspiracy, to be precise 17:57:32 -!- elliott has joined. 17:57:46 19:55 oerjan> its a conspiracy 17:57:46 19:55 oerjan> the Dave conspiracy, to be precise 17:58:13 shut up i'm thinking of a hi-LARIOUS reference to respond with 18:04:25 will you guys miss it if i start typing numbers normally again be honest 18:05:01 !perl if ("Dave" == "Dave") { print("True"); } else { print("False"); } 18:05:01 True 18:05:06 stop that 18:05:49 elliott: we'll be shattered by grief 18:05:57 monqy: wat 18:06:05 `quote wat 18:06:08 71) * oerjan swats FireFly since he's easier to hit -----### Meh * FireFly dies \ 87) if you watch jaws backwards it's a movie about a giant shark that throws up so many people they have to open a beach \ 161) cpressey: I have actually done a waterfall-model project that almost worked 18:06:22 `quote \bwat\b 18:06:23 No output. 18:06:33 I should just accept that perl makes no sense 18:06:35 !perl if ("Nancy" === "Nancy") { print("True"); } else { print("False"); } 18:06:36 syntax error at /tmp/input.30620 line 1, near "===" 18:06:55 !perl tell me why perl is so crazy 18:06:55 Can't locate object method "so" via package "crazy" (perhaps you forgot to load "crazy"?) at /tmp/input.30696 line 1. 18:07:14 monqy: um the statement you tried is the one which _does_ make sense 18:08:12 does egobot filter control characters out of its input 18:08:53 some of them 18:09:02 -!- Kustas has joined. 18:09:30 I was secretly putting bolds in there to try to get it to mess up 18:09:31 i sure am shitty at max/msp 18:09:44 !perl if ("Daveq" == "Dave") { print("True"); } else { print("False"); } 18:09:44 True 18:09:48 aaagghhh 18:09:49 monqy: oh hm the _channel_ filters some too 18:09:54 -!- Lymia has quit (Quit: 1... 2... 3... HUGS! :D). 18:09:55 yeah +c 18:10:03 oh that makes sense 18:10:03 that lymia hugs way too much. 18:10:14 monqy: apologise to perl plzkthx 18:10:16 its upset 18:10:21 never 18:10:30 !perl print "\x1b#8" 18:10:30 ​.#8 18:10:54 as if that would work, but it *would* have been fun if it did 18:11:17 I guess that explains why the nancy test worked in private too 18:11:21 :( 18:12:04 perl has secret features in it to not allow people to mock it 18:12:27 -!- Sgeo has changed nick to JokeKiller. 18:13:20 btw, there's a manpage "console_codes" that describes a lot of escape sequences, tried to display my powers of arcane knowledge using ESC#8 the other week but someone just looked it up in the manpage and pasted the description 18:13:30 -!- Lymia has joined. 18:15:31 -!- JokeKiller has changed nick to Sgeo. 18:16:08 -!- foocraft has joined. 18:39:19 -!- copumpkin has changed nick to pumpkin. 18:40:16 -!- pumpkin has changed nick to c0pumpkin. 18:55:31 It occurs to me that I could actually have this thing generate Autocrap. 18:55:37 I'm not *going* to, but I could. 18:56:39 -!- Kustas has quit (Quit: nights). 19:00:42 I bet it could generate intercal code too, maybe you'll make it do that? 19:02:22 -!- pikhq has quit (Ping timeout: 240 seconds). 19:02:34 -!- pikhq has joined. 19:17:37 this channel is now boring 19:18:00 Xom is bored? 19:23:51 BUTBUT DECLARATIVE BUILD SYSTEMS 19:23:54 FORREALZ 19:26:47 -!- oerjan has quit (Quit: Reboot). 19:26:52 pff! build systems are for losers who need to keep changing their code, just write the code until it's done, then compile it and distribute the result 19:29:13 -!- yiyus has quit (Ping timeout: 252 seconds). 19:30:00 -!- c0pumpkin has changed nick to copumpkin. 19:33:10 Xom is bored? 19:33:22 Sgeo, you cannot make references if they don't even show up on Google. 19:33:47 OK, revise after more specific query: 19:34:01 crawl 19:34:20 but would sgeo ever make reference to anything non-crappy enough to show up on google? 19:34:44 Has he ever made Homestuck references. 19:41:22 -!- yiyus has joined. 20:00:11 -!- Sgeo has quit (Read error: Connection reset by peer). 20:00:46 -!- Sgeo has joined. 20:01:18 -!- elliott has quit (Remote host closed the connection). 20:01:24 -!- elliott has joined. 20:02:54 * pikhq can has a proper solver for c99 20:04:31 Solver? 20:05:23 You ask the solver system to look for something. It executes the callback for it and caches the result. 20:06:10 pikhq: [asterisk]executes each callback for it in order (of preference) and caches the result of the first one to succeed. 20:06:15 STOP TAINTING MY DESIGN WITH YOUR SIMPLIFICATIONS 20:06:15 Well, yes. 20:06:23 Can I see the code? 20:07:43 http://sprunge.us/CcVf 20:08:46 elliott: oh my god this time travel is getting out of hand. 20:08:55 CakeProphet: lmao; what page are you on? 20:08:59 4460 20:09:06 Whuh? 20:09:19 elliott suggested you were into A5A1. Anyway. 20:09:23 and these troll romances. WHAT AM I EVEN READING NOW. 20:09:31 Phantom_Hoover: He... is? 20:09:37 4460 20:09:42 Yes? 20:09:47 Note how this is well within act 4. 20:09:51 ... 20:09:52 No? 20:09:59 ...no this is act 5. 20:09:59 Note how you're an idiot? 20:10:04 Oh, right. 20:10:09 Numbers confuse me. 20:10:16 Unless they're on a space trampoline. 20:10:17 elliott: Unlike Autoconf, I refuse to do a comprehensive test for, well, every major C99 feature. 20:10:30 I'm going to need a recap very soon... 20:10:46 elliott: If it claims to be C99 but isn't, well, I'm not cleaning up after the asshole compiler dev. 20:10:53 pikhq: wait, you don't actually support multiple solutions for a single goal? 20:10:57 that's useless then 20:11:08 elliott: Whaddya mean? 20:11:09 as it stands you can't add another separate solution to use the posix c99 command 20:11:17 solutions are a _list_ of functions 20:11:40 Oh, dur, that's a relatively easy fix. 20:12:03 CakeProphet: A recap won't be necessary. 20:12:13 You are very, very close to the end of actfiveactone, btw. 20:14:21 Does CakeProphet know names? 20:14:49 Sgeo: Is CakeProphet Sgeo? 20:14:57 No? Then yes, CakeProphet knows names. 20:15:08 CakeProphet might be Sgeo though. 20:15:09 CakeProphet: are you sgeo 20:15:25 CakeProphet: Be Sgeo 20:17:44 You cannot be Sgeo. Sgeo's dad forbids it. 20:23:05 -!- copumpkin has quit (Ping timeout: 258 seconds). 20:24:29 -!- copumpkin has joined. 20:24:37 -!- copumpkin has quit (Changing host). 20:24:37 -!- copumpkin has joined. 20:24:39 CakeProphet: Hey, remember whining about the pesterlogs in the first few pages? :D 20:24:45 MEMOS SURE ARE GREAT HUH 20:25:10 elliott, I much preferred the memos to the pesterlogs, TbH. 20:25:18 They were hilarious, rather than expository. 20:25:24 Anyone who doesn't like pesterlogs is a bad person and should die. 20:25:35 I will speak no further on the matter. 20:27:47 no I like the pesterlogs, I'm just kind of tired of reading at this point. 20:28:20 I think I enjoyed them more with the humans. Less drama stuff. 20:28:45 Act Five Act One... isn't typical. 20:29:16 But it's a vital part of the story, and you only find out why on the last page, 4524. 20:29:50 Hivebent was planned pretty much as soon as Homestuck began, so it's not like Hussie decided to make the comic all edgy all of a sudden. 20:30:31 no I can definitely tell that it ties in 20:30:46 actually all of this later stuff seems like it was written before the beginning, or at the same time. 20:31:16 because it would be ridiculous if he just tied everything in after-the-fact. 20:31:19 I think pretty much everyone finds Act 5 Act 2 more enjoyable than Hivebent. 20:31:41 it's interesting. 20:32:43 elliott: Kay, so. In theory, you should be able to do any number of solvers now. 20:33:02 pikhq: Wert. 20:33:20 Hrm, wait, minor issue. lappend does an end append, not a front append. 20:33:39 And I at least *presume* that it makes most sense for later solvers to take precedence over earlier ones. 20:34:41 pikhq: Does it? I'd define gcc first because it's preferred, and then c99 as a "last" resort 20:34:48 But I suppose for extensibility, that is preferable 20:36:55 4481 is hilarious 20:37:24 like, that joke was set up age ago. 20:37:28 *ages 20:46:23 bam. end of act 5 act 1 20:48:14 It's a pretty epic ending :P 20:48:49 elliott: I am *rapidly* approaching the point where my tests need to be in a seperate file. :P 21:06:25 "To keep whipping my personal horse, I maintain that TCE changes the language semantics in that it changes the kinds of computation the language can perform. With it a state machine can be built out of mutually recurring functions and run virtually forever instead of crashing, that sounds like a semantic change to me." 21:06:30 let's laugh at this idiot lol 21:10:38 wow who would even think that 21:11:14 TCE? 21:11:41 tail-call elimination 21:13:39 sounds a bit too intellectual to be guido though 21:13:54 they're pro-TCE, so of course they're not guido 21:14:26 oh, pro-TCE? that wasn't too obvious 21:14:37 The _kind it can perform_? 21:15:12 I don't think I'd think to criticise it if it weren't for the criticism in here, but now it's been criticised in here, I easiy see what's wrong with that statement. This is scary. 21:16:12 that's the power of #esoteric empowering you, or something 21:16:47 i like how by their logic, buying more ram changes a language's semantics 21:17:22 "TL;DR: Prefer a DSL over a state machine any day of the week." 21:17:23 r u srs 21:18:53 -!- ralc has joined. 21:19:03 what if the dsl models a state machine 21:19:04 what then 21:19:20 DSL? 21:19:26 YOU GUYS AND YOUR ACRONYMS 21:19:29 domain-specific language 21:19:34 monqy: FSM-DSL-C E P T I O N 21:20:05 olsner: slow clap 21:20:21 olsner, that meme is now over. 21:20:24 I never saw that movie is it any good 21:20:26 You have perfected it. 21:20:33 monqy, it is the beest movie. 21:21:53 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 21:26:09 "State machines are like gotos, each transition is a jump. The main difference is that unlike gotos, state machines have no built in language/debugging support which makes it more tedious to figure out what is going on inside them when they break." 21:26:22 state machines are like rube-goldberg machines 21:27:08 Apparently there's language/debugging support built into gotos. 21:27:09 state machines are like gotos except more structured 21:29:37 I would like to know what goes on inside gotos when they break 21:30:19 splinpers 21:30:36 gosomeplaceotherthan 21:30:37 hmm, let's reparse the quote, what was it that broke again? 21:30:45 meh, they're probably wrong whatever it was they were saying 21:30:46 goanywhere 21:31:02 comefromanywherebut 21:32:50 hmm, what if there was a blend of come from and goto, where it had to be a two-way link 21:34:06 I think many compilers actually will set up the two-way link (in a way) while compiling a gotoful program 21:34:27 if it does ssa it'll need to know the come from's 21:34:52 yeah, comefrom would be much more civilised if the line in question had to consent to it 21:35:42 -!- sebbu has quit (Ping timeout: 240 seconds). 21:37:58 error: label raped. 21:38:31 -!- sebbu has joined. 21:38:32 -!- sebbu has quit (Changing host). 21:38:32 -!- sebbu has joined. 21:41:37 and now for some zebra water sports: http://i.imgur.com/q8IYg.png 21:43:17 olsner: O_O 21:46:39 Gregor: maybe you'll know this: do I want pickled herring and schnaps for breakfast on August 27? 21:47:20 olsner, whaat ewww 21:47:27 olsner, for *breakfast* 21:47:28 hell no 21:47:53 Ignore Vorpal, he knows nothing of the wonder of pickled herring and schnapps. 21:48:12 Phantom_Hoover, have you ever eaten that 21:48:18 Vorpal: it'll probably actually be second breakfast though 21:48:25 olsner, ah okay 21:48:25 Vorpal, I can infer that it is awesoe. 21:48:27 a lot better 21:48:29 *awesome 21:49:10 olsner, Jag har vissa dubier angående schnappsen. 21:49:23 Vorpal: nubbe då? 21:49:26 olsner, Ska du köra? 21:49:37 vänta 21:49:45 du hade inte körkort va? 21:49:47 jag har fortfarande inte tagit körkort nej 21:49:53 kommer inte ha gjort till dess heller 21:50:00 olsner, va, det har ju gått flera timmar sedan dess!! 21:50:14 sedan slutet av augusti i år? nej, det har inte varit än 21:50:34 nej jag menar sedan du nämnde det :P 21:51:22 olsner, okej men jag är absolutist, så jag är fortfarande emot spritintaget. Men beslutar du dig ändå för det så kan jag inte ge några råd om bästa val. 21:51:35 olsner, varför inte surströmming? 21:53:04 olsner, ^ 21:53:05 ! 21:53:09 Vorpal: dels för att det inte erbjuds, men framförallt för att jag inte vet hur man äter det 21:53:13 aha 21:53:19 s t o p 21:53:22 olsner, har du aldrig prövat det? 21:53:28 Vorpal: nope 21:53:31 ah okay 21:54:04 olsner, jag önskar eder en god natt. 21:54:08 night → 22:01:30 Seriously, if you're going to speak to each other in Swedish, do it in a /msg. 22:01:49 It's not very polite to carry out a conversation in front of everyone else that most of us don't understand. 22:01:54 Phantom_Hoover: it's all vorpal's fault 22:02:14 olsner, yes, of course, but only you can stop Vorpal fire. 22:03:15 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:04:36 -!- Gregor has left ("Leaving"). 22:04:40 -!- Gregor has joined. 22:04:46 DID YOU MISS ME? 22:04:53 the short summary is that 1) I haven't gotten a drivers license since this morning when it was last discussed 2) august is in the future 3) vorpal is an absolutist and disapproves of consuming alcohol 22:05:21 Ah, right so Vorpal being Vorpal then. 22:05:37 pretty much 22:05:41 *so, 22:05:46 I used to be more irritated by alcohol 22:05:46 Erm, *right, 22:05:59 "Then I tried drinking it instead." 22:06:22 Sgeo: you're not supposed to put it in your eyes 22:08:46 `addquote I used to be more irritated by alcohol Sgeo: you're not supposed to put it in your eyes 22:08:49 457) I used to be more irritated by alcohol Sgeo: you're not supposed to put it in your eyes 22:09:12 Gregor, hey, I made that joke first! 22:09:39 I DON'T CARE IF OLSNER DID IT BETTER 22:09:48 mwahaha 22:13:13 -!- pikhq has quit (Ping timeout: 240 seconds). 22:13:14 -!- pikhq_ has joined. 22:18:02 -!- pikhq_ has quit (Ping timeout: 240 seconds). 22:18:13 -!- pikhq has joined. 22:19:09 neat: http://c2.com/cgi/wiki?ValuesOfBetaMayGiveRiseToDom 22:19:37 (there's that word again: neat neat neat) 22:20:13 PRINTER ON FIRE 22:20:31 PUT IT OUT! 22:22:16 PRINTER ON FIRE 22:23:12 -!- Vorpal has quit (Ping timeout: 250 seconds). 22:32:55 -!- pikhq_ has joined. 22:33:10 -!- pikhq has quit (Ping timeout: 250 seconds). 22:35:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 22:41:03 -!- elliott has quit (Remote host closed the connection). 22:55:33 -!- Behold has joined. 22:56:23 -!- BeholdMyGlory has quit (Ping timeout: 244 seconds). 23:12:25 -!- oerjan has joined. 23:23:41 -!- Patashu has joined. 23:40:44 -!- Behold has quit (Read error: Connection reset by peer). 23:41:04 -!- Behold has joined. 2011-06-15: 00:18:09 -!- pingveno has quit (Ping timeout: 252 seconds). 00:20:06 -!- pingveno has joined. 00:26:58 -!- FireFly has quit (Quit: swatted to death). 00:27:16 ftp://ftp-uxsup.csx.cam.ac.uk/pub/bsd/4.4BSD-Lite/usr/src/contrib/emacs-18.57/src/unexec.c 00:27:19 Wut. 00:31:27 Woah, that link opened in IE 00:32:46 Patashu: how can this be?!!! 00:33:11 I was just surprised 00:33:14 me too 00:33:23 only IE is rad enough to handle ftp 00:33:51 monqy: well the impressive part was that it actually _showed_ it 00:34:00 rather than insisting on saving 00:34:25 ooh fancy 00:34:28 good job IE 00:36:10 today: Wikipedia showcases its Unicode support 00:42:15 > intercalate ", " $ iterate (curry(++).(show.length&&&take 1).group) "1" 00:42:15 Couldn't match expected type `[GHC.Types.Char]' 00:42:16 against inferred ty... 00:43:18 > intercalate ", " $ iterate (curry(++).(show.length&&&take 1)<= Couldn't match expected type `[GHC.Types.Char]' 00:43:19 against inferred ty... 00:43:36 :t (curry(++).(show.length&&&take 1)<= Couldn't match expected type `b -> [a]' 00:43:37 against inferred type `[[a1]]' 00:43:37 In the second argument of `(<=<)', namely `group' 00:44:34 :t curry(++).(show.length&&&take 1) 00:44:35 forall b a. (Monoid b) => [a] -> b -> ((String, [a]), b) -> ((String, [a]), b) 00:45:17 :t (show.length&&&take 1) 00:45:18 forall a. [a] -> (String, [a]) 00:45:35 oh duh 00:45:47 > intercalate ", " $ iterate (uncurry(++).(show.length&&&take 1)<= "1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131221, 132... 00:46:03 always with the confusing curry and uncurry 00:47:02 wtf's uncurry 00:47:03 O_O 00:47:33 :t uncurry 00:47:33 forall a b c. (a -> b -> c) -> (a, b) -> c 00:47:47 uncurry (++) ("a","b") 00:47:52 > uncurry (++) ("a","b") 00:47:54 "ab" 00:48:15 from a function which takes two arguments, it makes one which takes a tuple instead 00:48:21 huh 00:48:22 alright 00:48:33 and curry is the reverse 00:51:09 It is named for (Haskell B.) Curry, who didn't actually invent it (someone named Schönfinkel did iirc.) 00:52:00 but it is originally a way for simulating multiple argument functions in lambda calculus, which only has single-argument ones. 00:52:48 the haskell language picked the idea, so _its_ multiple argument functions are actually already curried, so you use uncurry when you want tuples instead 00:56:07 oh and i guess my example above mixes that with how haskell does operators: (++) in parentheses is a (curried) function with two arguments 00:57:04 while putting operators infix is just syntactic sugar for applying their function to the arguments on each side 00:57:26 > "a" ++ "b" 00:57:27 "ab" 00:57:31 -!- pikhq_ has quit (Ping timeout: 240 seconds). 00:57:32 > (++) "a" "b" 00:57:34 "ab" 00:57:49 -!- pikhq has joined. 00:58:25 > (,) "a" "b" 00:58:26 ("a","b") 00:58:32 > (++) 'a' 'b' 00:58:33 No instance for (Data.Monoid.Monoid GHC.Types.Char) 00:58:33 arising from a use o... 00:58:35 ic 00:58:40 > (++) 'a' "b" 00:58:41 Couldn't match expected type `GHC.Types.Char' 00:58:41 against inferred type... 00:58:47 oh and lambdabot has some funky types for some functions 00:58:49 (:) 'a' "b" 00:58:50 > (:) 'a' "b" 00:58:51 "ab" 00:58:53 yup 00:58:53 oop 00:58:54 s 00:59:04 ++ is for two lists : is to add one component 00:59:09 _usually_, (++) is just for lists, but lambdabot makes it a synonym for mappend for monoids 00:59:21 which is a generalization 00:59:25 :t map 00:59:26 forall a b. (a -> b) -> [a] -> [b] 00:59:29 oh hm 00:59:32 not fmap? 00:59:52 (I was expecting it to be a synonym of fmap) 00:59:55 i _thought_ they'd also made map a synonym for fmap, but i must have misremembered 01:00:05 > map (+1) (Just 1) 01:00:06 Couldn't match expected type `[a]' 01:00:06 against inferred type `Data.Mayb... 01:00:10 indeed not 01:00:13 :t flip 01:00:14 forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b 01:00:19 this one though... 01:00:34 :t Prelude.flip 01:00:35 forall a b c. (a -> b -> c) -> b -> a -> c 01:00:39 the usual one 01:01:01 > flip (:) "a" 'b' 01:01:03 "ba" 01:01:57 18:50 <@dalias> you should see how awesome musl's dynamic is 01:01:57 18:51 <@dalias> if the program only uses libc.so and no other .so's 01:01:57 18:51 <@dalias> the difference in # of syscalls at startup for dynamic vs static is _ZERO_ 01:03:31 Also, regarding unexec. I found out what they use that for. 01:03:41 EVIL purposes, obviously 01:04:10 Their build system builds a "temacs" program. This is essentially a full emacs. temacs is then told to load the Emacs standard library, and then unexec itself. 01:04:25 The unexec'd binary is the final emacs binary. 01:04:28 > intercalate ", " $ iterate (liftM2(++)(show.length)(take 1)<= "1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, 31131211131221, 132... 01:04:45 That is to say, they have a specialiser *for the final binary*. 01:05:06 They are fucking specialising binaries. 01:05:09 And that scares me. 01:05:10 'unexec'? 01:05:30 :t <=< 01:05:31 parse error on input `<=<' 01:05:33 Patashu: ftp://ftp-uxsup.csx.cam.ac.uk/pub/bsd/4.4BSD-Lite/usr/src/contrib/emacs-18.57/src/unexec.c is an old one that I linked earlier. 01:05:38 the one that opened in IE 01:05:45 Patashu: needs parentheses 01:05:52 :t (<=<) 01:05:53 forall b (m :: * -> *) c a. (Monad m) => (b -> m c) -> (a -> m b) -> a -> m c 01:06:00 unexec is spooky 01:06:10 "Frightening", more like. 01:06:31 It's a binary specialiser. 01:06:32 :t group 01:06:33 forall a. (Eq a) => [a] -> [[a]] 01:06:37 @src group 01:06:37 group = groupBy (==) 01:06:43 aah 01:06:45 > group [1,2,2,3,4,4] 01:06:46 [[1],[2,2],[3],[4,4]] 01:06:48 right 01:06:57 @src (<=<) 01:06:58 Source not found. I can't hear you -- I'm using the scrambler. 01:06:59 You could probably pull off the projections of Futamura with it. 01:07:00 o 01:07:26 iirc (g <=< f) x = g =<< f x 01:07:42 ah ok 01:08:19 > group [1, 2, 1, 1, 3, 1, 2, 2] 01:08:19 [[1],[2],[1,1],[3],[1],[2,2]] 01:08:22 aha 01:08:25 it's sequential not global 01:08:28 for lists above, it's just a way to get the functions to left to apply to each element of the result of group, then concatenate the results 01:08:35 and then you take the length and take 1 of each group 01:08:39 yep 01:08:40 and concatenate it all together 01:08:41 mmk 01:10:16 and those uncurry with &&& and liftM2 are just two different ways of combining the result of applying two different functions 01:10:52 @src liftM2 01:10:52 liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) } 01:10:54 > uncurry f . (g &&& h) $ x :: Expr 01:10:55 Ambiguous type variable `a' in the constraints: 01:10:55 `SimpleReflect.FromExpr ... 01:11:00 oops 01:11:36 > uncurry f $ ((g &&& h) x :: Expr) :: Expr 01:11:37 Couldn't match expected type `SimpleReflect.Expr' 01:11:37 against inferred ... 01:11:47 oh duh 01:11:53 > uncurry f $ ((g &&& h) x :: (Expr, Expr)) :: Expr 01:11:54 f (g x) (h x) 01:12:22 those overloaded Expr things require a bit awkward type annotation 01:13:12 > liftM2 f (g :: Expr -> Expr) (h :: Expr -> Expr) x :: Expr 01:13:12 f (g x) (h x) 01:13:22 that uses the (e ->) monad 01:14:09 which threads an extra common argument through all its actions (which are functions) 01:14:56 I don't understand how liftM2 f m1 m2 = do { x1 <- m1; x2 <- m2; return (f x1 x2) } leads to 'm1 and m2 use the same x rather than different ones' 01:15:13 @undo do { x1 <- m1; x2 <- m2; return (f x1 x2) } 01:15:13 m1 >>= \ x1 -> m2 >>= \ x2 -> return (f x1 x2) 01:15:29 that's the next step, syntactic sugar 01:15:58 shouldn't it be something like liftM2 f m1 m2 x = do { x1 <- m1 x; x2 <- m2 x; return (f x1 x2) } 01:15:59 I mean 01:16:05 Patashu: that's specific for the (e ->) Monad, that it gives the same argument to all its subactions 01:16:27 @src (>>=) (->) 01:16:27 Source not found. And you call yourself a Rocket Scientist! 01:16:33 what is the (e ->) monad? 01:16:36 @src (->) (>>=) 01:16:36 f >>= k = \ r -> k (f r) r 01:16:42 whew, just two tries 01:16:46 lol 01:17:12 * oerjan can never remember the required order or parentheses for @src :) 01:17:58 that's the definition used for the >>= method/operator when its first argument is a function 01:18:34 @src (>>=) 01:18:35 Source not found. BOB says: You seem to have forgotten your passwd, enter another! 01:18:39 @src Monad 01:18:40 class Monad m where 01:18:40 (>>=) :: forall a b. m a -> (a -> m b) -> m b 01:18:40 (>>) :: forall a b. m a -> m b -> m b 01:18:40 return :: a -> m a 01:18:40 fail :: String -> m a 01:18:42 :( 01:18:42 oh 01:18:57 @src (\) 01:18:57 Source not found. Your mind just hasn't been the same since the electro-shock, has it? 01:19:01 lmao 01:19:05 those are defined specifically for each Monad instance 01:19:18 Patashu: \ starts a lambda expression 01:19:22 aah 01:19:24 ok 01:19:28 > (\x -> x+1) 3 01:19:29 4 01:20:46 @src (>>) 01:20:46 m >> k = m >>= \_ -> k 01:20:54 that one has a default definition 01:20:55 so for >>=. You take a monad data, a function that goes from that data to monad data, then it's applied to the data inside. but shouldn't return be m a -> a since it's unboxing? 01:21:25 no it's actually "boxing" iiu what you mean 01:21:36 > return 1 :: [Int] 01:21:37 [1] 01:21:47 don't you use - oh yeah 01:21:49 got it backwards 01:21:56 what's the one for unboxing then? 01:22:23 there is none, because each Monad has its own way for how to access its members, if any 01:22:24 Patashu: No such function. 01:22:30 ah true 01:22:45 Patashu: If the Monad in question wants you to be able to do that, it will provide such a function. 01:22:55 Typically of form "runFoo". 01:23:00 of course some exist, but e.g. the one for IO is considered evil to use ;D 01:23:30 Yeah, unsafePerformIO is that function for IO, and obviously, it's unsafe and a bad idea most times. 01:23:40 > fail "some error" :: [Int] 01:23:40 [] 01:24:02 @src fail 01:24:03 fail s = error s 01:24:06 fail is kind of disappointing 01:24:09 :( 01:24:17 @src error 01:24:17 error s = throw (ErrorCall s) 01:24:19 this also has a default, but it's frequently overruled 01:24:22 @src throw 01:24:23 throw exception = raise# exception 01:24:28 @src raise# 01:24:28 Source not found. Maybe you made a typo? 01:24:31 @src raise 01:24:32 Source not found. That's something I cannot allow to happen. 01:24:38 dang I thought it'd go forever 01:24:43 Patashu raise# looks like it may be a primitive function 01:24:49 * Patashu: 01:25:03 yeah 01:25:08 Patashu: also you are lucky you got that far, @src lacks a lot of sources 01:25:42 obviously everything from throw on is somewhat specific to ghc 01:25:52 error is in the haskell standard 01:26:24 (throw may also be in some other compilers, i don't know. but ghc rules supreme these days, anyhow) 01:26:44 > error "test" 01:26:45 *Exception: test 01:26:48 okay 01:26:54 @src ErrorCall 01:26:55 Source not found. Your mind just hasn't been the same since the electro-shock, has it? 01:26:59 or 01:27:01 @hoogle ErrorCall 01:27:02 :t ErrorCall 01:27:02 Control.Exception data ErrorCall 01:27:02 Control.Exception ErrorCall :: String -> ErrorCall 01:27:02 Control.OldException ErrorCall :: String -> Exception 01:27:03 Not in scope: data constructor `ErrorCall' 01:27:04 aah 01:27:27 :t Exception 01:27:27 hoogle is the thing for looking up functions 01:27:28 Not in scope: data constructor `Exception' 01:27:32 @hoogle Exception 01:27:32 module Control.Exception 01:27:32 Control.Exception class (Typeable e, Show e) => Exception e 01:27:32 Control.OldException data Exception 01:27:46 @hoogle _|_ 01:27:46 Warning: Unknown type | 01:27:46 Control.Category id :: Category cat => cat a a 01:27:46 Control.Arrow returnA :: Arrow a => a b b 01:28:02 Patashu: they rewrote the Exception system so Exception is a class now 01:28:05 :t _|_ 01:28:06 parse error on input `|' 01:28:08 right 01:28:13 @src _|_ 01:28:14 Source not found. That's something I cannot allow to happen. 01:28:16 > _|_ 01:28:17 : parse error on input `|' 01:28:20 :( 01:28:21 _|_ is only used when talking about Haskell, not in Haskell. 01:28:25 ah ok 01:28:34 but it's funny because (_|_) 01:28:43 is undefined something wacky like forall a. a 01:28:45 :t undefined 01:28:45 forall a. a 01:28:47 :t undefined -- this is one kind of _|_ 01:28:48 forall a. a 01:28:54 what's forall 01:28:55 oh kind 01:29:27 Patashu: forall means that the expression has that type for _all_ types a substituted into it 01:29:48 so undefined has any type, whatsoever 01:30:18 @src undefined 01:30:18 undefined = error "Prelude.undefined" 01:30:56 (actually that's not quite true i suspect, there are also "unboxed" and "unlifted" types which tend to only be usable in some places) 01:31:34 > undefined 01:31:35 *Exception: Prelude.undefined 01:31:36 oerjan: Yeah, "forall" is part of the extension for those, IIRC. 01:32:41 pikhq: um what? 01:33:08 Erm, no, my brain is being stupid. 01:34:05 but basically, only lifted, boxed types (i.e. the usual ones) can be substituted into polymorphic functions 01:34:21 hm wait 01:34:26 maybe boxed is enough 01:34:49 you know how there are functions that are essentially equivalent for lists, functors and monads? would it be worth making them substitute for each other? 01:35:13 Patashu: yes. everyone thinks so. 01:35:47 it requires some major rewamping of the type class system to avoid large amounts of rewriting code, though. 01:36:12 would it be -hard-, though? 01:36:32 Patashu: there exists a proposal for doing it, called class aliases iirc 01:37:08 i vaguely recall there is some drawback with that too, though 01:37:43 as of now, if you define a new Monad, all you need to do is to defined the >>= and return methods 01:38:33 but as the class system _currently_ works, if you made Monad a subclass of Functor and Applicative (as it "should" be) then you would have to define the methods for those separately as well 01:38:54 and it would break old code which didn't do that 01:39:33 so the class alias system among other things allows classes to contain defaults for each other, unlike now when each must be written separately 01:39:48 *must have their instances written 01:40:01 hopefully someone will implement it eventually 01:40:34 there's no overloading in haskell is there? 01:40:59 it's rather stupid to have map, fmap, <$>, liftM 01:40:59 overloading works via typeclasses 01:41:10 yeah 01:41:19 I was about to say 'why not just make map work on lists or functors or monads' but nope 01:41:21 that won't work 01:41:43 @src <$> 01:41:43 f <$> a = fmap f a 01:41:50 lol seriously 01:41:53 yes 01:41:54 so it's just infix fmap 01:41:58 why not just use `fmap` then 01:42:04 cool factor 01:42:07 o 01:42:07 Patashu: it can work on functors too, in fact it did before Haskell 98 revision, when fmap = map 01:42:33 what did haskell 98 do 01:42:35 Patashu: <$> fits rather well into the Applicative style with <*> etc. 01:42:55 it separated map from fmap, making map work just for lists. 01:43:44 and some other things, i think fail was added then and is also considered a wart 01:43:55 could you have some kind of compile time macro thing? like detecting map function monad transforms it into liftM function monad 01:44:18 what? 01:44:51 well obviously the former will fail 01:44:55 and the latter does what you want 01:45:04 like when google says 'Did you mean ___?' 01:45:07 just use fmap 01:45:22 all real monads are functors too 01:45:43 > (+) <$> [1,2] <*> [10,20] 01:45:44 [11,21,12,22] 01:46:07 > liftM2 (+) [1,2] [10,20] 01:46:08 [11,21,12,22] 01:46:33 @src liftM3 01:46:33 liftM3 f m1 m2 m3 = do { x1 <- m1; x2 <- m2; x3 <- m3; return (f x1 x2 x3) } 01:46:36 wow lol 01:46:40 @src liftM4 01:46:40 liftM4 f m1 m2 m3 m4 = do { x1 <- m1; x2 <- m2; x3 <- m3; x4 <- m4; return (f x1 x2 x3 x4) } 01:46:44 @src liftM5 01:46:44 Source not found. Your mind just hasn't been the same since the electro-shock, has it? 01:46:50 it was good while it lasted 01:47:31 Patashu: <$> and <*> work with arbitrarily many, anyway 01:47:37 also, on the concern that making Monad a subclass of Functor would require defining an instance of Functor, would it be too ugly to, in applicable cases, define an overridable default instance? 01:47:56 e.g. for a Functor instance of a Monad, fmap f = (>>= return . f) 01:48:06 @src <*> 01:48:07 or something like that 01:48:07 Source not found. :( 01:48:10 @src (<*>) 01:48:11 Source not found. Where did you learn to type? 01:48:17 I just confused myself 01:48:27 @src Functor 01:48:27 class Functor f where 01:48:27 :( 01:48:27 fmap :: (a -> b) -> f a -> f b 01:48:29 monqy: no, i think that's precisely what's suggested. it's just that current haskell doesn't support defaults for superclass methods 01:48:32 @src Applicative 01:48:32 class Functor f => Applicative f where 01:48:32 pure :: a -> f a 01:48:32 (<*>) :: f (a -> b) -> f a -> f b 01:48:35 oh 01:48:38 found it 01:49:23 so it's infix so 01:49:49 pure is analogous to return, (<*>) is analogous to ap 01:49:56 iirc 01:49:59 (+) <$> [1,2] <*> [10,20] becomes <*> ( fmap (+) [1,2] ) ( [10,20] ) 01:50:05 yeah those would obviously be unified as well 01:50:38 I think it'd be useful to me to have a list of functions/operators that are essentially identical 01:50:42 Patashu: needs parens around the <*> 01:50:46 yeah 01:50:54 > (<*>) ( fmap (+) [1,2] ) ( [10,20] ) 01:50:55 [11,21,12,22] 01:50:56 and of Monoid, MonadPlus, Alternative? 01:50:57 tada 01:51:03 is there another I forget 01:51:05 @src Monoi 01:51:05 Source not found. Are you on drugs? 01:51:05 @src Monoid 01:51:06 class Monoid a where 01:51:06 mempty :: a 01:51:06 mappend :: a -> a -> a 01:51:06 mconcat :: [a] -> a 01:51:13 soemthing for Arrows? ArrowChoice? 01:51:13 @src MonadPlus 01:51:13 Source not found. Just what do you think you're doing Dave? 01:51:16 @src Alternative 01:51:17 class Applicative f => Alternative f where 01:51:17 empty :: f a 01:51:17 (<|>) :: f a -> f a -> f a 01:51:24 @src ArrowChoice 01:51:24 Source not found. BOB says: You seem to have forgotten your passwd, enter another! 01:51:28 Patashu: i once looked through Control.Monad, and the majority of functions in it would work just as well as Applicative 01:51:51 lots of reinventing the wheel I see 01:51:57 wow, (<|>) 01:52:24 > Just 5 <|> Nothing 01:52:25 Just 5 01:52:32 > Nothing <|> Just 5 01:52:33 Just 5 01:52:36 > Just 2 <|> Just 5 01:52:37 Just 2 01:52:39 Patashu: it's not so much reinventing as just copying, i think. Applicative/Alternative are younger, while Monad/MonadPlus are in the standard and so cannot be easily changed 01:52:43 it's like an OR operator? 01:53:08 > [1,2] <|> [4,5] 01:53:08 [1,2,4,5] 01:53:18 huh 01:53:26 > Just 2 ++ Just 5 01:53:27 Ambiguous type variable `t' in the constraints: 01:53:27 `Data.Monoid.Monoid t' 01:53:27 ... 01:53:30 oops 01:53:42 huh 01:53:54 :t (++) 01:53:54 forall m. (Monoid m) => m -> m -> m 01:54:00 Just should have a monoid instance, i think 01:54:09 monqy: yeah it's one of lambdabot's funky types 01:54:27 :t Just 01:54:29 forall a. a -> Maybe a 01:54:34 hm 01:54:43 > Just 2 ++ Just 5 :: Maybe Int 01:54:44 No instance for (Data.Monoid.Monoid GHC.Types.Int) 01:54:44 arising from a use of... 01:54:45 multiple monoid instances for Maybe? 01:54:54 nah, maybe just is missing 01:55:15 * oerjan realizes that sentence was hideously ambiguous in context :P 01:57:10 Patashu: <|> is somewhat like an or/choice operator, yeah. although it depends on the Monad how many choices you get. 01:57:30 (Maybe has just one spot) 01:58:16 Parsec also uses <|> for parsing choices 01:59:07 -!- ralc has quit (Remote host closed the connection). 02:00:02 also when you mention things like Monoid/Alternative/MonadPlus, things get trickier since the first of them is for types without any type arguments. i vaguely recall class aliases supposedly have troubles with multiparameter type classes as well 02:01:47 i mean, the haskell class system definitely doesn't support class (Monoid (a t), Applicative a) => Alternative a where ... 02:02:03 you'd want that to hold automatically for _all_ t 02:03:23 i guess there are a lot of issues when you try to find a general fix for this kind of problem 02:04:46 so the cross product points perpendicular to two vectors (right handedly normally) and has magnitude absin(theta), theta being the angle subtended by a and b. maxes out at 90 degrees, minimizes at 0 or 180 degrees. the dot product is found by multiplying each dimension's value together and the magnitude is mag(a)*mag(b)*cos(theta), theta again being the angle subtended 02:05:33 ...yes? 02:05:40 I'm just trying to sort these out in my head 02:06:12 Yes, those are properties of both of the vector products. 02:06:26 never learned them but apparently they're useful and all that 02:06:29 Piss-poor definitions, but valid properties. 02:09:13 also, the cross product only works in dimensions 0,1,3 and 7 :P 02:09:30 how come 7? 02:09:39 oerjan: It works in 7? 02:09:43 lol 02:10:17 supposedly because of the existence of real numbers, complex numbers, quaternions and octonions respectively 02:11:07 (the ones in 0 and 1 are trivially zero, anyway, because nothing can be perpendicular) 02:14:24 -!- Behold has quit (Remote host closed the connection). 02:14:27 couldn't you apply the same principle to the second dimension? or am I missing something? 02:14:33 * CakeProphet just walked into this conversation. 02:15:13 I was thinking that. cross product of a real number -> an imaginary number, same magnitude? 02:16:20 well you want parallel vectors to have cross product 0, no? :P 02:16:39 and all real numbers are parallel 02:16:46 ah, yeah 02:17:32 and presumably you want non-parallel ones not to have 0, which i guess ruins the second dimension somehow 02:17:54 ..lol 02:17:55 sure. 02:18:06 oh and it should be linear in each vector, naturally 02:18:17 so how does it work for 0 and 1 then 02:18:33 Patashu: since everything is parallel, just make all cross products 0 02:18:40 o 02:18:45 aah 02:18:53 and that way you don't have to worry 02:18:54 \o/ 02:18:56 | 02:18:57 /´\ 02:19:19 and myndzi\ streaks by again 02:19:47 /o/ 02:19:48 | 02:19:48 /| 02:19:52 \o\ 02:19:53 | 02:19:54 /'\ 02:19:55 /o\ 02:19:56 | 02:19:56 /| 02:20:02 \o 02:20:05 o/ 02:20:24 \m/ \m/ 02:20:26 `\o/´ 02:20:27 | 02:20:27 /`¯|_) 02:20:27 (_| 02:20:39 wow 02:20:49 \m/ 02:20:54 needs to be two 02:21:04 yeah those are two hands 02:21:27 and also needs a little indentation 02:21:42 \m/ \m/ 02:21:45 \m/ \m/ 02:21:47 \m/ \m/ 02:21:48 `\o/´ 02:21:49 | 02:21:49 /'\ 02:21:49 (_| |_) 02:21:51 \m/ \m/ 02:21:58 \m/ \m/ 02:21:59 `\o/´ 02:22:00 | 02:22:00 (_|¯`¯|_) 02:22:01 \m/ \m/ 02:22:06 \m/ \m/ 02:22:09 o 02:22:11 o 02:22:12 \m/ \m/ 02:22:13 `\o/´ 02:22:14 | 02:22:14 /'\ 02:22:14 (_| |_) 02:22:15 hehe 02:22:15 looks like myndzi\ does a bit of throttling 02:24:19 > filterM(const[False,True])"abcd" -- have we had this one yet 02:24:20 ["","d","c","cd","b","bd","bc","bcd","a","ad","ac","acd","ab","abd","abc","... 02:24:40 Huh, just found my old Astrology book 02:24:52 Sgeo: it's a sign! 02:25:03 lol 02:25:34 of what use is an astrology book 02:25:50 Part 5 is some stuff about other things 02:26:15 that's the power set, right? 02:26:17 "Tarot, palmistry, and numerology are three of those ways-- and they're all connected with astrology." 02:26:48 numerology will always make think vortex based mathematics 02:27:54 Patashu: yep 02:28:11 @src filterM 02:28:11 Source not found. And you call yourself a Rocket Scientist! 02:28:18 hmph 02:28:22 @src const 02:28:22 const x _ = x 02:28:35 aah 02:28:58 @hoogle 02:28:58 No query entered 02:28:58 Try --help for command line options 02:29:01 bah 02:29:10 @hoogle filterM 02:29:10 Control.Monad filterM :: Monad m => (a -> m Bool) -> [a] -> m [a] 02:29:10 Data.Graph.Inductive.Query.Monad graphFilterM :: GraphM m gr => (Context a b -> Bool) -> GT m (gr a b) [Context a b] 02:29:12 aha 02:29:18 woah 02:29:19 lol 02:30:04 Patashu: http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Control-Monad.html#filterM 02:30:30 (the hoogle website has source links) 02:32:07 -!- foocraft has joined. 03:02:11 "Of course, we can't answer the larger question about believing /everything/ you read in the papers. You might want to take some of the things /other/ than your daily forecast with a grain of salt." 03:02:55 Oh, hm, I kind of took that out of context 03:10:20 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 03:10:30 okay what the hell. 03:10:37 there's a particular region of my screen 03:10:41 where my mouse cannot click on anything. 03:10:43 this makes no sense. 03:11:37 -!- augur has changed nick to Oscar__. 03:11:46 -!- Oscar__ has changed nick to augur. 03:26:44 -!- F has joined. 03:31:28 -!- copumpkin has joined. 03:42:34 -!- azaq23 has quit (Read error: Operation timed out). 03:46:38 -!- CakeProphet has quit (Quit: Lost terminal). 03:47:07 -!- CakeProphet has joined. 04:01:04 -!- azaq23 has joined. 04:04:59 -!- Sgeo has quit (Ping timeout: 246 seconds). 04:05:07 -!- yorick has quit (Ping timeout: 252 seconds). 04:07:03 -!- yorick has joined. 04:10:14 -!- Sgeo has joined. 04:10:16 I think I'm 500 pages away or so from being up to date on homestuck 04:15:41 -!- foocraft has quit (Quit: I'm falling...UPRIGHT! http://www.youtube.com/watch?v=WCF_mHKBH3k). 04:25:04 -!- pikhq_ has joined. 04:28:12 -!- pikhq has quit (Ping timeout: 276 seconds). 04:28:22 Haha gold standard people. 04:28:24 So luls. 04:50:32 Aaah, morons. 05:11:46 * pikhq_ has the fairly obvious realisation that his tests for compiler features do not work for cross-compilation. 05:12:10 Yes, that is a common problem. 05:14:00 So now I'm wondering how best to test preprocessor defines without actually executing my built executable. 05:14:45 Hmm. Probably #if !defined(foo)\n#error "no foo"#endif 05:15:45 #error is actually unportable :) 05:15:52 Just anything that's not valid C on the error side. 05:16:26 (Note: by "#error is actually unportable" I mean "there exist compilers which do not understand #error, and so error out on it regardless of where it appears in the code") 05:17:08 Wanna know a great trick to figure out the word size (or size of any builtin type) without executing code? :) 05:17:48 I'm implementing tests on an as-needed basis. ATM, all I have tests for is C99 and libraries. 05:18:11 Though, because I listened to elliott, it's really quite easy to add tests... 05:18:52 So wanna help me figure out why fastjit-tests segfaults in GGGGC-evil mode? >_> 05:19:07 No, I'd rather defeat autotools. :P 05:19:08 evil mode? 05:19:49 Admittedly, I'm depending on Tcl instead of shell, but that's really not a very objectionable dependency. 05:20:16 Given that I can probably get Jim (a smallish but full-featured Tcl interpreter) to build on anything that builds C. 05:20:22 Patashu: It adds a canary to the object header, performs a GC at every yield point, always clears out old-space memory, and goes into two-space copying collector mode to assure that no object will every stay in the same location after a collection. 05:20:47 and segfaults often? 05:20:58 Patashu: Not if the code is correct ... 05:21:02 :P 05:21:28 Patashu: It's a good indicator since it's easy to have bugs in a GC that are non-obvious since you just happened to never collect at the wrong time. 05:22:47 Gregor: BTW, I'm actually not *hyper* concerned with handling broken systems here. 05:22:58 Gregor: My check for C99 consists of checking __STDC_VERSION__. 05:23:42 I'm pretty much assuming a system that doesn't provide a modicum of C89 semantics is fundamentally broken. 05:23:44 Not supporting systems which are strictly wrong is different from not supporting systems which are right but old/obscure/unusual *shrugs* 05:25:10 Yeah, but an extreme number of Autoconf checks are actually checks for broken systems. 05:25:19 'struth :P 05:25:35 But that's why step one to using autoconf is to run autoreconf, then disregard its result. 05:25:42 Autoscan, you mean. 05:25:47 Erm, yes 05:26:24 Yeah, autoscan alone has probably wasted centuries of CPU time. 05:30:16 Oh, yeah, and I am *really* not going to be thinking about the pain and agony that is libraries needing other libraries in static linking. Unlike Autoconf, which still has a lot of logic for it. 05:31:08 Or Libtool, which *is* the logic for it. 05:31:42 If you want it to work right, write a pkg-config file; I reject the idea of making a 10 billion line shell script that does everything related to libraries that your toolchain can do anyways. 05:34:44 Fuck libtool so much. 05:35:48 Especially its idea of library dependencies. 05:36:18 It does not understand the *idea* of a shared library already having its dependencies recorded. 05:37:19 -!- azaq23 has quit (Quit: Leaving.). 05:41:18 -!- wareya has quit (Read error: Connection reset by peer). 05:42:43 -!- pizearke has quit (Ping timeout: 240 seconds). 05:43:02 -!- pizearke has joined. 05:52:02 -!- wareya has joined. 05:54:28 Oh, the over-linking. 05:54:41 -Wl,--as-needed would be much less needed if it weren't for libtool. 05:56:01 -!- Sgeo has quit (Ping timeout: 255 seconds). 05:58:52 -!- Patashu has quit (Ping timeout: 260 seconds). 06:05:37 -!- pikhq has joined. 06:09:09 -!- pikhq_ has quit (Ping timeout: 276 seconds). 06:16:58 http://web.archive.org/web/19961119053443/http://www.tmbg.com/ That is a *surprisingly* inoffensive mid-90s site. 06:18:53 -!- Sgeo has joined. 06:25:45 * pikhq cannot *fathom* why autoconf has sizeof checks, anyways. 06:29:38 Are there any times where you would want to know sizeof(foo) outside of compilation that aren't absolutely revolting? 06:32:30 I can't even think of absolutely revolting reasons 06:33:47 -!- Sgeo has quit (Read error: Connection reset by peer). 06:34:03 I *suppose* you might want it in a preprocessor check? 06:34:18 -!- Sgeo has joined. 06:35:03 Though I can't fathom why limits.h wouldn't suffice. 06:35:09 now I can only think of absolutely revolting reasons yes 06:37:31 revolting peasants 06:40:13 http://www.gnu.org/software/autoconf/manual/html_node/Particular-Types.html#Particular-Types Why, it's a giant list of pointless checks! 06:49:45 'In Swedish, Norwegian and Danish, gift means "poison" but also "married".' 06:50:36 Even better. Swedish, Norwegian, Danish, German, and English "gift" are cognate. 06:53:14 Yeah, I'm reading this on the Wikipedia "False friends" page. 06:54:00 Good article. 07:07:30 * pikhq winces 07:07:47 alloca is not in any consistent place. 07:07:49 At all. 07:08:46 Admittedly, with C99 it's ceased to be necessary. 07:10:42 It seems to be in stdlib.h quite often 07:11:35 It exists in: stdlib.h, alloca.h, malloc.h, as __builtin_alloca, as __alloca. 07:17:31 *sigh* 07:17:40 GTK+'s use of pkg-config is wrong. 07:17:52 Requires: gdk-${target}-2.0 atk cairo gdk-pixbuf-2.0 gio-2.0 pangoft2 07:17:55 FAIL 07:19:30 Unless it's part of your library's public ABI, it's not in "Requires:". 07:21:07 -!- oerjan has quit (Quit: leaving). 07:22:50 Windows's CRT has _alloca FWIW 07:23:57 Yeah, and it defines alloca in "malloc.h". 07:24:12 Yep 07:25:23 -!- clog has quit (Ping timeout: 240 seconds). 07:42:45 -!- pikhq_ has joined. 07:43:12 -!- pikhq has quit (Ping timeout: 276 seconds). 07:52:32 *sigh* 07:52:40 sometimes i feel europe is where civilization really is 07:52:49 and the US is just some pathetic attempt at civilization 07:53:17 then i browse the web and see pics of europe and am certain of it. 07:55:37 pikhq_: alloca doesn't even consistently *exist* 08:05:33 -!- monqy has quit (Quit: hello). 08:09:59 olsner: Also true. 08:10:09 olsner: Hence why it doesn't exist in a consistent place. 08:41:38 -!- pizearke has quit (Quit: Leaving.). 08:43:11 -!- pikhq_ has quit (Ping timeout: 252 seconds). 08:43:17 -!- pikhq has joined. 08:45:06 -!- pizearke has joined. 09:03:22 -!- MigoMipo has joined. 09:05:30 -!- oklofok has quit. 09:13:03 -!- pikhq has quit (Ping timeout: 240 seconds). 09:13:14 -!- pikhq has joined. 09:18:29 -!- BeholdMyGlory has joined. 09:22:38 -!- pizearke has quit (Remote host closed the connection). 09:36:46 -!- clog has joined. 09:50:04 -!- choochter has joined. 09:53:55 -!- MigoMipo has quit (Read error: Connection reset by peer). 10:03:19 -!- Behold has joined. 10:04:22 -!- BeholdMyGlory has quit (Ping timeout: 264 seconds). 10:42:52 -!- FireFly has joined. 10:43:48 -!- sebbu2 has joined. 10:43:49 -!- sebbu2 has quit (Changing host). 10:43:49 -!- sebbu2 has joined. 10:47:05 -!- sebbu has quit (Ping timeout: 240 seconds). 11:27:32 -!- choochter has quit (Read error: Connection reset by peer). 11:27:43 -!- choochter has joined. 11:39:40 -!- Miss_ has joined. 11:39:46 Hi 11:40:59 so I think it would be interesting to have a programming competition in which programs logged into a MUD-like server, and issued commands to interact with one another in a competition of some kind. 11:41:08 That's as specific as I've gotten so far. 11:41:15 -!- Vorpal has joined. 11:41:17 -!- Patashu has joined. 11:41:34 it would be interesting if there were teams, as opposed to the usual 1v1 setup 11:41:48  11:42:21 ;( 11:42:37 Miss_: ? 11:43:01 I'm sad 11:44:05 why's that. 11:44:51 My friend hate me ;( 11:45:39 I see. 11:46:12 See what !! 11:46:14 Do you, uh, want to create an esoteric programming language about that? 11:46:24 because that would be so awesome. 11:46:44 Yup 11:47:17 Sorry i don't speak english 11:47:38 :"o 11:47:48 well, that could be a problem. But so far I haven't noticed. 11:48:01 "I see" is "I understand" 11:48:07 or, whatever. 11:48:15 that might even make less sense. 11:48:16 اها 11:48:22 Aha 11:48:51 I'm saudi 11:49:04 :"o 11:49:27 what is this :"o you're doing 11:49:48 Crying 11:50:18 i see i see 11:50:42 are you a saudi girl in the us or something? 11:51:10 In riyadh 11:51:20 and you're on the internet? crazy. 11:51:40 !!! 11:51:43 isnt it vaguely illegal for you to be talking to men on the internet? 11:52:22 Yes 11:52:30 well, you should be careful then 11:52:36 cause most people on irc are men 11:52:45 oh hey, that rhymed AND had the same line length 11:52:48 awesomes 11:52:51 ...lol 11:52:58 I'm girl 11:53:14 Miss_: yes.. we figured 11:54:40 http://www.samair.ru/proxy/type-01.htm 11:55:13 might be useful 11:56:27 if you can configure your IRC client to use a proxy, or can even understand what I'm saying right now. Who knows. 11:58:00 Bay 12:00:31 ..? 12:00:51 obviously she's a fan of Michael Bay's cinematic achievements 12:01:41 I want to sleep 12:01:54 his work on the Transformers movies, with their stark color contrasts emblematic of desert environments, and their hard mechanical overlords, are obvious parallels to her experiences in the arid country of saudi arabia, with its US-military-industrial-complex-funded monarchy that oppresses women 12:02:03 how could you not see this, CakeProphet? 12:03:31 -!- pikhq_ has joined. 12:03:48 -!- pikhq has quit (Ping timeout: 258 seconds). 12:04:13 -!- Phantom_Hoover has joined. 12:17:12 I would like to speak english , i tried it and i try 12:17:20 Sorry 12:17:48 Forgive me and fogive me 12:18:17 :) 12:21:59 -!- Miss_ has left. 12:24:44 augur: ... 12:24:46 rofl 12:24:50 what the hell. 12:24:59 CakeProphet: :) 12:25:16 its a work of art, isnt it 12:31:37 oh yes, truly priceless. 12:31:41 there is no value. it's undefined. 12:31:46 im a master at bullshit 12:32:07 damnit why is lambdabot so difficult to install. 12:35:03 to increase your ties to #esoteric 12:46:10 -!- Cheery has joined. 12:47:32 -!- CakeProphet has quit (Read error: Operation timed out). 12:50:36 -!- CakeProphet has joined. 12:50:36 -!- CakeProphet has quit (Changing host). 12:50:36 -!- CakeProphet has joined. 13:37:26 -!- nooga has joined. 13:38:12 Þwat 13:38:37 Þat* 13:49:42 -!- ais523 has joined. 13:50:11 -!- MigoMipo has joined. 14:00:55 -!- ais523 has set topic: [...] Rule 2: You do /NOT/ talk about Rule 1. | Join ##verybadattitude for more intellectual discussions | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 14:17:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:45:05 -!- copumpkin has joined. 14:46:35 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 15:01:27 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:19:30 -!- wareya has quit (Quit: Lost terminal). 15:20:37 -!- mtve has quit (Ping timeout: 260 seconds). 15:20:54 -!- Slereah has quit (Ping timeout: 252 seconds). 15:21:44 -!- Slereah has joined. 15:22:00 -!- SimonRC has quit (Ping timeout: 252 seconds). 15:22:42 -!- mtve has joined. 15:22:57 -!- FireFly has quit (Ping timeout: 260 seconds). 15:23:07 -!- SimonRC has joined. 15:23:50 -!- F has quit (Ping timeout: 252 seconds). 15:24:49 -!- F has joined. 15:25:21 -!- FireFly has joined. 15:47:51 -!- CakeProphet has quit (Ping timeout: 240 seconds). 15:54:16 Blah 16:23:08 -!- pikhq_ has quit (Ping timeout: 246 seconds). 16:23:19 -!- pikhq has joined. 16:26:33 -!- SimonRC has quit (Ping timeout: 260 seconds). 16:28:10 -!- SimonRC has joined. 16:32:41 -!- TOGoS has joined. 16:32:49 -!- TOGoS has left. 16:37:17 ... 16:52:19 tswett: trying to write an XML quine? wouldn't it have to be infinitely long? 16:53:19 What about XSLT? 16:53:24 Or is it XLST? 16:53:58 Yes, I'm writing an infinite XML quine. 16:56:56 -!- monqy has joined. 16:57:36 {"type": "object", "contents": [{"type": "string", "value": "type"}, {"type": "string", "value": "objects"}, {"type": "string", "value": "contents"}, {"type": "array", "contents": ["type": "object", "contents": [{"type":... 17:00:17 Apply (Constructor "Apply") [Apply (Constructor "Constructor") [String "Apply"], List [Apply (Apply (Constructor "Constructor") [String "Constructor"]) [List [Apply (Constructor "String") (String "Apply")]], Apply... 17:01:03 It couldn't be too hard to figure out exactly how efficient each of these encodings is. 17:01:38 LISP has them all beat, with an efficiency of 1: 17:01:53 (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote (quote... 17:02:34 well, 1 in the limit 17:03:01 Right. 17:03:25 now I vaguely want to see how that would work with Java reflection 17:03:29 What was that Apply and Constructor thing supposed to be? Haskell? 17:03:32 but I'm worried that the result might make me go insane 17:03:33 Sgeo: yeah. 17:03:48 JavaScript reflection is much less insanity-causing, no? 17:04:04 I imagine so 17:06:17 -!- ralc has joined. 17:08:31 What would an Python infinitely long quine look like? 17:08:41 I imagine you could do something with print"print... 17:08:46 Lymia: very similar to that JSON one, I imagine. 17:08:55 I mean, these aren't really quines; these are self-describing data structures. 17:09:00 But I don't want to try and figure out an equation for \s 17:09:15 (How many \s to put in each string) 17:09:21 I imagine it'd grow quite fast. 17:12:11 -!- pumafyre has joined. 17:33:03 pikhq: The reason autoconf offers sizeof tests is that you might want to have something like int32_t on a system without stdint.h 17:33:56 As "#if sizeof(int) == 4" does not work (the preprocessor can't evaluate sizeof), I don't see a way how to find out which type(s) has/have 32 bits during compilation. 17:34:27 And yes, I *do* know about CHAR_BIT and sizeof reporting in that unit... 17:34:49 pikhq didn't take me up on my offer of the clever trick for testing that :) 17:34:59 amusingly, it manages to work out sizes of variables even during cross-compiling 17:35:00 (Yes, it is testable at compile-time) 17:35:19 the way it does it, is to declare arrays which would have negative sizes or positive sizes depending on if the size of the time is above a certain boundary 17:35:23 then binary-searches on compile errors 17:35:44 Daaaaaaaamn, ais523's got it : 17:35:46 *:P 17:35:47 -!- aloril has quit (Ping timeout: 250 seconds). 17:35:55 The other way is to make switch statements with sizeof cases. 17:36:09 Gregor: wouldn't that just cause warnings, rather than errors? 17:36:12 I didn't come up with it myself, anyway 17:36:17 I got that from autoconf source 17:36:23 which I have spent probably too much time reading 17:36:33 ais523: switch (argc) { case sizeof(int): case 4: } /* error if sizeof(int) == 4, no error otherwise */ 17:36:36 duplicate case statements should be errors. 17:36:39 aha 17:36:52 although less than/greater than is much faster than equal-to 17:37:18 I know I wrote my own autoconf test to see if a particular function was declared by yacc's generated output (to see if I needed to call it) 17:37:19 Gregor: I do know the trick, actually. 17:37:35 and the way I did that was to declare it myself with a completely insane type signature (full of things like function pointers to doubles) 17:37:42 to see if it errored out on the incompatible redeclaration 17:37:52 if it didn't, I assumed it didn't exist, so I didn't try to call it 17:38:06 Gregor: sizeof(foo) ? -1 : 1; yay. 17:38:38 twice11: I have no intent to support systems that lie about C99 support, and little intent to support systems without C99 support. 17:39:06 The standard's a decade old, support it. I refuse to IE6 it. 17:39:14 pikhq: If you rely on C99, you can ignore most of autoconf. 17:39:41 pikhq: how many systems with working C99 support do you have access to? 17:39:45 The remaining problems are solved at least as well by simple things like pkg-config 17:39:49 note that gcc's support is broken, and MSVC doesn't even try 17:39:51 s/If you rely on C99, / 17:40:28 ais523: What's broken about GCC's support? 17:40:40 gcc's C99 support is good enough for most general-use projects, even if it is lacking in some areas. 17:40:41 mostly minor details 17:40:48 Ah, well then. 17:40:49 I think there's a famous screwup with inline 17:40:57 where C99 inline = gcc static inline, C99 static inline = gcc inline 17:41:01 but I can never remember the details 17:41:08 and apparently gcc refuses to change for compatibility reasons, or something 17:41:15 (I can't even remember the difference between the two anyway) 17:41:57 One of them is an error if included in multiple translation units, IIRC. 17:42:42 ais523: Strange, I thought it *had* implementation of C99 semantics on that, but only if you used -std=c99. 17:43:00 ah, that might make sense 17:43:04 there are various other things, let me find the list 17:43:13 ais523: With the compatibility one being enabled by -std=c89, std=gnu89, -fgnu89-line, or attribute((gnu_inline)). 17:43:41 Sorry, no on the std=c89. 17:43:46 Invalid keyword. ;) 17:44:12 here we go: http://gcc.gnu.org/c99status.html 17:44:23 ah, I remember something that caught me out earlier 17:44:27 * twice11 just googled for "c99status"... 17:44:41 when I was trying to write a\u00e8 or something like that as a variable name 17:44:44 and gcc didn't even parse it correctly 17:45:01 Is that "extended identifiers"? 17:45:07 yep 17:45:13 that list's actually more complete than last I looked 17:45:18 so it seems they're working on it 17:45:18 Looks like a handful of compiler edge cases, and a giant swath of things required of the libc. 17:45:42 yep 17:45:47 c99 is so edgecasy 17:47:08 Edge cases can be tested for if need be. But I am *not* going to do things like implement a bunch of checks just to see if libc is not 40 years old. 17:47:31 (admittedly, you shouldn't *use* those checks in autoconf, but people do. *sigh*) 17:47:40 pikhq: I do, because I can 17:48:01 ais523: How do you handle the test failing? 17:48:05 -!- aloril has joined. 17:48:14 hmm, perhaps you're targeting "libraries generally supported by POSIXy systems, and the bits of C99 that are widely implemented" 17:48:22 Pretty much. 17:48:25 pikhq: normally by #defining to somethign dangerous but equivalent 17:48:42 Oh, so you actually have an alternative to the feature you're testing? 17:48:47 e.g. C-INTERCAL uses sprintf if snprintf doesn't exist, and removes all uses of "const" from the program if the compiler doesn't support it 17:48:54 Congrats, you're using autoconf right! 17:49:53 Which, sadly, is a *major* achievement. 17:50:06 obviously testing for things and then ignoring the resulting info is pointless 17:50:13 I think C-INTERCAL did that before I started working on it 17:50:19 and I've been through about three build systems since 17:50:24 Yeah, that's how most people use autoconf. 17:50:34 There should be more info about using autoconf correctly. 17:50:42 Doing that is an art. 17:50:44 twice11: The documentation sucks eggs. 17:51:03 Well, it tells you *very* well what each test does and how to use them. 17:51:19 It does not tell you at all why you're doing any of them. 17:51:31 Making it a gigantic cargo cult. 17:51:43 once you know what you're using autoconf for, the documentation is quite good at letting you know how to use it to do that 17:52:07 the issue with autoconf is people using it because "autoconf is good" or whatever, without thinking to work out what they actually need it for 17:52:21 And don't let us get started on libtool. It seems to mostly work, but for the sake of your sanity, *DON'T* *LOOK* *INSIDE*! 17:52:21 e.g. I don't check triplets in autoconf code as it's incredibly rare that that information is useful, but all sorts of stuff does 17:52:28 (possibly exception: you're writing a compiler targeting native code) 17:52:31 *possible 17:53:10 Special fun: Compile GMP with target none-elf :P 17:53:50 * twice11 knows that the problem libtool (tries to) solve(s) is not trivial at all, though. I not gonna claim I can do better. 17:54:09 Gregor: what happens? 17:54:09 I'm having trouble visualising what that even means 17:54:20 I can do better than libtool. Step one is to admit that the problem libtool tries to solve is not a relevant problem. 17:54:56 ais523: "none" is its special target for disabling all ASM code, and it ignores the rest of the triple but they still have to get through config.guess, so it has to be semivaild. 17:54:59 *semivalid 17:55:24 If you decide you don't need to support dynamic libraries on any system having something remotely like that, of course it will get easier. 17:55:43 And I won't question any decision like that. 17:55:57 twice11: If you decide you don't need to handle static library dependencies on any system, actually. 17:56:07 hm is there any power of two that is also a power of 10? 17:56:14 Vorpal: 1 17:56:15 Vorpal: 1 17:56:16 otherwise, no 17:56:19 unless you count 0 17:56:21 ah right 17:56:23 which you shouldn't 17:56:32 that's easy enough to prove by prime factorisation 17:56:34 *That* is the majority of the logic in libtool. Making static libraries have dependency information. 17:56:37 All other powers of 10 have the prime factor 5 17:56:37 ais523, wait 10^1 != 2^1 17:56:44 Vorpal: 10^0 = 2^0 = 1 17:56:51 ais523, ah right 17:56:51 true 17:57:41 Problem is, a) if that's all you want, pkg-config has it covered b) libtool does it by installing .la files, which *only works if you're using the full autoconf stack, anyways*. 17:57:44 Dependency info on static libs should be straight-forward, isn't it? 17:58:11 pikhq, pkg-config is way newer than libtool 17:58:31 Oh, and c) it does this by just recording a single dependencies variable, which is actually WRONG on systems with dynamic linking. 17:58:53 la is a very common typo for me, into sh 17:59:07 it's an invalid command, but the name looks like it has something to do with dynamic library linking 17:59:08 Of course, mixing dependency info in .la and .pc (one half of libs using only .la and the other half using only .pc) is not gonny fly. 17:59:33 twice11: Having dependency info in .la is fundamentally broken on most systems. 17:59:54 I think debian has some hacks around that. 18:00:08 Most of the distros do. Do you know what that hack *is*? 18:00:16 pikhq, --as-needed? 18:00:19 rm *.la 18:00:37 haha 18:01:26 Also, it's a bit more than just static library dependency information. It makes it so you can pretend you have a dynamic linker everywhere. 18:01:40 libtool also has logic for emulating dlopen, with ltdl. 18:02:08 rm *.la is not going to work for the libtool abstraction layer of "I link just to libfoo.la, and that works, no matter whether the library is called foo.dll, libfoo.so.1, libfoo.dylib or libfoo.a", but -lfoo does that as well on most sufficiently modern unix systems. 18:02:47 twice11: They only keep .la files around for packages where the .la file is actually read. 18:02:47 Libtool could have the advantage of automatically adding dependencies *only* if it happens to choose a static library. 18:03:05 -!- puma has joined. 18:03:20 Yes, guess what pkg-config handles right? 18:03:53 The option --static ;) 18:04:14 And, actually, I think the only .la files floating around on my system are for users of ltdl. 18:04:23 But IIRC this also was not in the first version of pkg-config. 18:05:05 -!- pumafyre has quit (Quit: Ex-Chat). 18:05:15 I happen to have a lot of .la files here, like /usr/lib/libSDL.la 18:05:20 Which distro? 18:05:28 $ ls /usr/lib/*.la | wc -l 18:05:28 131 18:05:28 Debian, mostly wheezy 18:05:30 ubuntu 18:05:47 10.04 18:05:49 Strange, I'm on wheezy too. 18:05:50 $ ls /usr/lib/*.la | wc -l 18:05:53 64 18:06:07 pikhq, different set of packages 18:06:08 For comparison: 18:06:10 $ ls /usr/lib/*.so | wc -l 18:06:12 262 18:06:22 $ ls /usr/lib/pkgconfig/* | wc -l 18:06:24 193 18:06:27 $ ls /usr/lib/*.so | wc -l 18:06:28 476 18:06:32 It's in the dev packages. 18:06:39 Aaah. 18:06:44 $ ls /usr/lib/pkgconfig/* | wc -l 18:06:44 288 18:07:03 I definitely have sdl's -dev installed 18:07:21 Anyways. The only feature of libtool that's still *useful* is abstracting the creation of dynamic libraries. 18:07:22 Note that dependency_libs is empty in debian's libSDL.la 18:07:46 -!- puma has quit (Quit: -a-). 18:07:47 I think that's debians hack - clearing that variable. 18:07:48 And that is a much easier task. 18:08:12 breaks static linking 18:08:29 Vorpal: Debian folks know that. 18:08:30 -!- puma has joined. 18:08:39 and? 18:09:00 -!- puma has quit (Client Quit). 18:09:05 But they still decided that for their purpose, it's the solution with the best effort/use ratio. 18:09:06 Vorpal: Eh, libtool static linking is broken unless you're using libtool, and people usually only use libtool if they're making a dynamic library. 18:09:52 Debian: Literally always right. 18:09:58 That one single "feature" of libtool really does not work. 18:10:53 * twice11 keeps wondering that autoconf goes really great lengths about supporting cross-compile environments, but having no support for HOSTCC/CC_FOR_BUILD in autoconf/automake (i.e. you have to do that by hand). 18:11:18 * twice11 is sorry about messed-up grammar in the last sentence. 18:11:20 HOSTCC? 18:11:22 hm 18:12:08 The compiler that compiles programs that can be executed on the system you are currently building on is traditionally called HOSTCC, and the GNU people call it CC_FOR_BUILD. 18:12:20 hah 18:12:53 The GNU people have a slightly shifted view of their terms for the architectures involved in cross-compiling, as they are too much fixed on compilers. 18:13:11 right 18:13:31 For "normal" people, there is the "host" system where you compile your program on, and the "target" system where the program will run on. 18:13:32 twice11, their terminology makes sense when doing a canadian cross 18:14:03 twice11: the way autoconf doesn't do it is annoying, and the way gcc does it is really stupid 18:14:17 C-INTERCAL deals with the problem by generating two configure scripts and getting one to call the other 18:14:51 how does gcc do it 18:15:13 Vorpal: basically by writing huge sections of configure by hand rather than getting autoconf to generate them 18:15:23 plus some other stuff too that I couldn't follow because I was too stunned by the previous reason 18:15:32 -!- pumafyre has joined. 18:15:34 hehe 18:16:08 For gcc people thinking about gcc, of course it makes sense to call the system gcc runs on "host" and the system gcc will produce software for "target", so a gcc with a certain set of "host" and "target" can be used in a compilation process involving "host" and "target" as normal people define it. 18:16:53 -!- pumafyre has quit (Client Quit). 18:17:09 Now for the canadian cross (three parties involved: You build a compiler on system $A, which runs on $B, producing executables that run on $C), you need three names. 18:17:19 -!- pumafyre has joined. 18:17:58 As I explained, compiler-centric people choose B==host, C==target, and need to invent something for A. GNU decided to call A "build". 18:18:32 -!- pumafyre has quit (Client Quit). 18:18:40 OTOH, when you *don't* compile a compiler, there *is* no C, and thus no "target" in GNU speak. 18:18:52 And "host" will be the opposite of what you expect. 18:19:17 Yeah, the terminology for autoconf cross-compiling is quite confusing. 18:19:32 This is why GNU people don't you "HOSTCC" as variable name - and this shows Linus is not a GNU guru. 18:19:34 I'm pretty sure that the terminology was invented for GCC, and brought to autoconf, though. 18:19:56 Yeah, hysterical reasins, I guess, too. 18:20:18 I think it pretty clear Linus has no regard for autoconf. 18:20:21 More likely, developed autoconf alongside gcc. 18:20:50 The Linux build system is custom built with GNU Make. 18:21:04 So they always have "how do we do this for gcc" in mind when they work on autoconf... 18:21:14 pikhq: I know. And it uses HOSTCC... 18:21:20 And probably the best example of custom-built make out there, TBH. 18:21:39 "Best" in the sense of "actually good", not "best-known". 18:22:06 pikhq, well busybox and uclibc uses it too 18:22:37 pikhq, how do you go about using it for yourself 18:22:44 I mean which files do you extract 18:23:40 Vorpal: Makefile, most of scripts/ 18:24:01 pikhq, part of Makefile is kernel specific, like make modules 18:24:12 or make bzimage 18:24:57 Vorpal: Yeah, and it's easy to remove those. 18:25:06 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost 18:25:19 That's the command for modules. 18:25:24 Q? 18:25:39 For quieting a command. 18:25:43 ah 18:25:52 Remember, it has verbose and silent building. 18:26:08 right 18:26:17 pikhq, where is the sources to make menuconfig/xconfig/gconfig 18:26:26 are* 18:26:32 scripts/kconfig 18:26:41 ah 18:28:51 Also, if you want a Tup/kconfig thing, then git://gittup.org/kconfig.git 18:29:16 hah 18:33:53 Wow. Prostitution is legal in Canada. It is illegal to do just about any form of public notice for prostitution, and illegal to live off of the income gained thereby. 18:34:19 illegal to live off the income? 18:34:30 pikhq, not as weird as Sweden. Being a prostitute is legal, but buying those services are not 18:34:34 Sgeo: As in, "have it as your main or primary source of income". 18:34:36 So someone may sell his body, excepts if he/she needs to to buy food? 18:34:43 twice11: Yes. 18:34:49 Hmm, maybe to make sure that it's not something people feel presured to do? 18:35:03 So you have to whore on the side :P 18:35:19 That's kind of strange, and definitely for the reason Sgeo mentioned. 18:35:50 Sgeo: Except that the whole *issue* with desperate people going into prostitution is that it not being a ordinarily regulated industry makes it so that people only do it if they are desperate. 18:37:00 But if there are legal prostitutes, then the unregulated illegal prositutes probably won't get much business 18:37:26 Or is the legal prostitution not regulated, o.O? 18:37:35 Sgeo: It's "legal". 18:37:51 You can't be employed as a prostitute. 18:37:52 In Germany, prostitution is legalized, but it didn't really turn out to help the whores. 18:38:06 twice11: What sort of regulations did they do on it? 18:38:30 It's something that *really* needs regulations to prevent exploitation. 18:38:58 I don't know the details, but the idea was prostitution to be a regular job so you pay taxes and get social insurance. 18:39:54 Exploiting people ("Zuhälterei", kind of "being a pimp") is still illegal, as it always was. 18:45:18 How's about we just solve poverty? 18:45:24 Suddenly, desperation goes away! 18:46:10 But then there are no whores :( 18:46:43 Gregor: There will, no doubt, still be people who want to fuck for $. 18:46:55 Just not people doing it because they have no other options. 18:51:38 (see: Japanese porn industry. Many of their porn stars are also non-porn actors) 18:52:13 (and filthy stinking rich after not-too-long) 18:56:53 -!- CakeProphet has joined. 18:56:53 -!- CakeProphet has quit (Changing host). 18:56:54 -!- CakeProphet has joined. 18:57:03 -!- wareya has joined. 19:11:12 -!- pumafyre_ has joined. 19:12:58 -!- pumafyre_ has quit (Client Quit). 19:15:20 -!- pumarain has joined. 19:16:34 The fuck? 19:16:48 Singapore is labelled as a developing country. 19:16:57 As is South Korea. 19:17:11 South Korea is about as developed as Japan. 19:17:24 I.E. "from the fucking future". 19:17:53 And Qatar. The richest country. 19:18:01 -!- pumarain has quit (Client Quit). 19:30:49 -!- ais523 has quit (Read error: Connection reset by peer). 20:10:17 -!- azaq23 has joined. 20:16:27 -!- atrapado has joined. 20:16:44 -!- nooga has quit (Ping timeout: 240 seconds). 20:30:50 -!- copumpkin has changed nick to dependentpumpkin. 20:34:04 -!- dependentpumpkin has changed nick to copumpkin. 21:00:03 Yesterday to be unhelpful I set the helptext for "opera" in ##javascript to "La donna mobile, qual piuma al vento, muta d'accento, e di pensiero!" 21:00:13 But the first time I set it I typo'd "piuma" to "puma" 21:00:39 Which, as it turns out, changes the original meaning, "Women are fickle, like a feather in the wind" to the much-more-descriptive "Women are fickle, like a puma in the wind" 21:03:05 That is an astounding typo, and I didn't realise you had any competence in what looks to be Italian. 21:03:55 Or that you've memorised an Italian saying, as it may turn out to be. :P 21:04:53 I just know the first lyrics to La Donna Mobile :P 21:05:02 Which probably isn't supposed to be capitalized in Italian. 21:05:03 BAH 21:05:46 Yeah, capital casing is a somewhat Germanic convention, deriving from how nouns are capitalised in Germanic languages (except English, which lost that two or three hundred years ago) 21:05:55 Erm, title case. 21:07:11 Well, it's more an English-specific convention, but following patterns from other Germanic languages. 21:09:43 Anyway, the point is that I was unhelpfully setting the "opera" word to actual opera, when of course people expected the browser since this is ##javascript 21:10:09 Also, women are fickle like a puma in the wind. 21:10:27 Oh, duh, I *should* have caught that that was obviously an opera. My brain is not always coöperative, though. Alas. 21:13:01 -!- CakeProphet has quit (Ping timeout: 244 seconds). 21:14:30 -!- CakeProphet has joined. 21:14:39 -!- CakeProphet has quit (Changing host). 21:14:39 -!- CakeProphet has joined. 21:24:10 -!- CakeProphet has quit (Ping timeout: 240 seconds). 21:36:43 -!- Cheery has quit (Ping timeout: 276 seconds). 21:40:12 -!- pumarain has joined. 21:41:37 -!- pumarain has quit (Client Quit). 22:05:03 It occurs to me that as an entirely unintended side effect, it is exceptionally easy to do custom rules in my build system. 22:05:07 Write a Tupfile outside of the objs directory. 22:05:09 That's all. 22:16:08 -!- CakeProphet has joined. 22:16:08 -!- CakeProphet has quit (Changing host). 22:16:08 -!- CakeProphet has joined. 22:21:07 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:26:39 -!- zzo38 has joined. 22:27:42 403 (No such channel). 22:29:53 Finally I reduced "Success" to 21 bytes of Unlambda. Three hours later, someone else also figure it out. 22:30:02 But is there a way to shorten it even more? 22:33:03 -!- pumarain has joined. 22:34:24 -!- pumarain has quit (Client Quit). 22:35:01 I found some information about LLVM with C. It says apparently you have to use a C++ linker even if it is a C code 22:36:07 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 22:36:19 99% chance they're full of shit. 22:37:29 What the fuck it only produces static libraries? 22:37:42 Okay, yeah, you do need -lc++. 22:38:11 No, wait, there it is. 22:38:17 zzo38: Yeah, they're full of shit. 22:38:51 Then how do I *properly* use LLVM with C? 22:40:21 -!- Vorpal has joined. 22:43:44 -!- jix has quit (Ping timeout: 240 seconds). 22:43:48 -!- jix has joined. 22:49:07 -!- jix has quit (Remote host closed the connection). 22:49:14 -!- jix has joined. 22:49:40 *Gaaah*, they don't use pkg-config, but their library name is libLLVM-Major.Minor.so 22:50:16 Yes, that's right, they make it impossible to link against LLVM generically. 22:51:12 zzo38: Give up, they don't *want* you to use it. 22:51:42 They hate you. 22:52:18 -!- wareya has quit (Read error: Connection reset by peer). 22:53:16 -!- wareya has joined. 22:59:47 Oh, wait, llvm-config. 23:00:20 Fuck people not using pkg-config. 23:01:55 ... Debian, in their infinite wisdom, has decided to rename llvm-config to llvm-config-major.minor 23:02:07 STOP DEFEATING THE POINT 23:05:32 -!- atrapado has quit (Quit: FIN). 23:07:37 You may think you're being clever by allowing multiple LLVM version to be installed at once, but you're not. 23:07:59 You're just shitting on reasonable expectations. 23:09:32 Expectations like "I can actually check for a library foo that install foo-config using foo-config". 23:12:41 -!- Patashu has joined. 23:21:32 pikhq: They don't *want* me to use it? What is this? 23:22:10 -!- pikhq_ has joined. 23:22:44 pikhq_: They don't *want* me to use it? What is this? 23:23:37 What is the point of LLVM if nobody can use it? 23:23:42 -!- oerjan has joined. 23:23:50 -!- pikhq has quit (Ping timeout: 246 seconds). 23:23:52 -!- zzo38 has quit (Quit: Not time now). 23:24:00 zzo38: I dunno. It's just OUCH 23:28:35 Yeah, capital casing is a somewhat Germanic convention, deriving from how nouns are capitalised in Germanic languages (except English, which lost that two or three hundred years ago) 23:29:00 also except Norwegian, Danish and Swedish, at least 23:29:34 i thought it was a german (no -ic) thing. i'm not sure about dutch. 23:29:45 oerjan: Yeah, I looked around and it's apparently only been done in some West Germanic languages. 23:30:19 Modern practice in German, historical practice in Dutch and English... 23:30:49 Finally I reduced "Success" to 21 bytes of Unlambda. Three hours later, someone else also figure it out. 23:30:57 ...why the heck did he _just_ leave 23:31:35 hm 21 seems only slightly shorter than the obvious solution 23:32:04 !unlambda ```````.s.s.e.c.c.u.Si 23:32:06 sseccuS 23:32:09 er 23:32:43 !unlambda ```````.S.u.c.c.e.s.si 23:32:43 Success 23:34:47 -!- Adamfyre_ has joined. 23:36:22 -!- Wamanuz2 has joined. 23:36:27 looks tricky 23:36:31 -!- ralc has quit (Quit: Leaving). 23:36:59 -!- Sgeo_ has joined. 23:37:17 -!- teuchter has joined. 23:37:30 -!- Sgeo has quit (Read error: Connection reset by peer). 23:42:49 Apply (Constructor "Apply") [Apply (Constructor "Constructor") [String "Apply"], List [Apply (Apply (Constructor "Constructor") [String "Constructor"]) [List [Apply (Constructor "String") (String "Apply")]], Apply... 23:42:53 > fix show 23:43:03 ...now what 23:43:18 @help 23:43:30 lambdabot is sick :( 23:43:56 lol 23:44:08 wait 23:44:28 Constructor/String/Apply/List, "Apply"/"Construtor"/"String"... 23:44:31 hm or its server is, i cannot get to it 23:44:31 Is there a "List" then 23:45:17 Patashu: i don't know about any of them, may they're in Language.Haskell, haskell's self-parsing library 23:45:43 -!- Adamfyre_ has quit (Quit: leaving). 23:45:48 but the result of fix show is much shorter 23:46:08 > fix fix 23:46:15 i said lambdabot was sick 23:46:21 I'm making it worse 23:46:24 also that doesn't type, i think 23:46:34 doubtful, /whois lambdabot lambdabot doesn't answer 23:47:47 !haskell take 100 $ Data.Function.fix show 23:47:51 ​"\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" 23:48:19 !haskell :t Data.Function.fix 23:48:22 Data.Function.fix :: (a -> a) -> a 23:48:22 what 23:48:38 why does it look like... that 23:48:45 Patashu: that string is an infinite quine in haskell :) 23:49:20 first of all, fix show is equivalent to show (show (show (show (show ... 23:49:20 what does it -do- 23:49:44 show returns a string, so each show there also applies to a string 23:50:04 -!- Sgeo_ has left ("Leaving"). 23:50:08 -!- Sgeo_ has joined. 23:50:23 !haskell Data.Function.fix show 23:50:28 show turns a string into "string" with anything escaped inside as necessary 23:50:38 Lymia: i used take 100 for a reason 23:50:38 ​"\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 23:50:44 wait what 23:50:53 I dunno. 23:50:54 ...when did that start working :O 23:50:55 Dear XChat: As a matter of fact, I am not actually disconnected from any servers, so stop saying that I am. 23:51:39 !underload ((test )S:^):^ 23:52:15 that didn't answer 23:52:34 !haskell scanl1 (*) [1..] 23:52:58 wtf 23:53:01 !echo hi 23:53:02 hi 23:53:41 -!- choochter has quit (*.net *.split). 23:53:41 -!- Wamanuz has quit (*.net *.split). 23:53:42 -!- lambdabot has quit (*.net *.split). 23:53:42 Gregor: how the heck did EgoBot manage to respond to !haskell Data.Function.fix show when it usually fails on any infinite output line? 23:53:48 and still does for the other tests 23:54:21 !haskell :t show 23:54:23 show :: (Show a) => a -> String 23:55:14 Patashu: show is haskell's basic function for creating a printable/parseable representation of a value. on strings, it puts " around and escapes what's necessary inside 23:55:44 crucially, for strings it is lazy enough to return the initial " _without_ looking at the actual string passed first 23:56:11 -!- pizearke has joined. 23:56:15 which means it is lazy enough to get going when you apply fix to it 23:57:33 first there's ", then there's \" which is a " escaped, then there's \\\" which is _that_ escaped, and so on 23:59:42 Oh, lol 23:59:44 -!- hagb4rd has joined. 23:59:46 It's infinitely nested strings 23:59:54 ...in a way. 2011-06-16: 00:00:39 -!- sebbu2 has quit (Read error: Connection reset by peer). 00:01:08 -!- sebbu has joined. 00:02:00 the number of \'s between each " goes as 2^n-1 00:02:00 !haskell :t Data.Function.fix (concatMap show) 00:02:00 now what 00:02:00 !echo hi 00:02:00 hi 00:02:02 Data.Function.fix (concatMap show) :: [Char] 00:02:28 that one _should_ have done something similar, characterwise 00:02:42 -!- comex has quit (Excess Flood). 00:02:59 but it doesn't... because show on a Char isn't lazy enough to give the initial ' without looking at the character first... 00:03:16 but if we cheat a bit we can see what that should have looked like 00:03:35 -!- sebbu has quit (Changing host). 00:03:35 -!- sebbu has joined. 00:03:35 !sh while true; do echo -n y; done 00:03:40 (That was dumb) 00:03:58 !haskell take 100 $ Data.Function.fix (('\'':).tail.concatMap show) 00:04:01 ​"'\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\''" 00:04:08 Not sure *shrugs* 00:04:13 Probably something to do with how it outputs that. 00:04:15 !haskell putStrLn . take 100 $ Data.Function.fix (('\'':).tail.concatMap show) 00:04:16 ​'\'''\\''\'''\'''\'''\\''\\''\'''\'''\\''\'''\'''\'''\\''\'''\'''\'''\\''\'''\'''\'''\\''\\''\'''\'' 00:04:20 -!- hagb4rd has quit (Ping timeout: 255 seconds). 00:04:25 It might happen to work if it flushes. 00:04:30 -!- hagb4rd has joined. 00:04:46 !haskell Data.Function.fix (('\'':).tail.concatMap show) 00:04:59 ​"'\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\'''\\'''\\'''\\\\''\\\\ 00:05:03 Gregor: weird that it would flush better with that than with an infinite list. maybe it also has something to do with speed of printing... 00:05:27 maybe it normally times out before getting far enought that ghc needs to flush 00:05:32 *-t 00:05:50 where is lambdabot? 00:06:03 !haskell Data.Function.fix ('a':) 00:06:21 -!- comex has joined. 00:06:27 that didn't work :( 00:06:34 !echo hi 00:06:45 well 00:06:47 !help 00:06:47 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 00:06:53 there is no echo? 00:07:19 !help userinterps 00:07:19 ​userinterps: Users can add interpreters written in any of the languages in !help languages. See !help addinterp, delinterp, show | !userinterps. List interpreters added with !addinterp. 00:07:26 !userinterps 00:07:27 ​Installed user interpreters: acro aol austro bc bct bfbignum brit brooklyn bypass_ignore bytes chaos chiqrsx9p choo ctcp dc decide drawl drome dubya echo eehird ehird elmer fudd google graph gregor hello id jethro kraut lperl lsh map num ook pansy pi pikhq pirate plot postmodern postmodern_aoler prefixes python redneck reverse rimshot rot13 rot47 sadbf sanetemp sfedeesh sffedeesh simplename slashes svedeesh swedish ustemp valspeak warez wc yodawg 00:07:30 night → 00:07:32 Vorpal: ^ echo 00:08:23 Vorpal: netsplat a moment ago, after not responding for a while 00:11:47 -!- Vorpal has quit (Ping timeout: 246 seconds). 00:11:48 -!- hagb4rd has quit (Ping timeout: 255 seconds). 00:12:19 -!- hagb4rd has joined. 00:15:17 !haskell Data.Function.fix (\x -> "LOOK BEHIND YOU " + x) 00:15:44 !haskell Data.Function.fix (\x -> "LOOK BEHIND YOU " ++ x) 00:16:38 !haskell Data.Function.fix show 00:16:53 ​"\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00:18:30 maybe it on the contrary works because fix show is _slow_... 00:18:56 hm... 00:19:11 !haskell Data.Function.fix ("\\\""++) 00:19:40 or maybe EgoBot just likes Lymia. 00:19:43 !echo hi 00:20:10 * hagb4rd chekcs his codepage configuration 00:20:17 !haskell Data.Function.fix (\x -> show $ "LOOK BEHIND YOU " ++ x) 00:20:31 ​"\"LOOK BEHIND YOU \\\"LOOK BEHIND YOU \\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"LOOK BEHIND YOU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 00:20:35 aha 00:21:04 i'm wondering if there may be some kind of balance... it needs to print enough, and _then_ time out? 00:22:27 would be kool to see just the parts with high information density 00:22:27 !haskell "testing... " ++ Data.Function.fix id 00:22:30 ​*** Exception: stack overflow 00:22:35 hmph 00:23:17 Gregor: it seems EgoBot then went on to try running it as a _module_ afterwards... 00:23:54 oh well 00:27:05 -!- augur has quit (Remote host closed the connection). 00:37:08 -!- CakeProphet has quit (Ping timeout: 260 seconds). 00:38:59 -!- CakeProphet has joined. 00:39:00 -!- CakeProphet has quit (Changing host). 00:39:00 -!- CakeProphet has joined. 00:48:06 -!- yorick has quit (Ping timeout: 240 seconds). 00:48:24 -!- yorick has joined. 00:48:49 -!- augur has joined. 00:49:21 -!- copumpkin has quit (Read error: Connection reset by peer). 01:03:09 * pikhq_ looks for good compile-time undefined behavior 01:03:26 -!- FireFly has quit (Quit: swatted to death). 01:21:11 Fuckit. */ 01:22:12 -!- lambdabot has joined. 01:30:11 -!- oerjan has quit (Quit: leaving). 01:38:34 -!- elliott has joined. 01:42:07 x 02:03:48 -!- copumpkin has joined. 02:08:14 -!- pizearke has quit (Quit: quuiiiitttt!). 02:08:33 -!- pizearke has joined. 02:54:37 elliott: you're male most of the time, right? 02:54:57 -!- Adamfyre has joined. 02:55:40 tswett: That's... a technically true statement :P 02:56:55 So, my question is true. 02:57:25 Does that mean that it's a good, precise question, whose answer is likely to enlighten rather than confuse? 02:57:38 This sure is a conversation. 03:00:47 -!- Adamfyre has quit (Quit: AndroidIrc Disconnecting). 03:06:16 -!- sebbu has quit (Read error: Connection reset by peer). 03:06:44 -!- sebbu has joined. 03:11:57 -!- zzo38 has joined. 03:30:38 -!- pikhq has joined. 03:33:46 It's just OUCH? 03:34:07 -!- pikhq_ has quit (Ping timeout: 260 seconds). 03:34:35 tswett: You're just OUCH most of the time, right? 03:40:36 -!- azaq231 has joined. 03:41:04 -!- azaq23 has quit (Ping timeout: 246 seconds). 03:46:31 -!- piz2 has joined. 03:50:13 -!- pizearke has quit (Ping timeout: 240 seconds). 03:51:11 -!- CakeProphet has quit (Ping timeout: 264 seconds). 03:54:27 -!- oerjan has joined. 03:56:45 !unlambda `c.i 03:56:45 i 03:57:09 !unlambda `c.i.t 03:57:10 i 03:57:18 !unlambda ``c.i.t 03:57:18 it 03:57:36 !unlambda ```c.i.t.y 03:57:36 itt 03:58:31 !unlambda `````.S``c.u.c.e.s.s 03:58:32 ​./interps/unlambda/unlambda.bin: file /tmp/input.32133: parse error 03:58:58 !unlambda ````.S``c.u.c.e.s.s 03:58:58 ucSces 03:59:46 !unlambda ``````c`.S.u.c.e.s.si 03:59:46 Success 04:00:07 zzo38: was that your solution too? 04:01:29 !unlambda `````c`.S.u.c``c.e.si 04:01:30 ​./interps/unlambda/unlambda.bin: file /tmp/input.32431: parse error 04:01:36 argh 04:01:48 !unlambda ````c`.S.u.c``c.e.si 04:01:49 Sucescs 04:01:56 oops 04:02:14 sucesces 04:02:19 so close :P 04:02:25 What are you trying to do, BTW? 04:02:51 zzo38 mentioned he'd got this golf down to 21 in unlambda 04:03:05 ah 04:03:07 oerjan: That was not quite my solution but it was similar to that 04:04:03 hm 04:04:22 !unlambda ``````c`c`.S.u.c.e.si 04:04:22 ​./interps/unlambda/unlambda.bin: file /tmp/input.32699: parse error 04:04:26 !unlambda `````c`c`.S.u.c.e.si 04:04:27 Succes 04:04:31 darn 04:06:39 zzo38: oh wait there should be a . at the end? 04:06:47 oh, no 04:08:27 !unlambda ```c```c`.S.u.c.e.si 04:08:27 Success 04:08:30 yay 04:08:56 Post to anarchy golf if you did it good. 04:09:33 i will. what's the open code-statistics? 04:10:24 I always like to select that option. It means it tells you how many binary/alphanumeric/symbols 04:10:38 ok i did too 04:11:01 (Look below, under the "Statistics" column for the summary of solutions, that is what those numbers means.) 04:11:09 yay my first golf submission (afair) 04:14:51 huh someone manage brainfuck in 18 bytes 04:14:53 *d 04:15:08 what the hell are you doing, oerjan 04:15:18 oerjan: It is a BFI-specific code probably. 04:15:18 augur: golfing 04:15:24 golfing? 04:15:37 It takes advantage of unintentional features in BFI. 04:15:37 augur doesn't know about code golf? 04:15:41 no 04:15:42 i dont 04:15:43 aha 04:16:17 lol 04:16:24 i mean, i might, but 04:16:35 oerjan: btw if you submit with a web browser it appends \r\n I think... or wait, does it strip all whitespace 04:16:36 I forget 04:16:38 zzo38: hm it cannot be just ! with input, that would have been shorter 04:16:52 I do know that it uses \r\n newlines with the web form though so if you have any newlines file submission is best 04:16:58 (As you can see, it is obviously not a proper brainfuck, since it has 1 binary and 7 letters (the word "Success" is in there) 04:17:02 elliott: erm i used the form, no newlines 04:17:06 zzo38: hm it cannot be just ! with input, that would have been shorter 04:17:10 bfi allows self-modifying code or something 04:17:18 aha 04:17:18 elliott: Yes it does do that. It does not strip any whitespaces 04:17:28 zzo38: but does it append \r\n with the web form? 04:17:31 ISTR it does 04:17:35 so the web form always costs you two bytes 04:17:37 not sure though 04:17:42 maybe not 04:17:48 elliott: Yes it does append \r\n when using the HTML form 04:17:55 elliott: Yes it allows accessing the code-space (and modifying it) 04:18:02 oerjan: you should make a file locally and upload it to save two bytes 04:18:15 But it does not append \r\n to the end. 04:18:22 It only converts newlines to \r\n 04:18:28 oh 04:18:31 but you said 04:18:32 elliott: Yes it does append \r\n when using the HTML form 04:18:32 ? 04:18:46 I know, I made a mistake in the typing sentence 04:18:49 I didn't mean that. 04:18:57 OK 04:18:58 elliott: well it counted it as a winning entry of 20 bytes, so i must have done it right :P 04:18:59 I didn't really say all those things that I said. 04:19:02 oerjan: right :P 04:20:15 zzo38: O KAY 04:20:47 Some people said these kind of challenges are bad challenge. Actually they are just much more simple challenge than the other ones; it doesn't make it a bad challenge (as you can see from everything). 04:21:10 constant output is a bad challenge 04:21:11 always 04:21:14 constant, trivial output that is 04:21:17 as in short 04:21:25 because there are exactly two possible types of submission 04:21:34 - print it in the shortest normal way in the language (i.e. with the string embedded) 04:21:40 - exploit the interpreter/language to have the string built in 04:21:49 neither of these are interesting after, like, five billion such challenges 04:22:03 * pikhq mutters 04:22:04 invalid command name "::build::dc::flag_read" 04:22:06 Even the "Zero" challenge I came with a shorter solution in shell script that other people had, at first. And then someone else figure it out afterward. 04:22:19 elliott: ok but it was interesting the first time in unlambda, at least :P 04:22:20 pikhq: wat 04:22:28 elliott: Yes, I agree they are not as good as other challenges. But I don't call them "bad challenge". 04:22:32 I do 04:22:36 Ohwait. 04:22:42 because there haven't been many good challenges lately in anagolf at all 04:22:52 and the same person kept submitting bad challenges recently 04:22:54 ::groups is the namespace all my building semi-objects are in. 04:23:12 (I seem to have implemented half an object system without even thinking about it) 04:24:34 Can you do "Zero" challenge in five bytes of Bash or fish, or four bytes of Zsh, or five bytes of Zsh with symbol only? Maybe. It is not too difficult to figure out, although it is not the most obvious thing (it should be somewhat obvious once you figure it out, which is not too difficult to do) 04:25:58 Or, in Forth, it is very simple. But in symbol only, it is slightly more difficult? (I used a feature which I think is specific to gforth) 04:27:25 With the "PubSubHubbub" challenge, you probably cannot get any shorter than the obvious literal way in most programming languages, but some might be able to do shorter. 04:30:29 -!- augur has quit (Remote host closed the connection). 04:43:11 -!- pikhq has quit (Ping timeout: 252 seconds). 04:43:16 -!- pikhq has joined. 04:45:02 Do you know any Windows binaries of the C binding of LLVM? 04:45:16 :t readLn 04:45:17 forall a. (Read a) => IO a 04:46:07 Currently, I'm page 10 on Google's results for "gregor" 04:46:20 Some Mendel jerk is clogging up the works, but there are a few others too. 04:46:44 And this Samsa creature. 04:46:58 Gregor: well that must be a bug 04:47:27 *ba-dum* 04:47:37 why thank you 04:48:55 Argh, and of course some AOP guy beats me out if I look for gregor computer science 04:49:26 Heyoooo, #1 for gregor javascript though 04:54:12 The worst thing to be first for 04:54:22 Like coming first in a Terrible Person competition 04:56:23 -!- augur has joined. 04:57:33 -!- CakeProphet has joined. 04:57:34 -!- CakeProphet has quit (Changing host). 04:57:34 -!- CakeProphet has joined. 05:05:03 elliott: Thought you might like to know that I've got my stuff up on Github. 05:05:07 elliott: https://github.com/pikhq/town 05:07:03 -!- piz2 has quit (Ping timeout: 250 seconds). 05:07:24 Ohhh, so this is to tup sort of as autotools are to make 05:07:34 Yes. 05:07:51 What did you think I was doing? 05:08:01 Full stack 05:08:20 If I was doing a full stack, I'd have a reimplementation of tup going. :P 05:10:41 Something that I suspect is going to help me extensively when I get around to it is that my autoconf-alike and automake-alike are the *precise same thing*, thereby eliminating all need for a libtool-alike. 05:11:46 (as I think the *only* justification for libtool now is that Automake is too stupid to allow for outputting different rules based on what Autoconf gets.) 05:12:49 ... automake can output different rules based on autoconf. 05:13:15 Uh, no it can't. Automake runs before ./configure and potentially on a different system. 05:13:51 Automake generates a Makefile.in, not a Makefile, the rules that actually make it into the Makefile can be controlled by configuration. 05:13:57 It can conditionally *execute* rules, but that's not the same thing, now is it? 05:14:26 There are no "rules that actually make it into the Makefile"; ./configure just plugs in values for variables. 05:14:48 Dude, AM_CONDITIONAL. 05:16:03 That has got to have some *scary* implementation logic. 05:16:26 Okay, what's *really* going to help me is that my stack isn't in M4M4SHM4MakePerl. 05:16:52 And add another "SH" in there if you're using libtool. 05:17:14 How it works btw is that it prefixes every line with either @_TRUE@ or @_FALSE@, and I'll bet you can guess what those get set to :) 05:17:30 *Wow*. 05:17:40 That is brilliant. Utterly insane, but brilliant. 05:19:26 Another victory for not-M4Make. 05:19:27 :P 05:19:55 :P 05:20:18 I wonder if people would complain if I started writing all my C using M4 macros. 05:26:18 Almost certainly. 05:26:43 Not that that should stop you; the Bourne shell is written using CPP macros extensively, after all. 05:26:54 (to make it look like FORTRAN, IIRC) 05:28:55 Gregor: I don't particularly thing M4 is good for writing C programs but there is different opinions. It should be possible to invent programming language which M4 works very well as a preprocessor. 05:30:55 zzo38: M4 was designed to be a better C preprocessor. 05:31:42 Though it's pretty generic. 05:32:18 I however don't think it is particularly good for preprocessing C codes, in my opinion. 05:32:31 Oh, sorry, it was meant as a FORTRAN preprocessor. Never mind. 05:33:06 Maybe it is better for that; I don't know much about FORTRAN. 05:56:03 -!- Sgeo_ has changed nick to Sgeo. 06:04:42 -!- hagb4rd has quit (Ping timeout: 250 seconds). 06:09:25 How do I download the LLVM binaries (and header files) for using library with C? I read some things about it and have some idea to make something with it. 06:17:24 pikhq: back 06:17:41 zzo38: llvm has no binary builds, just compile it yourself 06:17:54 pikhq: mind if I offer critiques :D 06:18:01 elliott: Not at all. 06:18:13 pikhq: ok well first disclaimer i havent actually really read your code much at all 06:18:29 pikhq: in "c needs c99", the winning solver of c99 should take over the c command completely 06:18:40 why? because some compilers might use --link-with rather than -l, etc. 06:18:48 they need to know everything the program wants from the C compiler 06:18:52 and react in a way appropriate to them 06:18:59 now, this actually applies to all types of tools 06:19:11 and the c you "needs c99" on has nothing to do with the c99 that wins! 06:19:16 so I feel like it should actually read "needs c : c99" 06:19:25 i.e., I need the command c in my local namespace, that's a c99 06:19:32 elliott: Holy crap you're proposing it be more generic than Autotools. That's frightening. 06:19:43 and c99 would be aliased to {c c99} (because many solvers will want to find a C compiler, /then/ see if it supports that standard) 06:19:49 pikhq: perhaps so :) 06:19:55 elliott: But I would need to install all sorts of stuff to make it work and compile properly it seems, I want to download the binary 06:19:58 pikhq: but I think this model would actually allow it to work, unchanged, for Windows 06:20:01 zzo38: there is no binary 06:20:12 elliott: True, there is that. 06:20:25 pikhq: of course, most C compilers will just defer to the default functions to do things 06:20:30 The download page does list the binaries. But it doesn't seem to be the one I am looking for. 06:20:54 pikhq: the library-finder would return {link-with foo} rather than -lfoo, but it'd still have {cflags-ldflags foo bar} from pkg-config, there's no way to avoid that 06:20:59 and the compiler would just translate it accordingly 06:21:07 Is "LLVM Binaries for Mingw32/x86" the right one? 06:21:07 pikhq: the good thing is, I think this actually simplifies things 06:21:12 zzo38: oh, yes, it would be 06:21:20 pikhq: because right now the "c" command is kind of... weird and a pain 06:21:55 Do those binaries support the API though? 06:22:04 zzo38: download and see :) 06:22:05 pikhq: btw, does this generate the same Tupfile for a project no matter what machine you run it on? 06:22:07 OK 06:22:16 pikhq: because if so, I think that should be a separate step, like "town init" 06:22:25 and then town for the users will only generate the config file 06:22:28 No. It generates a Tupfile only on configuration. 06:22:30 which seems... cleaner to me 06:22:31 pikhq: I know 06:22:32 pikhq: but I mean 06:22:36 is the Tupfile always the same? 06:22:38 No. 06:22:40 I mean, it should be, since it should use @CC@ 06:22:43 and the like 06:22:44 pikhq: Why not? 06:22:54 If you don't use the tools correctly you will invent another autohell :) 06:22:55 Because, uh, I didn't make it do that. 06:23:10 Go make it do that X-D ...or I will 06:23:15 If I can figure out Practical Tcl Coding. 06:23:42 In addition to C99, you might also need to have one for C89, GNU89, GNU99, and the newer draft standards. 06:23:48 My Tcl is probably a bit hard to jump into; I tend to be a bit metaprogramming-crazy about it. 06:23:55 zzo38: Definitely do, it's just unimplemented. 06:24:05 zzo38: yeah, thankfully that can go in a separate library 06:24:29 (I imagine you'd also have libraries for things like "c needs qt" where listing all the libraries and cflags is a huge pain.) 06:24:55 elliott: Actually, Qt 4 does pkg-config, so it's not that big of a pain. 06:25:04 OK, but there's still horrible things :P 06:25:29 c++ needs libs QtGui 06:25:43 Bam, it pulls in Qt. 06:26:03 So yeah, what I am saying is: the "foo needs thing-that-actually-specifies-what-foo-is" thing is silly and I was silly for thinking of it. 06:26:41 pikhq: Have you got any up-to-date example files? 06:26:44 IIRC you did one for dc. 06:27:07 That dc one is what I've been using to test. 06:27:11 Got a link? 06:27:50 program dc {c needs c99;c needs libs gc;in-directory src/;c sources dc.c error.c main.c stack.c} 06:28:32 And such things as, SDL, X window system, POSIX, audio, libpng, zlib, cross-compiling to different targets, maybe even one for literate programming, etc. 06:28:52 pikhq: 06:28:53 program dc { 06:28:53 needs c99 06:28:53 in-directory src 06:28:53 c99 needs libs gc 06:28:54 c99 sources dc.c error.c main.c stack.c 06:28:56 } 06:29:07 ("needs c : c99" is stupid, it should just define it with the given name of the thing.) 06:29:21 pikhq: Ohbtw, does your gcc c99 finder still print out "Searching for c99" itself? 06:29:43 elliott: No, that's in the solve function ATM. 06:29:44 Because requirements (what I call things that have solvers for them) should instead just have a "friendly name" associated with them. (in this case, "a C99 compiler") 06:30:00 So in this case, c99 would be defined as an alias for {c c99}, which would have friendly name "a C99 compiler". 06:30:34 *Unfortunately*, it's also currently outputting that for cached results. 06:31:03 Can it cache to a file? It should be able to cache to a file. Specifically a file in ~/.cache. 06:31:12 Why? Because it could find a C99 compiler ONCE and never do it ever again for another project. 06:31:13 -!- azaq231 has quit (Quit: Leaving.). 06:31:21 This is what we in the biz call FINALLY CONFIGURE TAKES 0 SECONDS. 06:31:44 And then, maybe delete ~/.cache in case you need to change something, is it? 06:32:03 I'd have a "town flush" command to wipe it out or something. 06:33:04 elliott: Uh, the appropriate values for that can change rather *often* based on environment. 06:33:09 Like maybe a file in directory ~/.cache/towncache/* and then you can just delete it using "rm" command 06:33:23 And change the permissions in case you want to tell it not to use the cache. 06:33:24 Which is the reason that Autoconf never has enabled caching by default. 06:33:26 pikhq: How often will the appropriate C99 compiler change? 06:33:34 pikhq: How often will the appropriate commands to link to Qt change? 06:33:50 elliott: any idea why the pl plugin of lambdabot would spam a bunch of assembler messages when I try to cabal install lambdabot? 06:34:00 elliott: I do it fairly often — I tend to test things with multiple compilers. 06:34:26 CakeProphet: Show paste. 06:34:28 pikhq: Yeah, but that won't affect the AUTOMATIC finding. 06:34:41 pikhq: If you want to do that, you have to override it anyway, say with the CC variable, which should invoke special behaviour anyway. 06:34:50 I looked, in fact the LLVM binary file I downloaded seems to be the correct one, it has "include/llvm-c" and "lib/*.a" 06:35:09 elliott: not my paste, but it's the exact same problem: http://hpaste.org/46397/lambdabot_install_failure 06:35:17 Also, you seriously overestimate how long this will actually take to execute. 06:35:29 pikhq: I'm not, but caching is a good idea /anyway/. 06:35:51 pikhq: Be like tup, consider insane scaling; what if the entirety of Chromium was one big Town project? 06:36:05 CakeProphet: Ask #haskell? 06:36:18 hmmm, okay. it's pretty odd. 06:36:24 Yeah, it is. 06:38:13 Rather, I think you seriously misjudge how much time in ./configure comes from its tests and how much come from how it's often *too much shell to fit in cache*. 06:38:38 pikhq: I realise it will be practically instant, I'm just saying that if you can cache, you should, especially because it _will_ help in certain cases. 06:40:31 That would probably be a pain without doing a truly naive form of caching. 06:40:56 pikhq: Howso? 06:41:26 Namely, serialising all of the cached solvers to file, thereby replacing the entire cache, and hence needing a lock on the cache. 06:41:53 pikhq: Personally, I see the inability to cache as a design flaw... 06:41:57 But anyway, my other points are more important. 06:43:09 Also, caching can produce *wrong* builds. Consider the (retarded) case of LLVM (at least on Debian), where when the library gets upgraded, the actual *name of the .so* changes. 06:43:27 Making it so that the cached output of llvm-config is wrong. 06:43:39 Yeah yeah yeah, my other points are more important :P 06:49:04 I should also try and think of a better way of handling "Which group should I change the flags of ATM" for the solvers... 06:49:51 At the moment, each solver just looks at the namespace its caller is in. 06:50:09 pikhq: Eh? 06:50:12 Which, though functioning with how I've got it set up right now, is not very clean at all. 06:50:15 My method fixes all that. 06:50:24 A solver doesn't just set something; it literally returns a function. 06:51:12 Oh, duh, returning a function would help with that. 06:51:49 pikhq: Technically, it could return an integer; all "needs foo" has to do is do the solving magic for foo, and then bind foo to whatever the successful solver results in in the caller's environment. 06:52:18 elliott: I'm using the same solver scheme for libraries, though. 06:52:54 pikhq: And? 06:52:59 pikhq: The compiler handles libraries. 06:53:11 It can call out to a common library-finder that uses the solver routines if it so desires. 06:53:16 pikhq: In fact, this actually helps: 06:53:39 pikhq: A library solver that uses the technique "just link with an .so" would return the object (not function or set flags or anything) {link-with libname}. 06:53:48 Whereas a pkgconfig one may return {cflags-and-ldflags ... ...}. 06:54:03 The library-finder would then pass this back to the C compiler using it, which would translate it into settings of variables in its local namespace. 06:54:06 See? Simple and elegant. 06:54:35 That is absolutely elegant. 06:55:07 Lesson to be learned: MAKING THINGS FUNCTIONAL MAKES THEM BETTER ALWAYS 06:55:10 AAAAALWAYS 06:55:20 EVEN WHEN THE TASK IS "BE NON-FUNCTIONAL" 06:56:04 I don't think so. 06:56:37 o rly 06:56:53 Maybe. 06:57:56 Maybe not. 06:58:12 But I think I am sure. 06:59:23 pikhq: we can all learn from zzo38's wisdo 06:59:24 m 07:03:09 what are we talking about? 07:04:31 do you own that nick 07:04:37 i might have to steal it 07:05:21 I own it. 07:05:29 and have for years. 07:05:53 -!- monqy has quit (Quit: hello). 07:06:06 -!- PatashuPikachuRe has joined. 07:06:52 every time I sign on to freenode some punk has it and then has to be humiliated while I ghost and idenfity my nick back. 07:07:43 F: there's an option to make NickServ throw them off automatically, i think 07:08:11 oh? I'll have to check it out. 07:08:24 does anyone here know Go or Perl6? 07:08:32 -!- Patashu has quit (Ping timeout: 252 seconds). 07:09:32 i know some go, some perl6. 07:09:41 I thought all one-letter names were reserved for staffers. 07:14:21 That option exists, yeah, that's why I'm always guestified when I get d/c'd and autorejoin :P 07:19:17 Information from NS INFO doesn't match. 07:19:47 oh noes F is an evil liar 07:20:26 eek 07:21:41 * oerjan finds NS INFO inconclusive on that matter 07:21:50 o_o 07:21:52 r u sr 07:21:52 s 07:22:27 i mean it doesn't give evidence any way, since the nick isn't currently identified 07:22:39 are you actually doubting e 07:22:39 em 07:22:58 not really 07:25:40 I'll bet if I updated my reverse DNS hostname to libdl.so, people would think there was something broken in Freenode's software ... 07:26:09 no people would just point 07:26:10 and laugh 07:26:14 haha this noob doesnt have libc.so 07:26:15 what is he, poor 07:26:20 or, well 07:26:20 we would 07:26:31 :( 07:26:51 ur just not bourgeois enough for us Gregor 07:27:08 Gregor: I think your reverse DNS makes sense the way it is now, it doesn't need to be adjusted. 07:27:33 zzo38 is always the best place for technically correct, but useless statements 07:27:34 thank you, zzo38 07:28:14 -!- oerjan has quit (Quit: Later). 07:29:31 "Do we really need this with LLVM and GCC? 07:29:31 I mean ... if it compiles 2% faster ony MY machine, would I really NEED it? 07:29:31 I want scripting languages to become super fast! 07:29:31 I don't care about C++ ..." 07:36:44 lolsy 07:42:59 I failed at C++ Sudoku for the first time today :( 07:43:22 it is not possible to create a boolean type such that "if (True)" works but "if (True && 9)" doesn't 07:43:23 afaict 07:43:33 With this despicable failure I am leaving you all to die 07:43:52 Good thing if() doesn't take a boolean. 07:44:17 It takes a void*. 07:44:19 >:D 07:47:34 CakeProphet is always the best place for not technically correct, but useful statements. 07:48:13 -!- elliott has quit (Ping timeout: 260 seconds). 07:48:16 pikhq is the best place for statements. 07:49:18 My incorrectness is the lifeblood of this channel. It fuels causality through its paradoxes. 07:50:23 Flimble Nordic satisfaction greenly! 07:51:13 what is C++ sudoku 07:51:21 ah, greenly is the mutt of the world set. 07:51:50 PatashuPikachuRe: No idea. 07:51:54 oops 07:51:55 -!- PatashuPikachuRe has changed nick to Patashu. 07:51:57 I just know C++ far better than I should. 07:52:27 indeed. 07:52:40 you should have spent more time on COBOL. 07:53:31 XD 07:54:27 I should learn COBOL for golfing... 07:54:48 Oh jesus. 07:55:27 Only thing more verbose is good ol' ORK. 07:56:38 or java 07:57:17 no COBOL is more verbose. 07:57:25 but Java is high up in the verbosity index. 07:57:29 Or: "There is a mathematician called ORK. ORK's first operand is COBOL. ORK's second operand is 1. ORK is to add." 08:12:26 -!- zzo38 has quit (Quit: There is a ORK called ORK. Inside of the ORK there is a mathematician called ORK. Inside of the mathematician called ORK inside of the ORK there is not.). 08:17:01 -!- myndzi\ has quit (Ping timeout: 260 seconds). 08:21:08 -!- cheater_ has joined. 08:21:09 http://dis.4chan.org/read/prog/1295544154 08:21:20 More like :: Int32 -> IORef -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> 08:21:20 Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a - 08:21:20 > Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> Maybe a -> IO () 08:21:21 : parse error on input `->' 08:21:40 i laughed at that so hard 08:27:15 so how does lambdabot do the :t stuff 08:27:22 mueval seems to lack that. 08:28:53 cheater_: I like how these guys don't know what they're talking about. 08:28:59 and that makes me laugh. 08:29:03 it's amazing 08:31:22 -!- Vorpal has joined. 08:31:42 -!- MigoMipo has joined. 08:33:38 map {sleep $_; print "$_\n"} @ARGV; 08:33:41 Perl wins again. 08:34:54 except it's not parallel, but who cares. :P that's not important. 08:34:59 it has nothing to do with the algorithm at all. 08:35:03 not at all. 08:37:32 eh 08:37:41 doesn't that just sleep then print? 08:38:05 for each argument in ARGV? 08:38:13 ...yes, 08:38:15 .. 08:38:25 it needs to fork too 08:38:27 CakeProphet, why 08:38:27 dummy 08:38:29 ^^^ see insincerity above 08:38:35 riiight 08:38:36 it was copypasted from the thread. 08:38:45 what thread? I just joined! 08:38:51 GET IN THE LOOP 08:38:54 haha 08:38:55 OR, IN THIS CASE, THE THREAD. 08:38:59 OR SOMETHING 08:39:02 HAHAHA SEWING JOKES. 08:39:05 http://dis.4chan.org/read/prog/1295544154 08:39:07 oh that? 08:39:11 yes 08:39:25 4chan? programming? How horrible 08:40:02 like any anonymous board, you get all kinds of people. Some people are clueless, some people kind of no what they're talking about 08:40:05 and then the rest are trolls. 08:40:24 CakeProphet, in this case it seems to follow the spirit of this channel and of bogosort however 08:40:57 well to being with at least 08:42:12 http://dis.4chan.org/read/prog/1295544154/138 08:42:17 I think this is an actual Perl implementation. 08:42:23 looks convincing anyways. 08:44:42 Actually, I'm pain-free most of the time. 08:48:24 nice blog, bro 08:49:02 so yeah any idea how lambdabot does :t? 08:49:21 does it just have a Haskell interpreter built into it? Because I'd really like to have a command line utility for that. 08:49:32 er, typechecker, in this case, not interpreter. 08:50:38 ghci is a command line 08:51:27 hmm.. 08:51:33 -!- evincar has joined. 08:51:37 ah, I guess I could use a pipe then. 08:51:41 you can't do ghci ":t foo" I think 08:51:44 yes. 08:51:47 CakeProphet, surely there must be a better way 08:52:02 well, I'm writing a bot and want to give it :t and mueval support. 08:52:12 check lambdabot source? 08:52:16 echo ":t id" | ghci 08:52:29 cheater_, I doubt that is what lambdabot does though 08:52:36 it works. 08:52:51 hmmm, I guess there's no harm in evoking ghci each time. 08:53:08 it's fairly fast on my cluster 08:53:17 don't have ghci locally though 08:53:25 but it does give a lot of non-related output 08:53:27 hmmm, I guess there's no harm in evoking ghci each time. <-- for me it takes a second or so to load. 08:53:29 but like, sometimes the lag is more than ghci starting up and dying 08:53:34 yeah, lrn2grep 08:53:52 ...I can grep just fine, thanks. :P 08:54:16 damian@dresscoded:~$ echo ":t id" | ghci | grep "^Prelude> " | grep -v "Leaving GHCi." 08:54:30 easy 08:54:42 woah what's this grep magic you speak of. @_@ 08:54:47 CakeProphet, I think this is the module in question: http://code.haskell.org/lambdabot/Plugin/Type.hs 08:54:47 are you a wizard? 08:54:53 i am more than a wizard 08:54:59 i am the Red Wizard of the East 08:55:27 it what 08:55:57 it invokes ghci, though the comments says hugs... 08:56:04 echo ":t id" | ghci -v0 08:56:04 id :: a -> a 08:56:05 In some number of hours which is difficult to count due to loltimezones, I will be in Paris. 08:56:09 stripComments ('\n':_) = [] -- drop any newwline and rest. *security* 08:56:12 I r t3h l33t h4x 08:56:12 ahahah 08:56:30 CakeProphet, omg 08:56:33 are YOU a wizard? 08:56:41 no, I just read man a lot. 08:56:49 Gregor, cool 08:57:02 Gregor, why are you going there? 08:57:12 Chattin' up INRIA 08:57:21 Gregor, visit the polytechnique 08:57:35 Gregor, ah, what for? 08:57:37 job? 08:57:51 Vorpal: Naw, I'm only there two weeks, just chattin' em up. 08:57:57 Gregor, huh 08:57:58 -!- evincar has quit (Quit: ChatZilla 0.9.87 [Firefox 3.6.17/20110422054610]). 08:58:00 Getting a summer internship abroad = visa hell 08:58:34 I WIN 08:58:38 ghc -e ":t id" 08:58:43 cheater_: Is that somewhere you ... visit? :P 08:58:47 And not, y'know, study 08:58:47 Gregor, ah only for people in US I guess. I could do it since I already live in EU :D 08:58:55 CakeProphet is OWNED 08:58:59 SO BAD. 08:59:17 Gregor, nah.. never been to paris myself ^^ but it's definitely a great place to visit 08:59:26 given that so much has happened for mathematics there 09:00:07 Gregor, where do you live normally? i forgot 09:00:12 Vorpal: I don't think the term "abroad" gets to be applied within EU countries anymore. 09:00:19 cheater_: I don't remember anymore :P 09:00:30 Gregor, zzz :P 09:00:35 cheater_: is that faster? 09:00:37 Gregor, hm 09:00:38 is it germany or something? 09:00:48 lol, not even close. 09:00:49 CakeProphet, at over 9000x faster 09:00:57 Gregor, ex-ussr? 09:01:06 wtf, you're only getting farther X-D 09:01:15 scandinavia? 09:01:23 Gregor, Antarctica! 09:01:26 I'm an American ya derpaderp 09:01:33 I live in Indiana :P 09:01:49 ok the world does not have a good bsp ok?? 09:01:51 Gregor, sure you don't live in Antarctica? 09:01:57 Vorpal: Not entirely! 09:02:00 ah 09:02:06 Vorpal, i heard Gregor lives in Antarctica 09:03:36 stripComments ('\n':_) = [] -- drop any newwline and rest. *security* 09:03:39 lol 09:23:58 !perl @test=(1,2,3); print "@test" 09:24:00 1 2 3 09:55:24 -!- blancnoir has joined. 09:56:35 This is either the worst pair of earphones I've ever worn, or merely the most finnicky. 09:56:38 I suspect the former. 09:57:47 -!- Lymia has quit (Ping timeout: 244 seconds). 10:00:57 -!- MigoMipo has quit (Read error: Connection reset by peer). 10:08:14 -!- pikhq_ has joined. 10:08:25 -!- pikhq has quit (Ping timeout: 260 seconds). 10:11:37 -!- Lymia has joined. 10:12:12 -!- MigoMipo has joined. 10:58:56 -!- ais523 has joined. 11:00:30 mueval is so much less awesome than lambdabot. 11:16:45 CakeProphet, what is mueval= 11:16:50 s/=/?/ 11:19:34 it's a standalone version of what lambdabot uses to evaluate Haskell code, but it's nowhere near as awesome. 11:19:51 because it doesn't have as many modules that it allows. 11:22:43 - Hardware accelerated 3D CSS 11:22:47 err, wow 11:22:53 -!- ralc has joined. 11:23:01 ais523, heh 11:28:05 -!- pikhq has joined. 11:28:09 -!- pikhq_ has quit (Ping timeout: 252 seconds). 11:35:02 return join ('\n', grep {defined} (split /\n/, shift)[(0..shift)-1]) 11:35:07 the pinnacle of readability 11:38:21 that is pretty readable 11:38:36 I wrote some Perl code that parsed VHDL using regexes last night, that was really unreadable 11:38:55 (it's designed to parse only the output of a specific program, rather than VHDL in general, so regexing it isn't /too/ bad, and I was in a hurry) 11:39:14 wait, which order are those shifts evaluated in? 11:39:23 wait 11:39:24 I don't think I've ever written shift twice in the same expression when it mattered 11:39:25 3D CSS? 11:39:31 Patashu: I'm just quoting the changelog 11:39:34 I have no more context than you do 11:40:10 but I quoted it because it seemed absurd 11:40:23 what they might mean is that they're using the GPU in order to do CSS layout, which is plausible 11:40:27 and the 3D got in there by mistake 11:43:17 or perhaps CSS really does do 3D nowadays 11:43:24 ais523: interestingly enough, the index is evaluated first. 11:43:45 er 11:43:53 and the current code is 0..(shift) 11:43:57 CakeProphet: that's not massively surprising given the way split is optimised 11:43:58 -1 11:44:28 if you try to take the fifth element of a split, for instance, it stops splitting at five results 11:44:43 yeah it makes sense to evaluate the indices first. 11:44:54 for built-in keyword optimization. 11:45:36 so what that function does, is returns up to the first n lines of a given string? 11:45:41 yep 11:45:50 yep, that's relatively readable, apart from the argument order thing 11:46:10 I also changed it to grep {$_} 11:46:28 to get rid of empty lines... and... lines with only 0, because that's how Perl rolls. :P 11:46:35 so now it returns up to the first n lines of a given string, except empty lines and lines containing just a zero 11:46:38 ah, you beat me 11:46:52 you could use grep{/./} if you just wanted to get rid of empty lines 11:47:07 in fact, I don't even think you need the braces if you have a regex as argument 11:47:11 nope 11:47:11 although arguably they're good style 11:47:33 I would say they are arguably irrelevant to good style in Perl. :D 11:47:54 they aren't, I've been in some pretty heavily style-guidelined Perl projects 11:48:32 though I'd keep the braces if I change, simply because I don't want to add a comma and possibly parens if it becomes ambiguous at that point. 11:49:35 it would be interesting if join could take a regex argument... 11:49:41 er wait 11:49:43 that makes no sense. :P 11:50:02 it's getting early here. almost 8 am 11:50:11 -!- FireFly has joined. 11:50:57 it'd be great if you could do join /\1\2/, split /-(.)-(.)-/ $string; 11:51:05 that's potentially meaningful, at least 11:51:16 although I'm not sure it's useful, and would also change the semantics of enclosing groups in a split 11:51:36 I think you'd have to use $1 and $2 instead of \ 11:51:47 well.. 11:51:48 no 11:51:55 it would just have to be some weird special case. 11:52:10 you're right, it should be $1 and $2 per Perl conventions for replacements 11:52:27 but obviously it's a ridiculous weird special case 11:52:46 you can do that on the last match possibly. 11:52:52 nowadays, I mostly use NEU or ARC when playing online 11:52:55 if split regexes capture 11:52:56 umm, sorry, wrong channel 11:53:43 ais523, http://dis.4chan.org/read/prog/1295544154 xD 11:53:58 -!- pikhq_ has joined. 11:53:58 cheater_: I'm not following links to 4chan no matter how relevant they are 11:54:04 ok 11:54:11 -!- pikhq has quit (Ping timeout: 252 seconds). 11:54:22 someone came up with sorting this way: take each number on the list and launch a thread that sleeps for this many seconds. 11:54:34 then it prints the number. 11:54:46 hmm 11:54:55 that seems like a variant on one of the established techniques 11:54:58 radix sort, probably 11:55:02 ya 11:55:14 that WAS actually mentioned there 11:55:17 it's almost subject to all kinds of scheduling problems. :P 11:55:23 which is also mentioned. 11:55:31 yeah it was all mentioned 11:55:35 among other things, 4chan links go invalid really quickly 11:55:36 if the numbers are near one another. 11:55:38 there was even an ascii art of a flaccid penis 11:55:45 ais523, this one's on the bbs, it's archived 11:55:50 ah, OK 12:03:38 < ksf> the actual ingenuity of sleepsort is realising that a complexity theorist's mind will asplode while trying to decide whether sleep(n) is O(1) or O(n). 12:03:41 ...in #haskell 12:03:50 I couldn't find anyone else talking about sleepsort, but there it was randomly. 12:04:00 CakeProphet: O(n), obviously 12:04:07 it's pretty much literally O(n) 12:04:46 well yes... 12:04:58 I was noting the strange coincidence. 12:05:13 of subject matter. 12:06:02 ah, the link's been posted to proggit 12:06:07 and lots of people read that 12:06:13 so it's probably going to spread through IRC based on that 12:07:00 well if you divide the numbers first before you sort you can cut down on the computation time 12:07:18 at the same time you're increasing the likelihood of a scheduling misshap 12:17:38 Google is trying very hard to find all the most annoying ways to give you free wifi. 12:18:48 CakeProphet: reddit points out that it's O(n log n), because the sorting is done by the scheduler 12:25:28 ah. 12:25:38 @let e = exp 1 12:25:39 Defined. 12:39:51 -!- ais523 has quit (Remote host closed the connection). 13:04:04 Google is trying very hard to find all the most annoying ways to give you free wifi. <-- how so? 13:04:53 > e 13:04:54 Ambiguous occurrence `e' 13:04:54 It could refer to either `L.e', defined at LOL 13:05:00 > L.e 13:05:01 2.718281828459045 13:05:11 > pi 13:05:12 3.141592653589793 13:05:21 > lambertw 1 13:05:22 Not in scope: `lambertw' 13:05:29 where's my lambert w function :( 13:20:32 -!- Big_ has joined. 13:20:52 :t e 13:20:53 Ambiguous occurrence `e' 13:20:53 It could refer to either `L.e', defined at :17:0 13:20:54 or `SimpleReflect.e', imported from SimpleReflect at State/L.hs:74:0-32 13:20:56 ah 13:22:30 -!- dell has joined. 13:22:40 i am developing 13:22:47 a python to brainfuck converter 13:22:47 why on earth does mueval give me "Exception: not a number" when I try to eval ['a'..'z'] 13:22:57 dell: ......good luck with that. 13:23:22 what do you think....i will continue only if someone already hasn't done it 13:23:37 I don't know of any such thing. 13:23:44 dell, good luck. 13:23:53 Python is the last language you want to try that with. 13:23:54 Trust me. 13:24:14 ok..then i will continue...its gonna be hell of a thing but it will be open source and written in python 13:24:22 CakeProphet, that is trivial. There is a C->JavaScript compiler, so just write a JS->BF compiler then embed cpython compiled to js + your python script in that 13:24:23 i will post about it more here 13:24:26 def func(i): 13:24:29 ;) 13:24:29 return i*2 13:24:33 map(i,range(50)) 13:24:41 I'll applaud you if you manage to compile something as simple as that. 13:24:42 :) 13:24:58 it will not support all the python features...the first version will be pretty simple 13:25:05 Vorpal: ah, so simple. 13:25:06 Lymia, what about using cython + LLVM + custom LLVM->BF backend 13:25:12 s//func/ 13:25:16 s/i/func/* 13:25:31 or wait 13:25:32 lol I was like "...you want me to put an infinite number of funcs between each character?" 13:25:34 Vorpal, that's downright insane. 13:25:34 :) 13:25:48 Lymia, ais's half-complete bf gcc backend 13:25:51 complete that 13:25:55 and use that with cython 13:26:10 Lymia, even easier 13:26:13 Vorpal, I know it's possible. 13:26:23 But it's going to be hard unless done right. 13:26:31 This guy gives me a certain vibe. 13:26:37 hm 13:26:43 so i will create a repository on git and will let ya people know more about it 13:26:59 Lymia, yeah I see what you mean... "on git" 13:27:08 (oh github?) 13:27:12 on* 13:27:16 github 13:27:21 just a little lazy 13:29:27 Lymia, anyway, llvm->bf would be interesting 13:30:11 Vorpal, sounds like it might be a little hard, but doable. 13:30:17 Do we have any higher level languages compiling to BF? 13:30:41 That would be a large part of the problem already solved. 13:31:09 a few, there is BASIC->BF iirc, that was used for lostking.b, but I never seen the actual compiler in question 13:31:13 it did a bad job too 13:31:22 quite a bit of dead code in there 13:32:09 Vorpal, how can you compile goto? 13:32:13 Lymia, and the gcc backend kind of works for trivial examples, but produced so huge results it is not practically usable without a special cased interpreter 13:32:22 Line counter? 13:32:24 Lymia, a while loop with switches inside? 13:32:36 Vorpal, sounds possible. 13:32:45 Lymia, and I don't know the details of the basic->bf one 13:32:54 as I said, I never seen it 13:33:01 Vorpal, hmm.. 13:33:03 Actually. 13:33:18 Brainfuck by default uses 0-255 range, right? 13:33:33 that is the most common way 13:33:44 -!- dell has quit (Quit: Leaving). 13:34:04 I'm thinking there could be a basic intermediate language which (unsafely) compiles to Brainfuck code. 13:34:30 iirc gcc-bf used a bf assembler thingy 13:34:40 A simple extension that has more than one tape, switchable with some command, and turns 8-bit brainfuck to 32-bit brainfuck. 13:34:49 with opcodes like "mul8 offsetA,offsetB 13:34:50 " 13:34:53 or such 13:35:01 Vorpal, sounds "fun" 13:35:47 Lymia, iirc it used a pattern on the data like 5 cells: marker,memory,memory,memory,scratch,scratch 13:35:53 or something like that 13:38:28 -!- yorick has quit (Quit: leaving). 13:38:51 -!- yorick has joined. 13:39:36 Hmm... 13:39:52 How could you design an esolang API that supports as many different esolangs as possible. 13:40:16 bbl 13:40:19 (guests) 13:43:04 -!- pikhq_ has quit (Ping timeout: 246 seconds). 13:43:14 -!- pikhq has joined. 13:43:28 -!- yorick has quit (Client Quit). 13:43:46 -!- yorick has joined. 13:45:58 -!- Big_ has left. 13:46:34 ^ That guy tried to randomly flirt with me 13:46:48 May I suggest making sure he doesn't come back? 13:56:53 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:08:35 oh he messaged me randomly too 14:14:20 Guess that's why +g exists 14:15:06 which one is that again? 14:16:09 -!- myndzi has joined. 14:16:28 but then i once tried messaging you and you freaked out. And I had no intention of flirting. So I can't help but give him the benefit of a doubt 14:21:44 It's quite unambiguous when they open the message with "Hey baby" 14:23:14 an inauspicious start, i must agree 14:24:14 Plus, 99% of the people I don't know messaging me, yeah. 14:24:24 -!- copumpkin has joined. 14:30:27 -!- pumpkin has joined. 14:30:57 -!- copumpkin has quit (Ping timeout: 252 seconds). 14:38:01 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:52:24 i gather you are female. i was not aware of this. must be nice to not be a douchebag. 14:56:25 -!- sebbu2 has joined. 14:56:26 -!- sebbu2 has quit (Changing host). 14:56:26 -!- sebbu2 has joined. 14:59:29 -!- sebbu has quit (Ping timeout: 260 seconds). 14:59:30 -!- sebbu2 has changed nick to sebbu. 14:59:42 quintopia, what is that supposed to mean? 15:06:29 -!- sebbu has quit (Ping timeout: 276 seconds). 15:25:06 -!- sebbu has joined. 15:25:06 -!- sebbu has quit (Changing host). 15:25:06 -!- sebbu has joined. 15:27:01 -!- DocHerrings has joined. 15:28:21 Almost have a working interpreter for eodermdrom, in case anyone cares. 15:28:46 *Eodermdrome 15:31:41 -!- augur has quit (Remote host closed the connection). 15:36:09 -!- MigoMipo has quit (Read error: Connection reset by peer). 15:44:53 -!- pumpkin has changed nick to copumpkin. 15:50:46 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 15:59:05 -!- Lymia has changed nick to Cirno-chan. 16:02:19 -!- augur has joined. 16:04:22 -!- Cirno-chan has changed nick to Lymia. 16:23:24 -!- pikhq_ has joined. 16:23:54 -!- pikhq has quit (Ping timeout: 260 seconds). 16:39:47 -!- zaildar has joined. 16:39:53 -!- monqy has joined. 16:51:35 -!- zaildar has quit (Ping timeout: 250 seconds). 16:52:13 -!- augur has quit (Remote host closed the connection). 17:19:03 Lymia: it means that all guys are douchebags 17:19:34 quintopia, that's not true at all. 17:19:34 :c 17:19:54 Though it is quite true that society seems to expect, and to some degree enforce that....... 17:20:30 -!- augur has joined. 17:20:44 as a female in this society, you should behave as if it were true. guilty until proven innocent as it were. 17:24:19 It's more fun to assume the other way. 17:24:19 :) 17:27:20 how so 17:28:09 -!- dell has joined. 17:30:33 Life isn't fun if you go around assuming all X are Y. 17:36:23 but i do believe in this case that at least 75% of X are Y due to previously mentioned societal pressure, therefore the fun you are referring to can only be of the "omg, i didn't expect you to be a douchebag too, you asshole!" type. 17:36:33 quintopia, on that note, nobody "should" X because they're female, or male, or anything. 17:37:00 Please don't say things like that. It makes you look like an asshole yourself. 17:37:17 but i am. i am a guy, and all guys are douchebags 17:37:48 Disproof by example is fun, eh? 17:38:10 and i agree that a perfect society wouldn't have the need for any assumptions along gender, racial, or economical lines 17:38:11 I try not to be. Although I guess sometimes I have been. I don't try to be actively malicious though. 17:38:26 I don't believe most people are outright hateful or malicious. 17:39:11 you don't have to be malicious to be a douchebag 17:39:22 indeed, most douchebaggery is not malicious in origin 17:39:30 it's just unthinking socialization 17:39:52 That's not.. really the kind of douchebaggery I've done, I think 17:39:55 quintopia, and that's something you can talk to people about and expect success at. 17:40:31 yes of course 17:40:50 which is why it's useful also for guys in this society to internalize "all guys are douchebags, even me" 17:41:04 it makes it a lot easier to recognize that tendency and pressure 17:41:22 quintopia, how about this. 17:42:45 Do we have to stereotype people? Like it or not, if you keep saying that, you're not helping the problem, right? 17:43:50 why all the serious discussion? it's not befitting of #esoteric 17:44:05 Is it better to consciously or subconsciously apply a stereotype? The media, whether you like it or not, encourages the latter. The only way to fight it is to label it and bring it right out in the open. 17:44:23 sorry olsner. nothing else was going on... 17:44:55 quintopia, neither. 17:45:40 that's not an option at the moment. it's a goal for the future 17:46:00 It's best to not apply a stereotype to people or yourself at all. 17:46:05 -!- dell has quit (Ping timeout: 240 seconds). 17:47:37 actually, it's impossible to apply a negative stereotype to yourself and still remain sane. the cognitive dissonance is too strong. trying and failing to do so gives the insight one needs to see that stereotypes are never completely accurate when applied to individuals. 17:49:05 I've seen more than a few people use those stereotypes as excuses for their behavior. 17:51:42 You mean they completely let themselves off the hook? They have no desire to improve? 17:53:02 See: "Boys will be boys" and any variations on that. 17:54:08 i've only ever seen that used by someone forgiving someone else for something 17:55:11 What do we stand to gain from stereotyping others? 17:55:24 One'd think that you'd correct negative behavior in yourself by listening to others when they call you out on it. 17:56:21 that's an easy one 17:56:43 yeah, you would, wouldn't you 17:56:55 or maybe the world isn't a hugbox 17:57:20 and what you said is such an overt simplification of the human psyche that there's no way to begin describing how disconnected from reality it is 17:57:26 when the stereotype reflects a set of behaviors that actually do occur in the real world, a stereotype is a simple rule whereby one can protect oneself 17:57:30 just maybe. 17:58:26 cheater_, to whom exactly are you directing that? 17:58:32 you 17:58:56 If you want to be a better person, why don't you take it into consideration when somebody calls you out on something? 17:59:08 mu 17:59:45 What are you referring to then? 18:00:40 your reasoning and acting based upon your own simplification of reality whereby you unknowingly give yourself a kick in the ass. 18:01:02 that's kind of my point though. everyone knows that it's bad to be a douchebag. if someone calls you a douchebag, how can you just say "yeah, i am, aren't i? that's just who i am. deal with it." when everything you hear is "no one likes to hang around douchebags"? 18:01:51 i've got no problems saying that if the person calling me out has no moral ground to call me out. 18:02:20 cheater_, so far you havn't made any concrete arguments other than "you're wrong" 18:02:27 It'd be more interesting if you did that. 18:02:53 i haven't, have i? that's just the way it is. 18:03:28 :P 18:04:49 (or maybe i have, you just asserted otherwise for sake of argument) 18:05:29 cheater_: but would you, in saying that, actually believe it to be the truth? or would you just be saying it as a way to piss off someone you don't respect? 18:05:52 quintopia: i don't go out of my way to anger people. 18:06:07 that's not really answering the question 18:06:41 would you ever say "yes, i am a douchebag," accept that as truth, then do nothing about it? 18:06:42 i would normally not act upon an impulse to annoy someone because it is not there. 18:07:04 you can say that and accept it as someone's truth without accepting it as your own truth. 18:07:25 the world isn't a maths book, people have different opinions, you know? 18:07:34 exactly 18:08:12 if someone thinks i'm a douchebag because he e.g. thinks i should accomodate him in ways i am not morally required to and i don't, then he's free to have this opinion 18:08:29 Lymia: That's what's happening with your people excusing themselves with stereotypes. They aren't accepting the stereotypes as truth about themselves. 18:08:35 "hey, give me ten dollars" "no" "you're a douchebag" "i am, aren't i?" 18:09:58 the last sentence is not an attempt at annoying someone, it's just a dismissive required to cleanse your psyche of someone's judgement that you find unjust. 18:11:04 either way, you're not accepting and believing and internalizing that you are a douchebag 18:11:24 nope 18:11:35 if i went silent i probably would, though 18:11:47 otherwise, you'd apologize and seek to change your ways, so as not to be rejected by society 18:11:49 cheater_, "listen to" means to take another's objection into consideration. 18:11:50 that's the way our psychology works 18:12:03 yeah, i took his objection into consideration 18:12:10 and i considered it to be worth a pile of dog shit 18:12:35 most people don't have anything interesting to say, that's a fact of life 18:16:51 now that one i can't agree with it 18:17:23 i'd rather say people are societally inhibited from saying the truly interesting things 18:18:20 peoplke have stories and people know things they can't talk about 18:18:46 it takes a long time to gain the confidence to hear the interesting things 18:19:43 you are setting the bar very low 18:19:46 I think it could be said that it's an issue of perceived cause and effect. Is it because only really befriend people who have interesting things to say, or is it that they say those things because you've befriended them. 18:20:34 I personally think it's the latter-- I do believe it's usually considered creepy when people sprout off in detail about their life to a stranger. 18:21:42 -!- zzo38 has joined. 18:22:08 Lymia, so I'm creepy? 18:22:10 :( 18:22:57 have you ever listened to yourself talk about yourself 18:23:01 tylenol and friends 18:25:11 quintopia, on the issue of stereotypes, after some thought, I think that the problem isn't just that the stereotypes exist. It's that part of the stereotype is that people are that way naturally, and it's only going to hurt you to try to change, etc. 18:26:41 Do you think units 1/4736286.72 inch are enough accuracy for all printers and more? 18:27:31 zzo38, what's standard? 18:27:46 Lymia: Standard what? 18:27:57 DPI/accuracy/whatever. 18:28:08 Actually, on that note, is that per square inch? 18:28:25 I don't know. Some printers have 600 DPI, but some are more resolution than that. 18:28:44 I'm quite sure that resolution implies 22432411894048.3584 DPI, unless it's per square inch. 18:29:17 Lymia: That is not square inch. What I mean is 1/4736286.72 inch is the smallest unit that can be represented and used in calculations, even if no printer can do this resolution. 18:30:48 Then it's more than enough accuracy. 18:30:50 :) 18:32:19 It is the units used in TeX, which is an old program. FreeType does not support this much accuracy as far as I know! 18:33:10 that is a strange number 18:33:19 (And for TeXnicard, a new program, which uses the same units) 18:33:56 quintopia: The reason for that number is there is 72.27 points in one inch, and 65536 scaled points in one point (that is the accuracy of the fractional calculations), now it is less strange isn't it? 18:37:04 no 18:37:49 But this way it makes sense, At least to me it make sense 18:38:12 but why are there 72.27 points in one inch? 18:39:34 I'm thinking that he means that there are 72.27 points in a square inch. 18:39:41 That is how traditional typesetting was designed; there must be some reason having to do with some things that I do not know about, but were important in old typesetting 18:39:46 quintopia, it's likely a unit based on the meter or something. Dunno. 18:39:50 Lymia: No, nothing to do with square inches 18:40:13 zzo38, then that implies a resolution that cannot be stored in memory sanely. 18:41:56 Actually it works very well. Especially since no printers have a resolution that much! 18:42:59 Lymia: in other words, no printer is every asked to print a different random bit at every single point 18:43:52 (although 5223 bits per square inch isn't so impossible) 18:44:13 Well... 18:44:14 Hmm... 18:44:23 Yeah, if 72.27 points is how it's scaled, sure. 18:44:32 But why is there such a strange limit. 18:44:52 maybe you're just using the wrong inch 18:45:49 Wrong inch? 18:46:12 The limit is not seem strange to me. 18:49:18 -!- pikhq has joined. 18:49:54 -!- pikhq_ has quit (Ping timeout: 276 seconds). 19:11:20 -!- pikhq_ has joined. 19:14:21 -!- pikhq has quit (Ping timeout: 255 seconds). 19:31:44 Hmm 19:31:54 What can I do with a 5 or 6 year old laptop? 19:32:09 Someone on Facebook wants to get rid of hers, meaning I could have it for free 19:32:16 (It doesn't have a hard drive) 19:32:53 Install a hard drive and install DOS 19:33:06 (Or learn to invent your own operating system) 19:53:50 wtf at this config file, it is like a mix of CPP and XML! 19:54:31 Vorpal: neat! 19:54:48 olsner, in fact it isn't either, but the result is like that 19:54:54 or hmm 19:55:22 xcppml is something the world has long needed 19:55:44 is anyone laughing yet? 19:56:12 quintopia: nope 19:56:19 quintopia, no I'm depressed. Because I have to figure out this config file, which also uses mixed indention style... 19:58:21 aargh swap trashing now 19:58:23 why 19:58:58 because you don't have enough memory to do that 19:59:04 well duh 19:59:09 thing is, I didn't do anything 19:59:21 -!- copumpkin has quit (Ping timeout: 255 seconds). 19:59:25 clearly you need more memory to do nothing 19:59:28 hah 19:59:30 start doing something and it will stop 20:01:08 -!- copumpkin has joined. 20:01:52 The names of the joysticks are: 20:01:52 ThinkPad HDAPS joystick emulation 20:01:52 axes: 2 buttons: 0 hats: 0 20:01:52 ThinkPad HDAPS accelerometer data 20:01:52 axes: 2 buttons: 0 hats: 0 20:01:53 Saitek Saitek X52 Pro Flight Control System 20:01:55 axes: 11 buttons: 39 hats: 0 20:01:59 okay 20:02:01 that is why it fucks up 20:02:13 it is trying to use the accelerometer as my joystick 20:02:23 now how to avoid it... 20:02:31 no, the problem is that you have no hats 20:02:39 olsner, heh 20:03:38 it makes sense. i've not heard of gregor complaining about such a problem 20:03:47 then again, he probably has no joysticks 20:03:48 XD 20:03:54 except the one he was born with 20:31:27 -!- Phantom_Hoover has joined. 20:31:40 Oh god that was awful. 20:31:40 Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them. 20:40:25 Hmm? 20:41:17 Sgeo, home internet connection was lost completely. 20:47:55 -!- calamari has joined. 20:48:33 I am really disappointed that I read that Homestuck update on a school computer through a proxy without Flash. 20:48:41 It completely ruined the effect. 20:50:06 Sgeo: any news from FIS? 20:50:14 No 20:50:15 FIS? 20:50:22 Oh, right, the BANCstar people. 20:50:37 Presumed to be the BANCstar people 20:51:01 ding-dong 21:11:35 -!- aloril has quit (Ping timeout: 250 seconds). 21:18:39 -!- foocraft has joined. 21:22:56 can someone tell me why gdocs sucks so much? 21:24:33 -!- aloril has joined. 21:24:37 It does? 21:26:11 yes 21:39:18 -!- augur has quit (Remote host closed the connection). 21:47:02 Can a LLVM program work with gdb? 21:48:45 MAYBS 21:53:23 -!- calamari has quit (Quit: Leaving). 21:55:21 "Vancouver: Riots after Canucks' Stanley Cup defeat" 21:55:24 XD 21:55:31 It's like football but worse. 21:55:36 coppro, comment! 21:57:06 Canucks always loses as far as I know. 21:57:25 That is what someone told me. 22:02:13 -!- Adamfyre has joined. 22:09:49 -!- augur has joined. 22:10:28 -!- Phantom_Hoover has quit (Remote host closed the connection). 22:18:06 -!- Adamfyre has quit (Ping timeout: 276 seconds). 22:18:18 -!- Adamfyre has joined. 22:20:57 -!- Adamfyre has quit (Client Quit). 22:30:22 It is 16:30, and I am just now getting caffeine. 22:30:44 lies 22:30:49 it is definitely 18:30 22:32:30 16:32 UTC-7, happy? 22:44:10 -!- pikhq_ has quit (Ping timeout: 246 seconds). 22:44:21 -!- pikhq has joined. 22:50:40 my country is too busy worrying about the dicks of politicians to mention riots in Canada much. 22:51:18 -!- sebbu2 has joined. 22:51:18 -!- sebbu2 has quit (Changing host). 22:51:18 -!- sebbu2 has joined. 22:52:20 Yeah, we're more phallus-obsessed than Freud ever was. 22:54:11 -!- sebbu has quit (Ping timeout: 240 seconds). 23:20:35 -!- Patashu has joined. 23:22:17 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 23:23:27 -!- augur_ has joined. 23:23:34 -!- augur has quit (Read error: Connection reset by peer). 23:26:18 -!- pikhq_ has joined. 23:28:37 -!- pikhq has quit (Ping timeout: 250 seconds). 23:32:13 -!- hagb4rd has joined. 23:41:25 -!- Lymia has quit (Ping timeout: 240 seconds). 23:47:42 -!- augur_ has changed nick to augur. 2011-06-17: 00:14:01 -!- Vorpal has quit (Ping timeout: 264 seconds). 00:14:59 -!- FireFly has quit (Quit: swatted to death). 00:23:02 -!- calamari has joined. 00:30:39 -!- calamari has left ("Leaving"). 00:32:36 Is it possible to make a statistical distribution (or some sort of statistical construct) that obeys Gambler's Fallacy? 00:33:45 It's easier for me to vaguely invision with something discrete 00:34:37 Would (1/2)^x work? 00:36:45 a markov chain is dependent on previous outcomes, right? 00:37:32 but yeah you'd scale p down after getting more 1s and up after getting more 0s 00:37:41 either looking at the latest streak or how many of each you've gotten since you started 00:39:12 Hmm, I was thinking more of termination on failure. I kind of have death on my mind recently, and one chain of thought lead to that question 00:39:27 Termination on failure? 00:39:30 (Someone from my graduating class died recently) 00:39:39 Patashu, that is, if I get a 0, it's over 00:39:49 aah 00:39:55 it's the 'playing slots at vegas' distribution :) 00:41:44 so you want something like 'flip coins and +1 for heads -1 for tails, stop if you hit 0' and you want the average length it'll go for, hmm... 00:41:47 I know there's a distribution for that 00:42:33 Not quite what I meant, to be honest, but close, I guess 00:42:33 try a markov chain? 00:43:08 well, there are a couple of similar takes like 'at X steps, what percentage of gamblers are at 0' and 'at X steps, what's the average money of a gambler' 00:45:32 http://en.wikipedia.org/wiki/Gambler's_ruin relevant 00:45:49 Is it correct to say that I have a 50% chance of living to see half the people in my age group die? 00:46:07 Hmmm 00:46:11 Depends on the distribution of deaths 00:46:27 I think... 00:46:35 Sgeo: no 00:46:56 CakeProphet, hm? 00:46:59 No, I think it is true 00:47:04 Consider the median of the distribution, whatever it is 00:47:14 Everyone above the median will have seen 50% of the people die 00:47:40 but that doesn't imply that they had a 50% chance of seeing 50% of the people die. 00:47:57 yes, but no matter how you slice it, 50% will live past the deaths of the other 50% 00:48:01 (going to assume no simultaneous deaths) 00:48:09 -!- oerjan has joined. 00:49:03 -!- pikhq_ has quit (Ping timeout: 244 seconds). 00:49:10 -!- pikhq has joined. 00:49:29 sure, if you simplify things, that makes sense. But I would say in this scenario that not everyone has equal likelihood of survival. 00:49:45 If you want to model gamblers, use this: http://en.wikipedia.org/wiki/Markov_chain You want a markov chain where at 0 you always stay at 0, and at any higher number you have a p chance of going up and a p chance of going down 00:49:56 Well, if not everyone has the same distribution of lifespan...we need to know what distributions people are using :9 00:49:59 Otherwise I can't say much aboutit 00:50:09 indeed 00:50:31 but yeah if you consider number of equally likely favorable outcomes / number of equally likely total outcomes 00:50:34 you would get .5 00:50:52 for that. 00:51:05 Hmm, because by being healthier than aveage, it increases the individual's chances? 00:51:11 Yep 00:51:45 If I was guaranteed to be immortal I'd always see 50% of my generation die, which robs some other sod of that distinction (since I have a 0% chance of dying) 00:51:47 humans are much more complicated than numbers and such, there are a lot of factors to consider if you want to make any kind of realistic statement about the outcome of a person's life. 00:52:07 Can't you model human lifespan as a normal distribution reasonably well? 00:52:25 reasonably, I suppose 00:53:03 anyways, gotta run. 00:53:03 my intuition from 'introduction to statistics' is 'throw a normal distribution at it' 00:53:05 cya 00:53:35 Patashu: yes, that's what I was taught as well. But I doubt it's very accurate for lifespan, since that varies by environmental factors quite a bit. 00:53:48 what other kind of distribution is it likely to be? 00:53:55 Improvements in medicine make certain causes of death less likely over time 00:54:22 (Of course, that's not factoring in the possibility of antibiotics becoming ineffective) 00:54:27 it could be a negatively skewed normal distribution I suppose 00:54:37 I have no idea, I'm not a statistics person. :P -leaves- 00:59:37 why on earth does mueval give me "Exception: not a number" when I try to eval ['a'..'z'] 00:59:42 what's the type of eval 01:01:42 @hoogle eval 01:01:43 Control.Monad.RWS.Lazy evalRWS :: RWS r w s a -> r -> s -> (a, w) 01:01:43 Control.Monad.RWS.Strict evalRWS :: RWS r w s a -> r -> s -> (a, w) 01:01:43 Control.Monad.RWS.Lazy evalRWST :: Monad m => RWST r w s m a -> r -> s -> m (a, w) 01:01:47 bah 01:02:18 wtf why do people leave the moment before i want to respond to them 01:02:23 -!- zzo38 has quit (Quit: I think it is improper being immortal.). 01:04:30 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:28:48 -!- oerjan has quit (Quit: leaving). 01:30:54 -!- F has quit (Changing host). 01:30:54 -!- F has joined. 01:34:15 -!- cheater_ has quit (Ping timeout: 240 seconds). 01:36:32 -!- copumpkin has joined. 01:43:03 -!- pikhq_ has joined. 01:44:20 -!- pikhq has quit (Ping timeout: 244 seconds). 01:53:27 -!- elliott has joined. 01:54:07 00:45:49: Is it correct to say that I have a 50% chance of living to see half the people in my age group die? 01:54:07 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 01:54:10 this log sure will be fun 01:54:16 elliott: I thought you might like to know that today was the day of Dresden Codak's semimonthly update. 01:55:07 pikhq_: Ha ha ha, I only follow comics which update at least once per day. 01:55:19 (He says, noting that there was no Homestuck update today, and crying.) 01:55:31 elliott: Then you don't follow SMBC? BLASPHEMER 01:56:24 I'm on the internet, I see every SMBC without trying. 01:56:25 SMBC doesn't update once a day? 01:56:49 Sgeo: Oh, wait, it does. Thinko. 01:57:12 elliott: Sorry, let's change that to something that actually has a non-daily schedule. :P 01:57:21 elliott: Then you don't follow Dr. McNinja? BLASPHEMER 01:57:36 You don't follow Bonobo Conspiracy? 01:57:55 (Well, ok, there's nothing left to follow. Maybe in 5 years there'll be an update) 01:58:02 Dr. McNinja looks like way too much initial investment for the payoff, to be perfectly honest. 01:58:39 elliott: "Investment" implies you can not read it after a handful of pages. 01:59:36 pikhq_: It implies I don't read any comic without reading the entire backlog. 01:59:43 Unless it's Dinosaur Comics or something in which case it's totally irrelevant. 01:59:59 elliott: No, I mean "You can't not finish once you start the backlog". 02:01:21 I totally could. 02:01:37 pikhq_, that's true for me with most things that have backlogs 02:01:48 Except SBaHJ 02:02:17 elliott: Irish ninja doctor comic. Why aren't you reading already? 02:02:18 :P 02:02:42 Sgeo: Uhh, SBaHJ is more addicting than Homestuck. 02:14:15 -!- foocraft has joined. 02:24:25 "As a long time unix user, I don't have to figure out file types. If I see a binary file without an extension and I don't know what it might be, it is going off my system." 02:24:59 what 02:25:29 Does using file count as "not having to figure out file types"? 02:25:41 Using file sounds sensible. Using extensions on UNIX less so 02:29:26 'using file'? 02:29:44 Patashu: file(1) performs heuristics to tell you information about what a given file is. 02:29:53 ah, handy 02:30:12 it's a big ball of knowledge about every file format's headers? 02:30:18 Yup. 02:34:25 -!- pikhq has joined. 02:34:28 -!- pikhq_ has quit (Ping timeout: 246 seconds). 02:40:37 :lol: this is the best trojan ever http://www.symantec.com/connect/imagebrowser/view/image/1815391/_original 02:46:30 -!- Lymia has joined. 02:46:30 -!- Lymia has quit (Changing host). 02:46:30 -!- Lymia has joined. 02:55:58 -!- Behold has quit (Remote host closed the connection). 03:01:02 -!- Adamfyre has joined. 03:06:17 -!- Adamfyre has quit (Ping timeout: 260 seconds). 03:09:24 -!- Adamfyre has joined. 03:09:31 elliott, elliott 03:09:59 what 03:10:37 Oh, you saw it 03:10:42 Just saw your comment on Reddit 03:12:10 I find it hilarious that bitcoin is unencrypted by default 03:14:16 -!- Adamfyre has quit (Ping timeout: 240 seconds). 03:16:43 -!- Adamfyre has joined. 03:19:09 Patashu: Eh? 03:19:18 your wallet.dat 03:19:20 which has a private key 03:19:23 sits unencrypted on your drive 03:19:32 rather than e.g. behind a symmetric key algorithm that takes a password 03:19:33 Well, what is it going to be encrypted with? Another private key? :) 03:19:35 :P 03:19:42 (Joke.) 03:19:50 there's an algorithm that takes a password and spits out a symmetric key 03:19:56 put it into AES-256 or whatever 03:22:04 -!- Adamfyre has quit (Ping timeout: 252 seconds). 03:28:32 -!- pikhq has quit (Ping timeout: 240 seconds). 03:28:45 -!- pikhq has joined. 03:31:48 -!- Adamfyre has joined. 03:35:53 -!- Adamfyre has quit (Ping timeout: 240 seconds). 03:37:19 pikhq: I was thinking that, with my revised needs mechanism, "c99 needs libs ..." should actually be "c99 libs ...", since it actually has special code now, rather than being part of a "generic" mechanism. 03:37:36 (Despite that it's actually more flexible, but yeah, it's not straight "needs" any more, it postprocesses the output from the solver to translate the result into the right flags.) 03:38:13 "This is one of the pitfalls of Ubuntu: it uses the command make for the same program that basically every other Unix-based OS calls gmake." 03:38:43 uh... dude 03:38:50 most Linux do that aiui 03:39:04 coppro: When I quote things, it is because they are stupid. 03:39:11 Usually. 03:39:15 Unless they're awesome. 03:39:33 what's the difference 03:40:32 Also, it is *entirely* reasonable to install GNU make as "make". 03:40:46 As, as far as I'm aware, it suffices as a POSIX make. 03:41:46 What do you want the distro makers to do, maintain a BSD make package as well? 03:43:24 -!- Adamfyre has joined. 03:47:09 -!- ralc has quit (Quit: Leaving). 03:56:37 -!- Adamfyre has quit (Ping timeout: 264 seconds). 04:00:04 "Okay, I guess that's it. The last HLE code in bsnes is now gone, and every special chip uses LLE." 04:00:07 :) 04:02:20 -!- Adamfyre has joined. 04:07:32 -!- Adamfyre has quit (Ping timeout: 252 seconds). 04:13:58 -!- DocHerrings has joined. 04:14:47 -!- hagb4rd has quit (Quit: hagb4rd). 04:16:24 DocHerrings: doc, we need some herrings. 04:16:34 Anyone here any good with common lisp? I have a eodermdrome interpreter in its final stages and I just can't seem to find the problem? 04:16:50 I've... written a few Common Lisp programs. 04:16:52 elliott: I'm a doctor, not a fisherman! 04:17:09 Isn't the problem with Eodermdrome efficient implementation? 04:17:18 Hold on.. I will put it on pastebin. Beware, it's a bit if a beast. 04:17:19 ISTR it's really slow done naively, but ais knows more than me. 04:18:06 elliott: I did it by implementing a hash mapping nodes to sets of connections. Seems to be working fine currently... 04:18:36 How do you know? I only know of one publicly-posted Eodermdrome program, and it sounds like your implementation doesn't actually work yet :) 04:19:02 Not doubting, just curious. 04:20:24 The fact is, the parts work. The program does not seem to. (It could be minor bugs I haven't traced yet). 04:21:02 http://pastebin.com/V7Qg0Pw9 Beware... I did not use comments. I kinda wrote it in a single session. 04:21:24 ^There you go, elliott. Good luck with it. 04:21:28 I find the lack of empty lines more distressing :P 04:21:58 DocHerrings: But, erm, "it doesn't work" is a bit non-specific. 04:22:07 The program is non-trivial, so I don't even know where I'd start debugging it. 04:22:38 Well, here is the breakdown - it parses the file properly, and produced the correct graphs and mappings. 04:23:13 It also correctly detects input and all other prerequisites. 04:23:45 But when running an actual program, ...? 04:24:06 BUT the example program fails miserably. All the code seems to be executed, but no changes to the internal graph are made 04:24:45 DocHerrings: Bear in mind that it is completely untested... 04:25:08 So it may be that the program is broken. It is likely, even. 04:25:23 You might be able to pry a simpler example program out of ais523 here or on the wiki. 04:25:57 True, but by tracing the that section of code, I see something even worse - for some reason, the internal graph is not being altered - at all. 04:26:19 Weird. 04:26:53 DocHerrings: Perhaps you are expecting a functional operation to behave imperatively? i.e., you are transforming the graph into a new graph, but not actually _mutating_ it, and in the end just throwing it away. 04:27:01 This is just a guess based on a cursory glance at your code, no actual evidence. 04:27:30 And I made one of my own - I simply reduced the graph to one node 'a', and then string down the alphabet, printing "Counting 1" etc. That does not work either. 04:27:37 Hm. 04:28:11 Maybe I should get back into CL 04:28:25 elliott: You will notice the gratuitous use of setf. Even if the function returns an object, as long as it is setf'ed, the changes stick. 04:28:42 That's an odd way to put it, but sure. 04:28:58 DocHerrings: Still, closed-nothings bugs me. 04:29:10 For a start, 04:29:29 you're discarding the result of a map, which means you should really use LOOP instead. 04:29:41 Or, well, anything that isn't a map. 04:29:59 Oh wait. 04:30:04 maphash does not actually map. 04:30:09 DocHerrings: "The consequences are unspecified if any attempt is made to add or remove an entry from the hash-table while a maphash is in progress, with two exceptions: the function can use can use setf of gethash to change the value part of the entry currently being processed, or it can use remhash to remove that entry. 04:30:09 " 04:30:13 This doesn't affect you, right? 04:30:45 No, the only time I use maphash, a local variable is the one being changed. 04:30:52 Right. 04:31:37 I dunno, it's weird. 04:31:54 Hmm... I am going to comment out the main loop, and execute the commands by hand. Maybe that will help. 04:32:25 And I badly need to clean and refactor this code anyways. It's a god-awful mess. 04:32:32 It kind of is, yes. 04:32:53 I diagnose this as the obvious result of not being written in Haskell. :p 04:33:30 Funny, I have written in Haskell. Playing around with Clean now. 04:34:10 Clean is interesting, although I'm not convinced that uniqueness types are useful enough to justify the added complexity to the type system and language. 04:34:26 (Apart from that, of course, it's mostly a carbon copy of Haskell-98 with some weirdness.) 04:34:41 -!- kwertii has joined. 04:35:24 Yeah, I find that monads are a more natural abstraction to apply to sequencing IO than uniqueness typing. 04:35:31 Interesting idea, though. 04:35:44 Well I don't know about that. 04:36:17 But two different ways of modelling imperative IO semantics are... hard to compare because the end result is practically the same. 04:36:26 It's a heavily subjective thing. 04:36:30 The question is whether uniqueness types are fun for anything else. 04:36:37 Ahahah, okay, now I know I need to re-do part of this. 04:37:00 Seems my state-machine/regexp code hates the letter a. 04:37:07 wat 04:37:16 I diagnose your code with wat. It is terminal. 04:37:23 I am so, so sorry. 04:38:14 man, terminal code is a pain 04:38:15 I prefer initial 04:38:16 Since I didn't feel like getting a regexp library involved with what was already a trainwreak, I wrote a state machine to parse the input. 04:38:32 Not simple, and nicely esoteric. 04:39:14 If your first thought for an Actual Parsing Library is dragging regexps in, then you have a problem and it's a good thing you were too lazy :P 04:40:38 Well, I found the problem. 04:40:46 -!- oerjan has joined. 04:40:55 "It was the (if letter-is-a (break-randomly)) line." 04:41:00 hi oerjan your eodermdrome program MIGHT be broken MIGHT 04:41:13 Working on it. 04:41:21 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 04:41:53 No, seems the code failed miserably when the match or replacement subgraph was of length 1. gotta go fix that. 04:42:00 i shall have to ban DocHerrings for this 04:42:10 ? 04:42:39 FOR SULLYING MY PRISTINE PROGRAM WITH ACTUAL BUG CHECKING 04:43:08 Whoah whoa WHOAH. Slow down there! The your pristine program might still work, your majesty! 04:43:24 The implimentation is a bit broken. 04:43:32 the your pristine program 04:43:32 O KAY. WE'LL POSTPONE THE OFF WITH YOUR HEAD, THEN 04:44:20 elliott: this is what I get for not sleeping, okay? :p 04:45:26 Bah, sleep is for mortals. 04:46:21 DocHerrings: talking to a person who operates on average 0 sleep/day 04:46:55 elliott: I thought you averaged higher than that, but that the mode was 0. 04:51:20 * oerjan opens http://hackage.haskell.org/package/mueval and backs away when he notices there are no haddock links 04:51:46 its ok oerjan i will give you a hug 04:51:46 btw 04:51:47 by "eval" 04:51:50 i think CakeProphet just meant > 04:51:51 not a function 04:51:53 u r dum lol 04:51:55 > ['a'..'z'] 04:51:55 "abcdefghijklmnopqrstuvwxyz" 04:51:58 oh 04:52:07 elliott: oh 04:52:14 but still it might have been in a repl or w / e 04:52:46 > sum ['a'..'z'] 04:52:46 No instance for (GHC.Num.Num GHC.Types.Char) 04:52:46 arising from a use of `Data... 04:52:53 Insanity, go... aww 04:52:59 > sum [0..] 04:53:16 thread killed 04:53:30 > sum $ map (\x -> x * x) [0..] 04:53:37 elliott: i was imagining he was trying some eval "['a'..'z']" which defaulted to Integer 04:53:39 mueval-core: Time limit exceeded 04:54:29 Lymia: sum is indeed a strict function 04:54:31 @src sum 04:54:32 sum = foldl (+) 0 04:54:44 is it! 04:54:45 Lymia is not a he. 04:55:00 Lymia: i was referring to CakeProphet 04:55:06 Oh. 04:55:28 well, at least we know that Lymia is not a he now 04:55:45 note that this does not necessarily mean that Lymia is a she, though 04:55:52 That is correct. 04:56:12 yes. confer a certain soupy, faxy dragon pig 04:56:39 wait, a new one? 04:57:07 hmm, sum [0..] :: LazyNat is _|_, gross 04:57:08 well i don't _think_ Lymia is fax etc. 04:57:25 hasn't Lymia not being a he been established for months 04:57:29 or was that in -minecraft 04:57:33 Dunno. 04:57:35 ("A he": best terminology?) 04:57:41 well i did notice it a while ago 04:57:59 I thought oerjan was referring to me, considering the whole "defaulted to Integer" clause. 04:58:20 > foldl (++) ['a'..'z'] 04:58:22 Overlapping instances for GHC.Show.Show 04:58:22 ([[GHC... 04:59:03 > foldl (/x -> show $ ++) ['a'..'z'] 04:59:04 : parse error on input `->' 04:59:15 > foldl (\x -> show $ ++) ['a'..'z'] 04:59:16 : parse error on input `++' 04:59:18 Lymia: missing argument on the first one 04:59:30 oerjan, ? 04:59:42 Lymia: foldl takes 3 args 04:59:53 or more! 05:00:07 Alright, problem found. Well check back in when I have everything done. Then oerjan can have proof of his pristine program. 05:00:09 :t foldl 05:00:11 forall a b. (a -> b -> a) -> a -> [b] -> a 05:00:14 as for the parse, sections can only have arguments of higher (or sometimes equal precedence) 05:00:27 -!- DocHerrings has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]). 05:00:34 oh wait 05:00:51 > foldl (\x y -> show $ ++ x y) "" ['a'..'z'] 05:00:52 : parse error on input `++' 05:00:59 > foldl (\x y -> show $ x ++ y) "" ['a'..'z'] 05:00:59 Couldn't match expected type `[GHC.Types.Char]' 05:01:00 against inferred ty... 05:01:12 > foldl (\x y -> show $ (show x) ++ (show y)) "" ['a'..'z'] 05:01:12 what do you want the show for 05:01:16 mueval-core: Time limit exceeded 05:01:17 Uh.. 05:01:18 Dunno. 05:01:32 hm 05:01:33 > foldl (\x y -> x ++ y) "" ['a'..'z'] 05:01:34 Couldn't match expected type `[GHC.Types.Char]' 05:01:34 against inferred ty... 05:01:37 Right 05:01:39 Char!=String 05:01:39 > foldl (\x y -> show $ (show x) ++ (show y)) "" ['a'..'z'] 05:01:41 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 05:01:55 > foldl (\x y -> x ++ $ show y) "" ['a'..'z'] 05:01:56 : parse error on input `$' 05:01:57 not all timeouts are for infinite looping 05:02:04 > foldl (\x y -> x ++ (show y)) "" ['a'..'z'] 05:02:06 "'a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y... 05:02:46 > fix show 05:02:47 "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\... 05:03:02 > map length . group . fix $ show 05:03:10 [1 05:03:44 > take 5 . map length . group . fix $ show 05:03:45 wat 05:03:46 [1,1,1,3,1] 05:03:51 wat 05:03:55 > take 10 . map length . group . fix $ show 05:03:57 [1,1,1,3,1,7,1,15,1,31] 05:04:02 > map length . group . fix $ show 05:04:06 mueval-core: Time limit exceeded 05:04:09 heh 05:04:12 > take 10 . filter (/= 1) . map length . group . fix $ show 05:04:14 [3,7,15,31,63,127,255,511,1023,2047] 05:04:30 copumpkin: the \ groups go as 2^n-1 05:04:38 yep 05:04:52 I'm mostly puzzled wtf is wrong with lambdabot 05:04:55 that [1 05:05:18 > map length . group . fix $ show 05:05:24 mueval-core: Time limit exceeded 05:05:25 mueval: ExitFailure 1 05:05:33 yes that was weird 05:05:49 lambdabot seems to have many possible failure modes for too long computations 05:06:01 yeah, but normally it'll lazily produce some of that list 05:06:13 more than the first element, at least 05:06:29 copumpkin: not if it times out before producing a whole line, does it? 05:06:46 hm 05:06:50 oerjan: maybe not, but it's weird that it spat out [1 before 05:06:54 yes 05:07:37 i mean if it reaches an exception it does spit out what came before, but i don't think it does that with timeout 05:07:43 "ESTNE VOLVMEN IN TOGA, AN SOLVM TIBI LIBET ME VIDERE" This is a real phrase from a (presumably phrase) book on Latin. 05:07:47 Meaning "Is that a scroll in your toga, or are you just happy to see me?" 05:08:10 :D 05:08:13 how old 05:09:07 oh the previous mueval version has haddock 05:09:15 No idea; the quote came to me by way of Omniglot. 05:09:39 pikhq: sounds a bit familiar 05:11:06 eval :: MonadInterpreter m => String -> m String 05:11:10 no shit sherlock :P 05:11:12 oerjan: "Is that a pistol in your pocket, or are you just glad to see me?" is an extraördinarily well-known, oft slightly mis-quoted, oft referenced quip by the actress Mae West. 05:11:28 pikhq: i mean the actual latin you dolt 05:12:09 i'm sure there's a list of several of them 05:12:23 Ah. Yeah. 05:14:16 -!- foocraft has quit (Quit: if you're going....to san. fran. cisco!!!). 05:17:27 -!- wareya has quit (Read error: Operation timed out). 05:19:38 "Serbia includes the Bosnian language as an elective subject in primary schools." 05:19:41 That is comical. 05:20:01 That would be like America including the Canadian language as an elective subject. 05:20:13 i don't know what you mean eh 05:20:30 * oerjan beats pikhq on the head with a Nynorsk dictionary 05:20:34 -!- rodgort has quit (Read error: Operation timed out). 05:21:09 elliott: Serbian/Croatian/Bosnian/Montenegrin/Standard Serbo-Croatian is a pluricentric language with a multitude of names for nationalist reasons. 05:21:32 how ridiculous, eh 05:21:41 isn't it more likely to just be classes on how to insult bosnians? 05:21:43 oerjan: At least Nynorsk and Bokmål *possess* differences. 05:21:44 i'm going to go and get some syrup from a tree, or whatever it is canadians do all day, eh 05:21:50 coppro: a fellow canadian 05:21:51 coppro: eh 05:22:14 goodnight, eh? 05:22:27 coppro: eh 05:24:46 oerjan: The differences between the different Serbo-Croatian "languages" are best compared to "color" vs. "colour" type spelling differences. 05:25:45 except for the shooting at people who say "colour" 05:25:47 (okay, so you *can* write "Serbian" text that a speaker of "Croatian" can't read, but that's only because Croatian only uses Latin script) 05:26:02 oerjan: I did say it was for nationalist reasons, did I not? 05:26:14 Unlike US vs. UK spelling, which is for hysterical raisins. 05:26:35 yes, yes. iiuc the differences where hastily introduced after the wars started... 05:26:51 Yup. 05:27:59 lol 05:28:26 just like canadian english eh 05:28:27 coppro: eh 05:28:28 coppro: eh 05:29:43 I'm not sure it's even meaningful to say "Canadian English". 05:30:29 eh 05:30:30 eh 05:30:34 syrup from trees 05:30:35 bears in snow 05:30:35 eh 05:30:36 eh 05:32:00 syrup from bears in snow, check 05:32:29 -!- rodgort has joined. 05:32:54 -!- rodgort has quit (Client Quit). 05:34:11 -!- rodgort has joined. 05:34:14 so I was thinking it would interesting to make a language that was both high level and low level. 05:34:18 almost as two sublanguages. 05:34:23 that can interact with one another. 05:34:36 so you can write efficient code or you can write abstract code. 05:34:59 CakeProphet: We call it "Haskell". 05:36:30 well, as an alternative to Haskell. 05:36:38 -!- pikhq_ has joined. 05:39:33 -!- pikhq has quit (Ping timeout: 250 seconds). 05:42:12 I could see using Python's with statement to write monadic code... but I'm not entirely sure. 05:43:07 -!- kwertii has quit (Quit: bye). 05:44:19 pikhq_, now all we need is Haskell with a builtin C-like language. 05:46:49 that's called haskell 05:46:58 (he says, despite thinking pikhq_'s original statement a bit rich) 05:49:25 would an interpreter in Haskell be reasonable if you're concerned with performance? 05:49:40 elliott: Only mild hyperbole. 05:50:06 CakeProphet: If you're good at Haskell, of course :-) 05:50:19 Shiro is... faster than pyfunge :P 05:50:21 Lymia: If you were mildly crazy, you could probably implement C in Template Haskell. 05:50:26 (It was faster before I refactored the code.) 05:50:45 pikhq_: mildly crazy, you say? :D 05:50:55 CakeProphet: I mean, obviously you need to have some kind of intuition about the performance characteristics of Haskell structures and code which are very different to most languages. 05:51:00 But yes, Haskell interpreters can be very fast. 05:51:25 Also I feel like linking to: 05:51:26 http://augustss.blogspot.com/2009/02/more-basic-not-that-anybody-should-care.html 05:51:28 Lymia: Without doing crazy implementations of things C assumes; you could just translate pointer semantics directly. 05:51:35 which is an embedded BASIC DSL in Haskell that uses LLVM to produce BLAAAZING fast code. 05:51:43 You could easily do that with... a less perverse language. 05:51:52 elliott, Haskell.... uh.... 05:51:52 Wow. 05:51:54 Like, one that doesn't use horrific syntactic tricks. 05:52:16 elliott: so you mean Perl? :3 05:52:19 elliott, I thought a rough ordering of language speed goes something like this [C,C++]>[Java,C#,Haskell]->[Python,Perl,Ruby] 05:52:25 CakeProphet: ... 05:52:33 Lymia: Languages don't have speeds. 05:52:42 Implementations have speeds (except they don't really). 05:52:55 processors have speed? 05:52:57 Lymia: Languages don't have speeds, code has speeds, and implementations might affect this. 05:53:04 Yes, this matters, because the world is not always "C is the fastest language, lol, everything else is slower". 05:53:10 C was probably not very fast on a Lisp Machine, for instance. 05:53:42 s/language speed/speed of your typical implementation/ 05:53:51 or The Analytic Engine. 05:53:52 On a typical Intel processor and Unix? 05:54:05 s/language speed/speed of your typical implementation on a typical Intel processor and Unix/ 05:54:11 Lymia: Implementations don't *have* speeds, they can only affect speeds. 05:54:25 Lymia: It's possible to write Haskell code as fast as C code that performs the same task, naturally. It might be a pain -- but you can get within the same order of magnitude without too much fuss. 05:54:34 ITC: pedanticism 05:54:51 CakeProphet: It's kind of relevant, because "C and C++ are fast" is a persistent, idiotic myth. 05:54:55 Although I think pikhq_ is taking it a bit too far. 05:54:58 Lymia: A completely moronic algorithm in C will probably get beat by a good algorithm in, say, Brainfuck. 05:55:07 pikhq_, of course. 05:55:20 What we're measuring is "the same algorithm, implemented in an idiomatic-to-mildly-optimised style, compiled by an implementation with full optimisation settings" 05:55:22 i.e., the /overhead/. 05:55:25 Lymia: Comparing against OCaml is probably worthwhile. 05:55:33 But it's useless to compare apples to grapes. 05:55:40 Lymia: Typical OCaml code will be faster than typical Haskell code, most likely. 05:55:48 I should look into that language. 05:55:49 :) 05:55:50 But Haskell code can easily be as fast as typical OCaml code. 05:55:53 Lymia: What, OCaml? 05:55:58 Yeah. 05:56:00 Don't, it's fairly rubbish with only a few nice features. 05:56:15 * CakeProphet is planning some ridiculous language shit. 05:56:23 The ML module system, and some of the structural typing is nice, but the toolchain and library ecosystem SUCKS SUCKS SUCKS, and the strictness is annoying. 05:56:30 Plus the type system is fairly weak and some of the syntax is really grating. 05:56:33 Also it's impure. 05:56:56 elliott: The issue is, of course, that this is rarely a good comparison. Some languages make it much easier to write smarter code than others, so it's not that common that you can do a comparison of the same algorithm in multiple languages to each other. 05:57:11 pikhq_: Yeah yeah yeah it is not helpful to pedant a question to the point of unanswerability. 05:57:31 Lymia: Anyway, my assessment is: You can get a Haskell program within the same order of magnitude or two as a C program doing the same thing without /too/ much fuss (although it'll require hand optimisation). 05:57:42 Thankfully, most of the time you simply don't need this. 05:57:48 Lymia: And certain types of code will be _really_ fast without any work. 05:58:00 elliott: My point is that the question *is basically meaningless*, so yes, it is helpful. :P 05:58:04 Lymia: For instance, fusion means that array-transforming and iterating operations with some of the popular libraries will be RIDICULOUSLY fast. 05:58:13 Not really that surprising. 05:58:17 Automatically vectorised, parallelised, fused, etc. 05:58:56 Lymia: And this is probably more relevant than whole-program performance: it means that you can write simple, functional compositions of combinators to do a certain, atomic task in an easy-to-write way, and it'll compile to a fast tight loop. 05:59:04 Which, if you use it a lot, will help a ton. 05:59:21 Basically, "Haskell is way easier to optimize than C" 05:59:21 =p 05:59:31 I dunno about that. 05:59:44 Some things get automatically optimised with no work for you, and are basically the best you'll get. 05:59:48 And strictness annotations always help. 05:59:49 I dunno, it's certainly easier to microöptimize C. 05:59:55 But C code is usually easier to microoptimise, yes. 06:00:17 elliott, Haskell ensures that a function call with the same parameters would have the same result, right? 06:00:34 Lymia: It's not so much "ensures" as "there is no way to violate that from the language definition". 06:00:47 Heh. 06:00:48 Lymia: Exercise: Write a lambda calculus function that returns a different result given identical arguments at different times. 06:00:55 You can't, but not because of any specific law preventing it. 06:01:05 Lymia: Of course unsafePerformIO and unsafeCoerce and all hosts of horrible things violate this. 06:01:12 But if you use them you better know what you're doing. 06:01:33 Doesn't that go for almost all features explicitly called "unsafe" in any language? 06:01:36 Exposing such non-referentially-transparent things outside of an internal module implementation is a crime worthy of death. 06:01:39 Lymia: Yes. 06:01:40 The compiler *will* assume that the function remains pure, and if you break that assumption you can keep both pieces. 06:01:44 could the FFI be used to violate that principle of Haskell? 06:01:47 pikhq_: It's not quite that bad. 06:02:00 Hmm, I guess unsafeCoerce is actually referentially transparent 06:02:04 Oh, hmm, maybe 06:02:08 CakeProphet: The FFI *contains* unsafeCoerce. 06:02:11 If you cast something in a way that lets you get at its pointer then no. 06:02:26 CakeProphet: Yes, but if you do it you'll know you've done it. 06:02:51 elliott: ...I would hope so. 06:03:12 CakeProphet: And if you expose that impurity from a public module without big warning signs: 06:03:15 TA: kiind of liike wiith regii2tered 2ex offender2 and 2chool2. 06:03:15 TA: iif you move two a new town you have two go up two your neiighbor2 door and warn them about how 2tupiid you are. 06:03:16 TA: and giive them a chance two hiide all theiir iinnocent technology. 06:03:16 TA: and vandaliize your hou2e. 06:03:20 (ANY EXCUSE TO USE THAT QUOTE) 06:03:23 (ANY EXCUSE) 06:03:53 Lymia: One of the things that *really* helps with Haskell is that it's rather easy to write reasonable parallel code. 06:04:02 pikhq_, can't you automate that? 06:04:07 no. 06:04:11 not unless you're a researcher. 06:04:17 Open problem. 06:04:21 and even then, no, not always, just no. 06:04:25 don't even think about it. stop. stop that thinking. 06:04:40 why 06:05:04 stop 06:05:39 yeah, my dual core processor is going to be able to take advantage of all that parallel code, while running other processes at the same time. 06:06:11 CakeProphet: Your processors are idling 90% of the time. 06:06:31 >implying dual core processors will even exist in consumer computers in a few years 06:06:50 now, some /algorithms/ can be sped up by parallelism, I think. 06:06:52 "Dumb" automatic parallelisation would probably work in a N-core graph reduction machine where N is ridiculously large (like, at least sixty-four), mind you. 06:06:57 or potentially sped up 06:07:00 CakeProphet: What do you even mean by that? 06:07:31 And, yeah, the core count is going to go up until either we hit physical limits or we fuck up human civilization enough to stop chip manufacturing. 06:07:32 well, nevermind. it basically still relies on how many processors there are. 06:07:47 elliott, the standard library can be paralleled without the code being aware of it, no? 06:08:10 Lymia: It would usually be a net loss. 06:08:21 You don't want every map of a hundred-element list to involve bulky thread spawning code. 06:08:25 That is Stupid. 06:08:37 Lymia: The trick is to do parallel code that is faster than sequential code, not just doing parallel code. 06:08:54 You can't, but not because of any specific law preventing it. <-- you _might_ say it's because of confluence 06:08:57 elliott, good point. 06:08:57 =p 06:09:15 Even Haskell's really ubergood threading stuff doesn't make `par` free. 06:09:22 oerjan: that's not really an explicit Law, though 06:09:24 it's just a consequence 06:10:33 -!- zzo38 has joined. 06:10:36 "This statement is either false or paradoxical." 06:11:37 Nonsense. 06:11:56 boy howdy, I sure wish the liar's paradox was still interesting 06:12:02 Besides 06:12:14 There's a easy escape clause to that. 06:12:47 This sentence is uninteresting. 06:13:03 your MOM is uninteresting lmao 06:13:12 im: the funniest? 06:13:15 Epimenides of Crete says: "All Cretans are liars." But first he put all the other Cretans in a box and made an experiment like Schrodinger's Cat. 06:13:15 (im the funniest.) 06:16:49 "You do not know how to prove this statement." 06:17:50 Isn't making a sentence that starts 'this sentence' like trying to use an object's variables before the constructor finishes? 06:18:18 Patashu: Maybe it is something like that. 06:18:50 -!- zzo38 has set topic: Rule #1: Ignore Rule #2. Rule #2: Ignore Rule #3. ... Rule $n$: Ignore Rule $n+1$. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:18:55 lol 06:19:06 Patashu, yes. 06:19:16 zzo38: hi asie 06:19:58 elliott: Can you elaborate on that please? 06:20:01 The proper answer to such paradoxes is simple. 06:20:03 maybe 06:20:03 "Fuck you". 06:20:07 zzo38: can YOU???? 06:20:20 elliott: I don't know. 06:20:32 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any positive integer. ... Rule $n$: Ignore all rules $n$*x where x is any positive integer. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:20:47 zzo38: Try. And see if you can! Else, then maybe you can not. 06:20:49 Wait... 06:20:50 But try. 06:20:54 OK. 06:21:05 -!- Lymia has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 06:24:00 im a tired 06:24:17 Your challenge is to figure out the end result of this rule. 06:24:22 no 06:25:58 "Fuck off and die in a fire" 06:26:32 pikhq_: great temper A+ 06:28:24 how does this rule system work 06:28:25 -!- zzo38 has quit (Quit: ERROR: CPU TEMPERATURE IS A NONREAL NUMBER). 06:28:38 do I apply a rule only once, or make sure it's always being held after each rule application? 06:28:51 if it's the latter then I can't ignore a rule if I'm told to follow 'em all 06:29:13 Patashu: badly 06:29:19 o 06:32:19 inconsistent ruleset is inconsistent 06:39:07 hey oerjan 06:39:12 *Main> let nine = fromInteger 9 :: Sym in runSym (nine == nine) :: Expr 06:39:12 Fun "==" [Con 9,Con 9] 06:39:16 im breaking rules 06:40:11 lol 06:40:22 idk what's going on!! 06:40:38 Patashu: evil 06:42:13 elliott: erm that fromInteger is redundant 06:42:25 oerjan: oh indeed 06:42:26 *Main> runSym (fromIntegral (fromEnum (nine + nine == nine)) == nine) :: Expr 06:42:26 Fun "(==)" [Con *** Exception: SymException (Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9]) 06:42:28 oerjan: darn, so close 06:42:36 scared yet? :D 06:42:53 wat 06:44:41 ok that _is_ a bit scary 06:44:52 you are not hiding Prelude functions are you? 06:45:02 oerjan: nope (well, catch, to use Control.Exception's) 06:45:11 runSym :: (Show e, Typeable e, Show a, Typeable a) => e -> a 06:45:11 runSym x = unsafePerformIO $ eval x `catch` \(SymException r) -> return r 06:45:11 where eval x = do r <- evaluate x 06:45:11 throw (SymException r) 06:45:13 this is the magic sauce 06:45:34 (if you try and use it as the wrong type it will cause a runtime exception by failing to catch the exception) 06:45:37 (this scares even me...) 06:45:46 oerjan: basically I'm making a _real_ damn symbolic package :D 06:45:52 exception-oriented programming 06:46:32 oh right, it's not _actually_ returning anything from fromEnum 06:46:39 *Main> runSym (fromEnum (nine + nine == nine)) :: Expr 06:46:39 Fun "(==)" [Fun "(+)" [Con 9,Con 9],Con 9] 06:46:46 lol, I like how the fromEnum just gets ignored, yeah 06:46:54 I guess I will not be able to support that, unfortunately 06:48:25 wait catch is a Prelude function? 06:48:31 Yes 06:48:32 :t Prelude.catch 06:48:35 forall a. IO a -> (IOError -> IO a) -> IO a 06:48:45 (sweet, finally some on-topic discussion in here!) 06:48:57 hmm, darn, I forgot that 06:49:00 class (Show a, Typeable a) => Sym a 06:49:03 doesn't really work to bundle constraints 06:49:05 olsner: there was eodermdrome earlier 06:50:13 elliott: it doesn't? 06:50:47 oerjan: you have to define instances manually... 06:50:52 well yeah 06:51:04 mumble mumble class aliases 06:53:13 just use the preprocessor? :) 06:53:41 something something template haskell 06:54:06 * oerjan wonders if someone could implement class aliases _in_ template haskell 06:54:50 it seems eminently possible, mainly from the fact i know very little about template haskell 06:55:27 im templated YOUR haskela 06:56:03 oh, itsa brokes... 06:56:11 them's the brokes! 06:56:18 oerjan: can i just say how scary haskell's pure exception semantics are... 06:56:25 _|_ is like a whole RANGE of values now :< 06:57:41 @quote awesome.majesty 06:57:41 malcolm says: I don't believe you need to invoke the full awesome majesty of Template Haskell 06:58:19 oerjan: Technically, you could do anything with it. Though you might just have a Haskelloid to Haskell compiler by you're done. 06:58:49 elliott: it's not just a RANGE, it's the POWER SET of a range 06:59:09 oerjan: carbon dioxide, man 06:59:15 oerjan: Not helping. 06:59:56 show x = sym (Fun "show" [unsafeCoerce (runSym (unsafeCoerce x::())) :: Expr ()]) 07:00:00 (if an expression has more than one possible exception raised inside dependent on evaluation order, then the resulting _|_ is the _set_ of them) 07:00:01 dammit why isnt unsafeCoerce making my problems go away.......... 07:00:09 TYPE DAMMIT 07:00:32 :t unsafeCoerce 07:00:33 Not in scope: `unsafeCoerce' 07:00:36 one of yours? 07:00:53 oh. 07:00:56 a virgin mind. 07:00:58 Patashu: unsafeCoerce :: a -> b 07:01:01 Patashu: adults are talking plz leave 07:01:07 pikhq_: wow way to ruin their childhood 07:01:15 lol 07:01:24 :( 07:01:28 @hoogle unsafeCoerce 07:01:29 Unsafe.Coerce unsafeCoerce :: a -> b 07:01:48 @src unsafeCoerce 07:01:49 Source not found. Wrong! You cheating scum! 07:01:55 And distinct from \x -> undefined 07:02:01 :t \x->undefined 07:02:01 forall t a. t -> a 07:02:58 import GHC.Prim (unsafeCoerce#) 07:02:58 unsafeCoerce :: a -> b 07:02:58 unsafeCoerce = unsafeCoerce# 07:03:01 Patashu: ^ 07:03:10 so, basically builtin 07:03:12 right 07:03:14 thought so 07:03:48 you can implement it 07:03:50 with unsafePerformIO 07:04:06 -!- cheater_ has joined. 07:05:27 oerjan: whoops i exceeded the limits of the type system 07:05:33 already? 07:05:34 whoops.......... 07:05:41 Patashu: this tends to happen to me 07:05:53 elliott, always pushing the boundaries 07:06:08 is that a pun 07:06:30 maybe in a very abstract way 07:06:59 as in, a pun on concepts, not words... 07:07:01 unsafeCoerce a = let ref = unsafePerformIO (newIORef undefined) in unsafePerformIO $ writeIORef ref a >> readIORef ref 07:07:16 At least one of the forall'd type variables mentioned by the constraint 07:07:16 must be reachable from the type after the '=>' 07:07:18 whyyyyyyyyyyy 07:07:20 Deewiant: OMG NOT THREAD SAFE THAT'S EVIL 07:08:11 oerjan: erm how is it not 07:08:13 nothing else can access the ioref 07:08:31 oh wait hm 07:08:52 actually, it _could_ be floated out, so still not thread safe 07:09:12 oh wait 07:09:27 Deewiant: you also hit the monomorphism restriction 07:09:27 oh hm what if I... 07:09:29 excellent 07:09:32 Data.Dynamic time 07:10:41 oerjan: Hmm, not in my GHCi 07:10:45 otoh there is also no guarantee that it _does_ keep just one value 07:10:49 unsafeCoerce :: a1 -> a 07:10:59 Deewiant: well obviously you'll have it turned off, then 07:11:43 Nope 07:12:00 Deewiant: and you say it actually gives that type? 07:12:17 > let x = 0 07:12:17 > :t x 07:12:17 x :: Integer 07:12:17 Deewiant: oh wait it works because there is no typeclass involved 07:12:19 It's quite on 07:12:19 : parse error on input `:' 07:12:19 not an expression: `let x = 0' 07:12:27 so the MR doesn't trigger 07:13:39 Deewiant: still, there is no guarantee from haskell that this function does what it's intended to do... the ref could be floated out, thus thread unsafe, or it could be replicated, thus not transferring any value... 07:13:51 * oerjan is just musing 07:14:00 Sure 07:15:25 in the latter case it _would_ probably end up equivalent to \x -> undefined 07:18:03 ?hoogle [ShowS] -> ShowS 07:18:04 Prelude showParen :: Bool -> ShowS -> ShowS 07:18:04 Text.Show showParen :: Bool -> ShowS -> ShowS 07:18:04 Network.URI uriToString :: (String -> String) -> URI -> ShowS 07:18:06 :( 07:18:09 :t ShowS 07:18:10 Not in scope: data constructor `ShowS' 07:18:27 elliott: what do you want? 07:18:59 :k ShowS 07:19:00 * 07:19:06 oerjan: foldr (.) id, it seems 07:19:09 :) 07:19:10 *Main> runSym (nine + nine == nine) 07:19:11 9 + 9 == 9 07:19:14 yeah 07:19:17 yay! 07:19:18 @src ShowS 07:19:18 type ShowS = String -> String 07:21:08 @hoogle [a -> a] -> a -> a 07:21:08 Data.Generics.Schemes everywhere :: (a -> a) -> a -> a 07:21:09 Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a 07:21:09 Prelude until :: (a -> Bool) -> (a -> a) -> a -> a 07:21:51 @src Endo 07:21:52 Source not found. You untyped fool! 07:21:57 @hoogle Endo 07:21:57 Data.Monoid newtype Endo a 07:21:57 Data.Monoid Endo :: (a -> a) -> Endo a 07:21:57 Data.Monoid appEndo :: Endo a -> a -> a 07:22:40 :t appEndo . mconcat . map Endo 07:22:41 forall a. [a -> a] -> a -> a 07:23:00 that's longer than foldr (.) id :/ 07:23:06 now whether that folds left or right, i don't recall. 07:23:10 sadly yes 07:23:30 lol at endo 07:23:44 :t foldA 07:23:45 Not in scope: `foldA' 07:23:49 @hoogle fold 07:23:49 Data.Foldable fold :: (Foldable t, Monoid m) => t m -> m 07:23:50 Data.IntMap fold :: (a -> b -> b) -> b -> IntMap a -> b 07:23:50 Data.IntSet fold :: (Int -> b -> b) -> b -> IntSet -> b 07:24:03 @hoogle foldMap 07:24:03 Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m 07:24:03 Data.Traversable foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m 07:24:08 yay 07:24:19 :t appEndo . foldMap Endo 07:24:20 Not in scope: `foldMap' 07:24:24 eek 07:24:31 :t appEndo . Data.Foldable.foldMap Endo 07:24:31 forall a (t :: * -> *). (Data.Foldable.Foldable t) => t (a -> a) -> a -> a 07:26:32 > (appEndo . Data.Foldable.foldMap Endo) (repeat ('a':)) undefined 07:26:35 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 07:26:46 ok it folds the right way 07:27:12 (worst implementation of fix ever?) 07:27:33 -!- oerjan has quit (Quit: Later). 07:28:28 *Main> runSym (max (9::Symbolic Int) (head (enumFrom 0))) 07:28:28 max 9 (enumFrom 0) 07:28:37 olsner: i like the kind of bugs this is going to create 07:31:58 > let fix' :: (a -> a) -> a; fix' f = (appEndo . Data.Foldable.foldMap Endo) (f:repeat' f) undefined; repeat' x = fix' (x:) in fix' ('a':) 07:32:00 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... 07:35:33 *Main> runSym (lift (lift True == lift False) == lift True) 07:35:33 (True == False) == True 07:35:35 wow, that actually works 07:35:41 -!- Sgeo has quit (Read error: Connection reset by peer). 07:36:40 -!- wareya has joined. 07:39:29 eugh, "demonstrating the power of Racket by writing Brainfuck Compiler in it." ... since when does compiling brainfuck provide some indication of "power"? 07:41:27 xD 07:41:44 olsner: i think they mean "im going to use a bf compiler to demonstate fancy features of racket" 07:41:45 but lol 07:42:21 ahaha, the article opens with "If people say that Racket is just a Scheme, they are short-selling Racket a little." ... this thing looks exactly like scheme 07:43:09 that is actually true, though 07:43:22 Racket is a family/environment of languages, not a language 07:43:30 and indeed the main Racket language is very, very different from Scheme 07:43:42 (yes, it's mostly compatible with Scheme, but idiomatic Racket looks nothing like idiomatic Scheme) 07:45:41 aha, ok, the point is that they integrate it as a #lang translator/parser thingy for running brainfuck with Racket 07:45:58 maybe that explains the huge amount of code they need 07:46:10 * elliott looks 07:46:10 *he needs 07:46:13 it's not much code, really 07:46:19 most of it is just boilerplate that is only being used to demonstrate, it seems 07:46:27 i.e. for any language that wasn't bf, you'd actually want it :) 07:46:49 not golfed => bloated 07:47:08 olsner: hi person who uses C in their bloated kernel 07:47:45 hehe, I don't use any C though 07:47:59 i thought you were going to 07:50:09 -!- monqy has quit (Quit: hello). 07:51:39 dunno, maybe, making linker scripts and stuff to do the right thing turned out to be more difficult and more boring than I thought... so I might not do C at all until I make an ELF loader 07:54:17 olsner: carpenters 08:04:36 olsner....hes got the carpenting but he doesnt realise 08:10:01 -!- elliott has quit (Ping timeout: 258 seconds). 08:22:36 -!- cheater_ has quit (*.net *.split). 08:22:37 -!- Patashu has quit (*.net *.split). 08:26:01 -!- cheater_ has joined. 08:26:01 -!- Patashu has joined. 08:29:11 -!- cheater_ has quit (*.net *.split). 08:29:11 -!- Patashu has quit (*.net *.split). 08:34:50 -!- cheater_ has joined. 08:34:51 -!- Patashu has joined. 09:25:27 -!- Vorpal has joined. 10:23:10 -!- Phantom_Hoover has joined. 10:23:36 asdf 10:23:36 Phantom_Hoover: You have 4 new messages. '/msg lambdabot @messages' to read them. 10:25:00 -!- PatashuPikachuRe has joined. 10:27:37 -!- Patashu has quit (Ping timeout: 252 seconds). 10:33:39 -!- FireFly has joined. 10:35:31 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:36:28 -!- Phantom_Hoover has joined. 10:40:55 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 10:41:23 -!- Phantom_Hoover has joined. 10:44:14 -!- pikhq has joined. 10:44:57 -!- pikhq_ has quit (Ping timeout: 276 seconds). 10:45:09 -!- BeholdMyGlory has joined. 11:00:53 yeah, so mueval gives a not a number exception when I call fromEnum on Char.. 11:01:26 makes no sense at all. 11:21:34 -!- PatashuPikachuRe has quit (Ping timeout: 246 seconds). 11:25:10 -!- Patashu has joined. 11:38:12 http://www.reddit.com/r/askscience/comments/i1txy/askscience_what_programming_language_do_you_use/ 11:38:16 Why 11:52:00 -!- Phantom__Hoover has joined. 11:56:38 -!- Patashu has quit (Read error: Connection reset by peer). 11:57:09 -!- Patashu has joined. 11:57:28 -!- Phantom__Hoover has quit (Quit: Leaving). 12:06:19 Phantom_Hoover: why not 12:06:38 augur, seemed like a weird question. Dunno why. 12:06:52 have you SEEN the questions people ask in there? 12:07:16 FSVO "weird". 12:13:12 honestly some of the askscience questions are so inane 12:13:16 shit like 12:13:38 how would an antimatter bomb have to be to kill all life on earth if it was on the edge of the observable universe 12:14:02 learn to multiply you shithead and stop asking that kind of crap here 12:14:18 The vague ones and the ones which would take 10 seconds of Google are the worst. 12:14:34 well its not like you could google for this 12:14:38 but you could google for the parameters 12:14:51 and all it requires is a little knowledge to figure out 12:15:01 meanwhile i ask deep hard questions and get fuck all :( 12:15:14 "Are there any negative ramifications of collecting solar power? (self.askscience)" 12:15:20 That's the kind of thing I'm talking about. 12:15:22 why does noone know about chaitin-kologorov complexity? 12:15:32 Also, is that really science? 12:15:38 what 12:15:41 c-k complexity? 12:15:42 I would classify it as maths. 12:15:50 close enough 12:16:03 i dont think theres an askmath 12:21:21 math-asked 12:30:08 I don't think ask math would be as popular 12:31:21 probably not 12:31:30 except for students who want help 12:31:35 yeah 12:32:07 there's mathoverflow 12:32:12 full of trolls tho 12:32:19 http://www.reddit.com/r/cheatatmathhomework/ 12:32:23 also i cant understand this but 12:32:25 how do you troll math? 12:32:38 give it a go and you'll see 12:32:39 'pi is 4 in taxicab geometry' 'FUUUUUUUUUUUU' 12:32:44 /r/math's links are half to tinyurl even tho they're reddit internal 12:33:45 'only numbers that you can compute exist' 'FUUUUUUUUUUUU' 12:36:30 actually it's 2sqrt2 12:37:04 it's 4 in |x|_inf geometry 12:40:52 no 12:41:29 the circumference of a L_1 circle is definitely 8 12:42:18 er, rather, circle on a grid 12:42:25 interesting that the term 2 pi r still is valid 12:42:46 i suppose its almost definitional but 12:43:20 i wonder if in principle c = 2 pi r could be the incorrect equation for some geometries 12:44:42 nope. pi will always be defined at the length of a unit semicircle 12:44:48 in any geometry 12:44:49 pi is defined to be the ratio between diameter and circumference 12:44:51 so it always worsk 12:44:58 that too 12:45:05 it's a self fulfilling prophecy 12:45:36 well 12:45:44 in any sane geometry 12:46:17 one can imagine insane geometries where the circumference of a circle does not vary linearly with the radius i bet 12:46:31 but calling it a 12:46:42 "circle" is questionable then 12:47:06 circle's the locus of all points equally distant from a point 12:47:09 works for any geometry 12:49:04 what about a geometry where that describes the entirety of space 12:49:20 aka, a single point 12:49:42 that can have any name 12:49:58 so all points are equally distant from all other points 12:50:04 quintopia: right but i mean, could it be possible that the length of a unit semi-circle is not d/c 12:50:29 we need to come up with something like that if it exists 12:54:58 (note that saying it exists is the same as saying circumference does not vary linearly with radius) 12:58:00 quintopia: in that geometry 12:58:19 but wouldnt that be true in, say, a parabolic geometry? 12:58:55 or a cylinder capped with a sphere? 12:59:00 well, hemisphere 12:59:19 where the circumference would increase up to a point 12:59:22 and then stay constant 12:59:32 if the circle were centered on the pole of the hemisphere 13:00:39 yes, there is a space in which circles would not have a constant pi 13:07:13 -!- MigoMipo has joined. 13:09:35 perhaps we should confine ourselves to geometries in which circles with different radii are distinct 13:09:46 that seems the more interesting case 13:19:31 In my space, pi is the rectangle function. 13:20:09 this leads to circles disappearing when they're not within a set of cycling ranges. 13:21:27 rectangle function? 13:21:41 aka unit pulse. 13:22:38 as a function of radius i suppose? 13:22:59 yep. 13:23:08 pi(r)r 13:23:16 ^2, even 13:24:24 pulse functions are used in music synthesis a lot because they contain infinitely many harmonics. 13:25:03 which makes them ideal for subtractive synthesis. Applying filters to a pulse wave lets you "sculpt" different timbres. 13:25:25 indeed, one-bit music and one-bit symphony consist entirely of square waves 13:25:38 lol... one-bit music? 13:25:55 one bit per channel 13:26:02 per sample 13:26:23 everything would have a constant amplitude... 13:26:28 of 1... 13:26:37 or .5 even 13:26:47 depending on how you measure these things. 13:26:48 sure 13:27:22 but perceived loudness is not a linear function of amplitude 13:27:28 indeed not. 13:27:30 in fact, it's a very complicated function 13:27:45 but it's hard to vary amplitude at all when you only have two values. 13:27:48 that's what I'm saying. 13:28:06 well, it's not only hard, it's impossible 13:28:15 ....well, yes.. that's what I was going for. 13:28:16 but perceived loudness you can play with if you're good 13:28:25 I suppose it would rely on frequencies then. 13:29:07 mmm 13:29:27 http://en.wikipedia.org/wiki/File:Perceived_Human_Hearing.png 13:31:37 i've seen that 13:31:48 tha's the average threshold for pure tones 13:32:16 I think it's an equal-loudness contour. I don't think that's the same thing as threshold. 13:32:29 well 13:32:33 i've seen the full version 13:32:37 ah. 13:32:55 which has a lot of equal loudness contours, including the threshold, for pure tones 13:32:59 http://en.wikipedia.org/wiki/File:Lindos1.svg 13:32:59 this 13:33:17 I assume it applies spectrally as well. But that's probably not entirely accurate. 13:33:25 meaning that it applies to the pure tones in a complex tone. 13:33:52 but i'm certain that perceived loudness is far more a function of timbre than frequency 13:34:14 well yes, frequencies of the spectral components, not the pitch of the note played. 13:34:43 which is to say, even if two sounds were equal in total amplitude, the complex one might sound louder than the pure one 13:35:01 indeed. 13:35:12 *equal in summed perceived loudness over spectral components 13:35:53 I've always wanted to play around with granular synthesis. It generates some pretty rich timbres. 13:36:47 i have played aroud with it 13:37:17 btw i love that little bump on the contours right at the center of the human voice frequency range 13:37:54 oh, yeah. I didn't realize that's what that was. 13:38:11 that's certainly interesting. psychoacoustics in general is interesting. 13:38:30 Most of what I know about it I learned from "Computer Music: Synthesis, Composition, and Performance" 13:38:55 a good book to learn about signal processing in relation to music. 13:39:12 to be sure, i think it's exactly the frequency of a baby's crying :P 13:41:08 most of what i know about it i learned in electronic music history and computer music composition class 13:41:19 that sounds like an awesome class... 13:41:24 I don't think any school I've ever been to has that. 13:41:57 I wonder what purpose the second bump serves, in the higher ranges. 13:46:40 it serves to make applause a painful thing to hear 13:47:18 actually i'm reading this upside-down 13:47:46 what that says is that higher frequencies are suppressed and harder to hear 13:48:13 and that there is a bump in the middle of the human vocal range that is harder to hear 13:49:13 possibly to make it easier to tune out annoying children on airplanes 13:49:21 :P 13:52:11 haha 13:52:17 yeah we were both reading it the wrong way 13:52:44 lower frequencies are much harder to hear that, at a certain point. 13:52:58 presumably because they're so funky fresh. 13:53:03 chaitin-kolmogorov complexity. :T 13:59:23 three body problem. 13:59:46 -!- Sgeo_ has joined. 13:59:48 -!- Sgeo has joined. 14:00:03 http://en.wikipedia.org/wiki/Belt_(music) anatomy is hard 14:00:09 -!- Sgeo_ has quit (Client Quit). 14:06:43 talking to stupid people is hard. 14:06:51 I will have to do a lot of this today. 14:09:22 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:09:37 i sawwy 14:38:44 -!- copumpkin has joined. 14:47:14 -!- oerjan has joined. 14:51:47 yeah, so mueval gives a not a number exception when I call fromEnum on Char.. 14:51:55 wat. 14:52:01 what command does that? 15:00:49 -!- zzo38 has joined. 15:01:10 -!- Vorpal has quit (Ping timeout: 250 seconds). 15:01:24 Do you know what happened stupid today? 15:01:51 people all over the world did tons of stupid things today 15:01:56 Yes. 15:02:03 is it a newsworthy event or something that happened to you 15:02:06 But not what I am refering to. 15:02:19 I was helping someone with Yahoo! Mail. 15:02:32 It switched the new one there seems no way to switch back. 15:02:40 The new one doesn't even work properly. 15:03:36 But I managed to fix it by setting the general.useragent.override option on their computer temporarily and then it displayed a message "Your browser does not support Yahoo! Mail. * Switch to classic temporarily * Switch to classic permanently" 15:03:47 ha 15:04:14 So I pushed "* Switch to classic permanently" and then removed the general.useragent.override option and that fixed it. Now all the messages are available again. 15:04:48 But it seems Yahoo! acting stupid trying to force everyone to use the new one 15:09:57 -!- dell has joined. 15:10:12 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:10:18 -!- dell has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:10:28 -!- dell has left ("Leaving"). 15:10:35 huh 15:11:06 did anything change at all? 15:11:34 It doesn't seem different to me than how it was before. 15:11:48 I don't know what that was 15:13:45 What was the purpose of whatever just happened? 15:14:05 i don't know 15:15:17 i bet it changed something after the maximum topic length and then removed it 15:15:27 hm 15:16:43 i don't think our topic is anywhere near the maximum 15:17:17 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa. 15:17:55 -!- oerjan has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:18:48 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:20:09 maybe it put a lot of spaces before whatever it changed :P 15:21:19 -!- zzo38 has set topic: Rule #1: Follow all rules. Rule #2: Ignore all rules 2*x where x is any integer greater than 1. ... Rule $n$: Ignore all rules $n$*x where x is any integer greater than 1. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 16:28:15 The value of pi is the same regardless of the diameter of circles 16:30:24 augur, that /r/askscience question about families of laws puts me in mind of Dedekind cuts for some reason. 16:32:57 "Haskell is way easier to optimize than C" 16:33:03 "Haskell is way easier to optimize than C"? 16:33:42 "Haskell is way easier to optimize than C"? I looked at LLVM and really it looks like the features of the LLVM make it possible to optimize in many ways (but probably some ways are not implemented yet) 16:39:17 When looking at LLVM it seems like there is some things missing. 16:52:56 zzo38, WRONG! read up on geometric defect. 16:58:04 What is geometric defect? 17:01:05 Phantom_Hoover, what question? Link? 17:07:25 -!- monqy has joined. 17:07:41 -!- oerjan has quit (*.net *.split). 17:07:41 -!- pikhq has quit (*.net *.split). 17:07:41 -!- FireFly has quit (*.net *.split). 17:07:41 -!- cheater_ has quit (*.net *.split). 17:08:21 -!- pikhq has joined. 17:08:21 -!- FireFly has joined. 17:08:45 -!- Vorpal has joined. 17:09:04 -!- pikhq_ has joined. 17:09:08 -!- pikhq has quit (Ping timeout: 252 seconds). 17:14:03 -!- FireFly has quit (*.net *.split). 17:26:45 -!- TOGoS has joined. 17:26:50 -!- TOGoS has left. 17:27:43 -!- FireFly has joined. 17:29:07 Sgeo, clicked away now; it's in his submission history, near the top. 17:29:26 his? 17:29:40 As in, yours? 17:30:42 Or "the"? 17:30:47 * Sgeo is confused 17:31:07 * Phantom_Hoover is metaconfused. 17:33:33 http://www.reddit.com/r/askscience/comments/he5fv/what_do_magnetic_field_lines_actually_represent/ whoever was replying to you deleted their comments :( 17:43:25 -!- dell has joined. 17:43:37 Yeah, can't remember why. 17:43:49 Who is this dell fellow 17:44:01 * Sgeo listens to all of Homestuck Vol. N albums 17:45:04 i think that if a high level language is to converted to a brainfuck code then the best method is to convert the HLL code into a bytecode(resembling asm like code) and after that the task would become easy 17:46:31 what do you think about it 17:46:33 ? 17:48:24 -!- Kustas has joined. 17:48:38 i am thinking to start a project which will convert python like language code to bf 17:48:41 I know that there's a C-2-BF converter 17:48:52 And a weird language called bfc 17:48:54 -!- Kustas has left. 17:49:12 bfc uses an intermediate bytecode language, not sure about C-2-BF 17:49:20 dell, if you'll find it fun, go for it! 17:49:33 i will have to peep into the code of C-2-Bf how does it do 17:49:46 Sgea:sure! 17:49:48 I have no idea 17:50:08 about what 17:50:18 How C2BF does 17:50:19 http://esolangs.org/wiki/C2BF 17:52:18 this will be of much help 17:52:30 BRB 17:54:09 I wonder,if, there might be some LLVM into Brainfuck compiler? I know there is a Brainfuck into LLVM compiler (it is included in the source code repository for LLVM)! 17:54:44 low level v machine 17:54:45 ? 17:54:47 Probably it would be more difficult than making Brainfuck into LLVM 17:55:11 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:56:14 you mean llvm assembly language? 17:56:52 There is already a program compiling Brainfuck to LLVM. 17:57:24 http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/ 17:57:44 brainfuck to any language is pretty easy things gets messy when its the reverse 17:57:54 i made a bf to c compiler in 10 minutes 17:57:58 its very easy 17:58:42 Yes it is very easy to convert brainfuck into other codes, although doing optimiziation is a bit more difficult. 17:59:55 How well will LLVM optimize the code converted using the "BrainF" into LLVM? 18:01:10 -!- Phantom_Hoover has joined. 18:03:48 dell: Doing it efficiently is hard. 18:04:52 not hard tooo hard 18:08:50 -!- pingveno has quit (Ping timeout: 258 seconds). 18:10:46 -!- pingveno has joined. 18:12:20 -!- azaq23 has joined. 18:14:59 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:22:49 -!- monqy has quit (Quit: hello). 18:23:08 Why does Homestuck Vol. 3 put remixes right next to the originals? 18:23:35 -!- Phantom_Hoover has joined. 18:25:12 -!- dell has quit (Quit: Leaving). 18:28:00 -!- monqy has joined. 18:50:36 -!- jix has quit (Ping timeout: 260 seconds). 18:50:40 -!- jix has joined. 18:51:33 -!- iamcal has quit (Ping timeout: 246 seconds). 18:51:39 -!- iamcal has joined. 18:58:03 * Phantom_Hoover tires of juggling his Google accounts. 18:58:26 -!- iamcal has quit (Read error: Operation timed out). 18:58:30 -!- iamcal has joined. 19:24:33 -!- pikhq_ has quit (Ping timeout: 244 seconds). 19:24:49 -!- pikhq has joined. 19:25:14 How much money would you have to pay them to release the ADOM source codes? One million dollars? One billion dollars? One trillion dollars? One *ZILLION* dollars? 19:36:08 one zillion is a lot of dollars 19:38:59 -!- cheater_ has joined. 19:41:46 -!- atrapado has joined. 20:25:14 http://wiki.eth-0.nl/index.php/LackRack this is wonderful 20:26:14 Want one. 20:29:24 good news! it's only like €5! 20:29:57 probably less in sweden (though i suppose it'd be in SKK) 20:34:27 why would ikea take slovak money in sweden? they don't even use it in slovakia anymore 20:51:40 what's the designation for swedish kronur? 20:51:57 SVK? 20:53:01 Play Pokemon card. The opponent manages to pick up five side cards but runs out of cards before being able to pick up the sixth side card, therefore losing. 20:59:55 -!- wareya has quit (Ping timeout: 252 seconds). 21:00:35 -!- azaq23 has quit (Quit: Leaving.). 21:04:47 -!- teuchter has quit (Ping timeout: 258 seconds). 21:09:47 quintopia: SEK 21:10:40 Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to. 21:11:46 -!- TOGoS has joined. 21:11:50 -!- TOGoS has left. 21:12:16 *Admittedly*, given the present economic instability, it's understandable that nobody wants to dick with their currency at present. 21:14:57 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:16:12 zzo38, that's uncommon? 21:16:33 When playing Magic the Gathering, I've won more than once with very little life, or even 1 life left. 21:17:13 In the Pokemon TCG, such things seem even more likely with two decks around the same level facing each other. 21:18:03 -!- pikhq_ has joined. 21:19:15 -!- pikhq has quit (Ping timeout: 244 seconds). 21:20:24 Gregor: when did my little pony become so popular in youtube poopyness? 21:21:49 -!- wareya has joined. 21:22:36 Lymia: When I play it is not uncommon. Nothing to do with levels or with the deck, really. Really it is the opponent who is making bad choices. Such as, they might be unable to retreat. And if I don't attack, then they will not ever put another card up until it is too late. 21:22:52 I've heard that the latest My Little Pony cartoon is very very good. 21:23:20 zzo38, wait. 21:23:23 Runs out of deck cards? 21:23:29 Lymia: Yes. 21:23:33 Ah. 21:24:12 Usually when I see that happening, it's in Magic the Gathering, and it's quite intentionally caused. 21:24:43 quintopia: Probably about the time that My Little Pony became popular amongst 20-something males. 21:24:53 Man. Brazil borders France. 21:24:57 That is, at the beginning, you can attack and attach energies and prepare. In middle, just resist opponent and prevent them from retreating (such as by not attacking). Near the end, just do nothing. Usually the reason is due to opponent playing stupid. 21:25:01 which was when? 21:25:17 zzo38, I'm not too familiar with the Pokemon TCG 21:25:19 quintopia: At most like a year ago? 21:25:26 hmm 21:25:27 I know the basic idea behind the rules, but not much else. 21:25:42 I'd love to pull out the big pile of cards I had from who knows when and bring it to my school. 21:25:52 -!- atrapado has quit (Quit: FIN). 21:25:54 "Let's figure out this game, and then beat the crap out of each other in it!" 21:26:06 Apparently the latest cartoon has a writer that gives a fuck, which probably is a major factor. :P 21:26:15 I assume Zerg Rush does not work in Pokemon 21:26:34 pikhq_, hmm.. 21:26:44 Lymia: You aren't familiar? I play both Pokemon and Magic. However, I don't know what Zerg Rush is. 21:26:45 Those demographics sound suspiciously like those of magical girl anime. 21:26:54 zzo38, Starcraft term. 21:27:09 Lymia: Gaaah, that genre. 21:27:28 I don't know about Starcraft. What is Zerg Rush? 21:27:35 zzo38, what the zergs do. 21:27:51 In case you can't tell, I am not a fan. 21:27:52 In Magic, I do believe White Weenie is quite close in execution. 21:28:00 pikhq_, it is quite clear. 21:28:09 Fans are inanimate objects, and cannot use IRC. 21:28:40 When I do play Pokemon TCG, I have adapted it to Limited format, as well as modifying a few of the rules for who goes first and for ties and a few other rules. 21:28:40 Lymia: However, they can kill people in the Republic of Korea. 21:28:50 pikhq_, oh. 21:28:52 :( 21:28:59 :P 21:29:29 I still have more than one anime left on my list of "things to watch" 21:29:38 Such as, the number of cards in your deck can be any number as long as it is a multiple of ten and both players must have the same number of cards in their deck, and the number of initial side cards (also same for both players) is one tenth of your deck. 21:29:43 Several of these are magical girl anime. I think you wouldn't like this very much. 21:29:59 Not generally. 21:30:19 zzo38, dunno Pokemon that much. 21:30:31 I assume "mill" and "stall" are not valid strategies? 21:30:36 I use the old rules rather than the new ones in general, with changes. 21:30:45 (Well, the second might actually work) 21:31:43 Lymia: Mill and stall are possible in Pokemon but more difficult to do. Mill is difficult but there is one card that can help you to do it. Stall is easier but still requires some tactics and things to consider. 21:32:54 I also use the rule that whoever has the active card with the lower level at the beginning of the game (Clefairy Doll is treated as zero) plays first, if they are not the same level. 21:33:40 I prefer to use the rules as written, and respond to unfun decks with even more unfun decks. 21:34:33 And for coin tosses, you can do Rock-Paper-Scissors; whoever win RPS is heads (whether they want it or not, but usually you do want heads); stalemates you try again. In case of tie, if it is during an attack, the attacker loses; otherwise it is a tie, and the tie stands (no sudden deathmatch). 21:35:42 Lymia: I have adapted it to Limited so that it is not a Constructed game, which means that deck construction is somewhat less important (you cannot bring your own cards). 21:35:58 zzo38, no fun. 21:36:19 One of my friends uses Earthcraft+Squirrel Farm for infinite tokens. 21:36:29 It's not exactly fair. 21:36:35 It is funny and fun. 21:38:02 -!- pumafyre has joined. 21:38:21 Lymia: Why do you think no fun? I prefer Limited play rather than Constructed. 21:38:46 (In fact I do not own any cards, so I am unable to play Constructed anyways.) 21:39:10 zzo38, because you can make decks centered around completely insane ideas. 21:41:33 -!- pumafyre has quit (Client Quit). 21:42:17 -!- pumafyre has joined. 21:42:50 (Actually I do have a few Magic: the Gathering cards, because you get to keep the cards you draft. I would prefer if the original owner (the store) kept them; even in ante I think all cards should be returned after the match.) 21:44:33 (And to allow some cards such as "Double Cross" (from Unglued) but they can only affect the current match. *Nothing* you do should affect any game outside of the current match, and any cards you purchase or whatever else you do before the match also should not affect the current match.) 21:57:17 hello 21:59:09 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting). 22:03:33 -!- pikhq has joined. 22:04:17 -!- pikhq_ has quit (Ping timeout: 240 seconds). 22:08:57 -!- sebbu has joined. 22:08:58 -!- sebbu has quit (Changing host). 22:08:58 -!- sebbu has joined. 22:12:08 -!- sebbu2 has quit (Ping timeout: 255 seconds). 22:14:44 -!- elliott has joined. 22:14:44 -!- elliott has quit (Changing host). 22:14:44 -!- elliott has joined. 22:17:19 Phantom_Hoover: 22:17:19 elliott: You have 4 new messages. '/msg lambdabot @messages' to read them. 22:17:21 oops 22:17:31 that'll teach me to type p 22:26:03 elliott: carpenters? 22:26:10 olsner: yes. 22:26:25 I still don't get it 22:26:58 EgoBot, 22:27:07 elliott, see, that's how you do it. 22:27:13 Type in the first letter, hold tab, press enter when ready. 22:27:25 EgoBot: 22:27:30 i got the same one 22:27:52 elliott, 22:28:10 I was hoping it would be EgoBot. 22:28:46 -!- SimonRC has quit (Ping timeout: 260 seconds). 22:29:15 so, the icfp programming contest has started now 22:29:32 ICFP? 22:30:06 olsner: wasn't there an icfp irc channel? 22:30:39 there probably is 22:33:37 http://www.guardian.co.uk/commentisfree/libertycentral/2011/jun/17/library-censoring-internet-hexham 22:33:43 Hexham: exactly the same as China. 22:46:29 -!- SimonRC has joined. 22:46:59 -!- pikhq_ has joined. 22:47:14 elliott: Working on implementing the changes you suggested a while back. 22:47:19 Holy frak this makes things cleaner. 22:48:41 ALL IT NEEDS NOW IS TO BE WRITTEN IN HASKELL 22:49:31 elliott: Call me up when Haskell has a reasonable chance of even working on all architectures supported by Debian. :P 22:49:51 elliott, it is indeed grim up North. 22:50:12 pikhq: HUGS 22:50:14 Until you get a bit more north, when suddenly it becomes Scotland and it's quite pleasant. 22:50:21 -!- pikhq has quit (Ping timeout: 260 seconds). 22:58:12 -!- pumafyre has joined. 23:00:46 how many fires in the pumas pumafyre 23:01:24 * Lymia hugs elliott 23:01:28 DId you summon me? 23:01:29 Did* 23:01:30 what 23:08:20 -!- elliott has quit (Remote host closed the connection). 23:08:23 -!- elliott_ has joined. 23:08:33 -!- elliott_ has quit (Client Quit). 23:08:33 i like that Lymia randomly hugs people hear. i feel like some of the people here don't get enough hugs 23:08:52 Where is hear? 23:09:37 it's a typo that i saw but was too lazy to comment on figuring everyone would get the point 23:09:42 -!- pumafyre has quit (Quit: AndroidIrc Disconnecting). 23:12:52 -!- elliott has joined. 23:19:46 Bleck, I keep getting tempted to just add a custom object system to this sucker. 23:20:10 And it'd be much saner to just pull in one instead. 23:20:31 But I'd really prefer to not have non-trivial dependencies. 23:22:10 then pull it in completely and make it your own :) 23:22:35 And ideally I could use a fairly small-footprint Tcl for this. I.E. one that's not going to provide the various Tcl 8.5 features I've been making extensive use of. :/ 23:25:01 Though, Tcl 8.5 should be fairly portable. 23:29:20 Meh, I can probably rely on Tcllib. 23:30:40 -!- Patashu has joined. 23:31:05 Okay, yeah, the official distribution works on WinNT, OS X, *-linux-gnu, Solaris, HP-UX, AIX, *BSD, OpenVMS, IRIX, OSF, SCO Unix, and UnixWare. 23:31:52 I don't think I need to concern myself with depending on Tcl 8.5 or pure Tcl libraries. 23:33:49 -!- foocraft has joined. 23:36:38 How do you play "Went"? Is that similar to "Go"? 23:36:54 Or is just the stones similar except that it is magnetic? 23:47:55 you need time travel to play Went 23:57:38 quintopia, linky? 23:59:34 Good design is hard. 23:59:55 pikhq_: I wouldn't bother making a generic object system yet. 2011-06-18: 00:00:19 elliott: Good design is still hard. :P 00:01:55 -!- pikhq has joined. 00:04:36 -!- pikhq_ has quit (Ping timeout: 240 seconds). 00:06:39 -!- pikhq_ has joined. 00:09:36 -!- pikhq has quit (Read error: Operation timed out). 00:22:05 * Phantom_Hoover → sleep 00:22:07 -!- Phantom_Hoover has left ("Leaving"). 00:22:09 -!- Phantom_Hoover has quit (Quit: Leaving). 00:36:05 Is there any sane way to test for ISO C89? 00:36:12 -!- Vorpal has quit (Ping timeout: 250 seconds). 00:36:32 Feh, I suppose #if __STDC__ will do well enough. 00:39:01 Going to start reading the Less Wrong Quantum Mechanics sequence 00:40:11 if you die from an overdo- 00:40:15 wait what that wasn't even a tylenol line 00:41:05 All my Tylenol lines are now in a msg to myself, and I'll /nick to Sgeo first. ais523 being bothered by it bothered me. 00:42:34 So what you're saying is... ais523 has the power to control your messages to the channel? 00:50:34 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:06:38 -!- FireFly has quit (Quit: swatted to death). 01:24:23 http://lesswrong.com/lw/or/joy_in_the_merely_real/iuj?context=1#iuj I'm not sure which is stupider, the comment or the reply 01:49:50 Play chess against an opponent. You are white. Assign a permanent to each opponents piece, then opponent assigns a permanent to each of your pieces. Each piece must have a different permanent assigned to it. When a piece is captured, associated permanent is discarded. At end of chess game, if it ended in checkmate, permanent assigned to losers king is discarded. 01:52:16 -!- pikhq has joined. 01:54:18 You can test for both __STDC__ and __STDC_VERSION__ if you want C89. 01:54:36 -!- pikhq_ has quit (Ping timeout: 240 seconds). 01:54:47 sgeo: I love the reply 01:56:08 And if you want to avoid GNU89 then you can test for that too in some way. 01:56:37 zzo38: Fail. __STDC_VERSION__ was first added in C90. 01:56:58 pikhq: You can compare the value of __STDC_VERSION__ 01:57:09 __STDC_VERSION__ does not exist in C89. 01:57:14 So, no you can't. 01:57:17 Then test it with #ifdef 01:57:29 ... Oh, wait, yes you can. The preprocessor treats undefined macros as "0". 01:58:14 Of course, testing for __STDC_VERSION__ won't help much when what you want is more of "at least C89" rather than "is precisely C89". :P 01:58:36 O, I thought you wanted to test for "is precisely C89". 01:59:18 At least as far as I understand, C99's additions are all undefined behavior in C89, so if you actually get caught by those then you're just doing things wrong. 01:59:49 And I have no desire to help people do things wrong. 01:59:55 No, there are some new reserved words, I think. 02:01:13 Oh, sure enough, C99 is not a strict superset of C89. :/ 02:02:52 So, I should probably make a "c89" test which makes sure that what you have is precisely C89 (or C90, as its only real distinction *is* __STDC_VERSION__), and a "c" test which just tests for __STDC__. (I shall pretend K&R C does not exist) 02:04:04 Perhaps first I should get town to actually generate Tupfiles again, though. :P 02:07:56 -!- oerjan has joined. 02:10:47 OK. That can help. 02:12:02 http://i51.tinypic.com/350uuc5.png 02:12:04 Critical success. 02:12:16 And perhaps also "gnu89" to use the "gnu89" version (Clang also supports "gnu89" mode). 02:13:40 Lymia: What is that, anyways? What does the stuff on the screen means? 02:14:26 Also, I wonder why Sweden isn't on the Euro; it's treaty-bound to. 02:15:23 afaiu they are using technicalities to delay it until they actually want to, and no one wants to push them too hard? 02:24:54 Some of the GNU extensions that Clang does not support are ones that I don't think they even ought to have put in gcc anyways; they like to make GNU software too large in my opinion 02:25:27 zzo38: try -fheinous-gnu-extensions 02:29:33 oerjan: I was asking for "why" not "how". 02:30:04 oerjan: "How" is pretty obvious; "exploit loopholes and watch as the EU doesn't care enough to call them on it". 02:30:20 coppro: What is that? 02:30:41 zzo38: an excellent clang flag 02:30:53 -!- BeholdMyGlory has quit (Remote host closed the connection). 02:30:55 mhm 02:31:39 coppro: What does it do? 02:34:28 zzo38: exactly what it says on the tin 02:34:44 zzo38: I think for GNU extensions I'll probably just have checks for individual GCC extensions. 02:35:05 pikhq: OK, do that, if it is how you want to do that. 02:36:16 -!- copumpkin has joined. 02:37:27 (as it's entirely feasible to use each and every GCC extension from -std=c89 or -std=c99) 02:40:09 Although perhaps it might be useful to have a macro called "gnu89" which tests for all the GNU extensions except the ones that are intentionally not supported in Clang. 02:42:16 (And "gnu99" for the similar thing) 02:48:34 pikhq: Did you finish reimplementing MY REFORM yet? :p 02:48:40 elliott: No. 02:48:45 WORK FASTER 02:49:01 elliott: I've been doing much more thinking about it than actual doing. 02:49:16 leave the thinking to me 02:52:10 __attribute__ is such a misfeature. 02:52:56 Actually, all of GNU C's extensions are misfeatures, because they make it so damned hard to use portably. 02:53:21 They don't have preprocessor defines for each feature, it's all on __GNUC__. 02:54:19 So you can't do, say, #if __has_attribute((foo)). 02:55:30 Well. If it ignores unknown attributes, then if they were sane they could just make if #ifdef __attribute__... 02:56:22 But *no*. If any other compiler wants to actually support a single GNU C extension, they need to define __GNUC__ to make code actually use it. 02:56:43 And if GCC removes an extension, code breaks. 02:57:09 So. Fucking. Stupid. 02:58:09 Now, clang has the right idea. They have a preprocessor check for each and every one of their extensions. 02:58:37 does clang even have clang-specific extensions 02:58:55 Yes. 02:59:03 are they any good 02:59:14 Well, I think it's clang or OSX GCC extensions. 02:59:21 monqy: How do you feel about anonymous functions? 02:59:25 <3 03:00:09 Oh, there's also C++ function overloading in C; you need to use __attribute__((overloadable)) for it to work. 03:01:29 Oh, and some extra builtins. 03:02:55 And you can *actually test for these things* in clang. 03:04:14 __has_builtin, __has_feature, __has_extension, and __has_attribute. GCC really, really, really needs them. 03:04:20 And I need a time machine to make it happen. 03:07:44 *Main> runSym $ product [x,y,z] 03:07:44 ((1 * x) * y) * z 03:07:54 *Main> runSym $ product (map succ [x,y,z]) 03:07:54 ((1 * succ (x)) * succ (y)) * succ (z) 03:08:17 unfortunately it's not all smiles and happiness 03:08:19 *Main> runSym $ concat (map show [x,y,z]) 03:08:21 show (x) 03:08:38 what happened there 03:09:33 monqy: the whole system is based on exceptions 03:09:34 because 03:09:47 *Main> runSym $ product [x,y,z] == x+y 03:09:47 ((1 * x) * y) * z == x + y 03:09:49 (==) returns Bool 03:09:54 so you can't do symbolic stuff with it, usually 03:10:06 so instead, everything takes two arguments, runs them and catches special SymExceptions 03:10:12 which it then extracts the value out of 03:10:17 computes the symbolic expression result 03:10:18 and throws that 03:10:28 the problem is, functions which look at these arguments... trigger an exception 03:11:12 what a lovely hack 03:11:35 monqy: SINCERE OR NOT: a monqy special 03:13:46 http://www.youtube.com/watch?v=B5ZMDzh0EXQ 03:13:48 * pikhq WTFs 03:15:04 nice truck there 03:15:37 http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html this game looks fun 03:16:47 I have a foot-shooting list tell me of entries I don't have (they can be esoteric programming or not) 03:17:33 two shoot urself in the foot... become a gansgata 03:19:17 monqy: do you want to sign up to the zepto report, it is an irc-based reports of the most and most un- zepto of the land 03:19:20 99 dollars per square mile 03:19:53 what land is this 03:20:13 monqy: the inter - net land 03:22:46 and what's a square mile 03:23:03 -!- Kustas has joined. 03:23:22 monqy: u dont need two know... 03:23:34 clA$$IFIED INFORMATION 03:23:39 INFORMA$ION 03:23:59 informasion 03:24:56 -!- Kustas has left. 03:24:58 informinvasion 03:25:32 goodbye kustas 03:26:20 rip kustas 03:26:22 warrior of zepto 03:28:38 -!- elliott_ has joined. 03:28:39 -!- elliott has quit (Read error: Connection reset by peer). 03:35:45 -!- PatashuPikachuRe has joined. 03:36:17 PatashuPikachuRe: omg 03:36:18 -!- augur has quit (Remote host closed the connection). 03:36:19 ur a pokemons 03:37:29 -!- Patashu has quit (Ping timeout: 276 seconds). 03:38:43 God *damn*. 03:38:51 pikhq: wat 03:39:10 North Korea has... Defeated Hitler, in terms of awful concentration camps. 03:39:19 i liked it before the comma 03:39:36 -!- PatashuPikachuRe has changed nick to Patashu. 03:39:38 this keeps happening 03:39:48 Patashu: i told you about pokemen 03:39:49 etc. 03:40:29 imapokemons 03:40:35 not one but many 03:40:48 They have camps where generations are punished. By which I mean "you will be here your whole life. Your children will be born here and die here. Their children will be born here and die here. And so on." 03:41:54 for this game: http://www.icfpcontest.org/2011/06/task-description-contest-starts-now.html what would an example strategy look like? 03:41:57 I've never done lambda stuff before 03:42:44 characterising the problem of playing the game as "lambda stuff" seems to imply to me a gap in experience too large to articulate the answer... 03:42:49 (not that I know what a decent strategy would be myself) 03:42:55 (I'd have to actually try it to know that :P) 03:43:00 :) 03:43:20 maybe you should verse yourself up in lambda stuff first 03:43:33 I can't believe there are programmers who don't know the lambda calculus :( 03:43:43 :'( 03:44:13 I have a foot-shooting list of "HOW TO SHOOT YOURSELF FOOT BY PROGRAMMING LANGUAGES". 03:44:35 I can see that if you're setting up a huge fuck-the-opponent-over function in a slot and your opponent gets it to 0 vitality then zombifies it 03:44:39 it'll activate and do the opposite 03:47:39 zzo38: such lists are _old_ 03:47:56 oerjan: nss 03:48:04 wat 03:48:29 oerjan: no shit sherlock 03:48:38 ?hoogle cata 03:48:38 No results found 03:49:36 where's the catas at 03:50:05 http://hackage.haskell.org/packages/archive/recursion-schemes/0.5.0.1/doc/html/Data-Functor-Foldable.html here dey are 03:50:10 look behind the zygohistomorphic prepromorphisms 03:51:10 oerjan: I know such lists are old but I have some new one too and want to add some new things if you have ideas. This can include new entries for programming languages that are already on there, entries for programming languages that are not on there, or entries for programming languages that did not exist at that time. It can be esoteric programming and/or not. 03:52:24 haskell: your program appears to prevent you from shooting yourself in the foot, until it suddenly runs unexpectedly out of memory 03:52:32 hmm, it's cataNat :: NatAlgebra a -> Nat -> a, right? 03:52:38 where type NatAlgebra a = (a, a -> a) 03:52:50 Thanks. That is one now I added it 03:53:12 yay 03:54:39 class Catamorphism a alg | a -> alg where 03:54:40 type Cata alg a 03:54:42 oerjan: spot the mistake 03:55:07 hm? 03:55:10 no idea 03:55:24 oerjan: hint: there are no typekinds 03:55:35 you supply the (type-level) _values_ 03:55:46 so for any input number, there is only one valid (a, a -> a) pair 03:55:52 making this totally meaningless 03:56:05 if you say so 03:56:12 oerjan: ARE YOU DOUBTING ME 03:56:34 no, i am just not even remembering what a catamorphism is, much less in the type system 03:56:45 generalised fold / induction / recursion scheme 03:57:03 IF YOU SAY SO 03:57:22 type NatAlg a = (a, a -> a); cataNat (x,f) Z = x; cataNat alg (S n) = f (cataNat alg n) 03:58:10 -!- augur has joined. 03:58:16 missing for f 03:58:21 *binding 03:59:11 oerjan: yeah yeah 03:59:13 alg@(x,f) 03:59:23 * pikhq wonders why in the world Firefox sometimes causes the system to swap like crazy with 0 swap space used. 03:59:37 I should note that yes, it's actually swapping. 03:59:51 kswapd is shown to be working like crazy in iotop. 04:00:01 It's because Firefox sucks TRUE STORIES BY REAL PEOPLE 04:00:14 it's swapping into your hidden NSA disk 04:00:16 True, but not a good explanation. 04:01:26 the disk contains a satellite link to ECHELON 04:01:41 using top secret neutrino transmission 04:07:49 oerjan im starting to think that maybe you cant embed everything in a nice type system library 04:07:54 CRY................. 04:08:06 mostly I hate how type families arent first class :( 04:11:15 Nested type family application 04:11:15 in the type family application: Succ :$ ((Add :$ m) :$ n) 04:11:15 (Use -XUndecidableInstances to permit this) 04:11:17 oerjan im creying 04:12:23 what you cannot nest them? 04:12:28 apparently 04:12:33 the type family rules are some strict bullshit mon 04:12:45 and what happens if you use -XUndecidableInstances 04:12:53 monqy: then..................a baby cries.... 04:12:57 and that baby grows up to be... jesus 04:13:00 and dies on the... cross 04:13:25 oh no 04:15:12 -!- oerjan has quit (Quit: Later). 04:16:22 data Map; data Map' f 04:16:22 type instance Map :$ f = Map' f 04:16:22 type instance Map' f :$ Nil = Nil 04:16:24 type instance Map' f :$ x :@ xs = (f :$ x) :@ (Map' f :$ xs) 04:17:51 Sgeo: yally is invading agora and trying to stop you preventing such evil 04:21:09 o.O 04:22:32 That does not look like an invasion. 04:22:35 But thank you. 04:25:22 oh god youre not actually going to object are you 04:25:30 i fucking hate quorum raisers who never do anything 04:25:32 oh you did 04:26:35 I should look up the quorum rules quickly 04:26:58 you should stop objecting to deregistrations of inactive people 04:27:00 even if those peoplre are you 04:27:30 Should quorum count inactive people? 04:27:51 why should constantly-inactive people be players? 04:27:54 the mechanism is there for a reason 04:28:48 -!- foocraft has quit (Quit: So long, and thanks for all the fish!). 04:29:46 Is quorum fixed at the start of voting period, or determined at end? 04:29:54 Either way, I'm going to sleep now 04:32:08 elliott_, *clap* *clap* *clap* 04:32:30 the mechanism still exists to be used, regardless of quorum rules 04:36:43 elliott_: I would vote for a mechanism to deregister players forcibly who have been inactive for long enough 04:37:16 coppro: it should be without objection from people who aren't the player 04:37:28 elliott_: or that 04:37:29 if someone is trying to exploit a lull in the game to become the dictator... 04:37:31 then that's no good 04:37:34 but yeah 04:37:38 people object to their deregistrations all the time 04:37:44 and its basically never justified 04:59:40 * pikhq gets really, really upset at the unused potential of the Super Gameboy. 05:00:59 Not only could you use the thing to stick SNES games on a Gameboy cartridge, you could use it to supplement the Gameboy game by drawing SNES sprites onto the screen. 05:01:20 There's precisely one example of either feature being used. 05:01:49 It's like Nintendo went "Fuck, let's design this totally awesome hardware and then NEVER USE ITS FEATURES". 05:05:28 pikhq: lolgameboy->console devices 05:05:51 coppro: Yeah, but the Super Gameboy actually did it right, as far as hardware is concerned. 05:06:07 -!- yorick has quit (Ping timeout: 252 seconds). 05:06:14 tbf I owned and enjoyed the game boy player 05:06:21 -!- elliott_ has quit (Read error: Connection reset by peer). 05:07:10 The Super Gameboy could have made Gameboy games look like native SNES games if the developers cared. 05:07:43 But no, they pretty much used it by adding a color pallete. 05:08:06 marginal effort 05:08:06 -!- yorick has joined. 05:08:11 Yup. 05:08:35 Even the Pokemon games did more with it than most. 05:08:55 also <3 Twilight Symphony 05:09:01 (simply by switching palletes for each area and having 3 palletes on screen in battles) 05:09:59 (in case you've not played Pokemon on a Super Gameboy or an emulator that emulates SGB palleting: the life bars each get their own palletes, and each Pokemon has its own pallete.) 05:10:33 (you can assign palletes to screen regions, with an 8x8 granularity) 05:12:20 Hmm. I think the Gameboy Player was *also* horribly underused... 05:13:25 At a minimum, the thing was capable of doing multiplayer in the normal way: with each player having their own controller. 05:14:01 Not to mention horribly underdesigned; it wouldn't have been hard to at *least* support SGB borders and palleting. 05:14:28 yeah 05:14:52 (by doing the same trick that Gameboy emulators do for that; watching writes to the appropriate register and emulating those two features only) 05:15:21 -!- Lymia has quit (Ping timeout: 246 seconds). 05:15:46 And I wouldn't be surprised if that multiplayer trick was pulled off by letting you execute PPC code. 05:16:30 Making it definitely underused. 05:18:20 the best was using it for download play off of another GCN game 05:18:24 like Crystal Chronicle 05:18:28 *Chronicle 05:18:43 ... Wouldn't that require two Gamecubes? 05:18:49 yes. yes it would 05:19:21 Actually, with Crystal Chronicles, that'd be 1+N Gamecubes, where N is the number of players. 05:19:25 I can't wait for the Wii U because two of my favorite GCN games were GBA-enabled ones 05:19:29 ayup 05:19:54 The Wii U only supports a single Wii U pad, BTW. 05:20:08 All other controllers must be Wiimotes, as far as I understand. 05:20:44 And it doesn't do Gamecube compatibility, which makes me kinda sad. 05:20:51 It wouldn't be hard to do. 05:21:10 The only non-trivial hardware change would be making the disc slot handle the smaller discs. 05:23:53 hrm 05:23:59 they better have multiple wii u pads 05:24:08 would be incredibly disappointed if not 05:24:21 possibly a development restriction? 05:24:37 A "streaming 480p over Bluetooth" restriction. 05:24:44 oh :/ 05:25:21 -!- elliott has joined. 05:25:39 tbh I'd be surpried if the king of multiplayer and proprietary lock-in was going to take such a weak technological restriction at face value 05:25:42 i always feel like overcomplicated software is deliberately antagonising me 05:26:23 coppro: I think they're using Bluetooth primarily as a cost-cutting measure. 05:26:45 05:24:37: A "streaming 480p over Bluetooth" restriction. 05:26:47 Remember, though they love doing proprietary tech, the one thing they love more is making cheap hardware. 05:26:48 pikhq: hmm, I suspect terrible compression 05:26:56 bluetooth is horrible 05:27:02 it's inadequate even for low-end headphones 05:27:29 Also, I'm not *sure* it's Bluetooth, I'm just guessing based on what I already know to be in the hardware. 05:27:49 (the Wii U *must* have Bluetooth, since that's what Wiimotes use) 05:29:19 "Important: Many numerical values in the pattern editor are in hexadecimal notation, not decimal 05:29:19 notation. If you would like to know more about HEX, please refer to the “About HEX” topic later in this 05:29:19 guide." 05:29:20 elliott: Bluetooth "High Speed", which is barely used, gets you 24 Mbps. Which is at least *adequate*. 05:29:22 i think renoise was designed by asking 05:29:34 "what are the most pointless, unintuitive elements of the tracker aesthetic?" 05:29:41 and maximising them in a new piece of software 05:33:36 pikhq: someone should bring a sniffer to a game conference 05:33:49 Definitely. 05:33:52 oh, renoise does samples in the stupidest way possible 05:33:59 you assign a sample to a particular note value 05:34:01 arbitrarily 05:34:07 i think 05:34:19 "Many values input into Renoise's pattern editor are hexadecimal (HEX). Because many beginners 05:34:19 have problems with this fundamental concept, we will address that here. 05:34:20 Most people are familiar with decimal because most people have 10 fingers. Instead, let's imagine we 05:34:22 have 16 fingers - which, conveniently enough, comes in very handy for many musical concepts ;-)" 05:34:24 oh my god are you actually going to try and teach me hex 05:34:34 loll 05:34:37 elliott: THAT IS AWFUL 05:34:43 so you have to type everything in hexadecimal 05:34:48 I JUST WANT TO MAKE SOME SICK BEATS STOP DOING HORRIBLE THINGS TO ME 05:34:55 <-- LITERALLY SOBBING 05:35:10 WHY ARE THE PAN AND DELAY COLUMNS IN HEX 05:35:19 THAT IS THE MOST ARBITRARILY THING EVER 05:35:21 hey guys 05:35:28 FUCK THIS SHIT IM CLOSING RENOISE 05:35:29 let's take a human being who's immersed in decimal for their entire lifetime 05:35:36 and yeah that 05:35:50 im just going to buy a casio sk1 and swear off all other sound-producing devices 05:35:56 If entering things in hex is an actually helpful UI feature, then they could just accept 0xFF-type syntax. 05:36:13 you just don't understand pikhq... it's LEET 05:36:16 Rather than doing such a UI sin. 05:36:31 pikhq: it's like a tracker, but modern, except not modern, you see 05:36:44 http://www.renoise.com/files/screenshots/overview-261.png ;; this actually makes it look less horrific to use than it is 05:36:52 crud 05:37:02 what is it with audio software and being a steaming pile of shit 05:37:09 its like the two concepts are intimately linked 05:37:12 elliott: What platform is that running on? 05:37:23 pikhq: windows, but it looks mostly the same pretty much everywhere :P 05:37:28 If you name one I'm familiar with I will stab people. 05:37:34 Fuck, I'm stabbing people. 05:37:37 i can even forgive the non-nativeness 05:37:38 I've lost my supar-awesome keyboard shortcut :( 05:37:40 i don't even give a shit about that 05:37:43 its just unusable 05:37:52 if its not shit like this 05:37:56 its using actual knobs in a computer UI 05:37:59 It looks like it has decided to commit every UI sin. 05:38:00 WHY WOULD YOU EVER DO THAT 05:38:01 USE A FUCKING SLIDER OMG 05:38:15 THEY HAVE THE WONDERFUL SIDE-EFFECT OF NOT MAKING ME WANT TO KILL YOUR FAMILY 05:38:26 seriously, designing audio software to look like audio hardware is 05:38:28 it's just 05:38:30 if you ever do it 05:38:31 i hate you 05:38:33 irrevocably 05:39:20 http://homepage.mac.com/bradster/iarchitect/realcd.htm 05:39:31 Actually worse. 05:39:32 that doesn't count as audio software :P 05:40:10 guys, gimme one reason not to NIH all audio production software 05:40:17 it is literally all the worst 05:40:27 if other software is a steaming pile of shit 05:40:31 You will be forced to also NIH all audio handling APIs. 05:40:36 SoX is not bad. 05:40:38 audio software collapsed under its weight and formed a black hole ten billion years ago 05:40:42 zzo38: :) 05:40:45 zzo38: you make me smile with your words 05:40:46 Even the *best* ones are very undocumented. 05:40:51 i want to make an entire song with just SoX now 05:41:18 And ffmpeg's developers need to learn a thing or two about libraries. 05:41:24 hmm, I remember Reason not being quite an entire steaming pile of crap last time I used it 05:41:28 despite trying to look like audio hardware 05:41:30 Yes, SoX can make music, too. Both equal-temperament and just-intonation. 05:41:40 Namely, "FUCK YOU I DON'T WANT TO HAVE A FULL COPY OF YOUR SOURCE CODE IN MY SOURCE CODE. FUCK YOU FUCK YOU FUCK YOU." 05:41:51 (i'm basically trying all the audio software that exists ever so I can complain about how much of a steaming pile of crap it is) 05:42:03 "INSTALL MOTHERFUCKING LIBRARIES IF YOU EXPECT OTHER PEOPLE TO USE IT YOU ANTI-DEVELOPER COCKS" 05:42:09 05:44:37 oh, i think Ableton Live's only sin that I remember was having knob controls 05:45:18 Still. Why would you ever want knob controls on a fucking computer? 05:45:33 well... they're smaller than a slider i guess 05:45:36 My mouse moves in straight lines with ease. It does not go in circles easily. 05:45:46 pikhq: oh, you can control them with straight lines usually 05:45:49 by going up and down 05:45:55 its just that on a widescreen up and down arent very natural directions 05:45:59 and its reflected very weirdly in the knob spinning 05:46:02 but 05:46:08 i agree that the ones you actually have to go in a circle with 05:46:10 are unforgivable 05:46:31 Also nice about a slider: they present bigger targets. 05:46:38 You don't want small targets. 05:47:01 pikhq: see with *elliottmusicsoftware*, such a continuous selector of a range is an abstract object that can be represented however the user wants them to be, on a default + case-by-case basis 05:47:05 You don't want freakishly big ones either, but it should not be a painstaking exercise to click on your thing. 05:49:48 pikhq: personally, my preferred replacement for knobs would be, visually, a circle with a coloured ring around the edge (knob-style :P) showing the current value, perhaps with the numerical value in the centre; but when you click it, it'd turn into a slider, with the current value of the slider aligned to the position of the cursor 05:49:56 (horizontal slider usually) 05:50:33 elliott: With that, my only complaint would be non-nativenes. 05:51:00 pikhq: yeah, but let's face it, "native" UIs don't exactly have a wealth of useful controls for things of this scale 05:51:27 I mean, a piece of audio software completely following some HIG and using no non-native controls would ... probably not fit on any screen because of how huge everything would be 05:52:25 Well, yeah, I'm not going to complain much about it being non-native if it's working around OS deficiencies. 05:52:34 If it at least *looks* like it belongs there. 05:52:44 And is usable, of course. 05:52:53 If it's not usable then I reserve the right to beat you to death. 05:53:14 I don't even care if all the controls look completely different, to be honest; in audio software, I'd say the situation is kind of opposite of a normal GUI app 05:53:22 In that you have shitloads of controls that you don't want to stand out 05:55:07 Of course, the most important thing is to make it so people can use the software without wanting to stab the developers. 05:55:13 And audio software fails at this. 05:55:30 Things like "looking native" is a nicety on top of that. 05:56:03 lmao, reason demo disables saving 05:57:50 yeah it does suffer from total try-to-look-like-hardware-itis 06:00:25 -!- Kustas has joined. 06:01:26 The non-GUI audio software work better from what I can tell. 06:01:37 yyeaaaaaaaaaaaaaah 06:01:42 pikhq: http://i.imgur.com/GsdRl.png goifjgoidfg it hurts 06:01:49 ok its actually not that bad apart from the visual noise 06:01:58 also half the interface doesn't look like hardware at all 06:02:02 so its only half a crime 06:02:55 *gag* 06:03:07 elliott: Is that a VST? :P 06:03:10 Do these people know *why* physical UIs look like that? 06:03:16 Gregor: I think so? 06:03:18 Of course if it looks like hardware, it should be for a good reason, such as, it emulates hardware and acts like it! Otherwise it is a bad reason and it ought not to be looks like hardware it is bad thing to do that 06:03:23 Gregor: I think Reason's interface is like... 06:03:29 All VSTs are "designed" by retards. 06:03:31 Gregor: One half VSTs and mixers and the like 06:03:33 Plus one half sequencer 06:03:41 zzo38: The thing is, hardware UIs are not intended for use with a pointer device. 06:03:42 Gregor: But that's a global mixer thing so I don't think it's strictly a VST. 06:03:51 zzo38: They are meant for manipulation with actual human hands. 06:03:51 Ah 06:04:09 Gregor: But here's the best part: 06:04:17 Completely different design considerations at hand here. 06:04:40 (One second, screenshotting :P) 06:05:05 Gregor: http://i.imgur.com/UlX2Q.png 06:05:11 THANK YOU, REASON, FOR SIMULATING AN ACTUAL DECK 06:05:17 I WOULD BE TOTALLY LOST WITHOUT THIS HELPFUL BACKGROUND IMAGE 06:05:39 I SURE HOPE THE THREE LINES OF CODE AND THE THIRTY MINUTES IN PHOTOSHOP IT TOOK TO DO THAT WERE WORTH IT 06:06:00 THE WHITESPACE GOD THE WHITESPACE 06:06:09 pikhq: wat 06:06:20 pikhq: Yes; true; but in a few (not all) cases, it might be useful to emulate a hardware and have it displayed on the computer screen. Not in all cases, though. (For emulating GameBoy it is not very useful, but in some cases it might.) (Also, you do not need to display the parts that have nothing to do with the emulation) 06:06:23 elliott: By "white" I mean "empty rack slots" 06:06:31 pikhq: That's scrolled down to the bottom :P 06:06:43 elliott: SUCH A STUPID FEATURE 06:07:21 YESSS IT COMES WITH A COWBELL INSTRUMENT 06:07:28 Why is there even a scrollbar? There is nothing there what is the use of that please 06:07:36 zzo38: um there are more instruments above 06:09:04 There may be but then why is there a space with nothing that it scroll to? Doesn't usually the scroll bar should only scroll the length of what is there? 06:09:08 elliott: Bahahaha 06:09:16 zzo38: Ask the Reason developers :P 06:09:58 Gah, why is it even split vertically, it should be horizontal. 06:12:02 I don't know. SoX works fine, use that for audio. 06:13:51 -!- Kustas has quit (Quit: ChatZilla 0.9.86.1-rdmsoft [XULRunner 1.9.0.17/2009122204]). 06:15:57 Although I think some features ought to be combined ImageMagick with SoX. (At least it is possible to pipe ImageMagick to SoX (or vice versa), though.) 06:16:01 loooooool 06:16:13 oh my god it just kicked me out because i spent twenty minutes messing around 06:16:16 thats actually awesome 06:16:18 speed songwriting 06:18:01 zzo38: ImageMagick to SoX? Why would you do that? 06:18:12 (no, really. I am highly curious what use case that could have.) 06:18:25 I can find songwriting useful using MML (music macro language) based programs, such as PPMCK (I have made some improvements and bugfixes to PPMCK actually, including tail recursion) 06:19:27 dammit, now I've started mentally designing elliottmusicsoftware :( 06:19:29 pikhq: Due to lack of effects in one program or the other. Represent the audio as a ...x1 grayscale image. And then use the various effects (some are useless for audio, some are OK for audio, and -fx is very useful for audio) 06:19:38 elliott: Can you write it down? 06:19:44 zzo38: on irc? 06:19:46 zzo38: Strange. 06:20:18 elliott: No, on a text file in your computer and then sent to sprunge 06:20:28 zzo38: boring :) 06:21:10 Then write it on paper and then put on a wood table and then take the picture and ensure the focus is good enough to read it and then ask someone else to type it into the computer for you. 06:23:06 -!- Kustas has joined. 06:23:36 And be sure to then uuencode and repeat the process. 06:26:39 pikhq: Other cases are for making Fourier transform, and many of the effects in ImageMagick are useful for audio, some of which SoX already has similar things. To me at least it would make sense to combine it in one program 06:30:12 Sounds like you're wanting a linear algebra program. 06:32:16 pikhq: whoops, my audio software design just pulled in an entire lisp 06:34:16 elliott: Now it just needs to do mail. 06:34:54 pikhq: write some network code to do IMAP, plug it into a text-to-speech object, voila! 06:35:41 The alpha channel can also have some uses for doing fading effects and stuff. Many effects in ImageMagick are already useful for audio, but just add a few more such as -echo and so on and then it should be very useful for audio. Stereo files can be represented by having like RED=LEFT GREEN=RIGHT for example. 06:36:41 While -density can be used for sample rate (where 1 second = 1 inch) 06:36:43 come to think of it, I seem to have invented something that can implement Max/MSP as just a certain kind of object 06:36:59 zzo38: inch? lol 06:37:35 zzo38: Like I said, you seem to want a linear algebra system. 06:38:15 Which is much like an audio or image or video manipulation system, but generalised. 06:38:27 pikhq: Maybe something like that. 06:40:50 elliott: It just seems convenient units to use due to the way the program already work 06:41:50 what's an inch 06:42:10 2.54 cenimetres 06:42:18 s/cenimetres/centimetres/ 06:43:31 specify digital images in terms of metres every day 06:44:25 What I might like to have for audio and music making program is something like METAFONT. 06:44:57 monqy: An "inch" is either 2.54 centimeters or 100/3937 meters. (latter definition exceptionally unused) 06:45:59 METAFONT is already one of the best program for font making, and I think a similar thing could be made working with musics somehow. 06:46:01 ("international inch" and "survey inch", respectively) 06:46:44 right but I don't see how inches/metres are useful for digital imaging, aside from translation to/from physical images, unless that's what the command or whatever is for 06:46:58 monqy: He was proposing to use ImageMagick for audio manipulation. 06:47:17 monqy: The -density command in ImageMagick is used when you want to specify what resolution is used for printing this image. 06:47:25 aha 06:49:38 *sigh* US customary units. 06:50:05 So terrible. 06:52:21 DVI units are specified in fractions of decimicrons, allowing for finer resolution than any printer has, as far as I know. 06:55:03 Quick, how many miles per gallon is a league per barony-gill? 06:55:16 (yes, that is a valid unit. League per barony-gill.) 06:56:35 wow, (a = b) = c is valid in C++ 06:56:37 not in C, I don't think 06:57:21 Hmm. Doesn't (a = b) result in an lvalue in C? 06:57:41 I don't think so 06:58:09 what does (a = b) mean as an lvalue? 06:58:25 monqy: Presumably, same thing as a. 06:58:29 Anything else would be mad. 06:58:46 anything at all would be mad 06:59:01 Fair enough. 06:59:04 you decide with operator= 06:59:06 YOU DECIDE 06:59:07 -!- Kustas has changed nick to derrik. 06:59:09 you could return a global 06:59:16 (a += b) -= c; 06:59:19 could increment a by b 06:59:24 then decrement aassoijdioajd by c 06:59:48 I've always wanted to decrement aassoijdioajd by c 07:00:04 in the same statement as incrementing a by b 07:01:37 http://i.imgur.com/uBZOi.png WHY WOULD YOU EVEN DO THIS YOU ARE MAKING ME TURN OFF THE NO-SIDEBAR MODE YOU EXPLICITLY TURNED ON JUST SO I CAN GET TO THE FUCKING APPLICATIONS FOLDER AT LEAST PUT AN ALIAS TO IT IN THE DISK IMAGE GOD DAMN 07:02:26 what kind of gimmicky installation mechanism is that 07:02:38 monqy: its called standard os x installation 07:02:41 or is it user friendly 07:02:41 oh 07:02:46 you download a disk image which contains a filesystem 07:02:50 you mount the file system 07:02:58 you copy the application files to your applications folder 07:03:03 you unmount ("eject") the file system 07:03:07 and then drag the disk image to your trash 07:03:12 its ridiculous and terrible 07:03:38 And you can unmount it by dragging the filesystem to your trash. 07:03:47 Ableton's free 30-day license enables the "Save" and "Export" functions, so you can experience making music with no holds barred. To activate your free license, enter your e-mail address below. 07:03:48 i can hardly wait 07:04:06 And it's still better than Windows installation. 07:04:20 but hey, apparently ableton integrates with Max? 07:04:27 this is cool I guess 07:04:31 big orgy of audio applications 07:05:05 Max is the only well-designed audio application, in fact it's one of the best-designed programs I've used, but unfortunately I am too crappy to make nice sounds with it :( 07:07:43 I think some sort of METAFONT-like program would be good to make a music 07:12:23 "Customize Live's color scheme and display size in the Look/Feel Preferences." 07:12:27 pikhq: monqy: im thinking green on pink 07:12:59 don't forget the yellow 07:13:27 elliott: How Gregorian. 07:28:29 "pad" in SoX is similar to "-border" in ImageMagick. "norm" is probably like "-auto-level". "reverse" is like "-flop". 07:29:22 pikhq: help I accidentally invented the best everything 07:40:48 pikhq: You know, it's not true that _all_ audio APIs are terrible or undocumented... 07:41:01 pikhq: I bet Core Audio is quite nice. 07:41:59 Is it allowed in LLVM for a PHI node to return a label value? If so, can you then use that label in a branch instruction or other instruction? 07:43:22 (Including other PHI nodes) 07:43:28 coppro might know 07:44:58 -!- monqy has quit (Quit: hello). 07:54:20 Is coppro on and available? 07:54:44 he spoke fairly recently 07:55:08 i.e. two hours ago it seems :) 08:05:41 -!- zzo38 has quit (Remote host closed the connection). 08:09:03 -!- derrik has left. 08:21:49 -!- Phantom_Hoover has joined. 08:32:50 pikhq: Hmm... what's actually wrong with PortAudio? 08:33:37 PortAudio has backends for everything[1]. 08:33:41 [1] everything important 08:33:54 Gregor: I'm talking API, latency, etc. wise :P 08:34:41 I've only used PortMIDI, but if that's anything to go by, its API is "dump some bits here lulz" 08:35:24 Gregor: As far as I can tell, my options are exactly twofold: Core Audio, which is reportedly excellent and should basically give me no actual _problems_, but which would restrict me to running things on an OS I don't use day-to-day (although considering Linux's terrible audio situation I probably would anyway), and which also apparently has a rather... horrific API; not in that it's /bad/, but in that it's ... you know ... flexible; 08:35:24 and PortAudio, which would probably be less of a pain and which would be more portable but... might be bad inexplicably???? 08:35:28 Wow that was a long sentence. 08:35:31 That... that was one sentence. Wow. 08:36:22 elliott, oh god what are you trying to do. 08:36:22 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 08:36:27 Y'know, Linux's audio situation has improved enormously over the last few