00:22:50 i must have missed soemthing 00:23:38 nope 00:23:42 23:19 Actually, that language would be more powerful than BlooP, as BlooP expresses functions that are primitive-recursive, but that language could express A(m,n), which is not primitive recursive. 00:23:43 23:19 sort of BlooP with oracle... 00:23:45 23:50 Even one that could be implemented on Turing machine to run in "finite" time... :-) 01:35:00 -!- GreaseMonkey has joined. 04:18:49 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net). 04:18:49 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 04:19:10 -!- ehird has joined. 04:19:10 -!- GregorR has joined. 04:23:45 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net). 04:23:45 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net). 04:25:44 -!- ehird has joined. 04:25:44 -!- GregorR has joined. 04:42:16 teh buz 04:42:19 *bugz 04:42:48 ^ul ((*BUZZ* )S:^):^ 04:42:48 *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *B ...too much output! 04:52:51 yay unexplained segfault 04:56:24 ^ul (KH)(A)(:*)(:*)::**^^(N)**S 04:56:24 KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN 04:56:50 :D 04:57:27 http://www.khaaan.com/ 05:14:11 Segmentation fault (core dumped) 05:22:49 -!- Corun has joined. 05:29:23 -!- oerjan has quit ("Bus"). 05:37:40 haha! 05:37:45 my dc is waaaay faster than gnu dc 05:38:43 It's not the speed of your dick that matters, bsmnt_bot 05:39:02 dc(1), loser 05:39:31 I don't know what that is. 05:40:40 http://www.openbsd.org/cgi-bin/man.cgi?query=dc&apropos=0&sektion=0&manpath=OpenBSD%20Current&arch=i386&format=html 07:13:14 -!- olsner has joined. 07:50:37 -!- GregorR has quit (Read error: 110 (Connection timed out)). 07:51:06 rip ricardo montalban indeed 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:21 -!- olsner has quit ("Leaving"). 08:31:37 crazy sedes. *swedes <-- no Finns. Not Swedes. 08:34:13 1.5 Γ— 10**-9 seconds at 2 ghz <-- not sure about that, some CPUs execute more than one instruction per cycle iirc. Though I'm not sure if x86 does that. 08:35:16 -!- GreaseMonkey has quit ("Client Excited"). 08:36:35 hey guys i just wrote a goto is this bad y/n <-- well depends a lot on language, how it is used and so on. 08:36:53 like, C doesn't have break; for more than one level at a time 08:37:08 using goto to break two levels is the cleanest solution there 08:38:02 also sometimes in functions that can error out at several points and need to do common cleanup for all the error paths, goto error; and putting an error: block at the end may be the cleanest code. 08:38:20 some file reading functions or such would fit into that category 08:38:38 also I think it is often ok in _generated_ C code 08:44:22 anmaster 08:44:34 do you know anything about the properties of rewriting systems? 08:49:00 psygnisfive, like Thue? 08:49:19 no no i mean the formal properties of such systems in general 08:49:48 psygnisfive, not much really. 08:49:55 ok 09:38:54 -!- Corun has quit ("This computer has gone to sleep"). 10:12:14 -!- Slereah_ has joined. 10:24:15 -!- Slereah has quit (Read error: 110 (Connection timed out)). 10:24:32 -!- Slereah has joined. 10:32:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 13:06:57 -!- oerjan has joined. 13:08:36 -!- Hiato has joined. 13:10:22 do you know anything about the properties of rewriting systems? 13:10:45 if it's string rewriting then you have the Chomsky hierarchy at least 13:30:26 -!- Hiato has quit (Read error: 104 (Connection reset by peer)). 13:31:35 -!- Hiato has joined. 13:59:14 oerjan: YOU'RE NOT FOOLING ANYONE :DDDDDDDDDDD 14:00:42 i misread "eurocreme" was on the clipboard and not the topic (shown next to each other), thought i had sleep googled for gay porn again 14:01:08 well that was actually complete bullshit, i just wanted to use the term sleep googling in some context. 14:01:25 fooling anyone about what? 14:01:32 oerjan: nothing in general 14:01:42 hm... 14:01:44 scary 14:01:52 is it now? 14:02:04 you regularly sleep google for gay porn? 14:02:43 * oerjan realizes responding to comments before reading the next line is more fun 14:03:09 well yeah i'm not sure why i said that bullshit comment 14:03:24 i mean it's all about choice, i honestly don't know whether i actually did think it was on the clipboard. 14:03:59 yeah i often don't know what i'm thinking either 14:04:18 i do know i don't sleep google for gay porn (afaik), but that is fun as a joke, so there's no need to be honest; then again if i say i misraed something, and i'm lying, there's no excuse. 14:04:21 but often i don't know 14:04:26 *misread 14:04:47 oooooooooooooooooooooooooooo 14:04:48 i misread that as misraped 14:04:50 oooooooooooooooooooooooooo 14:04:56 xD 14:05:01 * oerjan has no excuse 14:05:01 what's misraping 14:05:15 let's try to never find out 14:05:17 like, to accidentally someone? 14:05:19 I think it's just like rape, except you're doing it wrong. 14:05:26 oh. 14:05:27 deep. 14:05:33 there's probably like a comic about that 14:06:14 you misrape what you sow 14:07:04 One of the only three google hits of "misrape" (quoted) sounds like it's just a case of applying the procedure to the wrong person: "... bust into someone’s house and terrorize them, i suggest you keep detailed records of your victims so you don’t misrape any innocent bystanders. ..." 14:07:29 i think i should stop now, i just noticed it anagrams to "spermia" 14:07:40 Sperm AI 14:08:32 so cummon down south park and meet some frendsa mineeeee 14:08:36 Also "ram pies". 14:09:05 SimRape 14:09:18 rim peas 14:09:19 i'd play it. 14:09:33 prim sea 14:09:42 "ear imps". 14:09:45 simrape would probably need sperm ai. 14:09:55 but i hope there wouldn't be any ram pies 14:10:13 oh 14:10:32 almost prime ass, like that bear has 14:12:22 ip smear 14:12:29 Also maybe related: seam rip. 14:13:00 this is kinda getting outta hand ppl. 14:14:58 g66 = 3 !g65-1! (3 !g65-1! 3) > 3 !g65-1! (g64 + 3) = 3 -> (g64 + 3) -> (g65 - 1) > (2 -> (g64 + 3) -> (g64 - 2)) - 3 = A(g64,g64)... :-> 14:17:27 => g66 > A(g64,g64)... 14:27:57 Heh: 'g64 -> g64 -> g64 -> g64'. That should be fairly BIG. 14:28:10 A million is already fairly big. 14:29:21 -!- Hiato has quit ("Leaving."). 14:34:11 g1 is already really really HUGE number. 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 iterated base-10 logarithms would barely do a minor dent to it. g2 is MUCH bigger than g1, etc... 14:35:04 Isn't g1 just 3^3^3? 14:35:05 Or something 14:36:31 g1 is 3 !!!! 3 = 3 !!! (3 !!! 3) = 3 !!! (3 !! (3 !! 3)) = 3 !!! (3 !! (3 ^ 3 ^ 3)) = 3 !!! (3 !! 7625597484987) = ... 14:37:52 = 3 !!! (3 ^ 3 ^ 3 ^ ... ^ 3) [7625597484986 '^'s]... 14:38:59 Your definition of "minor dent" is interesting, if you look at how large a fraction of the original number is left after that many logarithms. I'm not saying it wouldn't still be a rather large number, but if you consider a chunk of rock, take a similarly proportioned amount of it away, it doesn't really look like a "minor dent" at that point. 14:40:54 These numbers are so huge you can't even use power tower scale... And iterated logarithm operates in that scale... 14:43:40 power tower scale? 14:44:00 i agree, minor dent is a weird term 14:48:43 "Power tower scale" essentially measures how many times you (approximately) have to apply logarithm to get into small numbers.. 14:50:47 which is just the fourth step of the ackermann function 14:51:18 A(4,n) = 2^2^...n times - 3 or something like that 14:53:13 Ilari: k right. still i agree with fizzie 14:56:11 Yes, well, in my viewpoint it's just a matter of what the word "dent" means; it doesn't seem right to me to call something a "dent" if over, say, half of the original thing is gone, no matter how large the dented thing is. 15:07:03 -!- Slereah_ has joined. 15:15:40 -!- Slereah has quit (Read error: 110 (Connection timed out)). 15:37:36 -!- ehird has left (?). 15:37:39 -!- ehird has joined. 15:37:54 -!- ehird has left (?). 15:37:57 -!- ehird has joined. 15:38:44 08:31 crazy sedes. *swedes <-- no Finns. Not Swedes. 15:38:46 no 15:38:48 finns are sane 15:39:09 Completely Finn-sane. 15:39:31 ehird: you show a complete misunderstanding of nordic stereotypes 15:39:41 good :D 15:51:14 ehird, you were talking about that iki.fi thing then 15:51:22 Swedes aren't related to that 15:51:24 afk 15:51:29 meh, iki.fi makes some sense 15:51:36 it's just odd that finns are the only ones who use such a thing 15:57:29 i assume the japanese do to, it's just that we never know because they are speaking in japanese. 15:57:42 *too 15:58:21 oh and the north koreans with internet access also do so. both of them. 16:00:33 to be honest I don't exist 16:00:45 duh. 16:00:50 i had suspected that. 16:01:22 but then i thought: figments of imagination are people too! 16:01:37 in fact they're the only people 16:09:37 -!- dbc has quit (Read error: 110 (Connection timed out)). 16:36:36 http://lost-theory.org/realultimatepower/ The Official Jeff Atwood Homepage 16:36:59 How terribly lame 16:37:11 it's a parody. 16:37:14 Yes 16:37:15 I know 16:37:19 I have the book 16:37:36 I guess you also have to hate jeff atwood to find it funny :P 16:37:50 Who's Jeff Atwood? 16:38:00 Idiot extraordinaire. 16:38:18 So idiotic that _Joel Spolsky_ teaches him something on a weekly basis. http://www.codinghorror.com/blog/ 16:38:20 codinghorror.com 16:38:33 jeffatwoodhorror.com 16:38:49 Coding horror 16:38:53 I hope I'm not on there :o 16:40:49 http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj 16:41:12 eliezer's reply is so. perfectly. timed. 16:41:38 ehird: not infact all that odd 16:41:47 shut up. it's humour. 16:41:48 it's funny. 16:41:54 you can find two dimensional graphs of ARGH 16:42:01 um 16:42:03 im not talking about that 16:42:07 im talking about the specific comment thread linked 16:42:15 psygnisfive: clicking links since 2009 16:42:21 thats nice. 16:42:29 im commenting on the content of the link. 16:42:29 :P 16:42:55 Don't joke about this. He's dead, Jim. 16:42:56 the link I posted selects one comment thread in the comments for that link. 16:43:13 ah well, it doesnt do anything special for me, ehird. dunno why. 16:43:23 yes. it does. 16:43:24 scrolld own. 16:43:27 past the link. 16:43:28 http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj 16:43:36 yeah it doesnt do anything for me dude 16:43:37 The yellow-backgrounded comment. 16:43:42 And Eliezer Yudkowsky's reply. 16:43:47 ah, ok. 16:43:53 fail 16:44:18 i didnt realize that it was only showing one thread 16:44:25 as for yudkowsky, heh. 16:44:55 i wonder if he just stumbled across that thread or if he has An Algo 16:45:42 hm he really _must_ have come by google, it's a month since his last post :D 16:46:18 (Context: qgyh2 is the person on reddit with the most submission & comments points, over 100,000 or sth) 16:46:28 lol 16:49:46 so. 16:50:15 did you know the turku university specializes in discrete math, and there's a lot of research in mathematical esolangs? 16:50:29 you didn't. my point is i think i know what i'm gonna be when i grow up. 16:52:09 i should learn hoare logic 16:52:20 mathematical esolangs?? 16:52:38 Like ΅-recursive functions? :o 16:53:31 WHORE LOGIC YOU SAY :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 16:53:51 psygnisfive: reductions from all kindsa constructs into turing machines. 16:53:58 With the whore operator 16:53:59 example? 16:54:06 talked to this prof who does cellular automata stuff today 16:54:31 i was instructed to meet him after mentioning i was thinking switching university. 16:54:43 lol 16:54:50 "im leaving, you guys are too practical" 16:54:54 "HERE IS A CRAZY-ASS GUY" 16:54:59 *crazy ass-guy 16:55:27 More like ASS-GUY 16:55:39 too slow, slereah_ 16:55:50 yeah I was just doing that to shut up the fucking xkcd fans 16:55:52 :( 16:56:02 I'm just a fan of asses. 16:57:03 fucking-xkcd fans are scary. 16:57:43 i dont know many people who are fans of fucking xkcd 16:58:19 16:57 HEJ PEOPLES HELP -TELL AROUND THE WORLD WHAT WE DIEING STOP MAKE DEATH STOP KILL ANIMALS PLANTS WATER METALL ANOTHER PEOPLES BAD PEOPLES MAKE THIS WORLD WE CAN LIVE FOREVER WIT NATURE WITH GOD WITH UNIVERSE PIECE 16:58:20 16:57 STOP KILL STOP DEATH 16:58:22 Is this fucking xkcd? http://d.furaffinity.net/art/seaweedprincess/1232091972.seaweedprincess_xkcd34.jpg 16:58:22 -- #haskell 16:58:35 Slereah_: I did not need to see that. 16:58:43 ehird : Yes. 16:58:44 Yes you did. 16:58:49 Now you are complete. 16:58:54 No, I... really didn't 16:59:10 You'll thank me one day. 17:00:24 ehird: see, it's the swedes that are crazy 17:00:30 thats a totally inappropriate fake xkcd, slereah_ 17:00:37 there's no alt text! 17:00:53 oerjan: I know :P 17:00:59 Yes there is 17:01:05 finns and norway-yians are cool 17:01:08 It's "Raptors on Hoverboards are Offscreen" 17:01:10 oh wait 17:01:14 ahhh 17:01:15 But ΅I posted the pix directly 17:01:15 good one 17:01:23 Since you butts don't have FA accounts 17:01:27 ΞΌYou? 17:01:35 i have an FA account 17:01:47 Yes 17:01:51 But not the rest. 17:01:51 what the heck is an FA account. 17:01:54 Unless... 17:02:01 fur affinity, oerjan 17:02:02 IS ANYONE A CLOSET FURRY HERE 17:02:06 the picture is on furaffinity.net, which is a shithole full of retarded furries. 17:02:07 ah 17:02:07 deviant art for furries 17:02:11 and the associated porn. 17:02:39 it's a fun thing, really 17:02:41 Slereah_: yes iirc. not me though. 17:02:59 Ever since DA was created, furries have migrated from sites to sites 17:03:03 Until FA was thar. 17:03:05 wait, how can you know if someone is a closet furry 17:03:08 -!- kar8nga has joined. 17:03:15 HERE'S ONE! 17:03:16 that doesn't make sense 17:03:17 GET HIM! 17:03:18 * Asztal is a cute b/w wolf 17:03:27 -!- ehird has set topic: No furries allowed. 17:04:03 Hey >:| 17:04:06 You forgot the logs! 17:04:14 Furries don't deserve logs 17:04:22 he must have thought they looked furry 17:04:30 ehird: it's just moss! 17:04:40 and lichen! 17:06:31 -!- oerjan has set topic: No smurfing. 17:07:07 -!- ehird has set topic: No furries allowed. 17:07:32 -!- oerjan has set topic: No smurfing furries allowed. 17:10:03 Hey psygnisfive 17:10:06 Want to smurf? 17:11:02 :O 17:11:08 TOO MUCH REQUESTING INFORMATION 17:11:27 I'll request allright. 17:11:31 REQUEST A REACH AROUND 17:14:33 xD 17:15:18 blah, i don't feel like reading, i feel like running around naked and eating doors. 17:15:32 but, i guess i have little choice. 17:15:34 wish me luck -> 17:15:42 Delicious door 17:16:27 -!- FireFly has joined. 17:16:39 argh 17:16:41 where are the logs? 17:16:53 the link in topic is GONE! 17:17:16 It's all ehird's fault 17:17:21 Him and his fursecution! 17:17:28 that maniac 17:17:30 AnMaster: bookmarks 17:17:33 do you know how to use them? 17:17:35 optbot!!!!!!!!!!!!! 17:17:46 why use bookmarks when the topic has the logs 17:17:59 -!- Slereah_ has set topic: butt | http://tunes.org/~nef/logs/esoteric. 17:18:20 ehird, yes you place them in books to remember where you should continue reading. 17:18:31 Ha. Ha. Ha. 17:19:07 * ehird writes cat(1) program in Python because why not. 17:19:12 #!/usr/bin/env python 17:19:12 import sys 17:19:12 i bet if i had said it ehird wouldn't have laughed. oh wait. 17:19:13 for filename in sys.argv: 17:19:16 file = sys.stdin if filename == '-' else open(filename) 17:19:18 while not file.closed: 17:19:20 sys.stdout.write(file.read(1)) 17:19:29 oerjan: no, I wouldn't have :P 17:19:44 oerjan, yes, but not in such a sarcastic manner 17:20:58 ehird: you are missing _several_ POSIX options. 17:21:06 isn't there just -u? 17:21:15 * oerjan has no idea really :D 17:21:16 yep 17:21:20 -u 17:21:21 Write bytes from the input file to the standard output without delay as each is read. 17:21:22 which I already do 17:21:25 and nobody uses that anyway 17:21:38 mine misses stdin on no args through 17:21:44 s/sys.argv/sys.argv or ['-']/ 17:21:44 ok how many GNU options are there... 17:21:49 oerjan: 5 bajillion 17:21:56 i don't believe in gnu tools 17:22:16 so, you know how i like stuff right? 17:22:35 oklopol: eww 17:22:59 oerjan: i bet if i had said it ehird wouldn't have laughed. oh wait. <<< you would never say that 17:23:07 well exactly. 17:23:34 i could have made a similar joke. in fact i must have done so. 17:23:48 oerjan: you would've made a joke based on the same thing, yes 17:23:55 the point is you would've made it less direct 17:24:19 you mean like remote library loan? 17:24:47 see that's what you would've said. something so complicated i don't get it 17:24:57 plz explain i want to laugh. 17:25:16 less direct + books = remote library loan 17:26:05 hmm 17:26:14 THAT'S NOT FUNNY. 17:26:28 NEITHER IS YOUR MOTHER. 17:26:55 FUCK YOU, MY MOTHER IS OUTRIGHT RIDICULOUS!! 17:27:11 also, i was obviously trying to make the joke even less direct than usual, it's a meta thing 17:27:20 -!- ais523 has joined. 17:27:23 and you know i never *hit by anvil* 17:27:27 yes, i think i get it. 17:28:05 http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w 17:28:09 oerjan: trying to balance it out... or is that your new swatter replacement? 17:28:09 Now it does rot13 too. 17:28:19 because cat is _exactly_ the place for it 17:28:23 *are you trying 17:28:34 balance directness out that is 17:28:37 i don't think i can make a 1-line anvil. hm. 17:28:42 python is fun. 17:28:45 _T_ 17:28:46 ehird: I was thinking about the UNIX philosophy 17:28:53 ais523: heh, nice timing 17:28:55 _||_ 17:29:01 * ehird breaks oerjan's anvil with lines 17:29:06 and actually, I decided find | grep is more unixy than either find -name blah or ls -R | grep 17:29:14 i think that was it, ehird. 17:29:19 you can tell you're being properly UNIXy if you don't need command-line options 17:29:25 ehird: those were two anvils 17:29:31 ais523: that makes sense to a degree 17:29:39 some command line options just change how it operates, not fundamentally what it does 17:29:45 ls -R changes fundamentally what it does, however 17:29:51 so you're right in that case 17:29:52 yes 17:30:19 uh oh, my cat has a bug 17:30:20 XD 17:30:26 the fact that so many commands have recursion options implies that find is definitely a unixy command, when you don't use its options yourself 17:30:27 ehird: what lang? 17:30:33 ais523: http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w 17:30:34 buggy cats normally imply some pretty difficult lang 17:30:39 I wrote cat in python for no reason, but then added rot13 17:30:42 for no reason 17:30:49 ais523: no, just buggy logic for detecting EOF 17:30:55 ah, EOF 17:31:00 ehird: use a flea collar 17:31:05 btw, one instruction that more languages need 17:31:08 is pipe 17:31:10 basicall 17:31:11 y 17:31:19 in python 17:31:34 pipe(lambda: file.read(1), lambda a: sys.stdout.write(transformer(a))) 17:31:38 is equivalent to 17:31:46 (pseudo-python, you can't assign in whiles in reality): 17:31:54 while a = file.read(1): sys.stdout.write(transformer(a)) 17:31:57 it's such a common idiom 17:31:59 something like 17:32:17 pipe file.read(1) as a: sys.stdout.write(transformer(a)) 17:32:21 would be great 17:32:23 incidentally, I read somewhere that Python lambdas were syntactic sugar 17:32:28 what do they expand to? 17:32:36 foo(lambda x: x) 17:32:36 could be 17:32:44 def bar(x): return x 17:32:45 foo(bar) 17:32:58 oh, you can declare named functions in inner scopes in Python? 17:33:02 yes 17:33:08 that would explain it 17:33:37 python is a bit verbose, unfortunately 17:33:43 so using it for scripting is a bit annoying 17:33:51 but it's nicer than writing shell script... 17:34:04 it depends on how long the scripts are 17:34:14 even trivial things in shell can be a pain 17:34:32 if I get beyond one for loop over something like * in a shell, it instantly goes to hell 17:34:36 and I switch to a real language :P 17:36:43 but it'd be nice if python was, you know, shorter 17:36:57 I'm pretty sure that cat is the not much shorter than it would be in C 17:37:00 * ehird writes it in C to find out 17:38:39 hm 17:38:39 uppercase = code >= ord('A') and code <= ord('Z') 17:38:41 lowercase = code >= ord('a') and code <= ord('z') 17:38:43 -> 17:38:45 uppercase = char.islower() 17:38:47 err 17:38:49 isupper 17:38:54 lowercase = char.islower() 17:38:54 :P 17:43:13 c version: 55 lines 17:43:18 so, python is quite a bit shorter 17:43:24 the programs essentially look the same, though. 17:43:40 http://pastie.org/362584.txt?key=bm06tagczdoiybatmth9q 17:44:24 err, that transformer assignment needs to be lower 17:44:25 whatever 17:46:37 am I connected? 17:46:37 ping. 17:47:00 amusingly, this python 17:47:00 shifted = (((ord(char.lower()) - ord('a')) + 13) % 26) + ord('a') 17:47:05 is more verbose than this c 17:47:05 shifted = (((tolower(c) - 'a') + 13) % 26) + 'a'; 17:48:03 incidentally, C only does so well at this program because it involves no dynamic allocation whatsoever. 17:48:15 -!- kar8nga has left (?). 17:49:39 also, my stdin check fails 17:49:42 as I forgot to use strcmp. 17:49:50 heh, comparing pointers? 17:49:55 conclusion: python is better but sometimes uglier. 17:51:25 slereah: no. 17:52:07 I should now write some code that actually does anything. 17:52:12 * ais523 looks at the Wiki recent changes 17:52:19 oh no, not yet /another/ BF derivative 17:52:51 linkkkkk 17:53:25 proposal: bf derivatives are banned 17:53:38 but what about continuous brainfuck 17:53:49 it's gonna be awesome. 17:53:54 ais523: I like the syntax, though 17:53:55 the swirling dna 17:54:13 yes 17:54:23 also, the notion of BF derivatives isn't bad as a whole 17:54:27 just, they ought to be interesting 17:54:35 and most of the ones that people come up with aren't 17:55:17 I wonder if I will ever use 25GB of mail storage. 17:55:48 (My current gmail account, which I made in 2006 and only started using heavily in around 2008, is using "744MB (10%) of your 7285MB.") 17:55:57 (Which is a lot for such a little time I've used it heavily.) 17:57:11 I don't think I'm connected. 17:57:48 ais523: ping. 17:58:39 pong 17:59:09 "Why buy a dedicated fart app AND a flashlight, when you can have BOTH, and get a TWITTER CLIENT along with it!" 17:59:14 pyng 17:59:20 This person has got the iPhone appstore 100% figured out. 17:59:46 heh 17:59:51 is that one of the adverts? 18:00:06 http://www.atebits.com/pee/ 18:00:25 they actually sell it :D 18:01:07 WHAT IS PEE 18:01:11 I wonder as well! 18:01:34 http://atebits.cachefly.net/pee/wow.jpg 18:01:44 this looks like a stock photo 18:01:56 -!- puzzlet has quit (Remote closed the connection). 18:02:00 but it's odd. i wonder what the photographers were thinking when they planned/took this photo. 18:02:01 -!- puzzlet has joined. 18:02:28 psygnisfive: it's from a recent advert bought on reddit 18:02:31 advertising viagra or something 18:02:40 aha 18:02:46 the ad is now gone due to complaints and there are tons of ads on reddit using the same image but advertising things like subreddits. 18:02:53 so they were thinking "we should make her look like she' 18:03:04 yes, I don't think you have to elaborate psygnisfive. 18:03:05 s amazed at the size of the adviewer's engorged penis" 18:03:24 well ehird its important to be clear! 18:03:27 The Bush Boom: How a Misunderestimated President Fixed a Broken Economy 18:03:28 worst 18:03:28 book 18:03:30 EVAR 18:03:31 http://www.amazon.com/Bush-Boom-Misunderestimated-President-Economy/dp/1594670870?ie=UTF8&s=books&qid=1232115413&sr=8-1 18:03:49 if i wasnt, you might've thought i meant, "she's amazed at the low low prices of viagra that we're selling" 18:04:05 and i wouldnt want you to have wrong assumptions about my perspective on advertisements for viagra 18:05:29 oooooooooo 18:07:48 hmm 18:07:51 you know what would be cool? 18:07:58 an irc server specifically designed for things like bitlbee 18:07:59 that is 18:08:03 clients can do things like 18:08:07 MAKEDUMMY foobarbaz 18:08:11 ASDUMMY foobarbaz JOIN #mychannel 18:08:17 ASDUMMY foobarbaz PRIVMSG #mychannel :I am totally a real person 18:10:04 what is bitlbee? 18:10:55 bitlbee is a gateway that lets you use MSN/AIM/Jabber/etc through irc 18:11:03 you connect to a special server and your contacts become irc users in a room 18:11:06 you can just /msg them and stuff 18:11:29 there's plenty of good things that could do with an "IRC interface" with that, I'm just thinking about a server that would make it as easy as writing an irc bot 18:11:34 with some special commands to control fake users 18:14:50 so. yes. 18:18:46 -!- MigoMipo has joined. 18:21:23 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 18:22:26 -!- ais523 has joined. 18:31:24 -!- ais523 has quit (Client Quit). 18:34:17 http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b 18:34:21 -!- puzzlet has quit (Remote closed the connection). 18:34:28 -!- puzzlet has joined. 18:36:00 -!- ais523 has joined. 18:36:26 18:34 puzzlet has joined (n=puzzlet@147.46.241.231) 18:36:26 18:36 ais523 has joined (n=ais523@147.188.254.127) 18:36:28 puzzlet == ais523 18:36:42 meh, 147 is massive 18:36:49 147.188 is Birmingham University 18:36:59 therefore my guess is that puzzlet's on the UK academic network or something connected to it 18:37:03 but not in Birmingham 18:37:53 umm, puzzlet is chinese I'm prety sure 18:38:07 oops. korean 18:38:14 interesting 18:38:18 (Puzzlet Chung lives in the Republic of Korea. He is one of the administrators of the Korean Wikipedia and the Korean Wikiquote. 18:38:18 --http://en.wikipedia.org/wiki/User:PuzzletChung 18:38:21 in that case, 147 stretches a long way 18:38:33 there are only 256 /8s, and they aren't all used 18:38:43 so it's not surprising that some of them go all over the world, I suppose 18:39:19 also,http://kiwi.cabal.fi/home/aki/misc/cons-ceremony.txt 18:44:25 Hmm. Oh dear. I think I have my editor committed to muscle memory. 18:45:01 which editor? 18:45:07 both vi and emacs are pretty quick to type 18:45:14 I mean, the editor commands. 18:45:18 and I have most common words committed to muscle memory, not just editors 18:45:25 As in, switching to another editor for daily use would involve a lot of unlearning. 18:45:30 and yes, editor commands seems reasonable 18:45:51 (it's textmate, FWIW) 18:45:59 -!- BeholdMyGlory has joined. 18:47:40 i use a 7-string vi in drop-D tuning 18:49:29 -!- Hiato has joined. 19:08:13 grr 19:08:32 mysql docs doesn't even say when some sql syntax is non-standard 19:08:39 AnMaster: that's easy enough 19:08:43 postgresql manuals documents it all the time 19:08:45 clearly 19:08:46 /all/ sql syntax is nonstandard 19:08:59 ais523, for example it seems using LIMIT with UPDATE is non-standard 19:09:08 I'm porting a program from mysql to postgresql btw 19:09:16 AnMaster: LIMIT isn't standard at all 19:09:21 although it's certainly useful 19:09:36 ais523, well, postgresql supports it with SELECT, but nothing else 19:09:54 the SQL standard doesn't even have LIMIT as a keyword 19:10:46 ais523, interestingly, the worst problems so far has been 1) postgresql has bytea, but no blob 2) postgresql wants "" around column names that happens to be keywords, mysql wants `` 19:10:49 an unLIMITed standard 19:10:59 oerjan, heh 19:11:10 AnMaster: yep, quoting is really inconsistent between the DB engines 19:11:12 hey, even i wasn't laughing 19:11:15 surely they must have standardised that 19:11:33 so why aren't DB engines staying consistent about it? 19:11:48 ais523, well since I need to support both (eww) I wrote a small wrapper quote_for_stupid_db 19:11:55 that quotes one word as a column name 19:12:34 apart from column names and table names the code uses prepared statements everywhere 19:13:36 -!- sebbu has quit (Read error: 104 (Connection reset by peer)). 19:14:01 -!- sebbu has joined. 19:14:57 ais523, anyway what is worse in this case (which is horrible php code), is that while pdo is supposed to be an abstraction layer, it is kind of useless when it returns mysql blobs as strings and postgresql bytea as streams 19:19:00 -!- KingOfKarlsruhe has joined. 19:20:27 ooh, a syntax highlighting program that actually parses textmate theme files to work. 19:20:28 nice. 19:21:19 * Hiato hates to interrupt but is concerned that his NASM OS compiles with FASM, yet causes kernel panics randomly 19:21:28 #osdev? :P 19:21:35 * Hiato and is wondering what the compiler differences are 19:21:39 :P 19:21:42 roger 19:21:42 thanks 19:21:52 Hiato: you have an os? 19:22:09 indeedy 19:22:43 was in NASM, then I started porting it to FASM today so that I could port FASM to it. It's 16bit, real-time mono-tasking (for now) 19:23:01 http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7,475,086.PN.&OS=PN/7,475,086&RS=PN/7,475,086 19:23:03 Patent fail 19:23:11 thx ibm 19:23:51 ehird, err 19:23:58 ehird, prior art 19:24:08 Lol! You think the US patent system cares? 19:24:11 Oh, what a comedian 19:24:55 ehird, this sounds like the definition of the CHAR(n) type... 19:25:06 no, it's the definition of TRIM() 19:25:29 well, using TRIM() in a trigger rather? 19:26:27 perhaps. 19:29:32 -!- Zetro has joined. 19:30:41 -!- Mony has joined. 19:33:03 plop 19:33:10 blob 19:33:18 kablam! 19:45:14 argh, mysql auto increment NEEDS a NULL in INSERT, it must be listed. PostgreSQL's equivalent requires the column to not be listed 19:45:14 :( 19:49:46 AnMaster: autoincrement is different between all sorts of db engines 19:49:52 ais523, yes 19:50:31 ais523, do you know any sort of true DB abstraction layer? A "anti-quirk middleware" 19:50:33 an* 19:50:37 I don't know of one 19:50:39 they must exist, though 19:50:46 DBI. 19:50:53 ehird, for (ewwwww) php 19:50:55 ehird: that isn't a true abstraction layer 19:51:03 it requires you to write the SQL yourself 19:51:12 AnMaster: that was not specified. ais523: It translates the SQL to the correct dialect, I believe. 19:51:12 in a syntax that the target DB engine understands 19:51:17 ehird: no it doesn't, IIRC 19:51:22 yes it does, IIRC> 19:51:46 ehird, well true 19:52:12 but I'm not using perl, no way I'm rewriting an existing software in perl 19:52:29 at least this php program has all the DB calls in a single file 19:52:34 then tough shit. 19:53:05 ehird, ais523: also does DBI rewrite or not? 19:53:13 Dates and times are returned as character strings in the current 19:53:15 default format of the corresponding database engine. Time zone effects 19:53:15 19:51 ehird: no it doesn't, IIRC 19:53:16 19:51 yes it does, IIRC> 19:53:16 are database/driver dependent. 19:53:23 from the DBI docs 19:53:25 I haven't found a definitive answer to the original question yet 19:53:25 I am talking about SQL syntax, ais523. 19:53:26 but that's a clue 19:53:58 ehird, and I'm waiting for you two to make up your mind 19:54:01 The DBI itself does not mandate or require any particular language to 19:54:03 be used; it is language independent. In ODBC terms, the DBI is in 19:54:04 "pass-thru" mode, although individual drivers might not be. The only 19:54:06 requirement is that queries and other statements must be expressed as a 19:54:07 single string of characters passed as the first argument to the 19:54:09 "prepare" or "do" methods. 19:54:12 it doesn't even require SQL! 19:54:16 -!- MigoMipo has changed nick to PrepareForMigol0. 19:54:17 hah 19:54:21 k 19:54:35 ais523, what is ODBC btw? I have seen the term a lot, but never understood what it was 19:54:43 -!- PrepareForMigol0 has changed nick to Migol09. 19:54:44 I think it's a DB driver, not sure though 19:54:48 letmegooglethatforyou.com/?q=ODBC 19:54:51 it's probably something DB-related, anyway 19:54:57 ehird: does that site need JavaScript? 19:55:00 yes. 19:55:06 enable it, it's worth it 19:55:08 then it's considerably worse than just linking to Google 19:55:16 enable it, it's worth it <--- no it isn't 19:55:22 ais523: it's a sarcastic insult. 19:55:32 if I wanted to be helpful I wouldn't link to it. 19:56:14 ehird, I have javascript off too 19:56:21 and not about to turn it on 19:56:24 care level: 0 19:56:48 "In computing, Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). The designers of ODBC aimed to make it independent of programming languages, database systems, and operating systems." 19:56:49 interesting 19:58:00 * AnMaster forces ehird to use MS Query with the Microsoft Excel backend for his databases 20:04:40 -!- oerjan has quit ("Good night"). 20:14:29 -!- Zetro has quit (Read error: 104 (Connection reset by peer)). 20:14:49 -!- Zetro has joined. 20:18:16 -!- Migol09 has changed nick to JohnWins. 20:23:06 -!- Judofyr has joined. 20:26:47 -!- BeholdMyGlory has changed nick to ThisIsAReallyLon. 20:27:08 -!- ThisIsAReallyLon has changed nick to BeholdMyGlory. 20:28:15 cool, the IRC interface I was thinking about exists 20:29:17 -!- Zetro has left (?). 20:34:05 ehird, and what is that interface? 20:34:16 you have 3 guesses 20:34:55 not file system based since we talked about that before, not integrated in to zsh since we also talked about that before 20:34:57 hm 20:35:15 ehird, are you talking about a client or some server side feature? 20:35:26 like say, a jabber<->irc proxy 20:35:36 IRC interface: an IRC server that provides an interface to another service. 20:35:37 (that exists yes) 20:35:44 For example, bitlbee is an IRC interface for IM services. 20:35:47 indeed 20:35:59 but it isn't bitlbee? 20:36:01 hm 20:36:11 ehird, is it related to IM? 20:36:17 Sort of. 20:36:37 related to web browser? (like, say cgi::irc but in server) 20:37:04 ehird, ? 20:37:07 nope. 20:37:10 hm 20:37:54 ehird, is it for translating between different IRCD procotols? 20:37:56 protocols* 20:37:59 nope. 20:38:02 ah 20:38:03 hm 20:38:04 brb, feel free to guess while I'm brbing 20:38:18 ehird, well if it isn't bitlbee I'm out of ideas. 20:38:41 brb too 20:43:27 back 20:44:22 -!- Corun has joined. 20:48:33 -!- Mony has quit ("Quit"). 20:52:32 -!- Hiato has quit ("Leaving."). 20:54:08 bass fretboard showing the c major scale: 20:54:08 O O O O O O O O O O O O O O O 20:54:08 O O O O O O O O O O O O O O O 20:54:08 O O O O O O O O O O O O O O O 20:54:08 O O O O O O O O O O O O O O O 20:54:11 . . . . : . . . . : 20:55:08 UNI(mirror N)UN(mirror N)I 20:55:10 ? 20:55:20 lament, nice ASCII art! 20:55:32 it does look pretty 20:55:39 it looks like a punch tape 20:55:43 lament, apart from the mirrored N 20:56:00 hm have you seen that javascript punch card library? 20:56:13 * AnMaster looks for url 20:56:26 ah yes lament: http://www.outstandingelephant.com/jcquard/ 20:56:58 hehehe 21:00:33 yay, this VHDL synthesizer actually seems half-decent 21:00:39 ais523, nice 21:00:40 it gave me several screenfuls of optimiser warnings 21:00:42 ais523, what one? 21:00:54 Synplify Pro, it seems 21:00:55 AnMaster: that mirror N, could it be a lambda? 21:01:02 must be a for-pay expensive one 21:01:06 because there are no free ones 21:01:15 ais523, and you have a copy? 21:01:17 which are at all good, and even the rubbish ones are closed-source 21:01:20 AnMaster: no, at University 21:01:33 heh 21:01:45 lament, hm upper case or lower case? 21:01:56 pretty much only companies and universities can afford good VHDL synthesizers 21:01:59 hard to say 21:02:05 I'm amused at the way that anything optimisable is considered a warning, though 21:02:12 in VHDL, you're supposed to write optimal code yourself 21:02:13 lament, don't think so 21:02:17 ais523: hah 21:02:26 AnMaster: oh well 21:02:26 anything suboptimal is bad style 21:02:33 good thing the compiler's catching it for me 21:02:53 in my case, I'm doing all sorts of suboptimal things like not using all the codepaths in a function every time I use it 21:03:07 ais523, eh, how do you then branch? 21:03:08 or not running all the commands in a loop every iteration 21:03:18 AnMaster: via loop unrolling and constant folding 21:03:33 in VHDL, all functions are inlined and all loops are unrolled by the compiler anyway 21:03:46 luckily, I trust it to do that job a lot more reliably than I trust me to do it 21:03:48 so it isn't turing-complete? 21:03:56 no 21:03:58 finite storage 21:04:08 although there are non-loop ways to get infinite repitition 21:04:12 o_O 21:04:16 *repetition 21:04:23 penrose tilings?? 21:04:26 ais523, how does that work? 21:04:27 lament: a <= not b; b <= a 21:04:36 causes infinite repetition in VHDL 21:04:38 despite not being a loop 21:04:51 brain explodes 21:04:59 lazy evaluation? 21:05:39 behavioral evaluation 21:05:42 not exactly lazy 21:05:49 if you don't want the loop to be a tight loop and block your program 21:05:57 you can write a <= not a after 10 ns; 21:06:08 then the loop only changes once every 10 nanoseconds, and you're fine 21:06:35 ais523, nice 21:06:44 * AnMaster waits for lament comments on that 21:06:50 lament's* 21:06:56 i don't get it :) 21:07:05 lament, VHDL compiles to hardware 21:07:08 so timing matters 21:07:15 but what does a <= not a do? 21:07:27 well, I guess toggle a 21:07:29 ? 21:07:34 is that correct ais523? 21:07:45 yes 21:07:57 ais523, VHDL is event driven right? 21:07:58 what does <= mean? 21:08:02 also how does Verilog differs 21:08:07 lament: delayed action assignment 21:08:19 differ* 21:08:25 writing a <= b; b <= c; is equivalent to b <= c; a <= b; 21:08:40 the assignments all happen at the end of the program/process 21:08:54 immediate assignment is := but you aren't allowed to use it, except as local shorthand 21:08:58 sort-of like #define 21:09:04 ais523, huh 21:09:16 VHDL has lots of features that can't be synthesized into hardware 21:09:23 they're fine on simulators, but you have to avoid them for synthesis 21:09:25 oh ok 21:09:32 this is why I think a VHDL->VHDL compiler would actually be highly useful 21:09:36 back 21:10:03 ehird, so what one was it? 21:10:38 heh, this is amusing 21:10:48 the compiler warned me that it generated 6 copies of one of my variables 21:10:56 ais523, I checked their website, it seems to be "contact for price" 21:10:56 if you use a variable too much in VHDL, it overheats 21:11:07 AnMaster: yep, if you have to ask, you can't afford it 21:11:07 ais523, wow, sounds like an esolang 21:11:24 so the compiler generated extra copies to spread the load around 21:11:27 yeah, ask for price = this is too expensive for you 21:11:28 :-) 21:11:49 ehird, indeed 21:13:43 ais523, and there seems to be an even more advanced product "Synplify Premier", which can handle ASIC too 21:14:05 AnMaster: if you have any reason to be doing ASIC synthesis, then you can afford it 21:14:10 I like the idea of using a variable too much overheating the "executable" :-) 21:14:12 ais523, exactly 21:15:04 now let's see if this insane design fits on the processor 21:15:10 see, I think vhdl synthesizers costing a lot makes sense 21:15:23 it's a niche product and making it is extremely difficult 21:15:31 "ESL synthesis" <-- don't know what that is, seems related to DSPs though 21:15:39 and despite being niche, the people who need it really do need it 21:15:45 you should try to implement mergesort using nothing but nested FOR loops sometime 21:15:52 and no array indexes that can't be hard-coded 21:15:58 after the loop's unrolled 21:16:01 ais523, ouch 21:16:14 ais523, can't you use a sorting network if it is hardware? 21:16:28 AnMaster: that's what it is 21:16:32 ais523, oh 21:16:34 this is the code for generating one 21:16:38 right 21:16:42 and ugh, it seems my design is too complex to fit on the chip 21:16:50 ouch 21:17:14 looks like I'll just have to cut down on some of the PRNGs 21:17:29 I have sixteen 32-bit multipliers in there to provide test case data 21:17:35 they must be taking up most of the chip, I reckon 21:17:35 what are you doing 21:17:35 ah 21:17:44 ehird: project for University 21:17:50 ehird, what irc gateway was it btw? 21:18:01 ais523: what is it? 21:18:05 AnMaster: I /msg'd the answer 21:18:09 oh right 21:18:12 don't want to spoil anyone else's guessing :P 21:18:12 didn't see the tab 21:26:00 ais523: would Verilog be easier? 21:26:02 yay, Total Number 4 input LUTs: 2600 out of 3840 21:26:09 and that was just deleting half the multipliers 21:26:12 ehird: no 21:26:20 nowadays, VHDL and Verilog are the same lang with different syntax 21:26:24 they started out very different 21:26:25 ah 21:26:30 but all features in one got added to the other, and vice versa 21:32:05 Verilog wasn't even intended for synthesis, in the first place 21:32:11 but for the construction of verifier testbenches 21:33:38 and yay, the design wasn't too difficult to place in the end 21:33:45 it only took the compiler 1 minute 47 seconds 21:33:52 I've heard cases of it taking days 21:34:51 ais523: does this like, actually print to hardware? 21:34:57 it will do 21:35:02 although I don't have a JTAG cable on me atm 21:35:09 nor a reprogrammable logic chip 21:35:14 we can only book those out in working hours 21:35:23 ais523: oh, so it just reprograms a generic thing? 21:35:24 lame 21:35:31 i want a CHIP PRINTER :| 21:35:39 ehird: that's the ASIC stuff that AnMaster suggested 21:35:41 it exists 21:35:47 i want it 21:35:49 <_< 21:35:51 but the typical price is about a million dollars setup cost 21:35:57 plus 10 cents for each identical chip you make 21:36:07 or up to maybe about 50 cents for complex ones 21:36:14 if you make even a single change, that's another million dollars 21:36:34 ais523: ... :( 21:36:40 I want it, cheaper <_< 21:36:53 ... but seriously 21:36:56 a million dollars? Whaat 21:37:01 there is some progress towards being able to generate arbitrary electronic components 21:37:05 Do they do cold fusion or something? 21:37:06 ehird: that's how much it costs to retool the factory 21:37:13 Sheesh. 21:37:28 I've heard there's progress towards printers which you fill with plastic n-type and p-type ink 21:37:33 that can print transistors 21:37:40 so maybe your wish will be fulfilled in the end 21:37:47 at a rather higher unit price, but rather lower setup cost 21:38:26 One day it shall be free :< 21:40:17 -!- Corun has quit ("This computer has gone to sleep"). 21:42:44 next problem: trying to figure out why a program for showing where everything was placed would trigger the firewall on the Windows computers here 21:46:04 ais523, "report home mode"? 21:46:55 maybe 21:47:01 or some sort of automatic updates 21:47:13 ais523, did it work anyway? 21:48:49 ehird: that's how much it costs to retool the factory <-- what does a retool include? 21:48:59 also, how big is this factory? 21:49:13 ehird: I'm not sure 21:49:19 i mean 21:49:21 is it a machine 21:49:23 or a warehouse 21:49:24 :D 21:49:25 I think they have massive foundries, but they produce more than one product at a time 21:49:36 because you need a big assembly-line-type process 21:53:40 ais523, but why does it cost 1 million, I mean... 21:53:56 AnMaster: because you're making an actual chip. 21:53:58 i mean, carbon and shit. 21:54:00 silicon. 21:54:01 ehird, well true 21:54:02 melting. 21:54:03 and stuff. 21:54:24 but is it making some sort of "master" copies or something that cost? 21:54:34 -!- Judofyr has quit (Remote closed the connection). 21:55:07 I mean, a lot of the actual tools wouldn't differ would they? 21:55:17 AnMaster: yes, I think so 21:55:24 the problem is trying to get all the photomasks into place 21:55:29 aha 21:55:57 ais523, how was it done back in the 1980s or so, because you wouldn't have as large batches back then 21:56:19 smaller markets 21:56:33 AnMaster: my guess is much the same way, and the chips ended up more expensive as a result 21:56:44 ais523, yet they were able to produce C64 and such? 21:56:53 even though market was smaller 21:57:38 just consider the sound chipset for it, to a modern sound chipset, surely the modern one has been produced in lot more copies 22:01:37 heh, this is great 22:01:44 I get a massively big circuit diagram I can look at 22:02:03 and I can double click on a component, and it highlights a single instance of the word "if" in the source code, for instance 22:03:32 ha 22:12:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 22:12:48 -!- puzzlet has joined. 22:13:45 -!- JohnWins has changed nick to MigoMipo. 22:20:04 -!- ais523_ has joined. 22:21:12 -!- olsner has joined. 22:22:08 -!- MigoMipo has left (?). 22:23:53 β–β–‡β–…β–„β–ˆβ–ƒβ–„β–β–‚β–† 22:24:02 ehird: that's an interesting Unicode-art graph 22:24:07 it's a unicode sparkline 22:24:12 btw, ohw do people here think Unicode art compares to ASCII art? 22:24:16 β–β–β–‚β–ƒβ–„β–„β–…β–†β–‡β–ˆ 22:24:21 % 1 to 10 22:24:22 *^ 22:24:23 and what's a sparkline? 22:24:30 http://en.wikipedia.org/wiki/Sparkline 22:24:39 in this case, essentially a mini graph 22:25:08 yep 22:25:19 the unicode blocks are a bit ugly, but there you go 22:25:22 i wrote a program to do it 22:25:51 β–ˆβ–‰β–Šβ–‹β–Œβ–β–Ž 22:26:59 heh, I just decompiled the resulting circuit into VHDL 22:27:01 it's an utter mess 22:27:13 with variable names like un75_prng_1_s_8_n_XORG 22:27:14 β–– 22:27:14 β–—β–Ÿ 22:27:56 whee, now it accepts input from stdin too 22:28:03 lovely little 40-line hack. 22:28:33 of course, unicode sparklines were someone elses idea and my script is almost identical to their(mozilla ubiquity)'s but there's not that many ways to implement this :P 22:28:50 % seq 1 10 | sparkline 22:28:50 β–β–β–‚β–ƒβ–„β–„β–…β–†β–‡β–ˆ 22:29:00 now to make it scale M values into N values 22:29:05 i.e., you can compress 1000 data points into 10 22:29:13 not hard 22:29:21 just split the list every M values, and mean it up 22:29:27 hmm, maybe that should go into another program 22:29:27 like 22:29:41 % seq 1 1000 | squish 10 | sparkline 22:29:43 thoughts? 22:30:15 what does squish do? 22:30:25 ah, skips every nth element? 22:30:29 ais523_: no 22:30:34 oh, averages blocks of n elements 22:30:38 pretty much, yep 22:30:46 hrmph, squish requires me to duplicate this code 22:30:47 if sys.argv[1:]: 22:30:48 input = sys.argv[1:] 22:30:50 else: 22:30:52 input = re.split(r'\s+', sys.stdin.read().strip()) 22:30:54 numbers = map(float, input) 22:30:56 :-) 22:30:58 well, almost 22:31:00 sys.argv[2:] 22:31:07 since first arg is number to squish too 22:31:08 *to 22:33:56 we should so make an esolang based on VHDL 22:34:01 even though it's arguably an esolang itself 22:34:58 -!- ais523 has quit (Read error: 110 (Connection timed out)). 22:39:31 -!- ais523_ has changed nick to ais523. 22:41:00 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 22:41:04 -!- puzzlet has joined. 22:42:23 hmm... since when did become a block element on Slashdot? 22:42:30 OK, I get that it's unsemantic 22:42:41 my gtalk status line: Azure a Flatus volant Or 22:42:45 but still... 22:42:57 lament: looks like a coat of arms description 22:43:08 yeah, it's a blazon 22:47:06 ais523: do you think squish(1) should expand values too? 22:47:07 e.g. 22:47:11 squish 3 1 2 22:47:13 would become 22:47:14 1 1.5 2 22:48:14 may as well 22:48:19 also, wouldn't the 1 2 be on stdin 22:48:21 that's harder though :-) 22:48:23 ais523: can be 22:48:24 or can it take from stdin or arguments? 22:48:27 if you omit the arguments, it reads from stdin 22:48:32 same with sparkline(1) 22:48:39 * ehird tries to figure out how to do expansion easily 22:50:36 uh oh 22:50:37 % squish 3 1 2 3 4 | xargs echo 22:50:38 1 2 3 4 22:50:40 I hate off by one errors 22:52:25 yay, fixed 22:52:41 ok, who has a bunchload of numbers they want turned into a sparkline? 22:52:51 -!- BeholdMyGlory has quit ("bye"). 22:53:28 hmm? 22:54:52 jm 22:54:54 hm* 22:54:54 idea 22:55:00 I just had a great idea... 22:55:04 that netbsd toaster 22:55:08 ehird: http://www.eveandersson.com/pi/digits/1000000 22:55:08 it should have transactions 22:55:15 so if you cancel the toast 22:55:20 they aren't burnt! 22:55:33 no idea how to implement it :( 22:55:53 Deewiant: hee, sure 22:56:14 and then http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil 22:59:17 http://filebin.ca/nastsa/pi_data.txt (16 million) 23:00:26 http://ja0hxv.calico.jp/pai/epivalue.html <-- 100 billion... split over multiple files 23:00:35 initial testing: 23:00:36 % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | wc -w 23:00:38 1000000 23:00:40 good 23:00:45 ok, now to | squish 100 | sparkline 23:01:05 % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | squish 100 | sparkline 23:01:07 β–„β–†β–„β–†β–„β–ƒβ–„β–ƒβ–‚β–…β–„β–…β–β–…β–„β–…β–…β–…β–†β–…β–‚β–„β–„β–„β–†β–…β–‡β–…β–…β–…β–…β–…β–„β–‡β–†β–…β–‚β–β–„β–‚β–„β–†β–„β–‡β–„β–…β–‡β–‡β–†β–…β–‚β–†β–‡β–†β–†β–‚β–†β–†β–‚β–…β–…β–ƒβ–„β–‚β–ƒβ–…β–†β–ƒβ–ƒβ–‡β–ƒβ–„β–ˆβ–…β–„β–‚β–†β–†β–„β–‡β–ƒβ–…β–„β–‡β–…β–†β–‚β–†β–†β–„β–„β–ƒβ–‚β–†β–†β–†β–…β–ƒβ–β–„ 23:01:11 http://ja0hxv.calico.jp/pai/ee1value.html <-- e to 100 billion digits, again multiple files 23:01:11 Deewiant: you're welcome. 23:01:15 that python invocation is really ugly though. 23:01:17 ehird, wtf is that? 23:01:26 some bars in unicode? 23:01:26 ehird: :-) 23:01:26 AnMaster: that's the first million digits of pi, graphed as a sparkline 23:01:30 you know, what we've been discussing. 23:01:36 ehird, I was afk 23:01:39 ah. 23:01:46 Deewiant: conclusion: pi is random :P 23:01:46 ehird: so how does that come out to less than a million characters 23:01:56 Deewiant: | squish 100 | 23:01:56 i.e. what does the squishing do 23:02:10 ehird: yeah, but what's the transformation 23:02:11 Deewiant: basically, it divides the input into the right amount of segments 23:02:16 and runs mean on them 23:02:30 % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo 23:02:30 1.5 3.5 5.5 7.5 9.5 23:02:43 (first arg is result length) 23:03:01 ehird, links for these programs? 23:03:12 right, so you preserve the arithmetic mean 23:03:13 AnMaster: ~ehird/bin/{squish,sparkline} 23:03:21 ehird, care to pastebin them? 23:03:23 :) 23:03:28 AnMaster: sure, after I've processed e 23:03:34 ehird, right :) 23:04:34 the python invocation is ugly, but html scraping is ugly. 23:04:43 % squish 3 1 2 3 4 | xargs echo 23:04:43 1 2 3 4 <-- why the xargs echo? 23:04:48 AnMaster: because it outputs one per line 23:04:52 ah 23:04:54 since that's the unixy standard 23:05:00 true 23:05:23 ehird, would you say sendmail is unixy? 23:05:41 it doesn't exactly do one thing, and it doesn't exactly do it well. 23:05:43 so... no. 23:05:54 ehird, it is however traditional unix software 23:05:55 :) 23:06:04 so unix isn't unixy 23:06:15 correct. 23:06:22 what about dd? 23:06:25 plan 9 is the first system applying the unix philosophy to a reasonable degree 23:06:27 I don't think it is unixy 23:06:34 AnMaster: it's a swiss army knife, and it's inconsistent with hte rest of the system 23:06:35 -> not unixy 23:06:44 Deewiant: here comes yer e sparkline 23:06:46 ehird, indeed, command line argument format is weird 23:06:52 % curl http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).hr.nextSibling.replace("e =", "").replace(" ", "").replace("\n", "").replace("2.", "")))' | squish 100 | sparkline 23:06:53 β–„β–‚β–ƒβ–„β–„β–β–β–„β–„β–„β–„β–‚β–ƒβ–„β–„β–β–‚β–ƒβ–‚β–†β–‚β–ƒβ–…β–„β–‡β–„β–‚β–…β–…β–…β–ƒβ–„β–ƒβ–‚β–…β–ƒβ–‚β–ƒβ–„β–…β–„β–β–ˆβ–…β–ƒβ–‚β–„β–…β–β–„β–„β–„β–„β–„β–ƒβ–ƒβ–β–„β–„β–…β–ƒβ–ƒβ–…β–†β–„β–ƒβ–„β–„β–…β–„β–‚β–‚β–ƒβ–„β–„β–„β–ƒβ–„β–‚β–…β–‚β–„β–„β–‡β–…β–…β–„β–…β–„β–†β–ƒβ–„β–†β–„β–„β–ƒβ–ƒβ–ƒβ–…β–… 23:06:57 conclusion: e is also random. 23:07:21 interestingly, 23:07:27 squish gives _all_ 4s 23:07:29 i.e. 23:07:32 4.5119 4.4689 4.481 4.5036 4.5132 4.4527 4.4554 4.5137 4.5147 (...) 23:07:39 I wonder why? that's very odd. 23:07:46 ehird, did it do so for pi too? 23:07:51 I'll check 23:08:09 ... yes. 23:08:13 ehird, a bug? 23:08:26 anyway please pastebin sparkline? 23:08:32 I don't think it's a bug, % seq 1 1000 | squish 100 works fine 23:08:37 I guess it's just an odd numerical property o_O 23:08:40 rather obvious? 23:08:42 AnMaster: yes, I will in a bit 23:08:46 Deewiant: is it? elaborate :P 23:08:47 ehird: it's around 9/2 23:08:52 ah 23:09:03 and we've got stuff in the range 0-9 randomly distributed 23:09:13 of course 23:09:14 ah I see 23:09:21 one thing that saddens me about squish/sparkline 23:09:26 ? 23:09:29 is that there's one piece of almost identical code in them :P 23:09:35 sparkline: 23:09:37 if sys.argv[1:]: 23:09:37 input = sys.argv[1:] 23:09:38 ehird: make a library out of it 23:09:39 else: 23:09:41 input = filter(None, re.split(r'\s+', sys.stdin.read().strip())) or [0] 23:09:43 numbers = map(float, input) 23:09:45 squish: 23:09:47 if sys.argv[2:]: 23:09:49 input = sys.argv[2:] 23:09:50 ehird, command line parsing you mean 23:09:51 else: 23:09:53 input = filter(None, re.split(r'\s+', sys.stdin.read().strip())) 23:09:55 numbers = map(float, input) 23:09:57 Deewiant: surely too small for that 23:09:59 I don't want to tell people "Also, download this lib." 23:10:01 AnMaster: not really 23:10:02 ehird: surely not 23:10:03 just "give me inputs from arguments or stdin" 23:10:22 ehird: doesn't python have some kind of magical library installation tool 23:10:23 Deewiant: % curl http://blahblah -O blah; blah 23:10:28 is fast 23:10:28 like CPAN, cabal, DSSS, etc 23:10:29 Deewiant: yes 23:10:37 but tbh 23:10:39 it's 5 SLOC 23:10:40 who cares 23:10:50 re.split(r'\s+', sys.stdin.read().strip()) == sys.stdin.read().strip().split() 23:10:54 5 SLOC times 100 projects is 500 SLOC 23:11:13 MizardX: does that split on all whitespace? 23:11:16 yes 23:11:19 okay then 23:11:33 MizardX: what about the filter(None, ) ugliness? 23:11:39 it's to stop empty inputs giving [''] 23:13:13 (w for w in sys.stdin.read().strip().split() if w) ... maybe better with filter 23:13:31 yeah, I'll just put it in a library if I ever expand it 23:13:41 % wc -l sparkline 23:13:42 38 sparkline 23:13:43 % wc -l squish 23:13:45 52 squish 23:13:47 not bad. 23:13:51 I should probably run slocc or something on them instead. 23:14:11 [ float(w) for w in sys.stdin.read().strip().split() if w ] 23:14:30 nah, the float mapping is after to not duplicate it per input source 23:14:54 ehird, download link? going brb in a sec 23:15:00 brb 23:15:08 AnMaster: sheesh, be patient 23:16:18 strip().split() does not leave any empty elements 23:16:27 oh, nice 23:16:43 there, that's better 23:17:00 % squish 3 1 23:17:00 Fewer numbers (1) than the target amount (3)! 23:17:13 I probably need a squap or something to expand. 23:17:21 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 23:18:12 -!- puzzlet has joined. 23:18:35 What's the first argument for? 23:19:02 MizardX: target numbers 23:19:12 squish N means "squish the values I give you into N values" 23:19:22 % seq 1 100 | squish 10 | xargs echo 23:19:22 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5 23:20:29 oh, {ehird} (first arg is result length) 23:21:03 I was confused by % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo -> 1.5 3.5 5.5 7.5 9.5 23:21:09 :) 23:21:17 mostly you'll give it stuff via stdin 23:21:37 ehird: xargs echo? that's clever 23:21:41 yes 23:21:42 normally I do that using tr 23:22:10 seems like an utter abuse of xargs 23:22:16 actually 23:22:18 just xargs works 23:22:25 % seq 1 100 | squish 10 | xargs 23:22:25 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5 23:22:27 who'dathunkit? 23:23:14 it's still an abuse 23:23:21 xargs = print sys.stdin.read().strip().split() :) 23:23:32 err, no 23:23:35 on DJGPP, xargs does weird stuff to avoid ever passing the arguments directly 23:23:40 due to the command-line length limit 23:23:43 xargs = print ' '.join(sys.stdin.read().strip().split('\n')) 23:23:50 or rather, xargs echo 23:23:53 ais523: it's not an abuse 23:23:56 ah, forgot join 23:24:03 we have values on multiple lines, and we want to give them as arguments to one command - echo 23:24:07 that is what xargs is for 23:24:08 well, I suppose so 23:24:12 xargs defaulting to echo is just even more convenient 23:24:19 MizardX: and splitting on '\n' 23:24:21 I see xargs as passing file lists to things, specifically 23:24:26 back 23:24:33 ais523: then you see wrong 23:24:37 NAME 23:24:37 xargs -- construct argument list(s) and execute utility 23:24:39 ais523, nah, you use -exec to find 23:24:44 ais523, much safer 23:24:44 MizardX: hmm actually xargs splits on all whitespace 23:24:50 considering newlines in filenames 23:24:53 and so on 23:25:00 yeah I put newlines in my filenames all the time. 23:25:13 ehird: does `printf "ab cd\nef gh" | xargs ls` list the files "ab cd" and "ef gh" 23:25:17 ehird, if I want to run a script as root to clean out /tmp 23:25:19 or the 4 files ab cd ef gh? 23:25:27 ais523: latter 23:25:35 ehird: something's wrong, then 23:25:35 well 23:25:39 unusable to me then 23:25:40 ais523: why? 23:25:43 it splits on all whitespace 23:25:50 since I often need to work on files with spaces in them 23:26:04 AnMaster: sure. 23:26:05 ehird: so why are you explicitly splitting on \n in your program above 23:26:15 AnMaster: so do I, mostly trying to deal with Windows program URLs via Wine 23:26:16 ais523: 23:24 MizardX: hmm actually xargs splits on all whitespace 23:26:26 anyway, I have to go now 23:26:32 or I'll miss the last bus 23:26:33 ais523, cya 23:26:39 -!- ais523 has quit. 23:26:39 afk again 23:27:59 Deewiant: any other numbers you want graphed? 23:28:13 ooh, I should graph the size of the IRC logs in #esoteric 23:31:26 from 03.01.17 to 08.10.31: 23:31:27 % wc -c *.*.* | head -n -1 | perl -pe's/\s+(\d+).*/$1/' | squish 100 | sparkline 23:31:28 β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–β–‚β–ƒβ–β–‚β–‚β–‚β–‚β–‚β–ƒβ–β–β–β–‚β–‚β–β–β–β–β–‚β–β–β–ƒβ–ƒβ–‚β–‚β–‚β–β–β–„β–ƒβ–‚β–‚β–ƒβ–‚β–β–‚β–‚β–„β–…β–„β–ƒβ–‚β–ƒβ–ƒβ–‚β–ƒβ–„β–„β–ƒβ–†β–…β–„β–ƒβ–„β–†β–‡β–‡β–†β–†β–ˆ 23:31:39 conclusion: this place only gets more active over time. 23:32:16 tl;dr 10-length version: β–β–β–β–β–‚β–‚β–ƒβ–„β–„β–ˆ 23:33:23 tl;dr 2-length comedy version: β–β–ˆ 23:38:02 :D 23:38:31 def chunked(iterable,size): return itertools.izip(*[iter(iterable)]*size) ... print ' '.join(str(1.0 * sum(chk) / len(chk)) for chk in chunked((float(x) for x in sys.argv[2:] or sys.stdin.read().strip().split()),int(sys.argv[1]))) 23:38:32 whoaaaa ,this looks awesome: http://pastie.org/362943.txt 23:38:39 MizardX: ok, and ? : 23:38:40 :P 23:38:48 your chunking fails 23:38:53 as it doesn'taccount non-divisible lengths 23:39:14 so... mine is more elegant, works better, and is probably faster :-P 23:41:17 p.s. i generated that arrow like this 23:41:17 for i in `seq 20`; do (seq $i; seq $i | tac) | sparkline; done; for i in `seq 20 | tac`; do (seq $i; seq $i | tac) | sparkline; done 23:51:40 Deewiant: i just read one of your reddit comments! 23:51:43 everyone should stop internet-stalking me 23:51:54 ehird 23:52:00 what on earth are you doing there 23:52:19 i'd tell you, but it'd be annoyingly tedious and you wouldn't understand. 23:53:41 i get that you're graphing channel activity 23:53:47 i was more nterested in what you're using to do it 23:54:00 wc(1), squish(1) and sparkline(1) 23:54:15 the latter two I wrote myself 23:54:28 also, the pastie link I gave is just to some random arty thing I made with it 23:54:30 not channel activity 23:55:42 http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b 23:56:35 kioskmongo! 23:58:55 and i presume wc, squish, and sparkline are run in the shell? 23:59:15 ehird, so link? 23:59:22 if not I'm going to bed in a second