00:05:22 well, actually, camping is a nice little 4kB framework on top of acres of other code ¬_¬ 00:05:22 -!- lupine_85 has joined. 00:05:22 http://code.whytheluckystiff.net/camping/browser/trunk/lib/camping.rb <- that's pretty much why I like it 00:05:22 please print the sequence 1 to 10 00:05:22 1..10 00:05:22 link? 00:05:22 lol 00:05:22 1 2 3 4 5 6 7 8 9 10 00:05:22 lupine_85: http://esoteric.voxelperfect.net/wiki/IRP 00:05:22 thank you :-) 00:05:22 ....that's the whole program? 00:05:22 that's most of the code, there's a bit more to run it as a standalone server (via Mongrel, FastCGI or Webrick) :P 00:05:22 ...is there a lazier way to get it? 00:05:22 it's more of a joke framework, I think, but I love it 00:05:22 through rubygems 00:05:22 people write real stuff in camping 00:05:22 ....pardon? 00:05:22 Do you know any Ruby? That would be a nice start. 00:05:22 RobHu: ah... 00:05:22 sleep(lupine_85); 00:05:22 ...nope 00:05:34 * SevenInchBread is on Windows... probably doesn't have a Ruby interpreter thing. 00:05:52 Please output the proof that P=NP. 00:05:53 BUT I SHALL GET IT 00:06:53 bsmntbombdood: Sorry, that question is undecidable. Of course that cannot be proved. 00:07:29 x^2 - x^2 = x^2 - x^2 00:07:41 x(x - x) = (x + x)(x - x) 00:07:48 x = x + x 00:07:50 1 = 2 00:07:52 BZZT!!!! wrong! 00:08:29 I know, I know 00:08:39 bsmntbombdood no you don't 00:08:52 U R ZEH IGNORANT 00:09:10 I DIVIDE BY ZERO ALL THE TIME! 00:09:43 mm, me too 00:09:51 I'M DIVIDING SOMETHING INTO ZERO PARTS ALL THE TIME. 00:10:15 hmmm... I wonder if you could use division by zero to do computations. 00:10:17 It's ok to divide by zero if you are working in an appropriately defined superset of Q or R. 00:11:53 lol tk is the best GUI toolkit evar 00:12:10 use curses 00:12:18 It's also possible (with the right flags set) to divide by zero in F, though F is not a ring, field, or anything nice like that. 00:12:35 what is F? 00:12:36 ha, rings 00:12:42 F being the set and operations of IEEE floating point numbers. 00:12:45 I tried to understand GNFS once 00:12:51 ?? 00:13:01 generalised normal forms? 00:13:18 general number field sieve 00:13:29 fast(est) factoring algorithm 00:14:04 BTW, you know that primality-testing is in P, right? 00:14:18 it was proven a few years ago, with a rather simple algorithm. 00:14:37 oh? 00:14:55 I just know of the probabalistic primality testing algorithms 00:15:48 just because it's in P doesn't mean it's fast. 00:16:17 The probabilistic ones are actually fast, rather than just being in P. 00:16:34 I am, of course, considering the length of teh prime, not its value. 00:16:38 what's the algorithm? 00:19:10 someday i'll understand p/np 00:19:27 yaay... I'm getting Ruby. 00:19:43 rube all over you 00:19:44 * SevenInchBread has been procrastinating geting other language interpreters... now he'll have more incentive to try out Ruby. 00:19:49 someday the world might understand p/np. 00:20:25 oerjan i don't even understand what's there to understand 00:20:30 well said... 00:21:35 * SevenInchBread should make an EsoUI toolkit. 00:21:37 well p/np is about _how_ much harder it is to check a solution than to find it in the first place. 00:21:50 eh, the other way around. 00:22:59 Ruby is OK, as long as you don't try to interop with it. It's C API is so horribly mangled... 00:23:42 It looks a lot less conservative than Python... which is kinda good... I'm starting to get bored with Python. 00:23:48 It's -too- consistent. :P 00:26:41 ...wow... rubygems is the easiest thing I've used ever. 00:27:54 oerjan i know it's something like that... but is it just that? 00:30:26 hmmm... so... I'll need to brush up on some Ruby to use camping nyah? 00:30:36 doesn't ruby kinda suck? 00:31:53 well you have to define it precisely mathematically of course. And then there are the NP-complete problems, which are the hardest among those that have easy to check solutions. 00:33:11 how so, lament? I'd say the C side of things does suffer from quite a bit of suckage, but the language ideas seem quite nice. 00:35:16 heh... if Ruby sucks the tuitorial reading sure shows some convincing examples. 00:36:20 Does ruby have an interactive prompt? 00:36:25 irb 00:36:39 yes 00:36:50 in a sense the most fundamental NP-complete problem is this: Given a Turing-machine with input, does it halt in a "yes" state after a polynomially bounded number of steps? 00:37:02 heh 00:37:52 *nondeterministic 00:37:59 always that. 00:38:19 Asztal: Perl heritage. 00:39:28 It's a lot more usable than Perl, if you ask me (which for me, was the main problem) 00:39:39 %@$£@£x means what exactly? 00:40:00 I always thought Ruby inherited a lot from Smalltalk and Eiffel? 00:40:08 It doesn't really seem all that Perly. 00:40:13 or maybe an other equivalent definition: Given a Turing-machine with _part_ of its input specified, is there an assignment for the rest of its input that makes it halt yadda yadda. 00:40:18 Asztal: sure it's more usable, but i'm talking about the heritage. 00:40:34 ...what does that have to do with anything then? 00:40:34 Asztal: the conscious decision on the part of the language designers to borrow from Perl. 00:40:45 ...Perl isn't all bad. 00:40:50 Asztal: that is a sign of deep brain damage 00:41:03 heh 00:42:01 And then Cook's theorem shows that you can reduce all that to the much simpler SAT problem. 00:42:29 I'd agree that many parts of Perl (esp. its syntax and reference semantics) are brain damaging, but it wasn't all bad, was it? 00:49:20 Nothing special, but nothing terrible either. 00:50:09 Ruby looks cool so far... I like the non-symboly syntax so far... but the "end" thing might be annoying. :P 00:54:23 I wish they wouldn't use => for hashes though. That's so annoying to type! 00:55:45 I would use like -> or something. 00:56:01 I would use : 00:56:06 I'd just use : like normal people :) 00:56:16 pfft.. normal people. 00:56:51 like python 00:57:36 It's pretty rare that you use that syntax unless you're just making a really simple lookup table. 00:57:47 a is for apple, b is for banana 00:58:02 that's what i'd use 00:58:30 and I'd use string keys by default... 00:58:42 ...the quotes get kind of tiring when you're a lazy bastard. 00:59:15 well... nevermind 00:59:19 it could be a variable. :P 00:59:40 yeah 01:01:39 I like the ! and ? convients too... with Python you just have to know from experience. 01:01:43 conventions 01:02:57 why do i have my greatest programming urges at 3 o'clock in the morning?!?! :< 01:03:04 i gotta sleep... --------> 01:06:48 this ruby code is valid: 01:06:50 wazup?!!!?!??1:! 01:06:50 ...I like the range syntax. 01:07:03 wait, that wasn't all of it, wazup?!!!?!??1:!!?? 01:10:29 the strange range syntax? 01:13:12 better than deranged syntax. 01:16:58 Asztal: what does that mean? 01:18:03 wazup? is a function name, ?? is equal to the character literal '?' (so !!?? == 1), I don't know about the rest, I'm very sleepy >_< 01:18:53 -!- sebbu2 has joined. 01:24:57 what do ? and ! do? 01:26:17 here, they do different things in different places :/ 01:27:22 it calls wazup?(true), eventually 01:29:38 I thought they were just naming conventions 01:30:27 oh, you mean inside the name, yes, they are 01:31:27 ! is generally applied to mutator methods,, and ? to question-like methods ( "flibble".empty?() ) 01:31:29 Huh? 01:32:55 -!- Asztal has quit ("+++ Insufficient cheese error +++"). 01:37:19 -!- sebbu has quit (Connection timed out). 01:37:25 a convention borrowed from scheme. 01:39:50 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 01:42:05 both conventions are fairly easy to actually enforce 01:42:30 -!- pikhq has joined. 01:45:50 the predicate one? 01:46:08 * pikhq returns, not wishing to declare his ressurection. . . 02:01:33 * oerjan stealthily calls the pope. 02:03:44 * pikhq stealthily calls protestantism 02:04:54 * oerjan stealthily calls the Russian patriarch. 02:05:11 * SimonRC sealthily calls main() 02:05:38 973,694,665,856,161 02:05:40 * pikhq stealthily calls in the Chewbacca Defense 02:05:59 bsmntbombdood: ??? 02:06:04 the pope is the biggest cardinal 02:06:10 but every pope has a successor 02:06:21 hmmm... 02:06:31 which way do you guys like to work? 02:06:32 SimonRC: a charmicheal number 02:06:38 top-to-bottom or bottom-to-top? 02:07:12 I find it easier to play with the glue before I make the parts... I'll call a bunch of methods I haven't defined yet. 02:08:02 with this Forte interpreter I started bottom-up but now i am doing top-down. 02:08:18 hmmm... actually I do that a lot too. 02:08:40 I'll make a few little parts to begin with... but later on I start going the other way.. 02:08:52 heh... so I guess I "meet in the middle" when I'm done. 02:11:03 bsmntbombdood: define 02:13:23 n is a charmicheal number iff n is not prime and a^(n-1) cong 1 (mod n) for-all integers a that are relatively prime to n 02:14:39 Ah, they are to do with a quick test for primality that occasionally flags a composite as prime, right? 02:14:59 fermat primality test, yes 02:15:47 I guessed that from "n is not prime" and the fact the the number you named was so large 02:16:21 there's small charmicheal numbers too 02:16:33 http://www.research.att.com/~njas/sequences/?q=id%3aA002997&p=1&n=10&hl=0 02:30:17 * ihope stealthily and unexpectedly calls the Spanish Inquisition 02:30:46 that second part is redundant, ihope. 02:32:18 Aww. 02:32:24 NOBODY expects the Spanish Inquisition! 02:45:24 ...so... 02:45:53 Yes. We're a bunch of geeks who need lives. . . 02:45:58 yes. 02:46:04 ooh fun 02:46:31 Why else would we know what the hell an infinite tape allows us to do? 02:47:50 n is a fibonacci number if the intersection of [phi*n - 1/n, phi*n + 1/n] and the set of positive integers is not empty 02:48:04 s/if/iff/ 02:48:40 And that demonstrates what I'm talking about quite well. :) 02:49:07 that is, the interval contains a positive integer 02:50:01 what if you take negative integers? do you get the continuation of fibonacci numbers to the left? 02:50:59 a few trials say yes 02:51:04 hm, somewhat dubious ...,8,-5,3,-2,1,-1,0,1,1, 02:51:25 eh wait. 02:51:31 that -1 is an error. 02:52:28 not much better ...,-8,5,-3,2,-1,1,0,1,1, 02:52:47 what? 02:53:27 every number is the sum of the two left ones. 02:53:37 *to the left 02:54:05 oh 02:54:16 so the continuation is not quite the same as the negatives. 02:54:27 but the test is 02:54:32 yep 02:54:36 I'm rather positive that one couldn't extend the fibonacci sequence purely to the negatives. . . 02:54:43 It'd be a different sequence. 02:54:52 0,-1,-1,-2,-3... 02:56:16 another sequence of the form a*phi^n + b/phi^n. 02:56:23 * SimonRC goes to bed. 02:59:33 eh, a*phi^n + b/(-phi)^n, I think. 03:03:00 * bsmntbombdood watches 2 2 18^^p scroll by in dc 03:04:09 2 2 20^^p, even better 03:07:34 2 2 20^^p20^p20^p20^p20^p20^p is better still. 03:07:42 More abuse of RPN! MORE!!! 03:08:22 dc is pretty esoteric 03:09:12 No it's not. Seems pretty clean to me unless you try to use it as a Turing machine. :p 03:09:41 it's esoteric 03:11:57 0[2 2 12^^plax]salax 03:13:07 oops i mean 0[2 2 12^^+plax]salax 03:14:56 prints 2^(2^12), 2^(2^12)*2, 2^(2^12)*3... 03:20:04 and it can pretty easily be used as a turing machine 03:20:15 it has 257 stacks 03:26:27 hahahaa 03:26:30 1000k26o2vp 03:28:45 print 1000 decimal places of sqrt(2) in base 36 03:28:59 s/36/26/ 03:30:11 dc will be my sole language from now on 03:30:32 it's functional too! 03:30:51 Now implement regexps in it. 03:31:06 I've never done that in a real language 03:32:57 too bad it doesn't optimize tail recursion 03:33:06 [7aPlax]salax segfaults 03:33:59 oooh 03:34:05 the openbsd version doesn't 03:35:11 looks like it optimizes tail recursion! 03:35:53 Or else it has infinite storage. 03:36:20 Maybe. 03:36:20 :P 03:36:50 up to a million tail calls... 03:40:09 brainfuck: 03:40:14 + is 1+ 03:40:18 - is 1- 03:40:23 > is Sa 03:40:27 < is La 03:40:42 . is daP 03:43:36 Input's a bitch. 03:44:39 so is [] 03:46:08 oh cool it's got arrays too 03:48:29 -!- GreaseMonkey has joined. 03:48:34 -!- SevenInchBread has quit (Read error: 113 (No route to host)). 03:54:25 -!- oerjan has quit ("leaving"). 03:54:58 hrm 03:55:30 do this: if pop() is zero, push 1, else 0 03:55:30 ? 03:55:45 I only see if, not if-then-else 04:16:43 doing macros through registers in = is annoying 04:16:50 why not just take it off the stack? 04:24:43 0sa1sb20sl[lalb+stlbsaltsblbpll1-dsl0!=c]sclcx 04:24:51 ^^ print the first 20 fibonacci numbers 04:25:14 uh, what lang is this? 04:26:00 dc 04:26:08 sweet, eh? 04:26:33 is it under development? 04:26:37 no 04:26:40 see dc(1) 04:29:33 how sweet is that 04:30:22 -!- chuckfromchan has joined. 04:30:28 -!- chuckfromchan has left (?). 04:30:38 he must've seen me 04:30:46 -!- pikhq has quit (Read error: 110 (Connection timed out)). 04:37:23 can't figure out drop either 04:38:10 wait, where's the dc reference? 04:38:20 dc(1) 04:38:35 at? 04:38:49 i looked at man 1 dc, nothing came up 04:38:52 /usr/share/man 04:38:59 one sec 04:39:03 http://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html 05:02:51 gah 05:02:55 how to do drop? 05:03:44 [SaSbScLaLcLbdSa+LarSaSbScLbLaLc1-d0!=f]sf 05:03:53 does fibonacci numbers nicer 05:04:03 without using registers for storage 05:04:53 funny how long it took for me to come up with those few characters 06:06:44 heh 06:11:41 afk food 06:43:36 back 07:12:07 ~help 07:18:11 -!- GreaseMonkey has changed nick to ^_`. 07:50:11 -!- RodgerTheGreat has quit. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:25:21 -!- Sukoshi` has joined. 08:34:39 -!- Sukoshi has joined. 08:35:02 -!- ^_` has quit ("gtg gnight"). 08:35:40 -!- RodgerTheGreat has joined. 08:45:50 -!- jix has joined. 08:55:53 -!- ome has joined. 08:56:19 -!- ome has quit (Client Quit). 09:01:29 -!- helios24 has joined. 09:21:23 -!- nazgjunk has joined. 09:35:42 -!- sebbu has joined. 09:37:36 -!- Sukoshi has quit ("ERC Version 5.1 (CVS) $Revision: 1.796 $ (IRC client for Emacs)"). 09:42:43 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 09:48:11 -!- nazgjunk has joined. 09:50:45 -!- anonfunc has joined. 09:52:36 -!- nazgjunk has quit (Client Quit). 10:09:33 -!- sebbu2 has joined. 10:28:44 -!- sebbu has quit (Read error: 110 (Connection timed out)). 10:30:30 -!- Sukoshi` has quit (Read error: 110 (Connection timed out)). 10:42:20 -!- ihope_ has joined. 10:59:26 -!- ihope has quit (Read error: 110 (Connection timed out)). 11:04:05 -!- oerjan has joined. 12:55:01 -!- nazgjunk has joined. 13:16:04 -!- pikhq has joined. 13:29:46 -!- oerjan has quit ("leaving"). 13:49:37 -!- sebbu2 has changed nick to sebbu. 14:04:13 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 15:58:32 -!- Asztal has joined. 16:04:29 -!- anonfunc has quit. 16:21:19 -!- Asztal has quit (Remote closed the connection). 16:28:24 -!- goban has quit (Read error: 104 (Connection reset by peer)). 16:28:42 -!- goban has joined. 16:54:36 -!- crathman has joined. 17:32:16 -!- goban has quit (Read error: 104 (Connection reset by peer)). 17:32:47 -!- goban has joined. 17:45:38 -!- goban has quit (Read error: 104 (Connection reset by peer)). 17:45:51 -!- goban has joined. 17:49:58 -!- goban has quit (Remote closed the connection). 17:50:14 -!- goban has joined. 17:50:37 * SimonRC fwaps goban 17:53:02 -!- goban has quit (Read error: 104 (Connection reset by peer)). 17:53:28 -!- goban has joined. 17:58:27 -!- goban has quit (Read error: 104 (Connection reset by peer)). 17:58:41 -!- goban has joined. 18:29:54 -!- tgwizard has joined. 18:30:23 goban: get a better ISP! 18:35:38 lament: i will :( comcast discconnects me all the time 18:37:39 -!- crathman has quit ("Chatzilla 0.9.77 [Firefox 2.0.0.2/2007021917]"). 18:47:07 * lament throws stones at goban 18:47:28 e2e4! 18:47:41 -!- jix__ has joined. 18:49:05 c7c5! 18:53:41 e4xe8#!! 18:57:41 -!- sebbu2 has joined. 19:01:34 -!- kxspxr has joined. 19:02:23 -!- kxspxr has quit (Client Quit). 19:03:52 oh noes!~ 19:04:27 that's why i don't like chess 19:04:29 it's too easy :) 19:04:49 -!- jix has quit (Read error: 110 (Connection timed out)). 19:04:55 yeah, thats why computers are better than humans now 19:05:41 hey i just had an idea for a really pathological language 19:06:16 make it so each of the tokens have to be moves in a legal chess game! 19:16:48 -!- sebbu has quit (Connection timed out). 19:20:18 goban: ouch 19:20:45 goban: i suppose it's not that bad if we waive the 50-turn rule or whatever it is 19:21:14 goban: then we can get into the endgame with just a couple pieces left and hope that the moves of those pieces are enough for TC 19:23:09 lament: go would be SOOO Much easier! 19:23:28 eh 19:23:31 you mean harder 19:23:47 well there are many more possible moves, and captures make more space 19:23:53 in chess, once you have a few pieces left, it's very easy to move the remaining ones forever without ever interfering 19:24:15 you have to worry about the same position existing 3 times in chess 19:24:19 no unbounded memory 19:24:34 same with go, but its 19x19 so much more :) 19:29:22 you could have the chess game terminate with checkmate (or a drawn position) too :) 19:52:19 -!- crathman has joined. 21:18:20 -!- nazgjunk has joined. 21:23:05 -!- GreaseMonkey has joined. 21:28:21 -!- Rugxulo has joined. 21:29:02 -!- Rugxulo has left (?). 21:29:13 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:31:35 -!- nazgjunk has quit ("Leaving"). 22:13:25 -!- goban has quit (Read error: 104 (Connection reset by peer)). 22:13:40 -!- goban has joined. 22:32:08 0 1[dSa+Larplbx]dsbx 22:32:10 :D 22:32:41 prints all the fibonacci numbers 22:34:49 -!- sebbu has joined. 22:41:44 -!- sebbu2 has quit (Read error: 145 (Connection timed out)). 22:42:01 -!- goban has quit (Read error: 104 (Connection reset by peer)). 22:42:13 -!- goban has joined. 23:06:45 hmm that's dissapointing 23:06:54 using the stack is slower than using registers in dc 23:07:14 how is that disappointing? 23:07:30 because it's supposed to be stack based 23:07:39 the stack should be fast 23:08:26 time dc -e "10 4^3*sc 0 1[dSa+Lar lc1-dsc 1!=b]dsbx" 23:08:35 real 0m4.118s 23:08:44 time dc -e "10 4^3*sa 0sb 1sc [lb d lc + sb sc la1-dsa0!=f]dsfx" 23:08:52 real 0m1.963s 23:09:22 both of those calculate the 30000 fibonacci number, the first with the stack and the second with registers 23:10:09 ooh that's interesting 23:10:19 those times were with the implementation that came with openbsd 23:10:38 the gnu implementation running on a faster box takes 2s for both 23:22:44 -!- goban has quit (Read error: 104 (Connection reset by peer)). 23:22:50 -!- goban has joined. 23:26:38 -!- ShadowHntr has joined. 23:45:06 gah 23:45:10 I need drop 23:46:11 I guess for numbers only it could be d-+ 23:46:28 I thought there was a drop or discard command 23:46:37 not that i could find 23:51:00 d-+ is good enough 23:58:03 -!- crathman has quit (Read error: 148 (No route to host)).