00:01:22 00:01:34 i think the error there is that you use gregor's "matching" colours generator 00:02:19 :) 00:04:01 hmm, putting a shadow on every bit of text either looks nice or awful 00:04:03 I can't decide which 00:42:05 Asztal: quick, what's your favourite colour 00:45:18 guys, im going to start doing some experiments with evolutionary algorithms and using them to design code 00:45:23 k 00:45:28 blue 00:45:37 oklofok: what shade 00:45:43 and the way i want to work with it is really with just a simple little simulated processor 00:45:49 any suggestions for what it should do? 00:45:55 no 00:45:56 the processor, i mean 00:45:58 ehird: i think pretty dark 00:46:05 psygnisf_: just make it a stack machine 00:46:17 im not sure how to do that D: 00:46:26 psygnisf_: look it up, tard :P 00:46:33 * psygnisf_ fwaps ehird 00:46:46 -!- psygnisf_ has changed nick to psygnisfive. 00:46:50 psygnisf_: well maybe it could digest food or something 00:47:05 that's a pretty interesting algorithmic problem 00:47:16 i keep trying to tab-complete "algorithm" 00:47:17 he means the cpu 00:47:35 ehird: err so? 00:47:37 ehird, i was thinking more along the lines of what kind of instruction set should i include. 00:47:42 psygnisfive: stack-based. 00:47:45 :P 00:47:48 program is a list of words. 00:47:50 basic stack manipulation words, 00:47:55 define your own words (i.e. call stack) 00:47:57 * oklofok stands behind his suggestion 00:48:02 and arithmetic 00:48:05 and IO. 00:48:15 IO wont be necessary i think. 00:48:20 well, some will but 00:48:33 you need io to do anyhting with the cpu :P 00:48:39 well you could analyze the stack. 00:48:44 yeah. that was my plan 00:49:39 i was thinking of just using a non-stack machine. with like, memory access stuff 00:49:46 instead of a stack 00:49:49 stack is simpler. 00:49:57 ooooooo 00:50:04 eh.. why simpler? 00:50:15 you're the one who said wtf how do i do that 00:50:16 i have an opinion on this, but i guess i could sleep 00:50:17 don't question me :P 00:50:57 pretend im not going to use a stack machine :P 00:51:07 no, because that's the best way 00:51:10 hush 00:51:12 no. 00:51:16 im going to have a RAM machine 00:51:22 no registers 00:51:26 you asked for advice, I gave it, you ignored it, so I'm not going to talk on the subject any more. 00:51:30 just memory 00:51:36 what instruction set should i use 00:51:40 a stack-based one. 00:51:44 :P 00:51:52 "do" and "don't" 00:51:56 that's all you need 00:52:01 ok give me a good introduction to a sensible stack machine 00:52:05 forth 00:52:06 google it 00:52:13 i dont get forth's conditionals tho 00:52:18 you don't need to. 00:52:22 just make up your own branching 00:52:22 dont i? 00:52:35 i dont understand stack-based branching at all 00:53:21 put code on stack, call it or do a goto on the original code, which is of course not very stacky 00:53:35 or do a more structured loop on code 00:53:39 or both 00:53:40 psygnisfive: just do it like this: 00:53:59 IF pushes the address of the current instruction pointer on the stack 00:54:04 i don't remember how forth did it, just that i'm pretty sure i considered it stupied 00:54:12 psygnisfive: and 00:54:15 IF also stops code execution 00:54:18 i.e. 00:54:19 IF a b c 00:54:21 will just run if 00:54:24 and skip past a b c 00:54:26 until you get to THEN 00:54:34 but it'll push abc to the stack? 00:54:37 no 00:54:39 ok 00:54:41 IF a b c will push the IP address at IF 00:54:45 then zip over a b and c 00:54:45 then 00:54:47 THEN 00:54:50 pops that ip 00:54:53 and then pops the next thing 00:54:55 if the next thing is 0 00:55:01 it just keeps executing past THEN 00:55:03 otherwise 00:55:10 it sets the ip to the one it popped 00:55:12 that was set by IF 00:55:18 which, of course, makes it then run the a b c 00:55:20 see? simple 00:55:27 im not entirely sure i follow D: 00:55:32 ill reread that tho 00:55:32 * oklofok neither 00:55:34 so 00:55:43 psygnisfive: which part was confusing? 00:55:51 nevermind 00:55:52 what operations would you say are absolutely necessary? 00:55:57 oh 00:56:01 stack ones 00:56:02 well it was pretty clear actually 00:56:03 arithmetic 00:56:12 and branching 00:56:14 i more like assumed it was a bad explanation because i didn't feel like reading it properly 00:56:15 ok. 00:56:18 that's just about it 00:56:22 psygnisfive: what was confusing ? 00:56:32 stack ones like push, pop, and swap? 00:56:38 yep 00:56:39 and rot 00:56:40 and stuff 00:56:42 ehird, dont worry. its confusing because i didnt run it in my head 00:56:43 rot? 00:56:46 rotate 00:56:53 i forget the exact stack diagram 00:56:56 i think i know what that means 00:57:00 psygnisfive: basically you need to be able to fetch arbitrary stuff from the stack 00:57:03 the simplest way is 00:57:07 N pick 00:57:09 which means 00:57:11 0 = top of stack 00:57:13 1 = one down 00:57:13 etc 00:57:16 psygnisfive: well it's pretty ugly what he described, you shouldn't branch on the code, it's not pure you know. 00:57:18 it picks the Nth element of the stack 00:57:21 takes it from its currnet position 00:57:22 and moves it to the top 00:57:27 oklofok: it's simple 00:57:28 and easy 00:57:36 you should do it purely functionally, because that's so much zenner. 00:57:45 ehird: did he ask for something easy? 00:57:48 oklofok: don't know how :P 00:57:49 yes 00:57:52 besides 00:57:54 it's a cpu 00:57:56 they aren't purely functional. 00:58:16 ehird: stop being realistic and begin being pure 00:58:29 clense yourself 01:00:12 psygnisfive: well essentially do it like underload 01:00:16 it's pretty pure 01:00:22 in fact maybe just have underload? 01:00:38 or that ...what's the opposite of extension... of it 01:00:39 :P 01:00:41 sigh 01:00:49 imperative stack based is the simplest way, really 01:00:52 psygnisfive: i'll tell you 01:00:52 tomorrow 01:00:53 ok? 01:01:00 sure 01:01:12 there's nothing to tell, i refuse to believe there was something here he didn't understand 01:01:48 ehird: yes, it's the simplest, but what about the puppies? 01:02:07 you really want them to live in a world without purity? 01:02:27 i mean killing puppies just so the rest get scared isn't that nice 01:02:31 it's horrible 01:02:40 so 01:02:48 i think i'm gonna read a comic now 01:02:49 -> 01:10:13 done 01:10:45 i actually read more like 50, but my internet is broken now, also maybe sleep 01:10:46 carry on 01:10:50 ~> 03:00:22 -!- olsner has quit (Read error: 110 (Connection timed out)). 03:29:38 I think I'm going to write factorial for bugSophia 03:55:51 -!- Sgeo has joined. 04:14:59 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 04:30:34 -!- CakeProphet has joined. 05:50:44 of course, bsmntbombdood might not really be a nerd, but anyway. 05:50:45 lies 05:51:19 Prove your nerdity, bsmntbombdood 05:51:40 how 05:51:50 Say something nerdy 05:51:56 no 05:52:04 You are no nerd 05:52:20 lies 05:52:26 no 05:53:13 and anyway, why were you talking about my [lack of a] sex life? 05:53:51 It arouses me to think of it 05:54:02 oh well that's good to know 06:30:16 -!- bsmntbombdood has changed nick to grndlvlbombdood. 06:33:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:40:01 Slereah_: hey baby 06:50:34 -!- olsner has joined. 07:22:00 -!- psygnisf_ has joined. 07:32:38 -!- psygnisfive has quit (Read error: 110 (Connection timed out)). 07:59:22 -!- oklofok has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:18:45 -!- olsner has quit (Remote closed the connection). 08:38:07 -!- GreaseMonkey has quit ("e disasterous."). 08:40:07 -!- oklopol has joined. 09:13:11 ehird, I did some plotting on the timings you gave me yesterday 09:13:17 ehird, quite interesting 09:13:36 however two runs near the end take much longer, any clue why? 09:13:53 as in "more than twice as long" 09:19:36 hm 09:19:48 twice as much system time then and much lower CPU usage 09:19:54 well I guess something else ran then 09:26:17 it's not a realistic benchmark unless you have a torrent program and a few flash games in the background 09:37:15 oklopol, haha 09:44:22 bbl 10:22:15 -!- ais523 has joined. 10:30:28 -!- ais523_ has joined. 10:30:28 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 10:53:17 -!- ais523_ has changed nick to ais523. 11:26:38 -!- Corun has joined. 13:46:55 -!- Corun has quit (Read error: 110 (Connection timed out)). 14:02:47 -!- fungot has quit (Remote closed the connection). 14:08:39 o 14:08:45 oko 14:08:54 Oh noes. Forgot the bot completely. 14:11:35 hi ais523 14:12:05 hi ehird 14:12:36 still on US time? 14:12:48 AnMaster: Yeah, stuff was running for those slow runs. 14:13:01 ehird: no 14:13:02 I reset last night 14:13:17 good now explain :-P 14:13:35 well, it was a gradual process 14:13:44 a few nights ago, my sister went back to school 14:13:48 and she had loads of homework to do 14:13:51 -!- fungot has joined. 14:13:54 because she hadn't done it during the holiday 14:13:56 hi fungot 14:13:57 ais523: ah. ok. 8. i'd prefer ' r5rs,' by the mit peeps my concatenative lang 14:14:17 her/y mother was upset that she was staying up so late 14:14:24 so she was telling her to go to bed all through the night 14:14:26 keeping me awake 14:14:34 so it reached morning, and I still hadn't gone to sleep 14:14:50 that gave me a time offset from local time of several hours, so I was effectively on US time 14:14:59 I went to bed through the day because I had to get sleep some time 14:15:11 then in the evening, decided I needed to use the Internet, so I went round to a relative's house 14:15:18 that night it was really really cold 14:15:28 so much so that walking home would have been dangerous due to all the ice 14:15:31 so I stayed there overnight 14:15:44 staying online to avoid having to sleep there 14:15:50 insomnia != living on US time, surely 14:16:02 ehird: well, I was sleeping the right amount 14:16:04 i've been up for I think max around 40 hours at a time 14:16:06 the day after too 14:16:11 just through the day 14:16:12 my hypothesis is that lack of sleep is the most psychedelic drug ever 14:16:14 it was bizarre 14:16:18 also, heh 14:16:24 yeah 14:16:28 when I was up 40 hours I started talking about recursive campfires. 14:16:54 40 isn't all that much 14:16:59 i can do that after much less 14:16:59 that's just missing one night's sleep, I've done that before 14:17:31 i've done about 38, don't recall a longer instance 14:18:43 ais523: yeah, but i suck without sleep. 14:18:48 or was it 48 14:19:56 well dunno, i just remember it wasn't psychedelic, i was just a bit tired so i went to sleep. 14:51:10 -!- Corun has joined. 14:56:59 -!- jix has joined. 15:07:32 -!- oerjan has joined. 15:11:32 12:26:18 what's J anyway? 15:11:32 13:34:57 http://en.wikipedia.org/wiki/J_programming_language 15:11:34 13:39:02 That's horrible. 15:11:36 -- 2004-04-04 15:11:54 innocence betrayed. 15:12:04 ooh 15:12:06 the oerjanputer 15:12:11 it lives! 15:12:19 DON'T EVEN THINK ABOUT IT 15:12:23 # LIST 15:12:35 (thinking about the oerjanputer can drive you insane) 15:12:38 :D 15:12:39 00:00:00 --- log: started esoteric/04.09.09 15:12:39 23:59:59 --- log: ended esoteric/04.09.09 15:12:44 that was an eventful day 15:13:05 22:44:25 --- quit: ChanServ (ACK! SIGSEGV!) 15:13:08 -- 2004-09-07 15:13:26 ./ ../ BUNNIES/ CUTE_BUNNIES/ UNIV/ 15:13:35 # LIST BUNNIES & CUTE_BUNNIES 15:14:00 ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA 15:15:13 # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE BUNNIES & CUTE_BUNNIES 15:15:39 force bunnies? 15:15:43 DONE. 15:15:44 that's perverted. 15:15:47 # LIST 15:15:49 lament: very. 15:15:55 ./ ../ .../ UNIV/ 15:16:04 # LIST .. 15:16:46 ./ ../ 15:16:59 # LIST ... 15:17:09 ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA 15:17:50 # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE /FOREVERMORE /COMPLETELY_DESTROY ... 15:18:02 DONE. 15:18:11 I thought sudo didn't work in allcaps 15:18:13 # LIST 15:18:17 ais523: this is oerjanix 15:18:20 ./ ../ UNIV/ 15:18:23 and sudo obliterate there reminded me of darcs obliterate 15:18:33 # LIST .; THEN LIST ..; THEN LIST UNIV 15:18:34 meaning... sudo is now a version control system? 15:18:35 IT IS VERY DARC INDEED 15:18:46 ./ ../ univ/ 15:18:50 OOPS 15:18:54 DARN CAPSLOCK 15:18:55 what shell is this? 15:19:09 lament: oerjanjix oerjellshell v1.4 15:19:10 let's find out 15:19:10 ./ ../ .../ 15:19:12 *oerjanix 15:19:13 # VER 15:19:21 ais523: he did this yesterday 15:19:21 SAVED_STATE/ 15:19:22 if that errors, it isn't the dos shell 15:19:23 this computer runs the universe. 15:19:27 # @ 15:19:31 and if that errors, it isn't tcsh 15:19:36 # TOUCH UNIV 15:19:42 # SUDO SHUT UP 15:19:44 # UNVRS 15:19:50 hmmmmmmmmm 15:20:00 FINESTRUCTURE= i 15:20:02 START 15:20:05 YOU TOUCH THE UNIVERSE. YOU FEEL DIRTY. 15:20:08 (See: Yesterday's logs) 15:20:40 SILENT MODE ON 15:20:46 nooooo 15:20:53 # SUDO START TALKING AGAIN 15:20:58 SILENT MODE OFF 15:21:02 yay 15:21:09 * ehird waits to universe simulation to start 15:21:14 # CHROOT /.. 15:21:24 stop breaking it. 15:21:29 ehird: that's not breaking it 15:21:29 i'm running UNVRS. 15:21:32 yes it is 15:21:34 COMMAND NOT AVAILABLE 15:21:34 we're in UNVRS shell 15:21:40 that's jumping out of the box 15:21:45 no box 15:21:48 that's the whole computer 15:21:49 chrooting to /.. is going to the directory outside the root directory 15:21:57 now stfu, I'm running UNVRS> 15:21:58 TIME IS CYCLIC 15:22:03 which is how you get computers to attain enlightenment 15:22:06 oerjan: awesome 15:22:15 # DATE 15:22:20 lament: we're not in a shell. 15:22:26 we're in unvrs, dammit. read the docs. 15:22:38 sure, it should have date though 15:22:57 DATES ARE MEANINGLESS 15:23:00 i wonder what will be invented this time around 15:23:00 see? 15:23:01 sudo chroot /.. actually worked for me 15:23:03 oerjan: what's happening now 15:23:13 but I just ended up in the original root directory, AFAICT 15:23:14 # DATE CTHULHU 15:23:24 sheesh. you all have ADHD. 15:23:25 NO CTHULHU FOUND 15:23:30 oerjan: how goes the universe? 15:23:46 UNIVERSE COLLAPSES. LIFE IGNORES THIS. 15:23:48 if it doesn't have cthulhu in, it's probably saner than the real one 15:23:58 # SUDO SUMMON CTHULHU; THEN DATE CTHULHU 15:24:10 CTHULHU IS NOT INTERESTED IN A DATE 15:24:17 :( 15:24:22 THINKS YOU LOOK TASTY WITH KETCHUP, THOUGH 15:24:33 even the old ones reject me 15:24:34 sheesh, UNVRS is boring today. 15:24:38 ^DSHUTDOWN 15:24:48 *BURP* 15:25:08 * ehird boots up oerjanputer 15:25:14 # IGNOREALLCOMMANDS /EXCLUDE=UNVRS 15:25:15 *YAWN* 15:25:17 # UNVRS 15:25:27 FINESTRUCTURE= FINESTRUCTURE [RECURSIVE=ON] 15:25:29 START 15:25:39 # FIND DELICIOUSCAKE 15:25:47 COMMAND IGNORED 15:25:56 # SUDO SHUTUP FORCOMMAND=IGNORED 15:26:02 yay, peace and quiet 15:26:06 well, apart from unvrs. 15:26:29 GALAXIES FORM 15:26:42 LITTLE GALAXIES FORM INSIDE GALAXIES 15:26:44 i like how the fine structure constant doesn't ever change the fundamentals XD 15:26:47 ooh 15:26:49 fractal world 15:26:53 verrrrry interesting 15:27:08 MICROSCOPIC GALAXIES FORMED 15:27:10 :DD 15:27:30 GALACTIC TRADE UNION FORMED 15:27:51 TAXES INVENTED 15:27:54 dammit 15:27:55 wait 15:28:00 oerjan: are they fractal taxes? 15:28:05 OF COURSE 15:28:31 ok, I await the fractal revolution 15:28:43 IRS FORMS OUTLAWED, TOO COMPLICATED 15:28:47 :D 15:29:07 oerjan: and then? 15:29:35 MICROGALACTIC ORGANELLES EVOLVE TO PAY TAXES, SAVING WORK 15:29:54 :D 15:30:03 oerjan: nobody actually does work/ 15:30:09 they delegate it to their subgalaxy? 15:30:10 :D 15:30:15 to an infinite level? 15:30:23 PHILOSOPHY INVENTED DUE TO LOTS OF SPARE TIME 15:30:37 very good 15:30:56 THEORY THAT "ALL IS TAXES" GAINS GROUND 15:31:16 are taxes taxes? 15:31:19 (ALTHOUGH "GROUND" DOES NOT ACTUALLY EXIST) 15:31:22 OF COURSE 15:32:00 THEORY THAT "ALL IS GALAXIES" DISMISSED AS TOO MATERIALISTIC 15:32:25 DEATH INVENTED AS DUAL TO TAXES 15:32:32 * ehird awaits Recursive Theory 15:32:46 DEATH PROVES VERY UNPOPULAR 15:32:53 DEATH ABOLISHED 15:33:29 DEATH MINIMIZED; ABOLISHING IT COMPLETELY WOULD ALSO ABOLISH TAXES, WHICH IS BELIEVED TO BE BAD 15:33:51 TAXES ARE POPULAR? 15:34:41 TAXES ARE THE FOUNDATION OF PSYCHOLOGY; ABOLISHING THEM IS BELIEVED TO MEAN THE END OF INTELLIGENCE 15:34:59 TELL ME MORE ABOUT "TAXOLOGY" 15:35:45 THE BRAIN WORKS BY TAXING NEUROGALAXIES, WHICH AGAIN TAX MICROGALACTIC ORGANELLES (SEE ABOVE) 15:36:05 AHA 15:36:07 CONTINUE 15:36:32 FLAT TAX INVENTED 15:36:52 how are taxes enforced? 15:37:14 FLAT TAX OUTLAWED AS CAUSING BRAIN DAMAGE 15:37:37 :D 15:37:43 TAXES ARE A FUNDAMENTAL LAW OF NATURE, IT IS MEANINGLESS TO ASK "WHY" 15:38:14 ALIEN CIVILIZATION DISCOVERED 15:38:32 TO THE IMMENSE SURPRISE OF EVERYONE, HAS NO TAXES 15:38:41 :D 15:38:55 PLENTY OF DEATH THOUGH. WAR ENSUES. 15:39:04 TAXES ABOLISHED? 15:39:44 ZEN INVENTED, UNDER THE SLOGAN "DEATH TO TAXES" 15:39:48 :D 15:39:59 ZEN IS TAXED TO DEATH 15:40:41 PEACE DEAL FORMED WITH ALIEN CIVILIZATION 15:40:59 :D 15:41:09 are taxes still common? 15:41:17 ZEN LEGALIZED AGAIN AS PART OF PEACE DEAL. GOLDEN AGE OF ENLIGHTENMENT. 15:41:54 woop 15:41:56 who is the ultimate beneficiary of taxes? 15:42:06 lament: the universe 15:42:10 fractal, remember? 15:42:24 PHILOSOPHY NOW BASED ON THE BALANCE OF DEATH AND TAXES. DIFFERENT SOCIETIES CHOOSE DIFFERENT BALANCE LEVELS 15:42:35 :D 15:43:39 EXCESSIVE ZEN SHOWN TO CAUSE FLAT TAXES. ZEN PHILOSOPHERS DECLARE THIS ULTIMATE GOAL OF EXISTENCE. 15:43:44 :O 15:44:42 MATHEMATICIAN HYPOTHESIZES FLAT DEATH. TRAMPLED UNDER FOOT BY RELIGIOUS MOB. 15:44:52 lol 15:44:55 what is the religion? 15:45:30 EVANGELICAL TAXOLOGY 15:45:48 DEATH CULTS ALSO COMMON 15:45:53 : 15:45:53 :D 15:46:55 MATHEMATICIAN INVENTS FRACTAL THEORY. PUBLICATION REFUSED AS "TOO OBVIOUS" 15:47:26 :DD 15:47:31 MATHEMATICIANS FOUND TO CAUSE TOO MUCH TROUBLE, OUTLAWED. 15:47:58 D: 15:48:08 choo choo 15:48:39 MATHEMATICS RELEGATED TO COMPUTERS. DEVELOP SENTIENCE. 15:48:55 WAR ENSUES. 15:49:27 :D 15:49:33 COMPUTERS OUTLAWED, EXCEPT FOR SIMPLE FLASH GAMES. 15:50:14 :D 15:50:42 BIOLOGISTS DISCOVER COMPUTERS HAVE TAKEN OVER THE LOWER FRACTAL LEVELS, WHERE THEY WON THE WAR 15:51:45 THIS CAUSES COSMOLOGISTS TO LOOK MORE CLOSELY AT UPPER LEVELS. TENTACLES DISCOVERED. STOP LOOKING. 15:51:52 VERY CAREFULLY. 15:51:56 :D 15:53:05 REPLACEMENT OF ORGANELLES BY COMPUTERS CAUSES NEW FUNDAMENTAL THEORY OF "ACCOUNTING" 15:53:57 AS MILLENNIA PASS, ORIGINAL TAX THEORY FORGOTTEN, TAXES ARE NOW CONSIDERED AN EMERGENT PROPERTY OF ACCOUNTING 15:54:04 ALL CAPS HEADLINES INCLUDING COMPUTERS 15:54:46 PEOPLE ARE VAGUELY AWARE THAT SOMETHING DISTURBING EMERGES FROM TAXES. NEW ATTEMPT TO OUTLAW TAXES. MUCH CARNAGE. 15:55:25 :D 15:55:38 oerjan: how long until management? 15:56:09 PHILOSOPHY CLAIMS THAT TAXES MANAGE THEMSELVES, AS LONG AS YOU DON'T LOOK TOO CLOSELY. 15:56:17 :D 15:57:31 AN ATTEMPT TO CREATE A UNIFIED THEORY OF THE UNIVERSE AT ALL LEVELS IS PUBLISHED 15:57:53 MAIN RESULT IS A POPULAR FLASH GAME ABOUT FIGHTING TENTACLED MONSTERS 15:58:28 :DDD 15:58:58 oerjan: ^D SAVE STATE; SHUTDOWN 15:59:04 *BURP* 15:59:28 * ais523 merges the AnMaster branch of C-INTERCAL with the mainline 16:11:41 08:47:31 Sometime this week, I will have an esoteric OO programming language ... because the world needs one (other than Java ahaha) 16:11:44 - 2005 16:12:10 ORK? 16:13:06 HOOOORK 16:13:10 bork bork 16:14:53 -!- jix has quit ("..."). 16:22:58 ais523, nice 16:23:23 ais523: ork yes 16:23:35 AnMaster: the build still needs a bit of tweaking to get the IFFI stuff working 16:23:46 but I didn't mind merging that into mainline because mainline failed at that before 16:24:08 ais523, well yes I didn't try to integrated it into automess 16:24:34 I don't blame you 16:29:19 hmm 16:29:22 what's english's medium word length? 16:29:32 5? 16:29:56 What do you mean by that, ehird? 16:30:04 Medium world length. 16:30:18 Mean length as used in sentence, or mean length using every word in the language? 16:30:47 Idunno 16:31:55 * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt <-- on gopher 16:32:00 :D 16:32:05 AnMaster: Asztal already said that 16:32:07 could you stop being optbot? 16:32:14 ehird, didn't know he did 16:32:25 .txt is actually a pretty good format 16:32:26 few lines after 16:32:39 Slereah_: which .txt? 16:32:42 it's pretty nonportable 16:32:58 Is it? 16:33:00 k, well I don't feel well, just had a bleeding nose 16:33:01 ... 16:33:05 text/plain? 16:33:06 Never had any problem opening any txt 16:33:07 well, * 16:33:10 Slereah_: try opening a .txt file created with UNIX on Notepad 16:33:21 there are two main incompatibilities 16:33:23 ais523 : Give me one, then 16:33:24 ais523, that works fine, but may not do what you want 16:33:26 line endings, and character encodings 16:33:27 Because I don't have any 16:33:36 ok, I'll dig one up and send it to you 16:33:49 Owait, you mean the ones with the squares for line feed? 16:34:10 ais523, I did manage to get windows to read utf8 once, not sure how 16:34:12 yes 16:34:14 think it was notepad even 16:34:15 Ah yes 16:34:19 AnMaster: Notepad can read UTF8 16:34:19 it does by default 16:34:23 I usually open them with wordpad 16:34:28 it's just it tries to detect the format by default 16:34:30 ais523, well by default it tries UTF16 16:34:30 \n is the One True Newline. 16:34:31 and sometimes gets it wrong 16:34:43 AnMaster: it doesn't try anything in particular by default, its default is to guess 16:34:48 ehird iirc mac (used to?) use \r only? 16:34:49 and its guessing algorithm used to be pretty bad 16:34:50 What does Unix use for newline? 16:34:52 IIRC it's better now 16:34:54 Slereah_, LF 16:34:55 Slereah_: ASCII 10 16:34:58 AnMaster: os 9 and previously 16:34:58 normally represented as \n 16:35:01 i.e, dinosaur 16:35:06 ehird: \n is not necessarily ascii 10 16:35:07 Mac OS Classic used ASCII 13 16:35:10 ehird, yes I have such a mac somewhere 16:35:12 ew 16:35:12 oerjan: yeah yeah yeah :P 16:35:16 oerjan: \n is ASCII 10 on UNIX, though 16:35:20 not in C 16:35:23 ehird, first model ibook, OS 8 iirc 16:35:26 in C it's implementation-defined 16:35:29 ehird: yes 16:35:42 it's defined to 10 on nearly all modern systems though, even Windows 16:35:47 because it's defined as a single character 16:36:05 ais523, really? so what does putchar('\n'); do on windows? 16:36:06 Does Mac OS 9 have \n as 13, I wonder? 16:36:16 AnMaster: it depends on whether the file's in text mode or binary mode 16:36:29 putchar('\n') and putchar(10) both write \r\n to a text-mode file 16:36:33 and \n to a binary-mode file 16:36:39 ais523, well if you really really want it I could find that old mac and fire up MPW on it (Macintosh Programmer Workshop) 16:36:53 AnMaster: probably Googling would find me the answer faster 16:37:02 ais523, most likely 16:39:05 ais523, hm what about mmap()ed files? iirc windows have something like it but with some weird name, like MapFileInMemoryExW(page_handle, file_handle, handle_handle, other_handle, &some_struct, &some_other_struct); 16:39:10 or whatever 16:39:26 it's almost certainly got an HWIN in there somewhere too 16:39:37 ais523, isn't that for gui stuff? 16:39:51 I mean why would mapping a file need a window handle? 16:40:02 even MS can't be *THAT* silly 16:40:12 or can they? 16:43:11 # cat "/usr/share/man/leep .25000" 16:43:11 dc(1) dc(1) 16:43:12 wtf 16:43:21 it is a formatted copy of the dc man page 16:43:25 that makes 0 sense 16:43:40 from 2005 16:43:47 according to mtime 16:43:49 that'd be CreateMapping() and MapViewOfFile() or so 16:43:54 no window handle though 16:43:59 flexo, you forgot the Ex 16:44:06 possibly 16:44:17 * AnMaster sticks with the simple POSIX API 16:44:33 flexo, I assume the first returns a handle? 16:44:38 ofcourse 16:44:43 sigh 16:44:50 what is wrong with a pointer 16:44:56 for something that is mapped in memory 16:45:07 well 16:45:11 I mean, if you want to use the mapping you need to know the base pointer 16:45:13 a mapping is not yet mapped in memory 16:45:20 why not make malloc() return a handle instead? 16:45:25 it's just a .. weird.. object .. thingie.. with which you can build a mapping :) 16:45:42 flexo, can you use it for anything else? 16:45:53 good question 16:45:55 i never did 16:46:13 flexo, well if not it seems like it would have been smarter to combine them into one single call 16:46:46 flexo, do you load the file with the first one or? 16:46:50 ah 16:46:53 it's actually CreateFileMapping 16:47:06 wait... "CreateFileMapping" and then "MapViewOfFile"? 16:47:29 that would be rather odd 16:47:35 yes 16:47:54 as i read msdn i think the point is that you can use a file mapping for shm 16:48:01 which is not really a file mapping 16:48:07 because it has nothing to do with files 16:48:10 but it can be named 16:48:21 shm_open() on *nix I think 16:48:21 i suppose that's the reason i thought the API was called CreateMapping 16:48:24 though I never used it 16:48:42 * AnMaster enters man 7 shm_overview 16:48:54 and that takes much less time to load than MSDN! 16:49:37 hm. nope. i was wrong. 16:49:42 i have no idea what this madness is about 16:49:42 oh? 16:49:48 void *mmap(void *addr, size_t length, int prot, int flags, 16:49:48 int fd, off_t offset); 16:49:48 int munmap(void *addr, size_t length); 16:49:53 quite a lot of args yes 16:49:57 a bit too many IMO 16:50:03 flexo: absolutely everything in Windows requires a window handle, it seems 16:50:05 it seems to only way to get a pointer from a filemapping is to actually call MapViewOfFile 16:50:09 IIRC even thread creation does 16:50:12 although I might be wrong on that 16:50:14 well for mmap() you want to leave the first one as NULL usually 16:50:19 ais523: no. 16:50:20 unless you are doing something VERY weird 16:50:32 AnMaster: you mean fun 16:50:57 flexo, well I can't see any reason for a userland program to need to mmap() to a specific address in it's address space 16:51:03 simply no reason at all 16:51:05 well 16:51:08 i'll give you an example 16:51:14 and mmap() isn't used *inside* kernel 16:51:19 where there _are_ reasons 16:51:26 oh, no, that was a fun mprotect() example. well. another example. 16:51:28 like DMA and what not 16:51:31 no no 16:51:34 there are *fun* examples 16:51:43 jitfunge uses a fixed-address mmap. 16:52:06 ah yes, MINE 16:52:09 (mine is not an emulator) 16:52:15 a MenuetOS compatibility wrapper i wrote for linux 16:52:15 fizzie, that is basically unportable, because it is very hard to know what might be free. Also why would you need it to a specific address? 16:52:33 iirc menuet os binaries expect to be loaded at 0x00000000 16:52:34 flexo, hm? 16:52:44 so you really need to map them there 16:53:11 also needed to adjust the segment registers, trap segfaults, scan for the INT instructions... 16:53:15 that was fun. 16:53:22 flexo, hm if you want to do virtualization you will probably end up with a kernel module anyway? 16:53:29 but you don't need to 16:53:34 wine works fine in userspace too 16:53:49 flexo, that is because wine doesn't do that, wine just emulates the API 16:53:50 AnMaster: It's for the stack; it's mmaped to a suitably "very far out" address so that it's more likely it can grow without hitting anything else. It does fall back to a non-fixed-address call if it fails, though. 16:53:59 AnMaster: no, wine does a lot of mmap() magic 16:54:10 the wine-loader does 16:54:25 flexo, well why would it need to? iirc *.dll are relocatable 16:54:34 not PIC though 16:55:03 hm. 16:55:05 well, they are 16:55:25 but i assume there are lots of apps that expect the memory layout to be the win32 one 16:55:35 flexo, also this is very likely to break because position of *.so like libc.so are (in recent linux kernels at least) placed randomly 16:55:37 for security 16:55:43 The executables themselves aren't position-independent either. 16:56:01 AnMaster: yes, these changes have always caused trouble for wine 16:56:50 flexo, well I think they only have themselves to blame for that 16:56:54 i think wine-loaded actually remaps the libraries as a workaround today 16:56:57 *loader 16:57:10 AnMaster: huh? 16:57:11 err, really? Can you do that? 16:57:14 why not? 16:57:33 as long as you do it before any actual code is run there should be no problem 16:57:37 flexo, " flexo, well I think they only have themselves to blame for that AnMaster: huh?" <-- sounds like depending on undocumented behaviour to me 16:57:40 The address space layout randomization things also do not put things completely randomly; there's some bits of entropy there, but it's not completely random. 16:58:01 AnMaster: not really. many aspects of the win32 memory layout are clearly defined. 16:58:02 flexo, you would have to do it in the start-up code before main or such? 16:58:10 AnMaster: ofcourse 16:58:18 flexo, well I mean on linux, since it needs to deal with the way linux works 16:58:33 uhh, but it's a windows app 16:58:34 and relying on libc not being randomized would be stupid 16:58:50 ehird, sure but wine itself is a linux elf binary, that runs windows apps 16:58:51 AnMaster: yea well - the wine loading process if ofcourse one great hack 16:58:55 but it works for a hell lot of applications 16:59:03 ehird, which was the thing we were talking about 16:59:38 ah, i remember one example why we need our own memory layout 16:59:40 flexo, just doing cat /proc/self/maps shows that libc is loaded at widely different locations between different runs 16:59:54 sometimes even outside 32-bit address space (this is amd64) 16:59:56 in 9x times there is this "shared kernel memory" thing where all processes can read from 17:00:18 so it would need to not link libc 17:00:22 which would be quite a pain 17:00:48 at 0x7e00000000 or something like that 17:00:54 storing stuff like the tick counter 17:01:07 those apps would break if a lib happened to be loaded there 17:01:40 flexo, hm if you need to load at 0x0 you said, then how will you do that for mmap()? At least on x86 NULL == 0x0, and passing NULL as first parameter to mmap is defined to mean that the application don't care where the mapping is placed 17:01:54 (disclaimer: i'm not 100% sure if wine actually implements that memory area, i think i filed a patch once, but i remember discussions about it. had nothing todo with memory layout however :) 17:02:03 There are just 8 bits of randomness in mmap() call results on a 32-bit Linux system. 28 bits on 64-bit. 17:02:27 14:29:34 I think I want a befunge variant with function calls (simple define-function-with-integer-name, call-function-n and return would suffice, although I'm not sure if there should be a way of having more than a single return value) and perhaps with a _really_ simple module system (load-a-file, which could export a set of functions). 17:02:29 14:29:53 I guess it'd be cheatey and unbefungey, but that'd be a language one could actually use for real-world applications. 17:02:36 AnMaster: uhm. true. but i'm 100% certain that it's possible to map from 0 on 17:02:43 flexo, how? 17:02:44 maybe via a flag or something? 17:02:50 or the syscall api is different? 17:03:00 actually wine does this too 17:03:02 MAP_FIXED maybe? 17:03:17 when you run a 16bit binary it maps the first 1mb 17:03:24 (for obvious reasons) 17:03:31 MAP_FIXED 17:03:32 Don't interpret start as a hint: place the mapping at exactly 17:03:32 that address. 17:03:35 looks that way? 17:03:47 probably it means that 0x0 get a different meaning yes 17:04:14 ehird: I guess fungot sort-of means I don't need "befunge for functions" for "real-world" applications; but still. 17:04:15 fizzie: sjamaan says: you damned fool. a fool who knows he is headed towards his destruction. but nevertheless, he eventually obtained them, and accessed them. suppose they'd add something to a very credible thing? 17:04:21 ofcourse NULL pointer accesses would no longer be caught :) 17:04:34 fizzie: link to fungot source? 17:04:35 ehird: aside from just feeling dirty. the core elements are based on the context. 17:04:36 :DD 17:04:37 wanna fun it 17:04:39 run 17:04:44 fizzie, about those 8 bits... hm? how many bits are locked due to needing to map at start of a page? 17:04:54 can't be the other 24... 17:05:16 AnMaster: it randomizes the 8 bits just above PAGE_SHIFT. 17:05:19 a few bits sure, but not all of those, and you might have a few reserved at top and bottom 17:05:36 fizzie, what is PAGE_SHIFT for? and where is it defined/documented 17:06:13 PAGE_SHIFT is something like log2(page size); -- I mean, that's what I'd expect. Haven't grepped. 17:06:35 !help 17:06:39 I'm just reading arch/x86/mm/mmap.c:mmap_rnd for this. 17:06:42 ^help 17:06:43 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 17:06:47 ^show 17:06:47 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help 17:06:50 ^source 17:06:50 http://zem.fi/~fis/fungot.b98.txt 17:06:54 ehird: there you go 17:07:10 The comment there says: 17:07:12 * 8 bits of randomness in 32bit mmaps, 20 address space bits 17:07:12 * 28 bits of randomness in 64bit mmaps, 40 address space bits 17:07:13 fizzie: you should get fungot to respond to CTCP SOURCE 17:07:14 ais523: in that respect it is a list 17:07:42 now to figure out where to change its name 17:07:46 ais523: It should maybe also respond to CTCP VERSION, just in case freenode's automagical version-checker collects some hidden statistics. 17:07:56 fizzie, hm indeed 17:07:59 ehird: You can change the nickname in the loader. 17:08:08 I used to respond to Freenode's CTCP VERSION when I was using telnet by hnad 17:08:09 *hand 17:08:12 although it took me ages 17:08:12 ehird: Realname and username are the first occurance of "fungot" in the actual source. 17:08:12 fizzie: they are not the brightest of bots 17:08:16 * ehird looks for loader 17:08:29 ais523, how did you input the \1? 17:08:37 control-A 17:08:38 I think I have some version of the loader as fungot-load-freenode.b98 in the same directory. 17:08:38 fizzie: so set just affects a variable, while the sml examples implement their own regular expression library 17:08:40 aha 17:08:41 how else? 17:08:46 ais523, no idea 17:08:53 stdin tends to echo control codes if they don't mean anything to it 17:09:07 Forbidden 17:09:07 You don't have permission to access /~fis/fungot-load-freenode.b98 on this server. 17:09:08 "control-A A A", because you happened to be inside two nested screens. :p 17:09:08 ehird: that's not the problem of separate compilation modular interface abstraction, it has fnord that's probably not much 17:09:13 http://zem.fi/~fis/fungot-load-freenode.b98.txt 17:09:13 ehird: how can anmaster do that? 17:09:17 he can't 17:09:19 what? 17:09:21 do what? 17:09:31 * ehird saves as rungot 17:09:34 geddit 17:09:34 ehird, ? 17:09:35 AnMaster: fungot said that, so it's probably out of context 17:09:35 ais523: have your processor just accept sequences of parameters, like a bunny rabbit." 17:09:39 AnMaster: it's fungot. 17:09:39 well 17:09:39 ehird: scheme48's module system that the code of the progrm itself or portions of it). it doesn't know. 17:09:40 ramblings. 17:09:44 hm 17:10:07 ais523, it is a markov chain so probably didn't exist at all 17:10:15 any original in that form I mean 17:10:16 well, yes 17:10:30 although it could be, its sufficiently short to be likely to be verbatim 17:10:35 ehird: You might need to create some files there too, maybe. 17:11:15 And incidentally, how does a bunny rabbit accept sequences of parameters? 17:11:31 very evilly 17:11:37 fizzie, sure you aren't fungot? 17:11:38 AnMaster: i tried both gambit 4b13 and gambit 4b15, and surprisingly, the picture that won fnord ascii art contest wasn't even ascii art. 17:11:56 i think i broke it 17:12:05 fungot, obviously it was chess, not ASCII art... 17:12:05 AnMaster: non matching blocks? we use those? just because of how heavily they're used, such as a macro 17:12:22 though 4b13 makes no sense for chess 17:12:37 nor anything else I know 17:13:13 If you're interested, it was wired's (the magazine, I assume) ascii art contest. 17:13:23 v"ehird!n=ehird@eso-std.org"0< 17:13:26 is that wrong? 17:13:38 fizzie, what did it had to do with chess? 17:13:39 Make sure the < matches the v above. 17:13:56 fizzie, I assume he can figure that out himself 17:14:02 nope 17:14:04 I didn't 17:14:11 -!- gunfot has joined. 17:14:12 AnMaster: Gambit's a Scheme implementation; 4b13 and 4b15 are version numbers. 17:14:18 ^help 17:14:18 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 17:14:24 ehird, changed prefix? 17:14:25 wonder what prefix gunfot's on 17:14:35 gunfot: yo man 17:14:37 -!- gunfot has quit (Remote closed the connection). 17:14:41 The prefix is in the loader too. 17:14:45 ehird, no data file loaded? 17:14:47 Command character: 17:14:47 v ^' < 17:14:57 What would that be then? 17:14:59 oh 17:15:01 ' is a character 17:15:12 ehird, ' means read next char as string 17:15:18 kind of 17:15:32 fizzie: how do I get a data file thenz 17:15:40 >'a is same as >"a" 17:15:52 AnMaster: even with respect to tick count/ 17:15:59 ais523, no 17:16:01 I thought 'a took one tick altogether 17:16:06 ais523, and yes 17:16:08 iirc 17:16:14 whereas "a" is 3 17:16:20 ehird: Just define the commands you like, and then use *save, where * is your command character. It should create one there. Although you may need to have a subdirectory "data" in the current directory you're running it in. 17:16:27 ais523, yes but fungot isn't using t, at least not in the loader 17:16:28 AnMaster: mainly, yes. i see a xmlrpc lib for chicken and it wants to 17:16:34 and last I looked not anywhere else either 17:16:37 fizzie: Right, but how come it isn't working 17:16:59 ehird, "help" is not built in, it is defined as a command 17:17:01 ^show help 17:17:02 (^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool)S 17:17:03 ehird: The crash was probably because it tried to respond with the babbling; the babbling needs all those other files. 17:17:04 hm? 17:17:08 see 17:17:13 it is defined in underload 17:17:21 hmm 17:17:22 it won't join 17:17:25 And yes, it won't have a "help" command by default. But the ^def and ^show and such should work. 17:17:35 RAW >>> :ehird!n=ehird@eso-std.org PRIVMSG gunfot :^raw JOIN #esoteric <<< 17:17:39 fizzie, what are the owner only commands now again? 17:17:46 ehird: Did you change the prefix? 17:17:50 Oh. 17:17:50 duh. 17:18:09 -!- gunfot has joined. 17:18:14 AnMaster: There's at least ^code, ^reload, ^save, ^ignore, ^raw. 17:18:16 \ul (A)S 17:18:16 A 17:18:22 \bf ,[.,]!yo 17:18:22 yo 17:18:24 why "gunfot"? 17:18:25 ^.^ 17:18:27 AnMaster: why not 17:18:32 spoonerism 17:18:32 * oerjan lols at today's http://www.mezzacotta.net/postcard/ 17:18:35 ehird, it isn't even fungot backwards 17:18:35 but not an intersting one 17:18:35 AnMaster: darcs is slow and underfeatured. ok. 17:18:40 it's a spoonerism 17:18:46 err 17:18:46 fungot: lol, hear hear 17:18:47 ehird: let me check that real quick. it should not loop indefinitely... that is a very model of propriety and good manners. the man's a smegging rock star. this star should be of sufficient mass to go supernova, generating large amounts of breaks for sanity's sake. 17:18:48 * AnMaster googles 17:18:54 gunfot: 17:19:22 oerjan: they're all 404s, intentional? 17:19:24 \ul (test)S 17:19:24 test 17:19:49 ehird, what interpreter? 17:20:01 RC/Funge version 0.000000001 alpha. 17:20:08 ehird, really? why? 17:20:10 With 1000 extra lines of code to accellerate the mobmobile. 17:20:21 Also, 5 antifingerprints that destroy matter. 17:20:35 also I see you are being sarcastic, but I'm not in the mood for that 17:20:46 hm 17:20:58 not in the mood, well sorry, but this is a public channel and you did ask me a question. 17:21:00 fizzie, idea: a built in ^handprint? 17:21:12 ^code 17:21:15 ehird, and care to answer it correctly? 17:21:17 ^code ) 17:21:20 oh 17:21:21 \code ) 17:21:26 oh my 17:21:27 Hmm, it's still going. 17:21:31 \ul (im ok) 17:21:32 \ul (im ok)S 17:21:34 The 'code' command is very brittle. 17:21:35 Ok, maybe not 17:21:38 -!- gunfot has quit (Remote closed the connection). 17:21:48 fizzie, I can imagine that 17:21:53 \code @ 17:22:01 it isn't connected... 17:22:03 ehird: it isn't running atm 17:22:05 it was 17:22:07 in /msg 17:22:07 :P 17:22:21 ehird, well it doesn't read channel if not joined 17:22:24 It just loads SUBR, adds a "R" instruction at the end of the line, and jumps to the beginning. 17:22:27 it was a mistake. 17:22:37 ehird: yes 17:22:38 fizzie, you have to jump back yourself? 17:22:39 -!- gunfot has joined. 17:22:41 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:41 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:41 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:42 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:42 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:42 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:42 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:42 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:42 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:42 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:42 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:42 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:42 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:44 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:44 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:45 argh 17:22:46 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:46 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:48 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:48 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:50 hee 17:22:50 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:50 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:52 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:52 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:53 fizzie, ignore or something? 17:22:53 the actual content is the annotation 17:22:54 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:54 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:54 thanks ais523 17:22:55 :) 17:22:56 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:56 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:22:58 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:22:58 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:23:00 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:23:00 \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^ 17:23:01 gotta love botloops 17:23:02 -!- fungot has left (?). 17:23:02 ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^ 17:23:03 ^ignore gunfot 17:23:03 \code @ 17:23:03 -!- gunfot has quit (Remote closed the connection). 17:23:08 Sorry, I was the slow. 17:23:09 ais523: you can't control the ignore list... 17:23:12 ais523, isn't it owner only? 17:23:16 probably 17:23:21 I wanted to do a true multiquine, anyway 17:23:30 -!- fungot has joined. 17:23:31 yes 17:23:34 that was my original intention 17:23:36 ^ignore 17:23:36 ^(thutubot|optbot|gunfot)! 17:23:48 fizzie, what does the ! at the end mean? 17:23:49 fizzie: probably for the best 17:23:53 That's the current ignore "list"; actually it's just a single regex. 17:23:57 oh wait 17:23:58 fizzie: Sheesh, you're no fun. 17:23:58 AnMaster: it's the ! in an IRC username 17:24:03 nick!user@host 17:24:11 I'll just start two then,. 17:24:11 right 17:24:17 fizzie: you should probably add bsmnt_bot to that 17:24:21 Yes, it's matched against that prefix. And I don't think that loop was very fun either. 17:24:27 ehird, why do you want to spam? 17:24:31 as we had fungot/bsmnt_bot loops a while back 17:24:31 ais523: i worked at until bankruptcy 7 times in 3 states. currently is over 120,000 in debt." 17:24:43 ^style 17:24:44 Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp 17:24:44 fizzie: I think it's fun to set up such loops, but not to spam the channel with them 17:24:56 with two alert bot operators, I expected one of htem to quit it pretty quickly 17:24:57 ^ignore ^(thutubot|optbot|gunfot|bsmnt_bot)! 17:24:57 OK. 17:25:27 -!- gunfot has joined. 17:25:31 I would like to see a N-bot loop, with N>2, though. Hopefully involving more than one language, also. 17:25:32 -!- tofnug has joined. 17:25:41 gunfot, meet tofnug. tofnug, meet gunfot. 17:25:47 fizzie: They are happy to converse with bsmnt_bot. 17:25:51 |ignore 17:25:57 \ignore 17:25:59 Eh. 17:26:01 \ul (a)S 17:26:01 a 17:26:03 |ul (a)S 17:26:03 a 17:26:07 -!- ChanServ has set channel mode: +o fizzie. 17:26:16 well, that's one way to stop a botloop 17:26:27 (I'm just preparing for bot-loop-silenzation if necessary, yes.) 17:26:37 fizzie: I will stop them. 17:26:40 fizzie :) 17:26:41 But writing them is fun. 17:26:45 fizzie: maybe you should add loop-breaking code to ^ul and ^bf, the same way as you have done to name-mention-responding 17:26:47 I think 3-5 seconds is OK. 17:26:52 Beyond that, I'll kill. 17:27:03 ^source 17:27:03 http://zem.fi/~fis/fungot.b98.txt 17:27:07 I actually control all of {gunfot,tofnug,bsmnt_bot}, heh. 17:27:14 come to think of it, /mode +m is the most efficient way to stop a botloop 17:27:18 and doesn't involve kicking anyone 17:27:22 ehird: the actual content is the annotation 17:27:26 ehird: bsmnt_bot is yours? 17:27:37 I mean, I know who wrote it 17:27:38 no, it's bsmntbombdoods, but it runs on rutian 17:27:40 but it's on your server? 17:27:42 yes 17:27:45 since a few days ago 17:27:46 Yes, I should have the same loop-detection for all input, not just the babbling. I'm not quite sure why I don't. 17:27:47 he put it up 17:27:51 whois it 17:27:58 (note to self: stop typing with window scrolled back) 17:29:19 also, anyone can stop bsmnt_bot 17:29:28 ~exec bot.raw("QUIT") 17:29:28 -!- bsmnt_bot has quit. 17:29:31 -!- bsmnt_bot has joined. 17:29:36 sure they can. 17:29:36 oerjan: But only you can stop forest fires. 17:29:37 :-) 17:29:41 but it comes right back 17:29:46 fizzie, issue, I tried last fungot, odd but it didn't load 17:29:47 AnMaster: are you making to gambit's web server instead of the channels on irc? i would have to avoid multimedia altogether then passing in on to y. 17:29:51 that's usually enough 17:30:06 AnMaster: Odd. What did it do, instead? 17:30:12 fizzie, tracing atm 17:30:35 fizzie, it didn't output anything and didn't connect I know 17:30:38 it is busy running however 17:30:49 fizzie, loop it seems 17:31:09 fizzie, http://rafb.net/p/3iAYUs12.html 17:31:11 A "corrupted" (read: not exactly what fungot expects) fungot.dat file should cause a sensible error message, at least. 17:31:11 fizzie: for insulting mcedit, i know to that :) what is a multiway system?!? awesome. 17:31:20 fizzie: i really cannot remember the last time i made fire in a forest. 17:31:22 fizzie, changed format recently? 17:31:55 AnMaster: Last time when I added the underload support. I assume x and y are zero-based? 17:32:05 fizzie, yes 17:32:14 Well, I guess they'd have to be, since that's what the spec says. 17:32:16 fizzie, as in funge coords, not file editor coords 17:32:33 so yes you need to offset for line number/column number 17:32:39 fungot.b98 is also loaded at y=100. 17:32:39 fizzie: it's not so much, whereas almost no other ' fnord do fnord output is not that that is that same exact jump 17:32:54 fizzie, well right, file loading works says mycology 17:33:17 fizzie, and it is http://zem.fi/~fis/fungot.b98.txt right? 17:33:20 AnMaster: i'm currently quite happy with most of what i've said about configure.ac.' you gave it an array. every element of a list are stored? 17:33:24 saved without .txt 17:33:39 $ md5sum fungot.b98 17:33:39 3af30bb6537de532d2f8ea07193a177e fungot.b98 17:33:39 AnMaster: i'd distinguish two kinds of fnord 17:33:39 AnMaster: don't you? yes offby1 i remember everything failing miserably :-p) 17:33:39 * oerjan lols at today's http://www.mezzacotta.net/owls/ too 17:33:40 AnMaster: Yes. Well, those coordinates are in the data/fungot.dat loading code. If you don't have much in your fungot.dat, you can just remove it. An empty file it should ignore. 17:33:41 fizzie: insofar as now i can impress them with your connections to the same thing 17:33:59 fizzie, the dat file is just 10 newlines 17:34:13 what's in fungot.dat? 17:34:13 ais523: fibonacci heaps? :) so i can say. and sometimes i miscount then 17:34:25 AnMaster: Well... try without any file; I think that worked for ehird. 17:34:40 fizzie, ok now it loads 17:34:43 ais523: The ten ^str strings, and all ^def-defined commands. I don't think there's anything else. 17:34:46 but does this mean it won't load after save 17:35:02 The format ^save writes should at least be correct. 17:35:06 ] 17:35:15 Although you might want to define a single command, just in case it gets confused. 17:35:21 -!- testthingy has joined. 17:35:40 17:33 AnMaster: i'd distinguish two kinds of fnord 17:35:41 ehird: yes twb, thanks to a grand total of two and representing 17:35:42 do it 17:36:00 %ignore ^(thutubot|optbot|fungot|gunfot|tofnug)! 17:36:00 OK. 17:36:01 AnMaster: well, i gather, they are signed and fnord, and i now have a fnord? 17:36:13 %ignore ^(thutubot|optbot|fungot|gunfot|tofnug|bsmnt_bot)! 17:36:14 OK. 17:36:14 AnMaster: generally you only want to support artists who are supporting the riaa 17:36:17 %save 17:36:17 OK. 17:36:26 fungot, wtf 17:36:27 AnMaster: depends on your job... it doesn't do anything to strip out the bf for it 17:36:42 Oh, and the ignore regexp is not saved in fungot.dat. It's on my TODO list. 17:36:43 fizzie: um, i mean 17:36:46 so who here has used gafyd 17:36:49 apart from Asztal 17:36:53 ^show 17:36:53 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help 17:36:58 %show 17:37:05 ^help 17:37:05 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 17:37:08 17:36 AnMaster: generally you only want to support artists who are supporting the riaa 17:37:08 ehird: well i fnord care about the x86, &c., are often upcased. we got snow. 17:37:09 i lolled 17:37:33 %def help ul (% ; %def ; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool)S 17:37:33 Defined. 17:37:36 %help 17:37:36 % ; %def ; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool 17:37:42 hm ok 17:37:48 %save 17:37:48 OK. 17:37:57 ehird, yes I agree 17:38:09 well, Asztal: why is the mail for the free one 2.757272164 GB as opposed to gmail's 7GB? 17:38:16 maybe I should redirect email to gmail instead 17:38:18 The file .dat format is horribly inefficient, but... 17:38:34 ehird, err what mail for free? 17:38:43 google apps for your domain 17:38:46 ah 17:38:57 it's gmail and other google stuff, but for a custom domain 17:39:18 [i'm considering it because, well, i don't want to run my own mail server.] 17:39:27 ehird, will you ever end up using those ~2.76 GB for mail? 17:39:36 Well... 17:39:37 You are currently using 742MB (10%) of your 7282MB. 17:39:38 ehird, also setting up qmail is easy 17:39:39 :P 17:39:42 I've had this account since 2006. 17:39:53 So, not in the near future, but over the years, yes I will. 17:40:06 ehird, wow... I had my account since 2006 too and I only use around 90 MB so far 17:40:38 but of course, I use other mail services too 17:40:41 AnMaster: The 18,030 messages from Agora count for about 86MB of that. 17:40:46 But my inbox is the largest, 322 MB. 17:40:52 "You are currently using 0 MB (0%) of your 7282 MB " 17:41:05 I'm not sure when that account was created. 17:41:07 fizzie: but you don't use gmail, do you? :P 17:41:13 ok that is one thing I dislike... why can't they have proper dirs, instead of just views? 17:41:31 AnMaster: you mean, gmail? 17:41:32 they do 17:41:33 ehird: Well, no. I have three messages in there. 17:41:34 yes 17:41:44 AnMaster: just remove it from the inbox in the filter 17:41:49 that's what I do 17:41:54 i only see agora mail if I click agora. 17:42:01 (or All Mail, but All Mail isn't very useful anyway) 17:42:03 ehird, oh? just "inbox" and "all mail", "trash" and "spam" iirc, the rest means you can still see it in "all mail" 17:42:22 here's one of my agora filters: 17:42:29 Matches: to:(agora-business@agoranomic.org) 17:42:29 Do this: Skip Inbox, Apply label "Agora" 17:42:36 ehird, anyway I use imap to access gmail 17:42:40 yep 17:42:41 doesn't work very well IMO 17:42:42 works fine 17:42:47 I use mail.app with imap and gmail 17:42:50 it represents the labels as folders 17:42:50 hm 17:43:54 Wow, the pay version of google apps is $50/user/year. 17:44:05 Although that gets you 25 GB per mail account, which is...excessive. 17:44:19 I know people who have been subscribed to like 100 mailing lists since 1998 and only have 10GB of mail 17:44:47 it depends on which 100 mailing lists 17:44:53 ais523: active ones. 17:45:16 * AnMaster likes that Swedish public service radio publish many of the programs as mp3 on their website and don't seem to ever remove them 17:45:28 I have good reason to outsource disk-spacey things, anyway, I only have 10GB on rutian. 17:45:29 there is at least 2 years backlog there 17:46:08 "only"? 17:46:08 ehird, it is a vps, can't you just hit a button to upgrade? 17:46:14 AnMaster: yes, but that costs more 17:46:16 ais523: :-) 17:46:22 ais523, you can't fit flightgear scenery into that 17:46:23 AnMaster: Yes but 17:46:36 It's $20/mo for 256MB of ram, 10GB storage, 100GB of mandwidth 17:46:39 and I host a mirror for fg scenery :) 17:46:40 the next one up is _$38/mo_ 17:46:48 512MB ram, 20GB storage, 200GB bandwidth 17:47:02 so yeah, $18 more is a bit steep 17:47:17 ehird, hm the dedi is $50/month and it has 2x150 GB disks 17:47:33 $50/month is not really reasonable for me I'm afraid 17:47:39 hm ok 17:47:43 also 17:47:43 Transfer0.93GB of 100GB1 (0.33 in / 0.61 out) 17:47:45 XD 17:47:47 ehird, I split the cost with another person 17:47:51 so $25 each 17:48:06 The only time I ever came close to maxing out my bandwidth was when I was hosting a mirror of the ICFP 08 iso. 17:48:15 But that was 512MB, IIRC 17:48:25 it got to like 90GB then the monthly rollover happened 17:48:29 hm I have unmetered 100 mbps 17:48:31 ehird: it's about 700MB 17:48:37 because it's an ISO of a CD 17:48:45 OK 17:48:52 ais523, err, you can have a smaller iso 17:48:56 that doesn't fill all the cd 17:49:01 it was a linux distro 17:49:02 so 17:49:02 I suppose so 17:49:16 ais523, or why is the "boot-only.iso" for freebsd around 100 MB iirc 17:49:21 ok 17:49:30 - Email Archiving, powered by Postini 17:49:30 90-day message recovery, can be extended 17:49:35 wonder why that's just for the premier one 17:49:39 i mean, gmail has archiving, right? 17:49:47 - SSL enforcement for secure HTTPS access 17:49:48 er 17:49:54 is that fancy words for "redirects http to https"? 17:49:54 err isn't gmail https? 17:50:03 AnMaster: yeah 17:50:08 but 17:50:10 actually it is a setting 17:50:12 it degrades to http for non-supporting clients 17:50:13 for gmail 17:50:13 i think 17:50:15 ah 17:50:16 right 17:50:18 this'll force https i guess 17:50:19 XD 17:50:21 - 99.9% Gmail, Google Calendar and Google Talk uptime SLA** 17:50:25 well so does gmail 17:50:26 geez, charging for that? 17:50:29 if you turn on that setting 17:50:29 what ever happened to 5-nines :P 17:50:56 - 99.9% Gmail, Google Calendar and Google Talk uptime SLA** <-- what on earth does that mean? 99.9% of google's uptime? 17:51:12 it means that if you pay them $50/user/year they guarantee to be up 99.9% of the time 17:51:19 which is _crap_ 17:51:25 compare to amazon which has 99.99999% 17:51:34 is that for for the google domain hosting thingy? 17:51:35 or what? 17:51:41 yes 17:51:43 "premier" edition 17:51:47 instead of the free standard one 17:51:49 - Email Archiving, powered by Postini <-- hm? 17:51:55 AnMaster: yeah I don't know either 17:51:56 what is postini? 17:51:59 ah 17:52:01 right 17:52:13 anyway, I'll just back up email locally every now and then, I think 17:52:18 thought "ehird is looking at some other service, called postini" 17:52:21 I thought* 17:52:36 using half my storage? download all messages to disk over a few nights, delete everything from gmail 17:53:00 ehird: /seven/ nines, for Amazon? 17:53:04 that's insane 17:53:12 ehird, doesn't gmail space continue to grow still? 17:53:16 or have it stopped? 17:53:30 ais523: err, no, that's 5 nines 17:53:32 I remember the counter for current space was SO hyped a few years ago 17:53:33 "postini" is Finnish for "my mail"; "posti" is the noun, and the "-ni" part is the first-person singular possessive suffix. 17:53:36 the number of nines means the 9s after the decimal point, ais523 17:53:40 I don't think that has anything to do with the name, though. 17:54:35 ehird: it means altogether, doesn't it? 17:54:39 nope 17:54:45 i don't think 17:54:50 oh 17:54:51 hmm 17:54:53 wikipedia says so 17:54:55 that's odd 17:54:56 top 3 google results all say 99.999 17:55:00 but two of them are Wikipedia 17:55:25 ais523, citations? 17:55:26 Well, 99.99999 % is .9999999 when represented in a sane way; so seven nines. 17:55:32 also 17:55:40 AnMaster: the article's uncited 17:55:47 someone should add lots of [citation needed] to the wikipedia article on wikipedia 17:55:48 ! 17:55:49 and there isn't even a template about that 17:56:07 hah 17:56:14 really, I think seven nines should be possible 17:56:19 * ais523 tags with unref 17:56:35 if you have a massively redundant setup - i.e., say, 10 servers all running exactly the same thing, in different data centres around the world 17:56:38 ais523, also someone should add "This article or section may not reflect a worldwide view" on the article on the US constitution :D 17:56:40 and then multiple balancers balancing between them 17:56:54 then pretty much when one fails skip to the next 17:57:06 i mean, if they have nothing in common apart from the app they're running, server outages, etc are never a problem 17:57:11 unless all 10 go down simultaneously 17:57:14 which is... unlikely 17:57:18 AnMaster: but then they'd just add a US Constitution in Vietnamese Popular Culture section 17:57:18 if theyr'e all separate 17:57:21 then it's just software issues 17:57:22 ehird, DNS root servers: 100% uptime 17:57:27 AnMaster: not 100% 17:57:31 ehird, really? 17:57:36 there's absolutely no way to guarantee that 17:57:37 ehird, the actual service yes 17:57:46 i guarantee you, if one of those servers was bombed it'd go down 17:57:50 ehird: there have been systems with multiple massively redundant balancers 17:58:01 ehird, sure but then the ip would stop being advertised 17:58:05 I'm not sure how they'd actually measure that "seven nines" thing; if they have one hour of downtime, they should then be online for the next thousand years or so. 17:58:07 AnMaster: thats not 100% uptime 17:58:08 err I don't know the name 17:58:13 like geodns 17:58:15 on routing level 17:58:17 forgot the name 17:58:22 one of the systems had a hardware failure, so they tried to turn it off to replace a component 17:58:26 fizzie: well, six nines is 31 seconds of downtime per year 17:58:30 but they turned the wrong one off by mistake, and the system went down 17:58:34 bbiab 17:58:36 imo it'd be possible to get less than that 17:58:40 i mean, pretty easily 17:58:43 as far as these things go 17:58:45 So it's counted as "downtime per year"? Okay. 17:58:49 ais523: heh 17:59:37 %raw quit 17:59:38 -!- testthingy has quit. 18:00:42 bbiab again 18:02:47 Holy fuck. 18:02:50 Why made a language. 18:02:51 http://github.com/why/potion/tree/master 18:03:02 add = (x, y): x + y. 18:03:04 Me likely that syntax. 18:29:04 -!- kar8nga has joined. 18:43:43 -!- kar8nga has quit (Read error: 60 (Operation timed out)). 18:56:09 -!- oerjan has quit ("Rhombus"). 19:07:23 -!- oklopol has quit (Read error: 110 (Connection timed out)). 19:07:45 -!- olsner has joined. 19:18:48 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 19:20:43 -!- Corun has quit ("This computer has gone to sleep"). 19:24:11 -!- KingOfKarlsruhe has joined. 19:27:14 Argh 19:27:24 oocalc doesn't support spreadsheets with more than 65536 rows :P 19:28:15 Anyway, the average word length in the aspell spelling dictionary is a whopping 8.5 19:29:10 I would tell you what the median is, but I can't. 19:29:17 (Since it won't open in oocalc :P ) 19:30:49 My (English) wordlist seems to have an average length of about 9.6, according to perl -ne 'chomp; $n++; $l += length($_); END { print $l/$n, "\n"; }' < /usr/share/dict/words 19:31:32 While /usr/share/dict/finnish gives 12.7. Our words are longer than yours, neener-neener. 19:31:57 I just did: aspell dump master en > words; wc -l words; wc -c words, then (c-l)/l 19:32:56 About 8.579 for "aspell dump master en" here. 19:33:12 Yup, same here. 19:33:18 I just truncated because I'm lazy :P 19:33:59 aspell-dumping the 'fi' list gives me 13.28; even larger difference there. 19:34:34 Also 731284 words, versus 138599 in the 'en' listing. Of course it's just different cases of various words. 19:34:48 OK but in common usage, I'd say 5-6 is the most common 19:36:37 Of the 1000 most common words in English, the much-more-reasonable 5.3 was average. 19:36:49 * ehird thinks of the simplest way to express the relation a.b.c.d -> {a,a.b,a.b.c} 19:39:12 The median is 5 (no shock) 19:41:37 Few consecutive words from the 'fi' list: "metsä", "metsää", "metsäämme", "metsään", "metsääni", "metsäänne", "metsäänsä" -- translated "forest", "forest (partitive case)", "into our forest", "into the forest", "into my forest", "into your (plural) forest", "into his/her forest"; and it continues like that for at least 70 word forms. 19:42:15 Heh, clearly list-style spelling dictionaries aren't best suited to Finnish :P 19:42:19 (Or probably German for that matter) 19:42:29 (And I only counted those which do not alter the stem "metsä" at all, and tried to discount hunting-related words.) 19:42:37 (I usually think of German when I think of tons of words glued together) 19:43:15 At least the German language uses prepositions for many things; we just add all kinds of tiny suffixes. 19:43:23 Anyone know of a good way to express a.b.c.d -> {a, a.b, a.b.c}? 19:43:26 Can't think of a natural way. 19:45:50 ehird, what is that supposed to be? 19:46:02 Function. 19:46:15 Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}. 19:46:24 ah well 19:46:25 Well, produce {a,b,c,d} as the last one, then it's just a matter of chopping that off. 19:46:29 i would express it as... 19:46:39 {a,b,c,d} -> {{a}, {a,b}, {a,b,c}} 19:46:40 :P 19:46:50 for arbitrary length lists. 19:47:06 hmm 19:47:12 That looks more like sets when you use {}s. 19:48:25 There's the term "prefix set" for "abcde" -> {e, "a", "ab", "abc", "abcd", "abcde"} -- where e is the empty string -- which is pretty close, but seems that "prefix set" can mean other things too. 19:48:33 -!- jix has joined. 19:48:56 f (x:xs) = map (\n -> take n (x:xs)) [1...(length xs)] 19:49:10 that should work, ehird. :D 19:49:22 or something like that. im not good with haskell enough to know 19:49:29 -!- sebbu2 has joined. 19:49:32 did you just ask #haskell? :P 19:49:36 no lol 19:49:44 but yeah 19:49:47 that looks reasonable 19:49:55 well it is 19:50:12 the lengths of each of the new sublists are just 1,2,...n-1 19:50:19 where n is the length of the input list 19:50:36 so you can just enum 1...n-1, and map that to the first that-many items of the input list 19:51:46 You can write it as a single list comprehension if you don't like the map-lambda part, too. 19:51:50 Prelude> let f (x:xs) = [take n (x:xs) | n <- [1..(length xs)]] 19:51:50 Prelude> f "foobar" 19:51:50 ["f","fo","foo","foob","fooba"] 19:51:58 ah yes 19:52:00 thats more elegant 19:52:59 -!- kar8nga has joined. 19:53:04 Or alternatively with a named pattern: 19:53:06 f x@(_:xs) = [take n x | n <- [1..(length xs)]] 19:53:10 Although the @ is not pretty. 19:53:58 i'd like to get rid of the [1..(length xs)] :| 19:54:32 [take n (x:xs) | n > 0, n <= (length xs)]??? 19:54:36 would that work? 19:58:49 It's not clever enough. Even "... | n <- [1..], n <= 5" will never finish evaluating the sixth element of the list since it can't figure out that the [1..] will never again be <= (length xs) later on. 19:59:09 I'm sure some haskellist can give a prettier version, anyway. 20:01:28 fizzie: you wrote a regex->bf compiler in java in 2005 20:01:29 SHOW IT 20:05:01 Hah: 20:05:06 Prelude> let f [] = []; f (x:xs) = [x]:[x:y | y <- f xs] 20:05:07 Prelude> f "foobar" 20:05:07 ["f","fo","foo","foob","fooba","foobar"] 20:05:10 That is the prettier way. 20:05:18 Let's see if I can find that regex-bf thing. 20:07:57 -!- sebbu has quit (Connection timed out). 20:07:57 -!- sebbu2 has changed nick to sebbu. 20:09:45 -!- Corun has joined. 20:12:26 Why do I not have a brainfuck interpreter anywhere? Foolishness. 20:15:49 char m[99999],*n[99],*r=m,*p=m+50000,**s=n,d,c;main(){for(read(0,r, 20:15:49 p);c=*r++;c-93?c-91?d?0:c-43&~2?c-44?c-46?p+=c&~2^60?0:c%4-1:write( 20:15:49 1,p,1):read(2,p,1):(*p-=c-44):d++||(*++s=r):d&&--d?0:*p?r=*s:--s);} 20:15:51 there you go 20:16:01 Wait, I do have my own similar one. 20:16:07 i bet mine is shorter 20:18:12 hm. looking at that mess... i'm really proud of it :) 20:18:18 -!- KingOfKarlsruhe has quit (Remote closed the connection). 20:18:53 Yours is 65 characters shorter, yes. 20:18:53 p+=c&~2^60?0:c%4-1 20:19:01 i even roughly remember why i'm doing that 20:19:06 Mine is more readable. :p 20:19:10 main(j,a,n,t)int*a;{unsigned short p=-1;char*r=calloc(n=p+1,6),*i=r 20:19:10 +n,**k=i+n;for(read(open(*++a,t=0),i,p);n=*i-43,t<0?n-48?n-50||++t: 20:19:10 --t:n?n-2?n-19?n-17?n-3?n-48?n-50?n-1||read(0,r+p,1):p[r]?i=k[j]:j 20:19:10 --:p[r]?k[++j]=i:t--:putchar(p[r]):p--:p++:p[r]--:p[r]++,*i++;);} 20:19:11 the nice thing about brainfuck is 20:19:21 if you closely examiny the binary encoding of the instruction 20:19:28 *examine 20:19:34 you can more treat it like microcode 20:19:47 (in ascii, that is) 20:20:47 Hoy, I foundeded the regex thing. 20:20:50 fis@eris:~/tmp/bfre$ java -cp . BFRE '(ab)*' > test.b 20:20:50 fis@eris:~/tmp/bfre$ beef test.b 20:20:50 abab 20:20:50 acc! 20:20:50 fis@eris:~/tmp/bfre$ beef test.b 20:20:52 abababab 20:20:55 acc! 20:20:57 fis@eris:~/tmp/bfre$ beef test.b 20:21:00 abba 20:21:02 oh boy 20:21:03 rej! 20:21:05 It's not PCRE, but it does the basics. 20:21:32 how stupid 20:21:43 i'm rather positive that you can encode something like 50000 in less than 5 chars 20:21:46 there are so many operators 20:22:43 ehird: http://zem.fi/~fis/BFRE.java -- it's quite a mess, though. 20:23:09 hmmm. 20:24:40 flexo: My version uses a "unsigned short p=-1" to get a suitably big number for storage allocation as well as a 'p' data-pointer that auto-wraps. But it's not very short, no. 20:25:31 9<<0xf is unfortunatly 6 bytes 20:26:03 oh, and i don't do the int parameter trick 20:26:04 I don't see a reason for "9<<0xf" when "9<<15" has less characters. 20:26:16 uh. 20:26:19 right 20:26:20 :) 20:26:22 still 20:26:24 5 bytes 20:27:50 probably not possible? 20:28:09 4 bytes gives you two operands and 2 operators 20:35:02 ehird 20:35:06 http://www.boingboing.net/2009/01/06/tumbarumba-a-surreal.html 20:35:32 BOING BOING 20:35:36 It is a penis sound 20:37:22 i love penis 20:38:03 Really? I didn't notice. 20:38:14 * Slereah_ is making an origami Shii 20:46:27 -!- GreaseMonkey has joined. 20:53:12 WHAT'S THIS? LOLHASKELL?! 20:53:25 ghci> :type Just "invisible bike" 20:53:25 Just "invisible bike" :: Maybe [Char] 20:57:51 * Badger whacks psygnisf_ with a rolled up newspaper 20:58:14 no no! 20:58:23 seriously! look! http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html 20:59:07 <3 book 172 20:59:08 er 20:59:10 <3 book 173 20:59:44 ive only gotten about a third of the way through excession 20:59:54 thats the sum total of my cultureverse experience 21:00:19 I've read the other Culture books *except* Excession; for some reason it just didn't go as smoothly as the others. 21:01:14 I guess the bot-loop danger is not imminent right now. 21:01:15 -!- fizzie has set channel mode: -o fizzie. 21:01:58 Excession was my favourite. 21:03:27 heh 21:03:30 invisible bike indeed 21:05:10 I rather liked Look to Windward, actually. At least some parts. Like the stuff with the pylons. 21:05:13 you see? 21:05:22 its like.. what? when did haskellers start doing lolcats? 21:05:39 Since they're nerds? 21:07:25 yeah but they're not that kind of nerd 21:07:33 they're like OMG MONADS SPOOGE <3 21:07:35 they've been doing it since way back 21:07:36 nerds 21:08:09 Yo dawg, I herd you like function calls 21:08:31 so i herd u liek monads 21:09:02 Can you put a monad in my monad? 21:09:05 So that I may... 21:09:11 Well, do whatever monads do 21:09:13 While doing it 21:18:04 Yes, the Haskell library provides monad transformers to sort-of put a monad on a monad. 21:28:32 put a monad on a monad? 21:37:28 -!- oklopol has joined. 21:39:58 It's that "Put a X in your X" meme. 21:57:45 -!- kar8nga has left (?). 22:00:57 ehird: my google apps email account is currently: You are currently using 0MB (0%) of your 7278MB. 22:01:10 Asztal: And this is the free version? 22:01:22 well, I'm not paying for anything 22:01:23 (Just assuming you're not giving google $50/year to host a mail sever for you.) 22:01:28 Asztal: is it the free trial? 22:01:31 unless it's giving me a free trial 22:01:34 yep 22:01:35 by default 22:01:44 bummer, dude 22:02:03 resign up for the nonprofit free one :P 22:03:23 Try Premier Edition Free 22:03:24 * 25GB storage per user, no ads, 99.9% uptime SLA 22:06:40 Asztal: true 22:08:23 Gmail has free trials? 22:08:45 kerlo: google apps for your domain 22:08:51 it's gmail, except for your own site-web 22:09:12 Asztal: what's the advantages over just forwarding to gmail btw? 22:09:52 Ah. 22:13:26 ehird: presumably when doing that you still need some simple server to do the actual forwarding? 22:13:32 I just set my MX records to gmail. 22:13:40 Asztal: it's easier to set up a redirecting server than a full one :P 22:14:35 true. 22:14:48 I'm not sure what the benefits are... probably not very much. 22:16:35 you can rescheme the login form and the logo? :P 22:17:35 Speaking of MX records, I think I'll take a peek at mine. 22:18:02 Dirty. 22:19:22 * kerlo successfully guesses his GoDaddy password 22:20:41 MX: @ is normish.org 22:36:33 er 22:37:20 f(1) = 1; f([2,3]) = 2; f([4,6]) = 3; f([7,10]) = 4; and so on 22:37:23 what's f? 22:37:50 um, what does it do? 22:37:54 diff + 1 22:38:02 o 22:38:20 1 is considered a 1-tuple, its elements don't have any differences, because it's a singleton 22:38:24 err sorry that's bad notation 22:38:55 grndlvlbombdood: and because psygnisfive didn't remember, and he just remembered it was something interesting. 22:39:12 f(1) = 1; f(2) =2; f(3) = 2; f(4) = 3; f(5) = 3; f(6) = 3; f(7) = 4; f(8) = 4.... 22:39:31 well that's even easier 22:40:07 has to do with square methinks, but i'd have to fiddle to get it 22:40:25 no not square, urrrr. 22:41:45 ceil((sqrt(1+8*x) - 1)/2) 22:42:06 something like that. 22:42:28 exactly like that 22:42:59 might be something vaguely similar to something like that, yes 22:52:15 OEIS Search Results: A002024 "n appears n times"; 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, ... a(n) = floor( 1/2 + sqrt(2n) ). Also a(n)=ceil((sqrt(1+8*n)-1)/2). a(n) = a(n - a(n-1)) + 1. a(n) = round(sqrt(2*n)). 22:55:37 Pff, ceiling and round. 22:56:05 Use the sinc function, my friend. 22:56:18 * kerlo looks up that closed-form formula for the Fibonacci sequence 22:56:55 Well, there's the generating function and a couple of references of other sequences in the OEIS too. 22:57:06 Pretty simple: http://en.wikipedia.org/wiki/Fibonacci_sequence#Closed_form_expression 22:57:32 I'm not sure how that is related, except that it's also a sequence. 22:59:24 Night, anyway. 23:01:12 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 23:01:15 It's also a closed form expression for a sequence. 23:01:29 -!- oklopol has joined. 23:09:04 There should be a way to make an ordered directory. 23:11:04 -!- oerjan has joined. 23:16:29 Make an extension of ext3 that allows you to do that. 23:17:06 That is not useful for os x. 23:18:16 Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}. 23:18:18 hahaha 23:18:18 http://www.youtube.com/watch?v=8Yw6LQrtwHY&feature=related 23:18:27 tail . inits 23:18:43 er, tail . init . inits 23:18:51 psygnisf_: lol 23:19:11 REAL CYBERPUNK 23:19:19 * psygnisf_ sticks a chip on the side of my head 23:19:27 almost sort of mimicing the computer screen. 23:20:54 ESSENTIAL 23:21:51 ehird's fancy ordering scheme requires anonymous directories. 23:21:53 (works on infinite lists too, unlike the length using versions) 23:25:04 -!- gunfot has quit (Remote closed the connection). 23:25:07 -!- tofnug has quit (Remote closed the connection). 23:25:22 gun foot, toe fnug 23:26:05 fognut 23:26:46 -!- olsner has quit ("Leaving"). 23:27:00 toungf, nougft 23:27:32 gnuoft 23:33:36 -!- sebbu2 has joined. 23:36:22 "Gnus oft" looks like something you'd find in a pangram. 23:36:51 its like.. what? when did haskellers start doing lolcats? 23:37:07 http://arcanux.org/lambdacats.html 23:37:43 If gnus oft say zed, quux jacks. 23:37:51 (Which probably isn't a pangram.) 23:38:52 it does not b 23:39:14 If gnus oft say zed by quux, jack. 23:40:58 hmph 23:41:15 Is that an actual pangram? 23:41:31 Can't be; it has only 25 letters. 23:42:53 It has A and B and C and D and E and F and G but not H; it has I and J and K but not L or M; it has N and O but not P; it has Q but not R; it has S and T and U but not V or W; it has X and Y and Z. 23:44:55 Stop singing the alphabet 23:45:21 This Pangram contains four a's, one b, two c's, one d, thirty e's, six f's, five g's, seven h's, eleven i's, one j, one k, two l's, two m's, eighteen n's, fifteen o's, two p's, one q, five r's, twenty-seven s's, eighteen t's, two u's, seven v's, eight w's, two x's, three y's, & one z. 23:49:56 hm would you reach that if you wrote it as an iterated system, and started with 0 of everything... 23:50:50 -!- sebbu has quit (Connection timed out). 23:54:05 It's likely you would end up in an infinite loop. 23:56:29 that program was machine-generated 23:56:31 (custom machine) 23:56:34 err 23:56:36 pangram