2006-12-01: 00:28:25 -!- wooby has joined. 01:01:06 -!- wooby has quit. 01:10:19 -!- wooby has joined. 01:15:24 -!- wooby has quit (Read error: 104 (Connection reset by peer)). 01:24:38 -!- GregorR-L has quit ("Leaving"). 01:38:14 -!- wooby has joined. 03:48:53 -!- Asztal has joined. 04:27:53 -!- SevenInchBread has quit (Read error: 60 (Operation timed out)). 05:12:14 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 05:14:15 -!- Arrogant has joined. 07:04:30 -!- anonfunc has joined. 07:30:54 -!- wooby has quit. 07:31:46 -!- Sgeo has quit ("Ex-Chat"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:53:39 -!- evilC has joined. 08:56:38 -!- evilC has left (?). 11:00:55 -!- cmeme has quit (Remote closed the connection). 12:09:13 -!- Arrogant has quit ("Leaving"). 15:50:55 -!- jix has joined. 15:51:02 -!- tgwizard has joined. 16:53:21 -!- oerjan has joined. 17:06:31 -!- anonfunc has quit. 17:11:48 -!- GregorR-L has joined. 21:09:17 -!- oerjan has quit ("Good night"). 21:50:10 -!- SevenInchBread has joined. 21:57:55 -!- Sgeo has joined. 21:58:03 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:09:50 -!- Aardwolf has joined. 22:09:56 Hello 22:11:53 HI!!! 22:12:03 !help 22:12:14 aah egobot still isn't here 22:12:56 Sup with the wiki? 22:38:54 -!- tgwizard has quit (Remote closed the connection). 23:27:04 EgoBot isn't here because people abused it and I'm tired of that. 2006-12-02: 01:14:54 -!- Razor-X has quit (Remote closed the connection). 01:23:25 -!- Razor-X has joined. 01:32:06 -!- GregorR-L has quit ("Leaving"). 01:53:22 what's the IP address of esolangs.org? 01:53:41 after the move 01:56:34 ** Ping ** ping ** esolangs.org PING esolangs.org.org (209.86.66.93) 56(84) bytes of data. 01:56:45 Does that answer your question? 01:58:23 yep, because if I pinged it, it said: 01:58:28 ping esolangs.org 01:58:28 ping: unknown host esolangs.org 01:58:43 M-x ping 01:58:46 Gotta love Emacs. 01:59:20 hehe 01:59:23 do you use ERC? 01:59:31 the IP brings me to a spammy earthlink site though 01:59:58 I hate how earthlink does that 01:59:58 -!- wooby has joined. 02:00:11 I want real dns, damnit! 02:00:24 :( 02:00:37 I think that my DNS server is confused about esolangs.org somehow 02:01:38 can anyone of you access the wiki? 02:04:14 Yeah, I do bsmntbombdood. 02:07:06 Although, recently RCIRC has been getting the news articles. 02:09:19 Maelzel, who bade me pleasant weather the eyelids were it will be sure trader, I believed from tree stood a man whipped syllable! 02:12:49 How fairy-like hue of the danger of a thousand years, upon the moral soul has nothing. We may be impels us, and after our depth. There is the first. 02:13:17 this is fun 02:13:27 what is it 02:13:32 texts from spam mails? :D 02:13:40 nope 02:14:02 source code? 02:14:03 37,000 lines of edgar allen poe ran through a markov chain based text generation algorithm 02:14:15 aha 02:14:58 From the House of the lips resumed the lonely went boldly out 02:15:40 The house of lips! 02:15:59 hehe, I'm sure that spam mail generators use a similar algorithm 02:18:18 this is awsome 02:19:08 You can generate some crazy words 02:19:27 som Frof luessan thaut, asperach thand undclifich terslike 02:20:51 woureattledia! Uponed enegen se no in theas shruce 02:22:40 oard perfect factsrisk assessment mapstate, by state datauseful? 02:24:13 I need some other author to do it with 02:25:27 -!- pikhq has joined. 02:31:43 * pikhq lives again. 02:32:34 If you are interested, the code is at http://bsmntbombdood.mooo.com/markov.lisp 02:59:04 * SimonRC does evil things to "pointsfree". 02:59:14 I gave it \a:b:c:d:e:f:z->f:e:d:c:b:a:z 02:59:51 * pikhq has made the optimizer in BFM much smarter, and is in the middle of a rewrite into several passes (for clarity purposes). 03:00:17 Aardwolf: you're right it's not working 03:00:24 Aardwolf: you can get to the wiki from here though: http://esoteric.voxelperfect.net/ 03:58:41 I've decided to play around with Common Lisp, but I wonder what makes it so ``Lisp-y'' if it uses iterative loops. 04:00:07 Scheme has iterative looping constructs doesn't it? 04:00:17 Yeah it does, but it's considered bad Scheme style. 04:00:28 And if you need anything more crazy than that, you just use call/cc. 04:00:48 Someone in #lisp told me to rewrite a recursive function iteratively 04:01:02 I can do both fairly well. 04:01:39 There are some applications where recursion is simply an easier way to code. An infix expression parser is one of those. 04:01:49 indeed 04:02:06 The LOOP macro is extremely unlispy 04:02:16 I remember LOOP scaring me. 04:02:22 Because it was so much to memorize. 04:02:38 (loop for i from 0 to (- (length seq) len) by len collecting (subseq seq i (+ i len))) 04:03:06 I'm scared shitless. 04:03:12 One of the main reasons DO is not used in Scheme very often is because the syntax is longer to remember than tail recursion. Of course, tail recursion pays the price of computing effeciency until you learn the streams abstraction. 04:03:33 streams abstraction? 04:03:34 There's a whole LOOP sublanguage. Like the DEFMACRO sublanguage. 04:03:43 bsmntbombdood: ... You haven't read SICP?! 04:03:47 DEFMACRO doesn't have a sublanguage 04:03:49 The essence of common lisp lies not in being functional, because it often isn't, but in it's macros. 04:04:09 DEFMACRO is not hygenic Common Lisp. 04:04:22 s/it's/its/ 04:04:25 Which is why Scheme SYNTAX-CASE macros are specifically called ``hygenic macros''. 04:04:34 DEFMACRO is the only way to do some stuff 04:04:39 Non-functional stuff 04:04:53 GENSYMs were annoying. I remember that much too. 04:05:04 Nope, what's SICP? 04:05:09 * Razor-X dies. 04:05:19 One of THE best treatises on computer science EVER. 04:05:30 Structure and Interpretation of Computer Programs. 04:05:59 meh 04:06:51 (defmacro queue-push (item place) `(setf ,place (append ,place (list ,item)))) 04:06:52 I can't see why there isn't something in between Common Lisp and Scheme. Something hygenic, but also having machine-like capabilities. 04:07:01 You can't write that as a function 04:07:38 Why? Can't Common Lisp functions produce other functions? 04:07:54 Yes... 04:08:36 Why would that make a difference? 04:09:34 (define (queue-push item place) (define (queue-push* item place) `(set! ,place (append ,place (list ,item)))) (eval (queue-push* item place) )) 04:10:08 common lisp doesn't have define, but ok 04:10:11 A subfunction generates the new function, and then the outer function evaluates it. Simple. 04:10:27 Well, DEFINE here is being used in the same way as DEFUN, no? 04:10:32 yeah 04:11:03 But that still doesn't work 04:11:09 Why not? 04:11:17 (common) lisp doesn't have pass by reference 04:11:38 Errr.... ? 04:12:15 Well, it does 04:12:33 I'm not quite seeing what pass by reference and pass by value have anything to do here. 04:12:47 I suspect this is some difference in the way procedures are handled. 04:12:49 Sounds like someone's brain is borken. 04:13:04 For a function to modify its args, you need pass by reference 04:13:05 Meh. 04:13:18 But, how does it matter? I'm generating a new function? 04:13:38 QUEUE-PUSH* returns a new function, which is then EVALed. 04:14:04 Which is the whole point of DEFMACRO 04:14:18 Oh... you can't do that in your average DEFUN ? 04:14:57 DEFMACRO does what you did for you 04:14:58 sorta 04:15:05 Meh. 04:15:39 (defmacro queue-push (item place) `(setf ,place (append ,place (list ,item)))) 04:16:06 (defun queue-push (item place) `(setf ,place (append ,place (list ,item)))) 04:16:20 er, (defun queue-push-f (item place) `(setf ,place (append ,place (list ,item)))) 04:16:32 The DEFUN definition should just produce a procedure, no? 04:16:52 (queue-push ...) === (eval (queue-push-f ...)) 04:16:53 Or a closure... I think the Common Lisp term was. 04:17:17 yeah 04:18:38 But I only barely know cl, so I might be leading you off track 04:19:31 (defun my-cons* (arg) `(cons ,arg '())) (defun my-cons (arg) (eval (my-cons* arg))) 04:19:33 What bsmntbombdood is saying is true seems absolutely unLispy to me. . . 04:19:39 (my-cons 5) => (5) 04:19:54 So it seems you don't need DEFMACRO. 04:20:02 no 04:20:22 You can't modify arg in MY-CONS 04:20:34 Err, I'm not modifying any arg.... 04:20:39 And try that in your REPL too. It works. 04:21:44 yeah 04:22:47 I know in Scheme the only reason I'd use a macro was if some piece of code kept repeating itself over and over again, or I was in this sort of a position, where it's technically better Lisp-style to use a macro to generate the code instead of having a helper procedure produce a procedure that is evaluated by the outer procedure. 04:22:50 But (defun my-cons (arg) (cons arg nil)) works just as well 04:23:48 (defun foo (arg) (setf arg 1)) doesn't modify arg outside of foo 04:23:56 (and can't)\ 04:25:01 Oh oh. I see. 04:25:13 So, you're talking about modifying a top-level definition? 04:25:20 yeah 04:25:33 Like, in Scheme, (define alpha 5) (define (test) (set! alpha 3)) ? 04:25:57 I don't know, what does that do? 04:25:59 Maybe the first DEFINE usage becomes DEFPARAMETER in Common Lisp. I can't remember the difference between DEFPARAMETER and DEFVAR. 04:26:27 defparameter changes the value of the variable if it is already defined 04:26:35 Ah-hah. 04:26:41 So then the first DEFINE would be a DEFVAR. 04:27:03 And I believe that SET! would become SETQ, but I'm not sure on that. 04:27:20 yeah 04:27:25 I think 04:27:51 The R5RS standard is really tiny. Even the draft for R6RS is pretty small too. It's fairly simple to memorize everything in it. 04:28:27 Common Lisp seems appealing because of its support for such things as variable types and endian-ness and good binary file support and such. Just seems more robust. 04:29:22 I think that Scheme is more pure, and cl is more usefull (outside of the educational world) 04:29:41 Yeah. Scheme manipulating binary files becomes a bit cumbersome. 04:30:50 I was looking at some code to read a file, it is very unlispy 04:30:53 In Chicken, you'd end up creating your own mini OOP system (unless you want to use something that already exists like TinyCLOS, but I hate them all) to represent the byte structure of the file and other abstractions for binary data slots. 04:31:34 And even in R6RS there's nothing like bit shifting and stuff. The closest thing they have to the architecture in the R6RS draft is endian-ness. 04:32:19 I love Lisps :3 04:32:25 heh 04:33:08 Oh, have you read the post that started StumpWM? 04:33:14 no 04:33:31 It's funny. It's part of the coding-Lisp-under-acid ethos. 04:34:12 I love my window manager 04:34:33 I used Ratpoison, so I'd love to see StumpWM become a tour de force. 04:34:46 s/used/use/ 04:34:51 * bsmntbombdood uses ion 04:34:59 Ion's too complicated for me, heh. 04:35:08 Too many dadgummed keys to remember. 04:35:50 I go out of ion style and use the mouse for some stuff 04:36:17 The mouse is useless in ratpoison. 04:36:34 yeah 04:36:57 I, frankly, don't like reaching the 30 cm over to my trackball. 04:37:03 It's too far. 04:40:10 Even though I'd get dreadfully flamed out in both #scheme and #lisp for saying this, I think both of the lisps are drifting towards each other. R6RS really shows the burden of having such a minimal standard on Scheme, and I think CL is also beginning to adopt a more ``clean abstraction'' style. 04:42:15 I'm having a Paul Graham moment :P 04:42:59 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 04:43:05 never heard of him 04:43:10 O_O 04:43:23 You're... learning CL.... without hearing about Paul Graham?!?!?! 04:43:30 * Razor-X oggles. 04:43:38 I guess I should look him up 04:43:49 He is *the* foremost Lisp elitist out there. 04:44:26 He and Chuck Moore are singular to their dedication to their paradigms of choice, and have written hopeless amounts of propoganda for their respective paradigms. 04:44:46 (And then there's Jeff Fox, who sounds like Moore Came To Him in a Revelation and was Saved by Moore.) 04:45:42 If Graham were writing for Stalin instead of for Lisp, the people would be whooping and cheering in love for The Party. 04:47:35 -!- pikhq has joined. 04:49:34 It's crazy how old lisp is 04:52:32 this is cool: http://www.levenez.com/lang/history.html#04 05:03:49 Yeah, it is. 05:03:56 I can't even understand how other languages got traction. 05:04:16 Well, I can understand C, but I would see the word as: Low-level: C, High-level: Lisp. 05:05:16 I can understand C++ gaining traction, by merit of being C-oid. . . 05:05:38 Although what it's been abused for is rather surprising. 05:05:56 I can't imagine C++ getting traction. Why, how, what drove these mad people?! 05:06:21 g++ after being worked on for years by hundreds of developers is only slightly stronger than GHC, OCaML, and clisp. 05:06:40 And it even loses in certain tests. 05:06:41 Getting away from the restrictions of C while still being C. 05:06:52 I call that C and a monkey's bastard child. 05:07:17 Yeah, that's my respect for C++. 05:07:31 I can understand it getting traction simply because there are people mad enough to think its the world's greatest language. 05:07:59 But someone would have to commit the original folly before the university hordes begin being indoctrinated in it. 05:08:25 I feel how the old C++ites feel with Java now. They must feel like leftovers from the Last Crusade. 05:08:41 s/feel how/wonder how/ 05:26:08 * SimonRC goes to bed 05:28:23 -!- Sgeo has quit (Remote closed the connection). 05:37:47 -!- anonfunc has joined. 05:52:19 Ok, what came after lisp? 05:52:21 COBOL 05:52:37 Now, people like cobol for it's englishness 05:53:18 Now, I don't know where I'm going with this 05:54:02 People *hate* Cobol for it's Englishness, actually. XD 05:54:27 Well then how did it catch on? 05:54:44 Managers, unlike human beings, like Cobol for that trait. 05:55:01 That needs to be quoted :P 05:55:10 And managers controll what language there subordinates use 05:55:41 Rather than having books on Scheme or Haskell or even Forth in the miscellaneous languages section of our local Borders, you have Common Lisp and COBOL. 05:55:48 And FORTRAN. 05:55:52 -!- twobitsprite has joined. 05:56:12 is there a channel for the Joy language anywhere? (I figured you guys would know) 05:56:21 Classifying Lisp and COBOL together is like classifying Life and Death together. 05:56:28 or... is there at least anyone on here that knows anything about Joy? 05:56:29 twobitsprite: If it's an esolang, this'd be it. :p 05:56:41 Razor-X: ? 05:56:47 As you just saw twobitsprite, nope. 05:56:55 I don't know if Joy is intended to be an esolang 05:56:57 On the channels business. 05:57:05 Razor-X: yeah... 05:57:06 A link to Joy please? 05:57:16 http://en.wikipedia.org/wiki/Joy_programming_language 05:57:22 ありがとう。 05:57:28 it looks like it's mostly in early developement... 05:58:17 Oh, so that's where I remember it from... 05:58:26 You'll be getting the most support from #forth. 05:58:36 that's what I was thinking 05:59:02 Functionality and stack usage scare me. 05:59:05 interesting 05:59:29 why? 05:59:31 They're paradigms which I see as almost entirely mutually exclusive (unless you implement a stack in a functional language, which is something different altogether). 06:00:08 Razor-X: joy seems to be doing alright... 06:00:10 I think you can functionally program in forth 06:00:19 You can, but it's not a preferred way. 06:00:24 Now, that's just me, of course. 06:00:35 Razor-X: Yay! Unicode works here for once! 06:00:36 I can't imagine recursion very well with a dedicated stack. 06:00:48 forth has recursion 06:00:55 Tail recursion, rather. 06:01:17 factor has full tail-call optimization 06:01:17 It has tail recursion (by way of RECURSE), but it's not used very often. 06:01:31 For a second there, I was thinking that it was "Ari ga tou", though. . . XD. 06:01:38 ... ;D 06:01:50 The and is truth? 06:01:54 *ant 06:02:39 Of course, If Factor and its like do fly, I'd love to pursue it, but IMO I don't think I can cope well with the paradigm. 06:02:55 Kinda like how I'm not that good with OOP paradigms. 06:03:48 OOP is great 06:04:27 It suffers from "when all you have is a hammer, everything starts looking like a nail", though. 06:04:39 I'm not saying it works for everything 06:05:09 Not saying you did. I'm just saying that OOP suffers from that problem. 06:06:10 yeah... it's easy to think to yourself "but everything /is/ an object" until you get into strange constructs which would only occur in a program which are not easily stuffed into an object 06:08:17 "but everything /is/ a function". ;) 06:09:38 Everything is *not* an object. 06:09:58 It is in java 06:10:07 Meh. That's true. 06:10:28 Objects, in my experience, are only useful for situations in which you need differing state per instance of object and assosciated functions to this instance that manipulate local state. 06:10:47 I've never actually thought of programming in terms of manipulating objects. 06:11:00 hm 06:11:05 but the problem is, proceedures (which is what any program is in a language like Java, etc, that fact is just disguised from you) to not easily (or, at least not obviously) break down in to categorical heirarchies 06:11:24 Yes. 06:11:37 I also hate the fact about OOP in that, what should belong to the superclass, what to the subclass, etc. 06:11:45 Even though the decision is at best aesthetic. 06:11:45 A quicksort is not an object 06:12:02 But a quicksort can be a method 06:12:06 on a lits 06:12:08 list 06:12:25 twobitsprite: it should be a method contained by an object that manages related types of methods 06:12:36 Yeah, I can understand Lisp's everything-is-a-procedure methodology pretty well. 06:12:54 Obviously there are places where it's cumbersome. 06:13:12 I doubt that most people define constants using Church Numerals in their Scheme programs. 06:13:20 bsmntbombdood: I understand this... bad analogy really... there are however proceedures which can be applied to "objects" (data structures, really) which do not all belong to some superclass... 06:13:30 Yeah 06:13:58 OOP doesn't necessarily mean "everything is an object", it means you use objects to categorize and organize your code logically and modularly. Modularity is the main advantage, really. 06:14:05 To think that everything in the world can be boiled down into some top-down heirarchy is just silly 06:14:12 true, true 06:14:13 bsmntbombdood: What'd be better is a generic quicksort function which applies to many datatypes. 06:14:44 My two best paradigms are either on the byte level, where I can think of things as simply bytes and structures pointing to positions of bytes, or the functional methodology. 06:14:59 Of course, OOP is invaluable in certain situations as well. 06:15:01 * pikhq likes the Brainfuck paradigm. :p 06:15:04 but every language effectively imposes it's own design philosophy on how you do things, and the related limitations or caveats 06:15:16 I've been doing too much on BFM lately. 06:15:33 I'm spread between 2 projects, and am about to tackle on a third. 06:15:43 (optimization is approaching perfection, and BFM is being split into multiple passes of compilation for clarity's sake) 06:15:47 that's why everyone should learn many different languages with different paradigms- and that's what Esoteric Programming is all about 06:15:55 Yup. 06:16:13 An ID3v2 parser/creator, and SLUMTP. I'll be attempting to create a port of jMemorize soon enough. 06:16:42 RodgerTheGreat: right, of course... I'm mostly ranting on about how the IT industry likes to think that OOP is god's gift to software 06:17:19 yeah 06:17:22 I understand 06:17:39 In reality, if you designed your program well enough in the abstract from the beginning, it really doesn't matter what language you use to implement it, it's all simply a matter of taste and style 06:17:45 Personally, I like Java, but it's not the best tool for everything. 06:17:57 * twobitsprite personally despises java 06:17:59 Language choice should reflect the task at hand 06:18:01 dispises* 06:18:05 No RodgerTheGreat has the right of it. Each language has its own biases. 06:18:12 twobitsprite: If you designed your program that well in the beginning, you're not in the real world. 06:18:30 One should attempt to use a language which is biased in favor of what you need from it. 06:18:33 Lisps have the capability to be tuned to your program domain, but that tuning requires thinking Lispily. 06:18:56 pikhq: of course, no design is perfect, and knowing the nuances of your chosen language will effect your design, but for the most part and language, so long as it is turing complete, will do 06:19:22 s/and/any 06:19:39 twobitsprite: That goes without saying. 06:20:10 (if you are worthy of the title "programmer", that is) 06:20:28 I think the most useful thing I learned from LISP is the related design philosophy- code everything assuming the rest of your program works. 06:20:47 it's mostly a matter of which language provides the most features which will save you typing and save you from focusing on to many inane details 06:21:18 I'd agree with that 06:23:02 I've been playing with LUA lately- I really like the design of the language. It embodies a number of the things I liked about BASIC. 06:23:30 without all of the business these days of "making BASIC a *real* language" 06:28:04 * pikhq notes that the next Gnash version is due "any day now". . . 06:29:02 Which should, in theory, support all of Flash v7 and parts of v8. . . 06:29:21 The version supporting all of v9 is targeted for this summer. :) 06:31:01 hmm 06:43:18 -!- Robdgreat has joined. 06:43:30 * RodgerTheGreat coughs 06:46:41 Thief. 06:50:28 -!- pikhq has quit ("leaving"). 07:00:19 eh. 07:06:23 * twobitsprite sharpens his tension knife 07:07:08 hah. wit. 07:07:30 * twobitsprite tries. 07:07:34 -!- sreeram has joined. 07:07:56 * Robdgreat shrugs. 07:08:14 I've only been using this nick for 10 years. But I can change just for you. 07:08:16 -!- Robdgreat has changed nick to Asaph. 07:08:40 eh? 07:09:30 I entered and was greeted with a cough and "Thief." 07:09:58 eh, screw it. 07:09:59 ahh... is this about the similarity of nicks between you and RodgerTheGreat? lol... 07:10:23 * RodgerTheGreat shrugs 07:10:25 I suppose. 07:10:47 no worries 07:10:51 have a good night 07:10:56 -!- ivan` has quit (" Try HydraIRC -> http://www.hydrairc.com <-"). 07:10:58 -!- Asaph has quit ("Error 1606. Press any key to continue."). 07:11:07 that was odd 07:11:31 Error 666. Just too damn evil. 07:16:11 lol 07:32:00 -!- twobitsprite has quit. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:40 -!- sreeram has left (?). 08:05:03 RodgerTheGreat: Oh? You've never programmed top-down before? 08:05:20 I do it quite routinely. 08:05:40 If x, do complex-y else complex-z. And then I later code complex-y and complex-z. 08:05:57 I am a bit biased to top-down planning myself, because it suits my on-the-spot thinking style more. 08:13:21 my tendency was building from the bottom-up, but I've found myself using top-down more for homework and such in my CS classes 08:13:46 if I run into a problem, I can keep making progress toward completing the assignment, rather than just being stumped 08:14:47 well, g'night everyone. 08:15:21 goodnight 09:09:35 -!- anonfunc has quit (brown.freenode.net irc.freenode.net). 09:09:35 -!- Razor-X has quit (brown.freenode.net irc.freenode.net). 09:09:36 -!- RodgerTheGreat has quit (brown.freenode.net irc.freenode.net). 09:09:36 -!- pgimeno has quit (brown.freenode.net irc.freenode.net). 09:09:39 -!- puzzlet has quit (brown.freenode.net irc.freenode.net). 09:09:39 -!- sp3tt has quit (brown.freenode.net irc.freenode.net). 09:09:39 -!- bsmntbombdood has quit (brown.freenode.net irc.freenode.net). 09:09:39 -!- lindi- has quit (brown.freenode.net irc.freenode.net). 09:09:40 -!- wooby has quit (brown.freenode.net irc.freenode.net). 09:09:40 -!- Aardwolf has quit (brown.freenode.net irc.freenode.net). 09:09:40 -!- SevenInchBread has quit (brown.freenode.net irc.freenode.net). 09:09:40 -!- fizzie has quit (brown.freenode.net irc.freenode.net). 09:09:42 -!- GregorR has quit (brown.freenode.net irc.freenode.net). 09:09:43 -!- lament has quit (brown.freenode.net irc.freenode.net). 09:09:43 -!- SimonRC has quit (brown.freenode.net irc.freenode.net). 09:09:44 -!- mtve has quit (brown.freenode.net irc.freenode.net). 09:09:44 -!- meatmanek has quit (brown.freenode.net irc.freenode.net). 09:11:33 -!- anonfunc has joined. 09:11:33 -!- wooby has joined. 09:11:33 -!- Razor-X has joined. 09:11:33 -!- Aardwolf has joined. 09:11:33 -!- SevenInchBread has joined. 09:11:33 -!- RodgerTheGreat has joined. 09:11:33 -!- pgimeno has joined. 09:11:33 -!- puzzlet has joined. 09:11:33 -!- SimonRC has joined. 09:11:33 -!- fizzie has joined. 09:11:33 -!- lindi- has joined. 09:11:33 -!- sp3tt has joined. 09:11:33 -!- bsmntbombdood has joined. 09:11:33 -!- lament has joined. 09:11:33 -!- GregorR has joined. 09:11:33 -!- meatmanek has joined. 09:11:33 -!- mtve has joined. 09:54:36 wooby, thanks for the link 09:54:57 Aardwolf: no problem 09:55:08 i emailed graue, i thought it might have been a dns problem 09:55:16 apparently the server randomly stops working 10:16:08 Deltaplex is done 10:20:02 * wooby investigates 10:22:41 ha that's awesome 10:23:51 I just hope someone will have the courage to make something in it, because it's so annoying to code in pixels 10:29:19 heh 10:29:24 perhaps an IDE is in order? 10:36:56 hah maybe :D 10:37:41 hehe 10:38:06 are you familiar with mondrian, the artist? 10:38:27 he's the dutch guy that did the paintings that are multicolor blocks with black lines 10:40:34 yep, I know both him and the Piet programming language 11:00:24 right 11:00:36 well i was researching his stuff 11:00:44 and did some preliminary research into 11:00:49 a mondrian encoding scheme 11:00:57 IE the most efficient way to store his original works 11:01:55 and hm, its just kinda interesting :) 11:52:28 -!- jix has joined. 11:54:12 -!- sedimin has joined. 11:54:16 hi there 12:18:06 hi 12:24:24 -!- SevenInchBread has quit ("haaaaaaaaaa"). 12:24:49 howdy? 12:34:53 sup 12:35:25 I have posted idea for new language 12:35:34 http://esoteric.voxelperfect.net/wiki/Stalactite 12:44:06 -!- anonfunc has quit. 12:47:06 checking... 12:57:04 -!- wooby has quit. 13:03:17 always nice if an esolang comes out of a dream ;) 13:04:44 hehe 13:04:58 this happened to me for the first time 13:05:22 but I don't think it happens usually, that would be quite crazy :) 13:34:49 -!- sedimin1958 has joined. 13:50:54 -!- sedimin has quit (Read error: 110 (Connection timed out)). 14:25:22 -!- jix_ has joined. 14:30:19 -!- jix has quit (Read error: 110 (Connection timed out)). 15:01:06 -!- sedimin1958 has quit (Read error: 110 (Connection timed out)). 15:06:23 -!- tgwizard has joined. 15:57:54 -!- cmeme has joined. 15:58:24 -!- cmeme has quit (Remote closed the connection). 15:58:55 -!- cmeme has joined. 16:02:28 -!- cmeme has quit (Read error: 131 (Connection reset by peer)). 16:02:33 -!- cmeme has joined. 16:03:02 -!- cmeme has quit (Remote closed the connection). 16:03:34 -!- cmeme has joined. 16:24:29 -!- SevenInchBread has joined. 16:41:08 -!- Sgeo has joined. 17:24:01 -!- SevenInchBread has quit (Connection reset by peer). 17:24:59 -!- SevenInchBread has joined. 17:26:15 I'm reading over LOOP. Why would anyone want to use LOOP instead of DO? 17:26:39 It stinks much too much of COBOL to me. 17:29:30 -!- pikhq has joined. 17:31:03 My bfm.tcl rewrite is now partially working. 17:32:31 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 17:33:22 -!- SevenInchBread has joined. 17:33:35 -!- SevenInchBread has quit (Connection reset by peer). 17:34:25 -!- SevenInchBread has joined. 17:35:26 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 17:36:20 -!- SevenInchBread has joined. 17:37:02 * pikhq ties SevenInchBread to the Freenode server 17:40:18 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 17:41:10 -!- SevenInchBread has joined. 17:50:53 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 17:51:46 -!- SevenInchBread has joined. 17:55:31 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 17:56:24 -!- SevenInchBread has joined. 17:59:10 -!- SevenInchBread has quit (Read error: 131 (Connection reset by peer)). 18:00:03 -!- SevenInchBread has joined. 18:15:59 -!- SevenInchBread has quit ("haaaaaaaaaa"). 18:18:48 -!- CakeProphet has joined. 18:19:49 -!- CakeProphet has left (?). 18:19:55 -!- CakeProphet has joined. 18:27:47 -!- calamari has joined. 18:29:08 'Lo. 18:29:21 hi 18:29:34 med 18:46:03 dadadaDOM!# 18:48:07 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 18:48:23 howdy, everyone. 18:48:44 -!- pikhq has joined. 19:08:22 * SimonRC refers people to the famous story about Qc Na. 19:08:55 I believe that is the definitive opinion on OO versus non-OO. 19:09:35 Care to refer to it? 19:09:41 GIYF 19:16:19 RodgerTheGreat: Surely the problem with top-down programming is when you try to split the problem up in ways it won't split. This complements the problem of bottom-up programming, which is writing a load of pieces of elegant code that each do a simple, well-defined task, but none of whic approach solving your actual problem. 19:16:36 yes 19:18:47 the only real solution is rigorously designing the interactions of portions of your code beforehand. Of course, building from the bottom up without such a previously defined design generally creates re-useable code even when not all of it ends up being necessary 19:21:01 yup 19:21:46 Although you may end up with a library of functions that are all very nice but not used much 19:22:32 As with all other things, the solution involves someone with a modicum of grey matter. . . 19:23:23 heh 19:24:34 ESR advocates a style he calls "midle-out programming" where you write the bit sof code that actually *do* stuff, and gradually move the nice setup, teardown, do-multiple-things, etc into layers above, and move the low-level details into layesr below. 19:25:44 I do however advocate trying to decide all the functions/methods you are going to write in you head first. 19:25:55 s/however // 19:26:33 You will end up missing a lot of them, but that doesn;t matter too much as you will have *thought* about the problem. 19:29:15 the best way to start coding any moderately sized application is by sitting down and thinking about it for a while. 19:31:57 The worst way, of course, is to just start throwing shit together. . . 19:32:10 indeed 19:33:11 (Pre-rewrite BFM started showing some of those issues. . . Largely because the language evolved faster than the compiler0 19:44:26 * SimonRC lols at the Visitor Pattern. 19:44:54 AFAICT, it's just the map operation. 19:45:10 * pikhq is still crazy enough to think BFM is a good idea. XD 19:46:11 Do you have the translator source online? 19:46:17 s/translator // 19:46:33 I've got a very outdated source up. 19:47:27 I'm trying to finish my multi-pass rewrite, make the optimizing pass a bit nicer, and add an "expr" command to be called from whilet and ift. . . 19:47:58 So, if I bother working on it today, I should have a modern BFM release up. . . Tomorrow? 19:49:30 (for the record: ift and whilet, with expr, should allow for traditional "if {foo==0}" statements) 19:51:02 ok 19:51:52 Well, to be fair, it'd be "if var {expr var==0} {code-here} : temp0 temp1". 19:52:04 s/if/ift/ 20:05:07 Why are we not working on the Factory language? 20:05:24 Because it's horrible. 20:05:29 Absolutely horrible. 20:05:38 I'm still getting nightmares from it. 20:10:27 Hmm... Paul Graham is making an interesting point here: http://paulgraham.com/gap.html 20:11:10 Though the monetary gap between rich and poor (within a developed country) is very wide, it doesn't matter much. 20:12:49 If a rich man can spend 10,000 time as much on something as a non-rich one, it doesn't get him a suit that looks 10,000 times as good, or a journey 10,000th or the duration, or a computer 10,000 times as easy to use. 20:13:18 As PG puts it: "If Lenin walked around the offices of a company like Yahoo or Intel or Cisco, he'd think communism had won. Everyone would be wearing the same clothes, have the same kind of office (or rather, cubicle) with the same furnishings, and address one another by their first names instead of by honorifics. Everything would seem exactly as he'd predicted, until he looked at their bank accounts. Oops." 20:14:33 Or until he saw the CEO. 20:15:26 hm 20:24:47 Heh 20:41:20 I tend to write my programs the same way I write my essays -- I make sure I'm familliar with my topic or problem domain, I formulate a rough sketch in my head of how the program will flow, I begin writing code according to this scaffolding, attempting to create sub-functions on demand unless I realize that it takes too long a time to do in my first ``pass'', and keep going until I run out of steam or I realize that most of my program is 20:41:20 using functions I haven't defined. 20:41:58 At that point, begin looking at the helper functions I've left undefined to identify common pieces of code and start making a library for those, and then I code these bottom-up. 20:42:32 So I use a weird combination of both methods. 20:44:37 I absolutely abhor precise planning. I just can't create anything if I've made a complete paper-pencil model of the program. It turns to uncreative mush. 20:45:07 I end up making a rough little sketch of what needs to be done. . . 20:46:31 if I had 10,000 times as much money, I'd know how to use it, you still can buy a 100x more expensive house and stuff 20:46:33 * Razor-X refers pikhq to the Unicode elipsis. 20:46:43 Huh? 20:46:53 (in reply to SimonRC) 20:47:17 * pikhq doesn't care 20:57:27 -!- Arrogant has joined. 20:58:09 Razor-X: There is nothing to say that you can't do the first stages of that process with PnP, or better, in your head. 21:01:55 SimonRC: Well, what I tend to have in my head is a rough idea, not something like an essay outline or a strict flowchart. 21:02:37 I'd say that's pretty much how I go about things 21:03:01 PnP? 21:03:19 Plug n Play? 21:03:31 Paper and Pencil, I assumed. 21:04:09 * RodgerTheGreat shrugs 22:27:51 yes, PnP = paper and pencil, (as in RPG systems) 22:28:07 * SimonRC finds some clever code to flatten a Scheme-style tree: 22:28:25 in Haskell, we would, of course have: 22:28:26 flatten (Cons Null r) = flatten r 22:28:29 oops 22:28:34 data SCM = Cons SCM SCM | Null | ... 22:29:16 you can apparently flatten in linear time and ocnstant space, lazily if you use the clever trick: 22:29:21 flatten (Cons (Cons l m) r) = flatten $ Cons l $ Cons m r 22:29:30 the rest just writes itself 22:29:49 I just read about pipes in lisp 22:29:53 very interesting 22:30:20 pipes? 22:30:48 a list of the form (1 2 3 . #) 22:30:53 (I got that trick from here: http://okmij.org/ftp/Scheme/misc.html#lazy-flattener) 22:31:14 ah, nice 22:31:34 Kinda like python generators 22:32:59 In Haskell you get those for free 22:33:02 :-) 22:33:11 heh yeah 22:37:32 Similar to a stream. 22:38:35 (stream-list 1 2 3) => (1 . (delay (2 3))) 22:38:44 It's the same thing as lazy evaluation. 22:38:50 yeah 22:41:02 (define (interval x y) (if (< x y) (list x (delay (interval (+ x 1) y))) '())) 22:41:38 That way, the Scheme interpreter only interprets as many list items as neccessary to complete an operation. 22:41:48 There's your effecient tail recursion. 23:05:56 -!- ivan` has joined. 23:17:13 -!- oerjan has joined. 23:21:50 -!- anonfunc has joined. 23:31:26 while i understood the meaning of GIYF when simonRC used it, my translation was considerably less polite than the official one. 23:34:21 which, apparently, wikipedia already has noted 23:39:43 'Lo, oerjan. 23:39:57 hi pikhq 23:40:11 * pikhq contemplates discussing his recent changes to BFM, for the benefit of oerjan. 23:40:22 * oerjan runs away screaming 23:40:27 just kidding 23:41:10 First change, which I've discussed previously, is the C string support. 23:41:34 Secondly, if one doesn't specify a location to @, it assigns one. 23:41:50 Third, optimization is smarter. 23:41:56 fun 23:42:22 Finally, I've *almost* finished a rewrite of the compiler, splitting it into multiple passes for clarity's sake. 23:42:23 i've noticed all except the third before 23:42:33 and fourth 23:43:19 how is optimization smarter? 23:44:01 Remember your suggestion for having a cleared-cell stack? 23:44:12 yes 23:44:17 Implemented. 23:45:03 Also, I've got calls to right and left not clearing out the cleared-cell stack unless an operation which changes memory is used while doing relative addressing. 23:45:23 So, string output doesn't affect the cleared-cell stack at all. 23:46:59 i see 23:47:24 i had some further ideas about declarations 23:48:02 Yeah? 23:48:11 basically, a keeps0 declaration 23:48:20 Which does? 23:49:51 it is used at the beginning of a while. it checks the value of the location before the loop and acts as is0 only if it actually was zero 23:50:29 Hmm. . . 23:50:52 So, something that'd be rather simple to add to the optimize pass. . . 23:51:46 and a "touches" declaration, with sort of the opposite meaning 23:52:24 An "isnot0" if it wasn't 0 at the end of the loop? 23:52:26 it would be a guarantee that those variables are the _only_ ones changed by the loop. useful to avoid some stack clearing 23:52:37 Oh. 23:52:42 I see. 23:53:10 You should write actual documentation so that people who don't know TCL can help out. 23:53:28 it could be combined with left/right and would be a way to avoid clearing everything in that case 23:53:35 Might require a little bit of redesigning in ::optimize. . . Oh well. This kind of thing is *why* I split it into multiple passess. 23:53:42 Razor-X: oerjan is one of those people. :p 23:53:56 oerjan: So uh... what ze heck is is0 ? 23:54:05 Is the cell 0? 23:54:18 What optimizations does the compiler perform? 23:54:18 a declaration that a cell is supposed to be 0 at that point of the program 23:54:24 It tells the compiler that the cell is 0, so that it can avoid cell-clearing. 23:54:37 Razor-X: Currently, it eliminates pointless cell-clearing. 23:54:40 Cell-clearing. Makes a lot of sense, seeing how much else I know of it :P 23:55:21 I've got plans to make it check if the cell is 1, 2, -1, or -2, so that it can make some cell-clearing shorter. 23:55:32 Why are you cell-clearing? 23:56:02 Some of the macros do cell-clears to make sure the temporary variables are safe to use. . . 23:56:13 cell-clearing is the first step of setting a brainfuck cell to a known value if it is unknown 23:56:21 Temporary variables was what I suspected. 23:56:50 Although why you would keep the BF array and temporary variables on the same contiguous chunk of memory I have no idea. I would use something like a stack. 23:57:03 Also common is, well, breaking out of a loop. 23:57:10 because it compiles _to_ brainfuck 23:57:21 Oh yah. 23:57:38 The temporary variables are passed as an argument to the macros. . . 23:58:05 But if the macros are clean, the temporary variables should leave no trace, no? 23:58:17 But the coder might *not* be clean. ;) 23:58:25 DIRTY, DIRTY CODER 23:58:32 It's a matter of severe paranoia. 23:58:48 Extra swaddling eh? 23:59:01 Very un-C-like. 23:59:08 no it is simply due to clean macros clearing both before and after use 23:59:11 That, and I'm not sure if *all* of the macros are clean, anyways. 23:59:21 Then why not use the Lisp philosophy of creating disparate namespaces for clean and unclean macros? 23:59:58 but the optimizer removes unnecessary cleanness 2006-12-03: 00:00:05 -!- tgwizard has quit (Remote closed the connection). 00:00:15 making disparate namespaces unnecessary 00:00:25 Well, it's a performance hit. 00:00:54 Given that the compiler takes under a second on the largest known BFM program, that's a moot point. 00:01:28 _not_ optimizing would be trading cheap compiler performance for expensive programmer performance 00:01:34 Well, I like listening to Bran Cohen, who tells me to make sure that no part of your application is dependant on ``sane input defaults''. 00:01:52 Well, IMO, it's more in the BF philosophy, but that's just me. 00:02:30 which would mean always using clean macros which cleared before and after use, as today 00:02:58 One last thing to mention: the optimizing pass removes loops that won't ever run. 00:03:37 right, very easy with cleared cell handling 00:03:48 That works right. . . 00:04:28 I *was* going to do it when I first had cleared cell handling, but because it wasn't working well at all, I opted not to. 00:32:32 * SimonRC goes to bed 00:42:57 "loops that won't ever run"? 00:43:51 if the loop variable happens to be zero 00:44:56 Unless cleaning those up is occuring during runtime or something, how do you determine whether or not it will be zero at that point? 00:44:58 or rather: can be statically determined to be zero at this point of the program 00:45:16 that's the point of the cleared cell stack 00:45:53 oh 00:46:03 Sgeo: We can determine that some cells, at some points, are guaranteed to be 0. . . 00:46:13 At other points, the codeer can tell the compiler the same thing. 01:26:32 -!- Arrogant has quit ("Leaving"). 01:34:01 -!- oerjan has quit ("Later"). 03:11:11 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 03:42:36 I hate this stuff 03:42:39 http://www.kidsprogramminglanguage.com/ 03:44:54 hm 04:37:32 that looks harder than python 04:37:53 Teaching kids to program is broken by defualt 04:38:01 why? 04:38:07 they should take the initiative? 04:38:35 Yeah 04:38:46 not everyone is destined to be a coder, but starting early is a huge advantage. 04:38:56 that was easier when everything was monochrome and only ran BASIC and asm 04:39:21 today kids fulfill their computer torture quota fixing windows 04:39:45 That looks just wrong. 04:40:51 All one should do is give a kid the opportunity to become a programmer. . . Not. . . That. Eeeew. 04:41:11 Yeah 04:41:18 I think BASIC remains a *great* way to introduce kids to programming. QBASIC is freeware now, I think... 04:41:31 Why? 04:41:36 python > QBASIC 04:41:41 don't braindamage any more innocent kids 04:41:48 I first coded on QBASIC 04:41:49 Python, IMO, is a decent language for introducing programming. 04:42:09 Basic's decent, but a kid who gets serious can't move on further. 04:42:18 We certainly don't need to engineer special languages for kids 04:42:27 tell that to the coders who made the qbasic flight sim 04:42:47 too bad it couldn't double buffer 04:43:13 QBASIC is powerful for most things a kid could code on their own. DarkBASIC is a bit slow, but I think it's a pretty fantastic language. 04:43:16 ivan`: That's comparable to a chess program in Brainfuck. . . Just because it can be done doesn't mean it *should*. 04:43:57 RodgerTheGreat: I'd be much more skillful if I had started with a 'serious' language in the first place, I feel. . . 04:44:13 I remember longing for arrays when I coded in qbasic 04:44:23 (even though I didn't know what an array was back then) 04:44:39 I remember longing for *functions* when I did Apple Basic (although I didn't know what it was then). 04:44:44 i remember trying to do some parallel port communication without any debugging 04:44:56 I barely could understand GOSUB 04:45:01 i never figured out GOSUB 04:45:11 just calling a subroutine 04:45:18 There was no "GOSUB". 04:45:24 GOTO was it. 04:45:29 I was like "why would someone want to do this?" 04:45:37 there's gosub in qbasic 04:46:10 BASIC taught me to build constructs by myself- I *invented* stacks and other data structures to build games. I designed my own GUI library because Basic didn't have any facilities for it apart from graphics primitives. If I had started with a language like Python, all I would have learned was how to use existing versions of these things. 04:46:30 So teach kids asm or c 04:46:43 s/teach/introduce to/ 04:47:50 I remember learning VB5. I hold that that forever crippled any ability to make GUIs by hand 04:48:06 owch 04:48:36 I remember being forced to learn VB6 so that my *dad* could pass the damned class. 04:48:57 (I've since rm -rf'd it) 04:49:11 I never really liked VB, mainly because the GUI portions always seemed to get in my way when I wanted to get actual work done. I'd have preferred trusty DarkBASIC any day. 04:49:40 I hated it with a passion, even then. 04:50:04 then you probably never understood it. 04:50:27 No, that's what *caused* me to hate it with a passion. . . 04:51:05 Wasn't my first programming language. . . 04:57:55 my favorite aspect of BASIC was that you could "escape" from the language- you could start loading and calling assembly or using pointers if you wanted to. It became as powerful a language as you wanted it to be. 04:59:21 You could (in theory) do psuedo-machine code. . . 04:59:41 Large amounts of POKEs could do it. :p 05:00:19 I've never used another interpreted language that gave you so much power over the machine. 05:01:15 *echm* C interpreter. 05:07:04 python + embedded C 05:07:07 `$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=( 05:07:07 $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++; 05:07:07 $_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++ 05:07:08 ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=` 05:07:21 And people say Perl isn't an esoteric programming language. 05:07:33 that's the worst case example 05:08:30 RodgerTheGreat: Forth 05:08:45 pikhq: wtf is that 05:09:12 ivan`: How do you embed C in python? 05:09:21 I wouldn't call FORTH a good language for beginners, bsmntbombdood 05:09:22 bsmntbombdood: It outputs "Just another Perl hacker". 05:09:37 RodgerTheGreat: Why not? 05:11:23 bsmntbombdood, http://72.14.253.104/search?q=cache:LcJmrOj-b1sJ:old.scipy.org/documentation/weave+python+weave&hl=en&gl=us&ct=clnk&cd=1 05:11:53 part of http://www.scipy.org/ 05:12:08 hmm 05:12:20 How does it do it? 05:12:30 Dunno. 05:13:19 weave.inline() compiles and executes 05:13:32 their idiotic webpage is broken 05:13:32 http://72.14.253.104/search?q=cache:8tUB6cC5RsUJ:old.scipy.org/documentation/weave/weaveusersguide.html+python+weave&hl=en&gl=us&ct=clnk&cd=2 05:14:00 oh you're asking about the perl monstrosity 05:14:30 No I was asking about the python+c 05:16:43 * bsmntbombdood tries weave 05:18:00 ...and it doesn't work 05:18:10 lol 05:18:33 reminds me of trying DarWine this morning, 05:18:49 it couldn't even run the copy of notepad.exe it came with. 05:30:53 -!- pikhq has quit ("leaving"). 05:32:09 http://i19.photobucket.com/albums/b190/MissMaryMack/pics/Cool_Shit/Kitties/KittyHate.jpg 05:32:20 * RodgerTheGreat laughs heartily 06:05:02 g'night everyone. 06:14:32 -!- cmeme has quit (Excess Flood). 06:16:44 -!- cmeme has joined. 06:21:22 -!- cmeme has quit (Excess Flood). 06:23:49 -!- cmeme has joined. 07:43:52 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:20:49 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Leading Edge IRC"). 08:43:46 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 10:11:23 -!- sebbu has joined. 12:15:57 -!- Eidolos has quit (Read error: 110 (Connection timed out)). 13:13:12 -!- Aardwolf has quit ("Ik zen der is mee weg"). 13:59:52 -!- jix has joined. 14:12:58 -!- jix_ has joined. 14:29:58 -!- jix has quit (Read error: 110 (Connection timed out)). 16:04:22 -!- CakeProphet has quit ("haaaaaaaaaa"). 16:14:07 -!- oerjan has joined. 16:53:17 -!- CakeProphet_ has joined. 16:53:19 -!- CakeProphet_ has changed nick to CakeProphet. 17:04:58 * Razor-X imagines RodgerTheGreat as Santa Claus. 17:06:19 lol 17:07:15 er, I mean "Ho Ho Ho" 17:07:23 Yes! There you go! 17:15:48 *sigh* i used to think of myself as a linux fan. but now that i'm accidentally using windows and IE i am starting to get so annoyed at certain anti-IE webpages that i want to stay with IE just out of stubborness. 17:16:11 * Razor-X shudders. 17:16:22 I was never anti-IE, but that's no reason to stick with an anathema. 17:18:18 Gah! My intuitive asymptotic ordering on a set of asymptotically strictly-increasing functions is not transitive! 17:18:54 Gah indeed 17:18:58 Haha. Order it better. 17:19:07 Although why it needs to be transitive is anyone's guess. 17:19:27 well, otherwise it is not an ordering. 17:19:39 Doh. 17:19:49 You know? I feel sorta bad when someone in #scheme says they've been wrangling with a homework problem for 5 hours and I can think up a solution in a few minutes. 17:20:06 Now, maybe the guy is just very stupid, but whatever. 17:20:54 I feel the same when I go to a lecture and it turns out to be a 1-hour explanation of the obvious. 17:21:02 well, you know, half of everybody is more stupid than average :) 17:21:11 Well, this guy's in a college CS class. 17:21:19 I mean.... that's what the real scary part is to me. 17:21:45 One of my formally assessed questions consists of ordering 25 functions by their asymptotic behaviour. :-( 17:21:50 I thought it would be easy 17:22:52 And now that I'm seeing, the differences between CL and Scheme are very very pedagogic in certain places. 17:23:03 I know several people in CS that honestly have no business programming 17:23:11 well, if the functions are arbitrary it is probably impossible to do nicely. 17:24:16 but if they are all o(...) each other in some direction then that should give you an ordering. 17:24:47 they are all strictly-increasing after some point 17:24:57 that won't help. 17:25:25 they could still be dipping above and below each other indefinitely. 17:25:30 AFAICT, they in fact have an ordering 17:26:52 of course if they eventually don't cross each other then you can use the eventual order 17:27:49 I think the problem with CS is that the average starting salary for that field is extremely high, so some people choose the major for the money. Hopefully, those people will switch majors after the first year or two. 17:31:01 I'll tell you, it's pretty frustrating trying to help someone whose only coding experience is a one-semester class in VB code in Java. Some people just don't get it, and probably never will. 17:31:58 -!- tgwizard has joined. 17:35:25 Heh. 17:40:20 * SimonRC is suprised that a certain function turns out to be constant 18:19:09 Programming classes just make stupid people who can't code think that they can 18:20:51 yeah, true. 18:21:27 it takes more than a class to learn to be a programmer. If you aren't devoting a fair amount of your free time to coding, you'll never be good at it. 18:21:47 indeed 18:25:39 s/coding/anything 18:30:07 I should do some of those coding contests 18:31:18 I've done a few 18:32:17 What's a good one? 19:18:19 -!- Sgeo has joined. 19:44:59 -!- Eidolos has joined. 19:58:03 -!- oerjan has quit ("Good night"). 20:17:29 -!- pikhq has joined. 20:53:11 -!- sebbu2 has joined. 21:12:31 -!- sebbu has quit (Read error: 110 (Connection timed out)). 21:32:52 * SimonRC goes for pizza. 21:33:35 fun 21:34:13 * pikhq yells at bitlbee 21:35:16 14:30 [localhost] -!- *** glibc detected *** double free or corruption (!prev): 0x080d3f18 *** 21:35:21 Bastard. 21:37:44 Haha. Garbage collection bug. 21:40:40 fun, garbage collection 21:41:16 Has anyone here heard of jMemorize? 21:42:13 The magic words are "identify password" 21:42:29 identify password 21:42:38 That kills bitlbee. 21:42:44 Oh, really? 21:42:58 Lemme try it. 21:43:33 Well, it does that for me. . . 21:43:45 s/password/your_password_here/, BTW. 21:43:55 Oh. 21:44:22 Nope. 21:45:37 ha, bitlbee 21:45:55 Also, does anyone here use rcirc and want to compare it to erc? 21:46:10 ha, erc 21:46:35 What do you use? 21:46:46 You either use irssi or XChat if you are on *Nix. I assure you. 21:47:52 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:48:04 Yep, xchat 21:48:17 and irssi sometimes 21:57:41 whoa, http://www.emacswiki.org/cgi-bin/wiki/ErcChess 22:01:20 -!- sebbu2 has quit (Connection timed out). 22:09:24 lol 22:37:25 -!- tgwizard has quit ("Leaving"). 23:28:12 -!- dibic0 has joined. 23:29:27 -!- dibic0 has left (?). 23:57:49 -!- ihope has joined. 2006-12-04: 00:06:34 * pikhq should get off his lazy ass and do *something*. 00:06:44 heh 00:07:11 I've even failed to enjoy myself. 00:10:15 * pikhq salutes Yahoo for making me even more sure that they're dumbasses. . . 00:10:42 They're pushing IE7 to: Linux users, Mac users, and Windows users that either can't or won't switch to IE7. 00:13:44 ? 00:15:05 They've got something to the effect of "if(browser!=ie7) show_ie7_ad();" in their page. 00:15:24 Hahaha 00:15:41 I highly doubt, say, a PPC Debian user is going to switch to IE7. ;) 00:16:12 With QEmu and Wine, it could happen ;) 00:17:30 Ha-HAH, awesome. 00:17:36 I searched for "what is the true meaning of life" 00:17:45 And the top result wasn't Jesusy :) 00:17:53 "The meaning of life is to increase fitness" 00:18:09 Second one is Jesusy though ;) 00:18:51 http://www.gotquestions.org/images/bridge.gif < Another brilliant Jesus-imation! 00:19:23 lol 00:45:56 -!- pikhq has quit ("leaving"). 00:48:45 What you say?! 00:48:49 What hell?! 00:51:22 -!- Razor-X has quit (Remote closed the connection). 00:52:11 -!- Razor-X has joined. 00:52:48 GregorR: I think I saw that once some long time ago. 00:53:08 Long long long. I must have been, like... 00:53:18 * ihope holds his hand about an inch above the ground 01:06:37 Back when you were a zygote? 01:15:59 Something like that, yeah. 01:39:40 -!- anonfunc has quit. 01:44:58 -!- CakeProphet has quit (Read error: 131 (Connection reset by peer)). 01:47:06 -!- CakeProphet has joined. 02:38:12 -!- GregorR-L has joined. 04:03:50 -!- CakeProphet has quit (Read error: 60 (Operation timed out)). 04:49:35 -!- ivan` has joined. 04:51:03 -!- ihope has quit (Connection timed out). 05:19:29 -!- ivan` has quit (Connection timed out). 06:03:40 -!- ivan` has joined. 06:23:17 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC with a difference"). 06:23:31 -!- ivan` has joined. 07:24:52 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:40:00 -!- cmeme has quit ("Client terminated by server"). 08:41:27 -!- cmeme has joined. 09:33:10 -!- GregorR-L has quit ("Leaving"). 14:36:43 -!- nooga has joined. 14:37:18 uouo 16:08:53 -!- nooga has quit (Read error: 131 (Connection reset by peer)). 16:52:15 -!- jix has joined. 19:18:26 -!- cmeme has quit (Excess Flood). 19:19:50 -!- cmeme has joined. 19:38:38 -!- oerjan has joined. 20:32:05 -!- Sgeo has joined. 20:48:39 -!- oerjan has quit ("Later"). 20:55:53 -!- CakeProphet has joined. 20:55:56 -!- CakeProphet has quit (Client Quit). 20:57:24 -!- CakeProphet_ has joined. 20:57:25 -!- CakeProphet_ has changed nick to CakeProphet. 21:01:14 -!- GregorR-L has joined. 22:08:14 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:10:16 -!- ihope__ has joined. 2006-12-05: 01:21:19 -!- GregorR-L has quit ("Leaving"). 01:36:11 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Go on, try it!"). 01:38:30 -!- ihope__ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 01:40:31 -!- pikhq has joined. 01:41:29 * pikhq has the BFM rewrite *almost* finished; going to work on packaging it up nicely. 01:55:00 -!- ivan` has joined. 02:31:51 * pikhq doesn't wanna make his passes into seperate passes. . . :'( 02:38:39 meh 02:38:48 Err. 02:38:53 s/passes./packages./ 02:39:05 * pikhq also doesn't want to do the whole "documentation" thing 03:19:37 -!- niarium has joined. 03:34:19 hi all 03:34:34 hi 03:47:26 * pikhq leaveth 03:47:32 Will return with BFM v0.1 03:47:34 -!- pikhq has quit ("leaving"). 04:13:51 -!- CakeProphet has quit ("haaaaaaaaaa"). 04:14:45 -!- GreaseMonkey has joined. 05:13:29 -!- ivan` has quit (Read error: 104 (Connection reset by peer)). 05:14:22 -!- ivan` has joined. 05:37:25 -!- Sgeo has quit (Remote closed the connection). 05:41:48 -!- GreaseMonkey has changed nick to GreaseMonkey_afk. 06:24:37 -!- GreaseMonkey_afk has changed nick to GreaseMonkey. 06:46:51 Why does TK look so awful on non-commercial *nix based systems? 07:01:25 Newsflash: 07:01:28 Tk looks awful everywhere;. 07:01:36 ROFL 07:03:36 hey gregor 07:03:43 TK = ? 07:03:47 me=matrix 07:32:10 It doesen't look too awful on Mac OS X. 07:32:12 Just bad. 07:32:23 GreaseMonkey: You know? The graphic toolkit TK? 07:36:38 erm... the one with KDE? 07:36:57 wait, that's QT 07:37:51 -!- SimonRC has quit (Read error: 110 (Connection timed out)). 07:38:02 Neither QT nor GTK. 07:38:23 Someone needs to remake TK's primitive widgets. 07:38:27 never used it 07:38:35 You've never heard of it? 07:38:52 TK should use, oh I dunno, modern fonts maybe? 07:51:33 -!- anonfunc has joined. 07:57:21 hello anonfunc 07:57:27 hello 07:57:49 /ctcp version me 07:58:12 i'd rather not 07:58:18 bummer, doesn't say the OS 07:58:34 xchat 2.0.7 - MandrakeLinux 10.0 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:54 .... Mandrake? 08:00:56 No comment. 08:05:01 -!- jix has joined. 08:06:11 Don't knock it 'til you try it. 08:07:02 Also, Mandrake 10.0 is out of date, Mandriva 2007. 08:07:07 Free download, just do it :-P 08:07:12 (That's @ GreaseMonkey ) 08:10:04 I've tried it. 08:10:09 So, I get to knock it then? 08:16:19 k, gonna go, cya 08:16:48 -!- GreaseMonkey has quit ("SdBot2 sucks"). 08:31:49 -!- jix has quit ("This computer has gone to sleep"). 10:10:37 -!- SimonRC has joined. 10:35:22 -!- Eidolos has quit ("Leaving"). 12:32:33 -!- oklopol has joined. 13:01:15 -!- jix has joined. 13:04:00 -!- jix has quit (Client Quit). 13:04:16 -!- jix has joined. 14:14:19 -!- jix_ has joined. 14:31:24 -!- jix has quit (Read error: 110 (Connection timed out)). 15:06:01 -!- niarium has quit ("나갑니다"). 15:57:44 -!- Razor-X` has joined. 16:12:35 -!- Razor-X has quit (Read error: 110 (Connection timed out)). 17:57:22 -!- calamari has joined. 18:17:55 -!- anonfunc has quit. 19:07:05 -!- cmeme has quit (Read error: 104 (Connection reset by peer)). 19:07:45 -!- cmeme has joined. 19:08:14 -!- cmeme has quit (Remote closed the connection). 19:08:46 -!- cmeme has joined. 19:30:38 -!- tgwizard has joined. 19:48:16 -!- cmeme has quit (Read error: 131 (Connection reset by peer)). 19:49:07 -!- cmeme has joined. 19:49:38 -!- cmeme has quit (Remote closed the connection). 19:50:09 -!- cmeme has joined. 21:00:46 -!- CakeProphet has joined. 21:04:22 -!- GregorR-L has joined. 21:21:10 -!- GregorR-L has quit ("Leaving"). 21:33:25 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:36:04 -!- tgwizard has quit ("Leaving"). 22:11:29 -!- GregorR-L has joined. 22:40:17 -!- Sgeo has joined. 22:45:03 -!- GregorR-L has quit (Remote closed the connection). 23:46:22 -!- evilC has joined. 23:48:40 -!- evilC has left (?). 2006-12-06: 00:06:22 -!- clog has joined. 00:06:22 -!- clog has joined. 00:06:49 -!- fizzie has quit (anthony.freenode.net irc.freenode.net). 00:11:17 -!- sekhmet has joined. 00:11:52 -!- fizzie has joined. 00:13:54 -!- GreaseMonkey has joined. 00:58:16 -!- Razor-X` has quit (Remote closed the connection). 01:09:39 -!- Razor-X has joined. 02:05:30 -!- GregorR has changed nick to GR______________. 02:06:08 -!- GR______________ has changed nick to GregorR. 02:21:57 -!- Rugxulo has joined. 02:23:34 -!- calamari has quit ("Leaving"). 02:25:36 quick poll: favorite esoteric language? 02:26:01 perl 02:26:07 k, maybe no 02:26:10 t 02:26:17 i like befunge 02:27:01 * Rugxulo likes sed ... but if that doesn't count, I guess Brainf*** and then not sure, False perhaps?? 02:28:00 Befunge is nifty, but Malbolge (I think) is just ridiculous 02:28:20 and unlambda is way, way over my head 02:28:41 got the game "enigma 1.00"? there's a level called "print 23" which you have to make a brainfuck program 02:29:03 what kind? what's it supposed to do? 02:30:43 it's a clone of oxyd 02:31:02 oxyd is loke memory except you gotta do some weird puzzles 02:31:10 you guide a ball around 02:31:59 im working on a particle automaton 02:33:18 o_o 02:33:22 i have an AND gate now 02:33:55 now made an OR gate 02:37:45 now an XOR 02:47:31 here's my OR: 02:47:33 ###-### 02:47:38 #> + <# 02:47:41 ### ### 02:47:46 __# # 02:47:53 _ goes to space 02:55:54 Rugxulo: favourite? probably Befunge 02:56:37 i think befunge has pretty much exactly the right feature set for fun _programming_ 02:56:58 (unlike say unlambda, which is really cool but nobody writes anything in it) 02:57:26 heh 02:57:38 I keep meaning to make a C-> befunge compiler or something. 02:57:41 they're all cool, but understanding how to write something nifty in it ... that's a whole other ball game :P 02:57:44 false is pretty nice but befunge totally gets it right 02:57:48 Maybe Forth->befunge 02:58:21 there are already a few converters (not necessarily for those but anyways ...) 02:58:22 (befunge-93 anyhow) 02:59:52 -!- thematrixeatsyou has joined. 03:02:12 Rugxulo: where? 03:03:34 SimonRC: i think he just means that compilers targeting esolangs exist. 03:03:36 not for Forth to Befunge, I just meant in general 03:05:01 ah, ok 03:06:09 which is good news! 03:08:51 * bsmntbombdood looks up unlambda 03:09:28 enigma looks cool 03:11:26 unlambda is weird 03:11:40 yup 03:11:46 (surprised?) ;) 03:12:14 http://lvogel.free.fr/sed.htm#unlambda 03:12:18 :D 03:12:47 a sed interpreter for unlambda ?! 03:13:09 crazy 03:13:52 yup, almost as crazy as sokoban in sed (or factor or bf2c or dc or hanoi or ...) 03:14:05 holy crap 03:15:16 bf2c is completely trivial 03:15:30 yes 03:15:32 I should write a minimal-scheme interpreter 03:15:33 and i'm guessing so is hanoi 03:15:38 define and lambda 03:16:45 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)). 03:17:21 http://www.pell.portland.or.us/~orc/Code/bsd/bsd-current/sed/TEST/hanoi.sed 03:17:29 (not sure if that's the latest but whatever) 03:19:33 -!- thematrixeatsyou has quit (Connection timed out). 03:21:54 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 03:34:30 hehehe: http://video.google.com/videoplay?docid=4049365580674350429&q=half+life+2+physics+domino+effect 04:40:38 what's the point of s in unlambda? 04:46:12 no idea, too bizarre for me 04:48:00 um 04:48:09 's' is for 'standard' 04:50:05 ? 04:50:33 s is a very standard combinator 04:53:26 ... 04:55:08 ..? 04:55:18 unlambda didn't invent all its stuff 04:55:28 meh I'll figure it out later 04:55:52 i'm sure you will. 04:59:58 school is really harming my ability to think 05:02:40 It kinda does that to all of us. 05:03:32 Our school is being charged $5/student for someone to create a system which a teacher can check a bunch of checkboxes, and input a Student's ID and these checkboxes will compose a voice message that will be sent out to the student's listed phone number. 05:03:54 If the hardware interface is added correctly, then that is a total RIP OFF. 05:04:33 I'm torn between offering to help and betraying the students. 05:05:31 "The language is named after Malebolge, the eighth level of hell in Dante's Inferno, which is reserved for perpetrators of fraud." 05:05:38 better not defraud anyone ;) 05:06:03 malbolge sucks. 05:06:21 I admire Malbolge for being incredibly incredibly esoteric and awful to program in. 05:06:36 While still retaining a semblance of programmability, and an allure of Turing completeness. 05:06:36 it's not hard to create languages like malbolge. 05:06:56 But lament is right. In that way, I think BF is genius. 05:07:53 I wonder who inveneted BF 05:08:23 Brainf***? 05:08:26 Urban Mueller 05:08:29 Yeah. 05:08:38 I call it BF mainly to elide the expletive, meh. 05:08:42 He have anything else? 05:08:43 Rugxulo: come on, spell fuck correctly 05:08:46 inspired by False, I think 05:09:00 dunno, can't remember 05:09:07 not that I know of 05:09:15 Urban Dominik Müller is the creator of the Aminet Amiga archive, the original author of the XPK compression library and the creator of the Brainfuck programming language. 05:09:15 (but I think the False guy had lots of other stuff) 05:09:58 aardappel ("the false guy") has like 20 other esolangs and a few seriously cool programs (eg Cube) 05:10:09 he used to hang out here but sadly disappeared :( 05:10:19 he's a genius programmer 05:11:50 hmm 05:12:32 brainfuck has to be the most popular esolang 05:13:24 i think the popularity of brainfuck is mostly due to the character set chosen for the instructions 05:13:29 it just looks so pretty 05:13:33 otherwise, the language is nothing special 05:14:42 really? I think it's quite nice ... I mean, how do you compare languages anyways? they are all different, meant for different things, etc. 05:15:26 http://wouter.fov120.com/index.html 05:15:30 (False creator's web page) 05:21:41 BTW, a cool Brainf*** compiler (outputs .COM) written in NASM is here: http://home.arcor.de/partusch/html_en/bfd.html 05:26:50 Rugxulo: you compare languages with a magical language comparator. 05:27:10 Rugxulo: i doubt many people here can run .com files 05:27:18 http://dosbox.sf.net 05:27:25 :P 05:27:45 easier to write your own compiler 05:28:05 but you can run so many other goodies with DOSBOX :D 05:28:14 and it ain't a huge download either 05:34:33 (Come *ON* Wikipedia you slow pile of crap!) 05:36:29 www. works fine but en. gives: 05:36:31 While trying to retrieve the URL: http://en.wikipedia.org/wiki/Main_Page 05:36:31 The following error was encountered: 05:36:31 * Connection to 145.97.39.155 Failed 05:36:31 The system returned: 05:36:34 (113) No route to host 05:37:30 i was just getting 502 errors on google (!!!) 05:37:38 perhaps there's a serious DoSing in progress 05:38:09 oh, it's suddenly working again 05:41:18 -!- Rugxulo has left (?). 05:46:16 in my computer science class, we were assigned a group of functions to implement recursively. It was really easy, so now I'm working on reimplementing them in BASIC. doing recursion without actual function calls and no variable scoping makes it a great deal more interesting. 05:46:31 How does that work? 05:47:59 stack-in-an-array? 05:48:22 well, so far I did a simple addition routine 05:48:34 let me paste in my code: 05:49:56 10 INPUT A,B:GOSUB 20:PRINT A:END 05:50:18 20 IF B>1 THEN B=B+1:GOSUB 20 05:50:30 30 A=A+1:RETURN 05:51:32 erm, that would crash if B>1, surely? 05:52:00 Or overflow the call stack rather. 05:52:15 erk 05:52:23 B=B+1 should be B=B-1 05:52:26 indeed 05:52:27 typed it in wrong 05:52:31 RodgerTheGreat: GOSUB counts as a funtion call 05:52:49 since there's a stack 05:53:04 But there is no local scope. 05:53:10 right. 05:53:33 yeah, it's a primitive type of function call 05:59:00 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 06:25:34 -!- GregorR-L has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:25 -!- GregorR-L has quit ("Leaving"). 08:02:26 -!- GreaseMonkey has joined. 08:10:56 Meh. Reading the Vorbis specification truly humbles me. 08:24:20 -!- Arrogant has joined. 08:36:44 ###-### 08:36:45 #> + <# 08:36:45 ### ### 08:36:45 # # 08:36:58 an OR gate for my new particle automaton 08:37:14 k, gonna get some sleep, cya 08:39:08 -!- GreaseMonkey has quit ("Remember: I need a banana banana banana teracotta banana teracotta terracotta pie."). 08:39:12 has anyone done quicksort in brainfuck? 08:58:10 lol 08:58:19 * SimonRC goes for breakfast 09:03:51 :DD 09:16:08 Recursion isn't exactly... BF's strongpoint. 09:24:47 true, but i've been making this string parser as a wimpmode for it, stacks are as easy to use with it as in ... languages they are easy to use :D 09:27:26 The amount of work being done in BF is huge. Notably BFC and BFASM for something akin to today's developing tools or pikhq's BFM for an optimizing BF semi-high-level macro system. 09:29:59 eh... bad idea you say? :D 09:31:01 Well, go ahead, I guess. Heh. 09:31:21 Me, personally, I'm tired of BF. It was really innovative the first time I saw it. 09:31:35 well, equally fun, stupid or not :) 09:31:46 INTERCAL is fun. 09:31:54 yes, this is prolly the last thing i do with it :) 09:32:38 never done intercal :\ 09:32:52 maybe today 09:34:30 -!- oerjan has joined. 10:11:23 -!- Arrogant has quit ("Leaving"). 11:02:32 -!- oerjan has quit ("Later"). 12:31:52 -!- jix has joined. 13:02:01 -!- cmeme has quit ("Client terminated by server"). 13:02:16 -!- cmeme has joined. 13:35:45 -!- nooga has joined. 13:36:16 oi 14:23:44 -!- jix_ has joined. 14:31:31 -!- jix has quit (Read error: 110 (Connection timed out)). 16:01:42 -!- nooga has quit (Read error: 113 (No route to host)). 18:28:32 -!- GregorR-L has joined. 18:38:02 -!- meatmanek has quit (SendQ exceeded). 20:28:12 -!- meatmanek has joined. 21:04:56 -!- Sph1nx has joined. 21:38:46 -!- Sph1nx has quit (" !"). 22:27:24 -!- GreaseMonkey has joined. 22:45:59 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:08:15 -!- CakeProphet has joined. 23:10:24 hello 23:15:16 hi 23:17:18 what happens when I do this: 23:17:19 23:18:17 you get a blank message 23:18:18 23:18:37 it was supposed to make your compuer beed a lot 23:18:48 it was supposed to be a string of BELs 23:19:04 but i have nix 23:19:09 linux 23:19:33 "gotta take a linux" "don't forget to flush" 23:25:32 :-S 23:31:34 lol 23:32:11 hey, is nonlogic taking new accts? 23:32:15 if not, then when? 23:38:41 hum 23:38:48 talked to the programming teacher at my school just now 23:39:38 "OOP OOOP OOP OOP OOP IS THE AWNSER OOP OOP" 23:40:24 Java teacher? 23:41:21 He teachs c++ and java 23:41:24 c++ is teh ghey 23:41:27 c ftw 23:41:32 c is fun 23:41:33 well, c++ IS an ass 23:41:44 i can do OOP in C 23:41:52 yeah 23:41:52 i usually make my own scripting langs though 23:41:56 I tried to convince him that 23:42:19 "OOP means data hiding" 23:42:34 OOP means incompatibility with real langs 23:42:37 "it can be oop unless it has compiler enforce private methods" 23:42:45 s/it can/it can't/ 23:42:59 minor typo there 23:43:23 OOP is a tool. Passing it off as worthless is just as stupid as accepting it as the solution for all problems. 23:43:39 No one said it was worthless 23:43:44 i was slinging mud at C++ 23:43:47 OOP is a style, not part of the language 23:43:54 yep 23:44:13 for all i know, it could be a Befunge program 23:44:26 It's a paradigm made easier to use with language support, though such support is not strictly necessary. 23:44:38 And C++ gets a bad name, and D doesn't get enough press. 23:44:42 erm, function pointers are generally considered a prerequisite to implementing an OO language. 23:45:18 GregorR-L: exactly 23:45:43 You could write OO assembler without difficulty. 23:45:57 yep 23:45:59 yeah 23:46:10 not according to him though 23:46:11 CALL [ebx] , anyone? 23:46:49 "oop needs inheritance, polymorphism, encapsulation 23:46:51 " 23:46:52 -!- CakeProphet has quit ("haaaaaaaaaa"). 23:47:05 Alas, some OO langs have ended up using the same mechanism (classes) for encapsulation, datatype definition, and method inheritance. That sucks. 23:47:44 oh, and classes are sometimes used where interface should be used, futher muddying the matter. 23:48:11 interface? 23:48:17 a class is an interface 23:48:39 I was refering to thing like "List" being an abstract. 23:48:42 + class 23:48:57 WHat's wrong with that? 23:49:02 That's how python is 23:50:15 encapsulation should be done with modules, datatypes should be defined seperately from their methods, multiple dispatch/overriding/virtual methods should be done with multimethods (and multiple-parameter typeclasses preferrably). 23:50:19 bsmntbombdood: erm, no 23:50:38 ? 23:50:41 Python uses duck typing, interfaces are defined in the comments, informally. 23:50:55 A list is a class 23:51:01 yes 23:51:15 Ah, wrong terminology. 23:51:53 I meant that there would be an *abstract* sequence class that vectors and linked lists inherited from. 23:52:10 http://www.esolangs.org/wiki/Glass . 'nuff said. 23:52:12 Vectors actually being Python's lists, to confuse matters 23:52:42 New style classes in python have a common inheritance 23:53:19 OST, maybe I am wrong about what I just said. 23:53:21 never mind 23:53:32 But algebraic datatypes rock. 23:53:54 as do typeclasses 23:54:23 especial multiple-parameter typecalsses with fundeps. 23:54:55 ...that being? 23:55:16 hard to explain 23:56:22 OOP wouldn't be too bad in TheSquare 23:56:25 They are like interfaces, except that can apply to more than one (OO) class. 23:56:38 Fundeps allow the compiler to deduce more stuff 23:59:43 -!- CakeProphet has joined. 2006-12-07: 00:00:06 hi 00:00:41 mmm 00:01:18 You are all wrong. 00:01:31 orly? how so? 00:01:46 lament could have that on a T-Shirt. 00:03:09 * SimonRC hopes lament is typing a long and enlightening sentance. 00:03:21 * bsmntbombdood too 00:03:41 * GregorR-L hopes that lament is typing a long rant that will make this conversation keep spiraling into the tubes. 00:04:18 no. 00:04:19 Well - I need an idea for a project for the programming teacher 00:05:56 A roguelike! 00:06:18 boring 00:06:22 They can last as a project from a few days to a lifetime. 00:13:25 bsmntbombdood: a virtual girlfriend 00:13:36 hehe 00:15:54 -!- DarthLappy has joined. 00:19:49 WRU? 00:22:13 WRU? 00:33:14 -!- DarthLappy has left (?). 00:51:04 hmmm... 00:51:36 Changing the entire foundation of your fairly-developed-but-not-quite-complete system structure is absolutely lovely 00:54:54 -!- Keymaker has joined. 01:02:44 ##-# 01:02:45 1 > +< 2 01:02:45 # 01:02:45 - 01:02:45 # 01:02:45 ## 01:02:50 ftw 01:15:31 * GreaseMonkey is away: afk pie 01:15:50 Pie made from the sweet sweet AFK berries. 01:20:32 -!- Sgeo has joined. 01:24:09 -!- GregorR-L has quit ("Leaving"). 01:25:30 * GreaseMonkey is back (gone 00:09:58) 01:39:42 -!- Keymaker has left (?). 02:32:44 -!- JadussD has joined. 02:50:57 hi 02:51:05 JadussD: who are you? 02:51:11 a wanderer i guess 02:51:35 Did you know what this place was before coming here? 02:51:55 in a way, i had an idea. 02:52:06 Where did you find out about it? 02:52:14 i guessed that it existed. 02:52:19 hm 02:52:25 didn't we all. 02:52:43 No. I think I read about it on an esolanging webpage 02:53:06 Although I know a few of the inhabitants here from other channels 02:53:17 i don't :( 02:53:51 Have a look around the wiki, there're loads of esolangs on there, not all implemented. 02:53:57 i have encountered brainfuck before... 02:54:01 this is new to me though 02:54:23 that was the first esolang I found out about too 02:54:51 NewScientist ran a small column on esolangs many years back, and I Googled#. 02:55:04 IIRC I was in secondary school. 03:01:58 i had no idea there were so many programming languages, cool. does anyone know of one designed for relating words, ie, one designed for words grouped into categories like "synonym", "antonym", a two word replacement for a single word, etc? 03:15:56 no. 03:25:27 -!- CakeProphet has quit ("haaaaaaaaaa"). 03:53:16 -!- Razor-X has quit (Remote closed the connection). 03:53:55 -!- Razor-X has joined. 03:54:04 -!- GregorR-L has joined. 04:02:23 -!- JadussD has quit (Read error: 110 (Connection timed out)). 05:04:49 gtg food 05:05:11 -!- GreaseMonkey has quit ("Connection error 130 (Monkey too greasy)"). 05:22:08 -!- pgimeno has quit (anthony.freenode.net irc.freenode.net). 05:26:08 -!- pgimeno has joined. 05:29:11 -!- Sgeo has quit (Remote closed the connection). 07:14:15 -!- GregorR-L has quit ("Leaving"). 07:22:09 -!- ivan` has quit (" Like VS.net's GUI? Then try HydraIRC -> http://www.hydrairc.com <-"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:21:39 -!- ShadowHntr has joined. 09:34:42 -!- tgwizard has joined. 10:14:32 -!- ShadowHntr has quit ("End of line."). 10:50:51 -!- tgwizard has quit (Remote closed the connection). 14:49:24 -!- jix has joined. 16:18:57 -!- oklopol has quit (Read error: 110 (Connection timed out)). 16:20:02 -!- Arrogant has joined. 16:29:01 -!- fizzie has quit (Read error: 54 (Connection reset by peer)). 16:40:23 -!- fizzie2 has joined. 17:01:50 -!- fizzie2 has quit (Read error: 54 (Connection reset by peer)). 17:04:57 -!- fizzie2 has joined. 17:31:56 hey guys, check this out: http://archives.nesc.ac.uk/gcproposal-5/0080.html 17:32:55 http://www.bookofparagon.com/Mathematics/PerspexMachineIII.pdf 17:52:52 -!- tgwizard has joined. 18:58:43 -!- RodgerTheGreat has quit (Read error: 113 (No route to host)). 19:07:48 -!- RodgerTheGreat has joined. 19:33:52 RodgerTheGreat: Ah, just some guy who seems to have invented a nice way to extend the reals to handle 0/0. 19:36:14 i've heard the story in the another channel, and concluded the guy was pretty boring so make (or invent) that useless symbol. 19:39:05 btw, i wonder last time i tell something here :S 19:39:32 He's apparently got a mildly useful system out of it. 19:40:19 Oh, there is a great quote in his paper (from memory): "The popularity of IEEE floating-point shows that the Reals are not fit for purpose." 19:41:13 Bleh. I heard about this story just a few hours ago in another channel. 19:41:47 So, what *is* nullity / nullity? 19:54:35 -!- wooby has joined. 19:54:47 -!- wooby has quit (Client Quit). 19:56:05 Razor-X: 0/0 it appears 19:56:36 A CS grad I know says that this system looks useful for his work (program correctness, among other things). 20:02:15 Heh. 20:02:26 I haven't read the actual paper, just someone else's gloss-over. 20:02:38 If it's too intense I won't until my flu abates, either. 20:04:29 PerspexMachineIII.pdf is the actual paper? link seems broken. 20:28:47 -!- oklopol has joined. 20:29:29 -!- Arrogant has quit ("Leaving"). 20:44:23 Is there some sort of little-DSP-vocabulary-knowledge version of the Vorbis (or MP3) standard out there? 21:08:11 In trying to cut down the possible algorithms for sorting 5 items with just 7 comparisons, I think I am gradually creating a proof that such an algorithm cannot exist. 21:08:29 fun 21:08:47 Trying to find one is summative coursework. 21:08:59 bubble sort ftw 21:12:53 The constraints so far are guiding my algorith-creation precisely. 21:13:34 Now all I have to do is keep following the constrains and prove new ones until I get either an answer or a complete set of dead-ends. 21:14:26 anyone interested in Hisashi Iizawa's Malbolge paper? 21:15:20 i have a plan to translate the paper to english, although i'm not fluent in japanese (only have basic understanding) 21:15:23 what a load of shit: http://www.bbc.co.uk/berkshire/content/articles/2006/12/06/divide_zero_feature.shtml 21:16:13 A compsci grad says it looks useful for proably-correct programs, as it makes division total. 21:24:22 -!- Sgeo has joined. 21:55:36 Where's the paper? I'll give the translation a go. 21:56:05 The Malbolge one, obviously. 21:56:20 Razor-X, http://www.sakabe.i.is.nagoya-u.ac.jp/~nishida/DB/pdf/iizawa05ss2005-22.pdf here. 21:57:08 can you understand japanese? 21:57:25 Yeah. I can. 21:57:32 ... And Xpdf renders that into garbage. 21:57:48 I guess I need to get the Japanese fonts for it. 21:58:43 i think you can translate the paper better than i can ;) 21:59:33 Well, my Japanese is alright. Enough for teen novels with difficulty. 22:00:16 use pdf2text or similar? 22:00:23 Maybe... hmmm... 22:00:52 Nope. It's an xpdf thing, after all. 22:01:06 Bleh. And the Japanese language pack on the Foolabs site seems unavailable. 22:01:28 i'm learning japanese, but not so good for the paper ;) what i can do is to figure out the meaning from machanical translation. 22:02:16 (japanese to korean translation is very excellent, and i know common mistakes by the translation.) 22:05:21 Well, you'll probably be pretty good at it, because my closest (mental) bridge is to Bengali. 22:05:30 Korean *is* a CJK language so.... 22:06:52 http://sobo.ruree.net/tmp/malbolge.txt this is my current translation (incomplete). 22:08:14 Error: Couldn't find a font for 'Ryumin-Light-H' 22:08:14 Error: Couldn't find a font for 'GothicBBB-Medium-H' 22:08:17 Guh. 22:08:24 Meant for scratch buffer, sorry. 22:08:24 hmm... 22:09:02 how about this? 22:09:02 http://72.14.253.104/search?hl=ko&q=cache%3Ahttp%3A%2F%2Fwww.sakabe.i.is.nagoya-u.ac.jp%2F~nishida%2FDB%2Fpdf%2Fiizawa05ss2005-22.pdf&btnG=%EA%B2%80%EC%83%89&lr= 22:09:35 google cache is enough for seeing pdfs without figures. 22:10:08 Meh. Google beats xpdf. 22:14:09 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:26:16 -!- ShadowHntr has joined. 22:27:11 This is going to be tough. I'll start in a bit on it with force. 22:27:21 Because I'll need an undisturbed atmosphere. 22:39:20 BTW, I found that the sorting problem I was trying to do to be just about possible. 22:39:46 I really did find the solution by trying to prove that none existed. 22:42:41 -!- GreaseMonkey has joined. 22:49:36 -!- CakeProphet has joined. 23:01:43 tokigun: I'm very interested in that paper 23:02:13 SimonRC: So, how do you do it? 23:02:23 pgimeno, so do i. 23:03:42 Iizawa didn't mention actual construction of 99 bottles of beer program, but anyway it seems to be useful for programming in malbolge. 23:05:29 I already took advantage of a Google translation to find that the basis of Iizawa's method was 'data modules', but I'm interested in the details 23:05:35 bsmntbombdood: I'll post is in a moe 23:05:37 *mo 23:06:15 well, i didn't fully understand the idea too 23:07:40 have you seen my translation above? data module is discussed in chapter 4, and it is fully translated. take a look at it please ;) 23:07:46 just saved your txt (Mozilla does not wrap text) 23:08:23 wrap text can be get by showing source... maybe 23:08:53 Is this the guy's graduate paper? 23:09:03 once translated, can i post the translation to wiki? 23:09:36 Razor-X, seems not. i guess Iizawa is a professor and Sakabe et al. are grad students. 23:09:40 tokigun: not even that way, I'm reading it with a different editor... and I guess the text is not free 23:10:01 Ok then, because he refers to a compound word that translates as ``Senior Research''. 23:10:28 ah, cannot be in public domain... i see. 23:11:01 Well, the aim of the paper is Malbolge in usage for programming protection. 23:11:06 Razor-X, you mean a sentence shortly after sample malbolge program? 23:11:10 tokigun: Yeah. 23:11:26 After his "Hello World!" program. 23:12:21 i think it should be translated "previous works" or something else, because it refers (for example) making cat program in malbolge and so on. 23:13:15 like Andrew Cooke and Lou Scheffer... 23:14:14 Well, I would've translated it as "In this senior research paper, I have found that Malbolge can produce some of the most feasibly difficult programs ever. Programming in Malbolge is not a widely known art" at least, that first paragraph. 23:15:07 The paragraph directly below his hello world program. 23:15:30 maybe correct. 23:16:14 Translation is hard :/ 23:16:23 (i'd confused if senior research means Iizawa's or other people's... nevermind.) 23:19:55 -!- ShadowHntr has quit (Client Quit). 23:22:59 What's a kinetic command? 23:23:15 Razor-X, dynamic command? 23:23:19 I was thinking about that. 23:23:20 for the purpose that Iizawa uses as excuse (obfuscation) I like MiniSCule best... the inner loop does not look like an interpreter and noone would say the data manipulation is actually a program 23:23:38 Is there something about inputting programs on the same line in Malbolge? 23:24:24 The third bullet point in his list of difficulties I would translate as "It is difficult to write dynamic [Trans: Lit: kinetic] commands on the same line" 23:24:59 i've translated that to... 23:24:59 * Each instruction forces to rewrite the program, so it's hard to repeat same sequence of instructions. 23:25:09 well, it refers to encryption 23:25:29 each instruction suffers a translation after being executed 23:25:37 Actually, I will wait until the submission deadline before putting it online I think. 23:26:16 See, the Japanese says "dynamic write". 23:26:22 I had know idea what that meant. 23:26:24 -!- tgwizard has quit ("Leaving"). 23:26:28 s/know/no/ 23:26:35 dynamically rewritten? 23:26:58 It uses the normal verb for "to write". 23:27:57 Gah. I'm taking a break :P 23:28:05 One page of this, and it's intense. 23:28:10 :p 23:28:38 But I don't feel too bad. If I was an average Japanese student of my age, assuming American educational equivalence, it would be difficult to read also. 23:29:04 i'm feeling writing in english is harder than reading japanese... *phew* 23:29:12 Heh. 23:29:29 I think the title is a great example between the differences between English and Japanese. 23:30:13 Obfuscated Programming Language Malbolge in Program Organization Method, literally. 23:35:04 i found interesting fact in the paper... read last sentence in chapter 8 (conclusion). 23:39:47 4.3 looks really promising 23:45:25 -!- oerjan has joined. 2006-12-08: 00:12:47 * GreaseMonkey is away: afk food 00:15:25 food! well breakfast time is passed... :S 00:16:26 GreaseMonkey: Away notifications are EVIL 00:16:57 why are they so evil? 00:17:21 Because 00:18:41 GreaseMonkey: because we don't give a shit. 00:18:58 GreaseMonkey: it would make some sense if you were talking to begin with. 00:19:02 GreaseMonkey: but you weren't. 00:35:33 * GreaseMonkey is back (gone 00:22:46) 00:36:03 k, its off now 00:36:33 breakfast time is passed for me too (good night) 00:43:56 http://sobo.ruree.net/tmp/malbolge.txt almost done. chapter 7 discusses general method of programming, just summary of chapter 4, 5, 6. 00:49:33 damn put some newlines in there 00:50:55 and it could use some serious english-ization 00:53:23 bsmntbombdood, i've put some newlines. and my english is not good enough for doing so 00:55:52 well, i'll welcome if someone suggests correction and so on of course... 01:00:15 I'll make some changes 01:00:28 thanks. 01:03:59 not sure what to do with "Several special programming languages are called esoteric programming language; they are designed not like general programming languages, so a program in these languages is hard to write or understand." 01:05:25 -!- pikhq has joined. 01:05:30 -!- pikhq has quit (Client Quit). 01:08:35 -!- pikhq has joined. 01:08:40 eh, i mean "some PLs are called esolang; their design criteria is different with general PL -- that is, hard to write or understand the program" maybe 01:09:23 (i've dozed while translating, here is 10:00 am) 01:09:54 * pikhq would like to apologise for the delay in BFM's release. . . 01:10:56 I found the Tcl style guide. . . I'm trying to follow it exactly. 01:10:56 Some programming languages are considered esoteric -- that is, hard to write or understand. 01:12:35 The style guide mandates (shock) documentation and comments. . . 01:14:36 oerjan, at least, should be glad. ;) 01:17:41 ok, tired of this 01:17:54 bsmntbombdood: "this" refers to. . .? 01:17:58 http://bsmntbombdood.mooo.com/malbolge.txt , english-ized up to line 78 01:18:21 thank you a lot! 01:18:24 huzzah! 01:18:40 Korean? 01:18:52 THink it's japenese 01:19:13 japanese, as translated by a korean into english? 01:19:48 I'm guessing that it's Korean, since if it were Japanese, I ould read at least some of it. ;) 01:19:53 (untranslated, that is) 01:20:10 As it is, it looks like /dev/urandom to me. 01:20:26 japanese translated into korean first (mostly mechanically), and translated into (poor) english by me 01:20:57 Ah. 01:22:22 i have to sleep now... have a nice day (or night, depending on your timezone) :) 01:31:41 * SimonRC goes 01:57:56 Meh. I've translated Chapter 1. 01:58:27 Hopefully it has Englishization, but it's hard to map Japanese tenses to English. 03:05:29 i'm getting off this box, cya 03:05:53 -!- GreaseMonkey has quit ("Connection error 130 (Monkey too greasy)"). 03:11:38 -!- CakeProphet has quit ("haaaaaaaaaa"). 03:20:51 how many tenses does japanese have? 03:22:25 {past,present,can't-remember-what-the-te-form/-ing-form-would-be}{plain,formal} 03:25:16 -ing as in present participle? 03:25:24 That'd be it, I believe. 03:25:33 Future tense? Bah, humbug. ;) 03:25:44 although -ing has two different meanings in english 03:29:20 i'm guessing japanese has enough tenses. all languages do. 03:29:28 Where "enough" is like 15. 03:29:48 It just might be using relatively unusual ways of differentiating them 03:30:35 -!- Sgeo has quit (Remote closed the connection). 03:30:41 I count a small handful that I know of. 03:30:42 gerund was the word i was looking for 03:31:09 i assume japanese has some way to express the subjunctive? 03:31:18 Gerund, in Japanese. . . Formal "desu" or "de gozaimasu" (the latter being more formal), plan "da". 03:31:35 Since I can't remember what the subjunctive is, I wouldn't know ATM. ;) 03:32:22 "I wish I were a fish", were is subjunctive 03:33:08 what about conditional? "I would swim" 03:33:08 norwegian just uses ordinary past tense for it, by the way 03:34:55 Russian has a special mood indicator particle 03:34:56 every language can express anything but they differ in what distinctions are mandatory to express 03:35:32 except for that language where there're no numbers :) 03:36:02 you're _probably_ right but who knows 03:36:13 i mean you're in a direct contradiction to sapir-whorf 03:36:54 lament: "tai" ending. . . To be honest, though, the "tai" ending makes the whole verb. . . thing into an adjective. 03:37:42 "Tabemasu." -> "tabetai desu." == "I eat" -> "I want to eat." 03:38:01 oerjan: there's this portuguese word, "Saudade", and you certainly can express it in English, but it requires a whole Wikipedia article to do so... 03:40:08 What's saudade mean? 03:40:20 similarly, russian doesn't have the verb "to be" (well, not really), so "I think therefore I am" is translated as "I think therefore I exist", which is quite a bit less visceral 03:40:34 bsmntbombdood: http://en.wikipedia.org/wiki/Saudade 03:41:03 wow 03:41:07 "feeling of longing for something that one is fond of, which is gone, but might return in a distant future. It often carries a fatalist tone and a repressed knowledge that the object of longing might really never return." 03:44:59 That's funny 03:45:12 I wonder if there's any english words that are that complicated 03:45:26 Mu. 03:46:06 mu? 03:46:54 You make the false assumption that there are english words that *aren't* that complicated. 03:47:06 bsmntbombdood: "Saudade" isn't complicated. It's simply saudade. 03:47:10 One short word. 03:47:44 It's not the fault of Portuguese that English requires a long sentence to translate it. 03:47:53 The english translation is complicated 03:48:06 Obviously the English translation of English words is not gonna be complicated. 03:48:10 Being one word long! 03:48:29 bah 03:49:20 bsmntbombdood: http://en.wikipedia.org/wiki/Untranslatability 03:50:31 "Serendipity" is a very good one 03:50:56 ha...I don't even know what that means 03:53:00 I suppose that would be hard to translate 03:58:11 Tenses in Japanese ignoring honor level: Present, Past, Progressive, Volitional, Impression, Desire, others I can't remember. 03:59:00 Razor-X: Thank you for filling in what I forget. 03:59:03 Some of the tenses (Impression and Desire are some offhand) have multiple versions, and then you have honorific forms and humble forms (and by extension, humble honorific forms). 03:59:21 (And, of course, coarse forms.) 04:00:02 And, of course, there are no future tenses. ;) 04:00:17 Yup. 04:00:50 sounds pretty nice 04:01:17 -!- ShadowHntr has joined. 04:01:26 The language is pretty neat but, the gulf between levels of prose is immense. 04:01:57 What you'll hear spoken is almost nonexistant in, say, a teen novel, and these all pale to what you can find in something like a thesis paper. 04:02:33 that's true of every language. 04:02:43 I'm reading Harry Potter right now in Spanish 04:02:54 it's scary how complicated the language is :) 04:02:59 (to a total newbie like me) 04:03:04 Bah, I take spanish at school 04:03:08 Well, I can read Harry Potter in Japanese, to an extent. 04:03:25 OTOH i have looked at real Spanish writers and their spanish is mindblowing 04:03:30 But the grammar is really easy. Just the vocabulary. 04:04:11 bsmntbombdood: y como? sabes lo bien? 04:04:16 -!- pikhq has quit ("leaving"). 04:04:34 aaaagh don't do that to me 04:05:03 ah, chido, no te molestare 04:05:56 Razor-X: spoken language is always way easier than everything else 04:06:05 learn 300 words and you're all set :D 04:07:27 Still, there are some things about Japanese that are annoying. 04:08:17 Most of Japanese has almost *no* compound words, unlike the Romance/Germanic languages. Well, maybe they were compound, but Japanese changed so dramatically during the reforms that it's almost impossible to trace back. 04:09:47 And of course you have the whole Kanji system, which is annoying at a certain level, but beautiful at another. 05:56:17 it's funny how in Chinese, the characters are neither particularly annoying nor particularly beautiful 05:56:22 they're just how people write stuff 05:56:34 and in Japanese, they get this special position 06:08:20 i like the quote brackets they use in japanese. 06:08:20 :) 06:08:37 the corners of a rectangle 06:08:43 upper left and lower right 06:08:46 around a phrase 06:08:51 or title 06:28:47 -!- oerjan has quit ("Good night"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:34:17 -!- ShadowHntr has quit ("End of line."). 13:26:57 -!- jix has joined. 14:25:34 -!- jix_ has joined. 14:33:54 -!- jix has quit (Read error: 110 (Connection timed out)). 14:55:21 -!- pikhq has joined. 16:35:32 GregorR: The next release of BFM should be able to run readily in EgoBot. . . 16:35:56 I'm currently working on an interpreter pass. ;) 16:36:33 Also, since BFM can now read in code from stdin. . . You've got your work cut out for you. 16:53:49 -!- wooby has joined. 16:59:03 -!- GregorR-L has joined. 17:01:23 * pikhq should probably get off his ass and finish making the bloody changes to BFM 17:39:47 heh 17:44:07 Pretty much where I'm at involves finishing the interpretation pass, frobbing with the command line parser a bit, and tarring it up. 17:48:33 -!- fizzie2 has changed nick to fizzie. 18:04:48 -!- jix_ has quit (Read error: 104 (Connection reset by peer)). 18:14:37 -!- jix has joined. 18:34:02 -!- The_8472 has joined. 18:34:06 'Lo. 18:34:21 welcome 18:38:33 -!- tgwizard has joined. 19:16:17 * pikhq notes that the Esolang contest *still* isn't done. 20:17:21 -!- oerjan has joined. 20:17:25 'Lo. 20:17:44 Hi 20:19:55 Of ''course'' the esolang contest still isn't done. It is a long standing tradition that those contests never get judged :) 20:22:20 -!- wooby has quit. 20:35:46 -!- pikhq has quit (Read error: 110 (Connection timed out)). 21:50:11 -!- ivan` has joined. 22:15:13 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:31:13 -!- Rugxulo has joined. 22:31:41 Brainf*** question: is decrementing 0 supposed to stay at 0 or not? 22:31:54 Depends on the implementation. 22:32:06 Most will wrap to 255 (or their bitwidth), some will crash, some will stay 0. 22:32:14 Some even support proper negative numbers. 22:32:30 The original implementation would wrap to 255. 22:32:58 okay 22:33:38 Gregor, ever written anything in BF? 22:34:18 Heheheh 22:34:32 Yes, yes I have. 22:35:15 * Rugxulo has only written three things, and they ain't too fancy/interesting :P 22:37:08 (1). counts from 9 to 1, (2). counts from 0 to 9, (3). accepts a single byte input and outputs 'five' if it was '5' (simple stuff, obviously, not that impressive) 22:37:44 oops, I meant "counts down and prints the numbers w/ a space b/w 'em" (yeah, not that cool) 22:38:23 Well, in a language like BF, it's pretty crucial that you get the simple stuff down pat. 22:39:12 ;) 22:41:15 -!- Rugxulo has quit ("Clap on! , Clap off! clap@#&$NO CARRIER"). 22:43:03 -!- Rugxulo has joined. 22:51:44 -!- Jay_Walker has joined. 22:51:49 -!- Jay_Walker has left (?). 22:52:31 -!- Rugxulo has left (?). 22:59:59 -!- ShadowHntr has joined. 23:04:57 -!- pgimeno has quit ("You're lucky as you can read this message but I can't"). 23:20:54 -!- tgwizard has quit (Remote closed the connection). 23:37:36 -!- Sgeo has joined. 23:58:04 -!- CakeProphet has joined. 2006-12-09: 00:47:39 -!- The_8472 has quit ("Muss ein paar Welten vernichten, kann ein bissl dauern."). 01:22:35 -!- pgimeno has joined. 01:22:42 -!- GregorR-L has quit ("Leaving"). 01:31:37 -!- pikhq has joined. 01:34:00 Allow me to present: 01:34:06 BFM: The Next Generation. 01:34:10 ;) 01:34:17 http://pikhq.nonlogic.org/bfm.tar.bz2 01:34:29 Has to be, like, the first tarball out in a month. 01:35:31 All formerly valid BFM code is still valid. . . However, this build provides features that make for much more legible code (both in BFM code and in the compiler's code). . . 01:36:21 Additionally, a simple BFM interpreter is provided, as well as the "string" command, the "eval" command, and the ift, whilet, and whilet1 macros. 01:36:46 (look at the source in stdlib/ for more info on them) 01:37:16 oerjan? 01:37:26 eval? 01:38:44 It's what allows if, ift, whilet, and whilet1 to work. 01:39:04 macro if {var code} {} {} {while var {eval code}} 01:39:22 Err. 01:39:27 macro if {var code} {} {} {while var {eval code;set var 0}} 01:39:52 Basically, it allows one to *execute* one of the arguments to a macro. 01:47:04 sweet 01:47:53 The most *obvious* new feature to you, oerjan, should be the complete and utter rewrite of the compiler. ;) 01:49:11 Anyone have any ideas for a project for an independant study in programming for school? 01:49:50 A program idea generator. 01:49:51 XD 01:49:51 you are crazy enough to ask ''us''? 01:50:01 yep 01:50:11 Prove Malbolge Turing complete. 01:50:24 but it isn't. finite memory. 01:50:34 ha! yeah right 01:50:51 oerjan: But it has the infinite input and output tapes. 01:51:36 that doesn't help much 01:52:08 Unless one uses those tapes for access to an external memory device. 01:52:57 well, theoretically it might be enough to loop output back into input 01:54:10 giving you enough for an infinite queue 01:54:29 Hmm. . . Yeah. 01:54:32 back to my topic! :) 01:54:36 That'd work rather well. 01:55:36 what, who says we left your topic? (:C 01:57:05 you could write an interpreter for a simple (but non-esoteric) toy language 01:57:17 I don't think my teacher would be ok with an esoteric language 01:57:25 He said non-esoteric. 01:57:38 yeah, that comment was before I saw that 01:58:13 Meh, too many languages in exsistance 01:59:52 write a simulator of something... 02:00:09 Like? 02:02:36 something physics-related, perhaps 02:02:55 I'm still not sure what you mean 02:03:28 write a simulation of the universe. 02:05:17 or you could simulate something with humans, such as christmas shopping... 02:12:16 Thoughts on BFM: TNG? 02:12:26 (aside from "there's better things to work on!") 02:13:48 i'm afraid at the moment it's "I'm too tired too look at it right now" 02:15:31 Ah. 02:16:25 spent some hours reading a pdf book on proofs and types 02:50:54 -!- oerjan has quit ("Good night"). 04:08:03 -!- SimonRC has quit (anthony.freenode.net irc.freenode.net). 04:08:03 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 04:08:04 -!- SimonRC has joined. 04:08:06 -!- lindi- has joined. 04:08:15 -!- Sgeo has quit (Remote closed the connection). 04:33:09 bsmntbombdood: Come up with an idea. 04:33:22 I have an idea which I've discussed here before, but it's already licensed, so poop :P 04:33:46 I was doing the initial implementation in Java, but it may change to CL, depending on whether I take the AP test or not. 04:34:04 ... 04:34:18 Mmm? 04:34:45 bsmntbombdood: Come up with an idea. 04:34:52 Is that a command or a statement? 04:34:59 The latter. 04:35:16 Oh, then, what's your idea? 04:35:18 Come on. You must've come up with *some* ideas in your experience in programming? Something done wrong, something not quite modern enough, etc, etc. 04:35:46 bsmntbombdood: The idea for a lossless UDP mass transfer protocol minimizing ACKs. 04:35:56 I dunno... 04:36:03 Well, here's an idea: 04:36:51 -!- GregorR-L has joined. 04:36:51 Come up with a metadata tagging format for MP3, extra kudos for a format applicable to other music encoding filetypes, that allows you to be expressive *without* being hopelessly baroque like ID3v2. 04:37:33 That's not really a programming project 04:37:33 BEGIN INTERNET RELAY PROGRAMMING STATEMENT: 04:37:43 bsmntbombdood: Why not? 04:37:46 bsmntbombood, please come up with an idea for yourself. 04:37:50 END IRP STATEMENT. 04:38:08 You have to come up with the tagging format, and write code to demonstrate the tagging format's flexibility and ease of use. 04:48:06 sounds like a programming project to me. 04:50:53 what were the requirements of this assignment again? 04:51:09 There aren't hard requirements 04:52:22 Should take a semester, and be "advanced". (advanced in his mind isn't very advanced 04:52:33 ) 04:55:45 You've got enough time to write a simple kernel, methinks. 04:56:04 Show him what's really advanced. :p 04:56:49 heh 04:57:29 there are many operating system components that would be a sufficient challenge- a window manager, a package manager, a filesystem, etc. 04:57:44 an IDE or a compiler suite could be interesting 04:57:57 perhaps a shell 04:58:04 check out QNX. 04:58:04 :) 04:58:27 ShadowHntr: Yeah right 04:58:40 oh you're talking about writing one ! 04:59:32 RodgerTheGreat: Or too much of a challenge... 04:59:51 a shell isn't all that complicated 05:01:15 But there's plenty of good shells out there 05:02:38 you're missing the point. There are virtually no tasks for which workable software is completely unavailable. This doesn't make it pointless to build your own. 05:03:16 Well, the guy said it should be origina 05:03:18 l 05:03:50 there is no such thing as an "original idea", only improvements based on observation of existing solutions and problems. 05:04:06 Some ideas are more original than others 05:06:05 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 05:06:31 -!- ShadowHntr has joined. 05:06:53 rather than attempting to come up with a groundbreaking project, find an existing piece of software that you feel you can make better. 05:30:41 A window manager would be a pretty fun project. 05:30:58 I agree 05:31:14 Depending on the language you do it in, and how closely you want to follow the XDCCP (? forgot the name of the standard). 05:32:07 you could choose between a wide range of levels of complexity, which makes it a good project for a class- if things go badly, you can scale back. If things go well, you can add features 05:32:19 Exactly. 05:33:10 twin -> http://linuz.sns.it/~max/twin/screenshots/twin-on-X11.png ^_^ 05:33:23 Shameless lisp plug: http://paste.lisp.org/display/19072 05:33:34 That's a CL WM that's implemented in a handful of lines. 05:33:40 cool 05:33:58 what does it look like? 05:36:25 Mmm. I can't find the URL. 05:36:30 TinyWM is the name of the WM. 05:37:56 http://incise.org/index.cgi/TinyWM <- this appears to be coded in C and Python, but has similar functionality and structure 05:40:02 * pikhq would be liable to just write a Tcl WM, just to prove it could be done 05:40:32 that's the spirit! 05:41:00 Erlang! 05:41:01 ;) 05:42:12 g'night everybody 05:43:29 RodgerTheGreat: It's the same WM. 05:43:37 It's been ported to CL, is all. 05:46:13 Wow, a window manager in python 05:48:14 Ewww. Python. 05:48:19 Why use Python when you can use CL? 05:48:30 Cuz python rocks? 05:48:36 Compared to CL? 05:48:51 I don't know enough of CL to say 05:49:25 CL requires so much more effort to read 05:50:34 (probably because I'm a noobie, but still) 05:51:52 I can't understand lisp without an editor that matches parens for me 06:07:08 -!- ivan` has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- sekhmet has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- SimonRC has quit (anthony.freenode.net irc.freenode.net). 06:07:09 -!- CakeProphet has quit (anthony.freenode.net irc.freenode.net). 06:07:10 -!- oklopol has quit (anthony.freenode.net irc.freenode.net). 06:07:10 -!- cmeme has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- RodgerTheGreat has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- pgimeno has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- ShadowHntr has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- pikhq has quit (anthony.freenode.net irc.freenode.net). 06:07:11 -!- meatmanek has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- sp3tt has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- bsmntbombdood has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- puzzlet has quit (anthony.freenode.net irc.freenode.net). 06:07:12 -!- fizzie has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- GregorR has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- lament has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- tokigun has quit (anthony.freenode.net irc.freenode.net). 06:07:13 -!- mtve has quit (anthony.freenode.net irc.freenode.net). 06:09:12 -!- tokigun has joined. 06:09:12 -!- ivan` has joined. 06:09:12 -!- sekhmet has joined. 06:09:14 -!- GregorR has joined. 06:09:57 -!- pgimeno has joined. 06:10:00 -!- lindi- has joined. 06:10:00 -!- puzzlet has joined. 06:10:00 -!- sp3tt has joined. 06:10:00 -!- bsmntbombdood has joined. 06:10:05 -!- lament has joined. 06:10:05 -!- ShadowHntr has joined. 06:10:05 -!- pikhq has joined. 06:10:05 -!- meatmanek has joined. 06:10:08 Look at the indentation. 06:10:09 -!- SimonRC has joined. 06:10:09 -!- CakeProphet has joined. 06:10:09 -!- oklopol has joined. 06:10:09 -!- cmeme has joined. 06:10:15 -!- RodgerTheGreat has joined. 06:10:55 Why the nested netsplits?!? 06:11:31 pikhq: Upgrade of the ircd 06:11:35 Razor-X: Not enough 06:11:37 Ah. 06:12:11 -!- mtve has joined. 06:12:12 -!- fizzie has joined. 06:12:51 I unabashedly love sexps. 06:13:12 I don't 06:13:13 Pexps feel so ... uncouth after using sexps for long enough, IMO. 06:13:23 Pexps? 06:13:35 P-expressions, the counterpart to S-expressions. 06:13:38 -!- sp3tt has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- puzzlet has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- lindi- has quit (anthony.freenode.net irc.freenode.net). 06:13:38 -!- bsmntbombdood has quit (anthony.freenode.net irc.freenode.net). 06:13:39 -!- lindi- has joined. 06:13:42 -!- sp3tt has joined. 06:13:43 -!- puzzlet has joined. 06:13:45 i think sexps are superugly. 06:13:46 -!- bsmntbombdood has joined. 06:13:54 I love sexps. 06:13:56 Thought the counterpart was mexps. 06:13:57 I used to like theim. 06:14:02 When i was your age :D 06:14:11 So it's an age thing, huh?!?! 06:14:18 I suppose so :) 06:14:27 One one one !!??? question question 06:14:31 well, i understand why one would like them 06:14:35 I'm trying to pull off a teenage AOLer thing. 06:14:46 but they're ugly. 06:14:50 and i don't like ugly. 06:14:53 (== (+ 1 1) 2) 06:14:56 Purty. 06:14:58 Well, I find them easy to read, and very expressive. 06:15:10 Of course, I think that Tcl's beautiful. ;) 06:15:16 they're conceptually very elegant, but ugly in practice. 06:15:26 I used to like that, but no longer do so. 06:15:38 I haven't found any syntax that marries both well. 06:15:42 In particular, right now i think the usual math notation is way, way prettier. 06:15:55 Hmmm. There I give. 06:15:57 even though conceptually it's absolutely horrible. 06:16:20 and yes, obviously you can't have both 06:16:27 I think that usual math notation's fugly. 06:16:29 but you can have degrees... 06:16:31 Conventional expressions are godawful, and the only other syntax I've encountered is OCaML which looked so awful, I put the language down immediately on seeing the syntax. 06:16:49 "conventional expressions"? 06:16:58 is haskell really that bad? 06:17:01 Pexp/Mexp (too lazy to look it up) 06:17:08 It's alright. 06:17:15 2+2=4 <- conventional expression 06:17:36 i think haskell has the best mixture of conceptual elegance vs. prettiness 06:17:45 it has the same "feel" as math notation 06:17:51 I became a significantly better lisp coder after Haskell, lemme say. Haskell really made the points click and made me appreciate the differences between dirty functional languages and pure functional languages. 06:18:08 vs (= (+ 2 2) 4), 2 2+4=, [= [+ 2 2] 4]. . . 06:18:09 yet unlike math notation it makes perfect sense :) 06:18:15 And code something nontrivial for a full experience. 06:19:35 I got the code for parsing ID3v2.2 headers working. Hooray. Time to add in ID3v2.3 and ID3v2.4. 06:19:45 And I'll add in generic functions for each tag. 06:20:54 You can embed pictures in ID3v2 tags you know. I mean, who can't live without pictures embedded in metadata? 06:21:05 s/can\'t/can/ 06:21:30 Same people who can't live without object-oriented coffee making apparati. 06:22:18 What's wrong with my individial coffee beans being subclasses of an abstract Bean class? 06:23:24 I must say, I revise my opinion on OOP after taking a good look at the real CLOS. I like CLOS a lot better than message passing object systems too. 06:24:36 That's great and all, but your coffee making apparati don't need an object system to make damned good coffee. 06:24:50 Yeah it does. 06:25:18 Mine doesn't even having Turing completeness, much less an object system. 06:25:28 It saves memory if it encounters the same coffee bean as added in a hash table, so when it comes to Coffee.blend, it's more effecient. 06:25:45 My coffee maker: 06:26:49 int coffee(beans coffee[SIZE_OF_FILTER]) {hot_water(coffee);return coffee} 06:27:24 Hopelessly underperforming according to today's Modern CS Standards (TM). 06:28:06 Modern CS Standards (TM), of course, include severe over-complexity, under-performing, and general stupidity. 06:28:15 pikhq: i bet your coffee filter sucks, though. 06:28:20 i mean coffee maker 06:29:57 public abstract class Coffee { bean[] filter; public Coffee (int size) { filter = new bean[size]; } public abstract void Blend; } 06:30:03 lament: And I bet Razor's takes as much space as the oven. 06:30:26 That's just a *part* of what a True Coffee Machine by Modern CS Standards (TM) should have. 06:30:45 void Blend being dependant on your vendor-specific blending method. 06:31:02 New coffee maker. . . 06:31:26 ,[+++.,] 06:31:38 ;) 06:35:19 I love it how CS just gets farther and farther, but hasn't fixed the probably oldest problem in the entire CS world -- bad comments. 06:36:36 I'm using a CL library to easy binary file-structure reading and writing right now, and it's a good library but, it's documented like a piece of poop, and in some places his code is pretty hard to follow (in particulary, a place where he uses a temporary slot binding to create a temporary list returned by a lambda function and then bound in a let form). 06:36:46 s/easy/ease/ 06:37:01 s/particularly/particular/ 06:42:33 * pikhq should go to sleep. . . 06:44:03 Happy hacking. 06:44:04 -!- pikhq has quit ("leaving"). 07:51:47 -!- ShadowHntr has quit ("End of line."). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:07:01 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Leading Edge IRC"). 09:15:42 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 09:21:20 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 09:23:17 -!- oklopol has joined. 09:52:12 -!- ivan` has joined. 10:25:41 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The dawn of a new IRC era"). 11:17:00 -!- jix_ has joined. 12:25:10 -!- tgwizard has joined. 13:01:27 -!- oklopol has quit (Read error: 60 (Operation timed out)). 13:25:26 -!- oklopol has joined. 14:26:10 -!- jix__ has joined. 14:37:31 -!- jix_ has quit (Read error: 110 (Connection timed out)). 15:25:10 -!- Sph1nx has joined. 15:25:55 -!- Sph1nx has quit (Client Quit). 15:45:08 -!- CakeProphet has quit ("haaaaaaaaaa"). 16:01:46 -!- okokoko has joined. 16:01:49 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 16:56:31 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 17:00:12 -!- okokoko has changed nick to oklopol. 17:22:56 -!- Aardwolf has joined. 17:27:48 -!- jix_ has joined. 18:05:18 -!- calamari has joined. 18:05:27 hi 18:31:21 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 18:32:12 -!- oklopol has joined. 19:58:23 Razor-X: CLOS is message passing 20:04:28 -!- Sgeo has joined. 20:06:39 -!- tgwizard has quit (Remote closed the connection). 20:07:52 -!- okokoko has joined. 20:09:01 It's pretty cool that CLOS is written in lisp 20:16:30 -!- oklopol has quit (Read error: 60 (Operation timed out)). 20:16:53 -!- pikhq has joined. 20:17:27 * pikhq is braindead ATM 20:23:14 bsmntbombdood: No it's not. 20:23:29 You can't have generic functions in a message-passing object system. 20:23:37 -!- oerjan has joined. 20:24:03 Yeah you can 20:24:15 How? 20:24:44 (defun foo (object) (send object 'foo)) 20:24:57 .... That's not CLOS... 20:25:04 I know 20:25:17 But that's not a generic function either. 20:26:11 The ACT has killed my brain cells, I'm afraid. 20:26:15 Meh. 20:26:40 Or at least temporarily numbed them. 20:27:24 ". . . What the hell? I haven't done this since 8th grade!!!" 20:27:30 heh 20:31:04 Don't message-passing and generaic functions contradict one another? 20:31:42 Because with message-passing one of the objects is more important than the others, but with generic functions, all of the arguments are equal in status. 20:35:57 -!- okokoko has quit (Read error: 60 (Operation timed out)). 20:39:01 you could send a message to _all_ the objects 20:43:05 -!- oklopol has joined. 20:45:26 oerjan: How would *that* work? 20:45:32 oerjan: Thoughts on BFM:TNG? 20:46:11 BrainFuck .... 20:46:15 The final frontier. 20:46:30 Teeheehee. 20:46:30 These are the voyages of the BrainFuck Macro Language. 20:46:34 Its continuing mission ... 20:46:39 (etc) 20:46:43 that would be up to the objects to decide, they would probably have to form a committee :) 20:46:51 hehe 20:47:05 to boldly code where no (wo)man has coded before 20:47:11 * SimonRC swears at the ZBB. 20:47:52 oerjan: ITYM, to boldly code more inefficiently than anyone has coded before. 20:48:25 SimonRC: Actually, BFM is the most efficient Brainfuck macro system out there. 20:49:53 Is it turning into a compiler? 20:50:16 And I meant brainfuck is inefficient, not BFM. 20:50:24 It. . . *Is* a compiler. 20:50:28 And an interpreter. 20:51:22 I should probably rename it, though, because there's another, radically less efficient language by the name of BFM. 20:52:21 Add a debugger! 20:52:29 Source-level! 20:52:50 macro show-memory {} {} {} {forceinline #} 20:52:51 Done. 20:53:02 ;) 20:53:39 Although that's more of a binary level debugger. . . 20:53:50 That isn't source-level! 20:54:10 And where are the breakpoints?! 20:54:13 The "be0" command allows one to see some of the compiler's internal state, though. 20:54:20 Razor-X: Who needs 'em? 20:54:26 pikhq: Great debugger ;P 20:54:53 Best one of them all. XD 20:55:09 Seriously, though. . . 20:55:17 Well, to be A New-Age Debugger, you need a shiny GUI coat on it. 20:55:29 The only practical method of debugging ATM is with the Brainfuck source. 20:55:30 ew gui 20:56:35 You could get the compiler to annotate the binary with line numbers and variables, and turn off all optimisations. 20:56:42 *variable names 20:57:00 that would be quite debuggable with a BF-level debugger 20:57:10 Compile with the options "-O 0 -g". 20:58:24 Or just "-g" if you want to see what the optimization does to the code. 21:02:21 -!- wooby has joined. 21:09:38 hmm http://swivel.com/graphs/show/1001967 21:11:06 Think there's causation? 21:11:30 rofl 21:13:25 bsmntbombdood: careful 21:13:46 bsmntbombdood: Have you seen the graph of the number of pirates against global temperature? 21:13:52 I have 21:14:08 The world needs more pirates! 21:14:13 That's why we have "Talk Like a Pirae Day", you know. 21:16:18 http://www.venganza.org/pirate.pdf <-- the best renering of it. 21:16:50 It's the Pastafarian Christmas. 21:22:43 when? 21:23:43 Talk Like a Pirate Day. -_-' 21:24:12 ah, yes 21:25:11 -!- Arrogant has joined. 21:27:58 So are OSS writers essentially Robin Hoods? 21:28:06 Stealing from the rich and giving to the poor? 21:29:22 Not quite. . . 21:29:42 We cut out the middle man. 21:29:49 We are the rich, giving to the poor. :p 21:30:02 So what's Gates then? 21:30:41 The *filthy* rich. 21:31:07 We've not been successful at taking from him very much yet. 21:31:43 But he's been very successful stealing from everyone else. 21:32:10 Which is a problem. . . 21:32:40 Our end goal is to become Robin Hoods. Our current state is the poor giving to the less poor. 21:32:43 Happy? 21:32:46 s/less/more/ 21:33:03 * bsmntbombdood wonders what financial situation rms is in 21:33:04 lol 21:33:13 Yeah. That does make me feel more happy. 21:33:29 RMS is probably not very rich, but he knows enough people to get a free ride in any country in the world. 21:33:44 Rms is actually rather poor. . . 21:33:54 Except maybe North Korea. 21:34:15 He lives off of prize money and cash for speaking in public. 21:34:17 I'll bet he could get into N. Korea. 21:34:27 But I'll bet he couldn't get out. 21:34:30 Yup ^^ 21:34:53 He could get in only if he told the whole populace except Kim Jong Il that he was going to assasinate Kim. :p 21:35:17 RMS does work at MIT. 21:35:30 It's an unpaid position. 21:36:03 Then again, if N. Korea is as Red as it seems, he wouldn't need a free ride there. 21:36:47 He's lived for the past several years in his office at MIT. . . He can't have that much money. ;) 21:37:00 One day N. Korea will open up, and we'll realize that they have self-cleaning roads and hover-vators, and traffic is mitigated through several levels of semi-arial traffic. 21:37:24 *semi-arial levels. 21:37:55 And we'll weep in shame as we'll discover that N. Korea's technology far exceeds our own pitiful existances. 21:38:11 What has leaked out of N. Korea suggests that the populace doesn't have enough freedom of motion to justify roads, much less self-cleaning ones. 21:38:19 Message Paid for by The Party. The Party. It's Where You Go. 21:38:33 And. . . 21:38:45 Maybe they were just brainwashed into forgetting the wonders that they saw? 21:38:47 * pikhq gets hit in the head by The Beloved Leader's Boys 21:38:53 HEIL HITLER! 21:38:55 *ouch* 21:39:01 I MEAN THE BELOVED LEADER! 21:46:43 * SimonRC attempts to correct pikhq's misconception of money: http://paulgraham.com/gap.html 21:47:19 Do not confuse stealing wealth with creating it. 21:48:51 The amount of wealth in the world is not fixed. 22:11:53 -!- pikhq has quit (Read error: 145 (Connection timed out)). 22:21:47 -!- Arrogant has quit (Read error: 113 (No route to host)). 22:22:14 -!- oerjan has quit ("Good night"). 22:51:36 -!- pikhq has joined. 2006-12-10: 00:08:05 this guy has abused a bit the concept of a 'one-liner': http://www.dustindiaz.com/basement/js/dom.js (beware the link crashes my Mozilla; it works fine in Firefox 1.5) 00:12:27 btw, that's part of the source of http://www.dustindiaz.com/basement/tetris.html 00:12:47 8-D 00:12:50 dHTML TETRIS! 00:12:56 That's better than http://www.codu.org/evilpong/ 00:15:59 I prefer XML Tetris. 00:16:25 http://www.codu.org/rxml.php 00:21:39 yay, rxml rox 00:23:19 xml tetris? 00:23:57 is that based in the turing-completeness (I think) of xslt? 00:25:14 Actually, it's nearly pure SVG. 00:25:15 Has a tiny bit of embedded Javascript. 00:25:33 crap crap 00:28:27 oh 00:29:09 * bsmntbombdood borked his keyboard 00:30:45 oh and btw there's a version with bgm: http://www.dustindiaz.com/basement/tetris-s.html 01:14:19 -!- wooby has quit. 01:16:52 -!- CakeProphet has joined. 01:29:51 Anyone recommend a good Lisp implementation... that's... easy to setup on Windows? 01:39:40 Sure. 01:39:50 Install a real OS, then use SBCL 01:40:03 Emacs. 01:40:22 Although realise that running Windows makes everything comparatively hard to setup. 01:40:46 I got a windows version of xemacs running in 30 seconds 01:41:41 I got a GNU/Linux version of Emacs running in 0 seconds. 01:41:49 yep 01:42:02 well...it takes like 2 seconds to start up 01:42:15 But it takes 0 seconds for me to install it. . . 01:42:19 Preinstalled. ;) 01:42:21 yeah 01:42:41 I can't believe an OS would ship without a decent text editor 02:11:29 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 03:00:08 emacs is not a good lisp implementation. 03:01:33 It is a good emacs lisp implementation 03:01:52 i'm not even sure of that. 03:02:06 It is *the* Emacs Lisp implementation. 03:02:25 so? 03:24:37 * SimonRC goes to bed. 04:02:41 -!- GreaseMonkey has joined. 04:03:04 * pikhq takes a guess that GreaseMonkey likes Greasemonkey 04:05:59 * GreaseMonkey takes a guss that pikhq is correct 04:07:05 Connection error: Monkey too Greasy 04:07:19 yep <:D 04:10:35 * pikhq makes out with BFM 04:11:37 kinky 04:13:07 And incestous. 05:08:10 -!- GregorR-L has joined. 05:10:35 -!- calamari has quit (Remote closed the connection). 05:10:59 -!- calamari has joined. 05:11:08 hi 05:11:29 nonwrapping bf.. 5 - 12 = ? 05:12:03 5-12=-7 05:12:22 so one cell to store the sign ? 05:13:10 No, in nonwrapping BF, the cell is signed and either bound-checked or bignum. 05:13:36 Could be either *shrugs* 05:15:22 I always assumed a nonwrapping program would work in a wrapping interp.. guess that isn't always the case 05:16:23 In a wrapping interp, 5-12=-7==248. 05:17:04 248 / 2 = 124 -7/2 = 3 05:17:09 err -3 05:19:27 It's the whole "mod 255" thing that's mildly confusing. . . 05:21:30 Any ideas on how to best mutilate Windows? 05:21:54 Sgeo: I have some word documents you could open.. and some special multimedia files for your enjoyment 05:22:14 Now... how to get them from Host to Guest :/ 05:23:22 GregorR: what assumptions does your c compiler make about cells? 05:23:29 calamari, Win98 is running under VMware 05:23:36 ahh 05:23:55 Sgeo: format C: 05:23:56 here's something fun you can do 05:24:03 pikhq, I tried that 05:24:06 run debug 05:24:13 pikhq, it wouldn't let me 05:24:14 then enter this program: 05:24:19 a 05:24:23 cli 05:24:28 jmp 101 05:24:30 g 05:26:20 Sgeo: how'd it go? 05:26:38 I just got "^ Error" 05:26:51 where 05:26:56 on the g ? 05:26:59 Yes 05:27:08 sorry you need to push enter again after jmp 101 05:27:18 So it's 05:27:20 a 05:27:21 cli 05:27:24 jmp 101 05:27:26 05:27:26 g 05:27:27 ? 05:27:28 yes 05:27:36 but you're still okay 05:27:37 Should I close and restart debug? 05:27:42 you can just push enter 05:27:48 then g 05:28:25 The cursor just sort of... froze.. 05:28:30 yeah :) 05:28:44 windows is probably gone 05:28:57 (frozen) 05:29:05 Something that left it in a pseudousable state would have been preferable.. 05:29:08 (more fun) 05:29:26 I think it is cool how easy it is to screw up the multitasking in win98 05:29:43 What does that debug thing do anyway? 05:30:05 first it disables maskable interrupts 05:30:06 calamari: Win98 doesn't really multitask. 05:30:13 then it enters a very tight loop 05:30:18 It just imitates it for the user. 05:30:18 :p 05:30:23 pikhq: yeah it does.. p[reemptive too 05:30:44 Well, it isn't exactly good multitasking if one can preempt the preempting. 05:31:02 Night allk 05:31:06 pikhq: I didn't say it was good.. just saying it does do multitasking 05:31:24 I call that merely an imitation of multitasking. ;) 05:32:10 * Sgeo is confused 05:32:12 Night all 05:32:23 I call that an imitation of an argument :) 05:32:28 cya sgeo 05:32:34 As do I. ;) 05:32:41 -!- Sgeo has quit (Remote closed the connection). 05:33:53 -!- GregorR-L has quit ("Leaving"). 06:06:16 -!- calamari has quit ("Leaving"). 06:11:23 -!- GreaseMonkey has quit ("Connection error 130 (Monkey too greasy)"). 07:13:51 -!- pikhq has quit (Read error: 60 (Operation timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:12:42 -!- tgwizard has joined. 10:19:18 -!- ivan` has joined. 12:41:49 -!- jix_ has joined. 14:19:12 -!- jix__ has joined. 14:35:28 -!- jix_ has quit (Read error: 110 (Connection timed out)). 14:55:11 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <-"). 15:08:22 -!- Sgeo has joined. 15:52:02 -!- kipple_ has joined. 16:22:55 -!- oerjan has joined. 18:18:56 -!- CakeProphet has quit ("haaaaaaaaaa"). 18:37:54 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 19:23:07 -!- jix_ has joined. 20:05:28 Most fun way to fubar Win98? 20:16:45 -!- EgoBot has joined. 20:31:17 Sgeo: F00F bug? 20:31:44 No clue what that is 20:32:18 it makes your computer go up in smoke *F00F* 20:34:18 Would it be impolite of me to shorten the Deadfish interpreter? 20:35:58 Wait a minute... 20:36:51 It _really_ does not read any commands 20:39:51 OK if I am to believe the example then the interpreter is buggy rather than intentional 20:43:55 -!- GregorR has quit (Read error: 104 (Connection reset by peer)). 20:44:32 http://216.239.59.104/search?q=cache:4DSsRj2iMo4J:www.x86.org/errata/dec97/f00fbug.htm+f00f+bug&hl=en&gl=uk&ct=clnk&cd=1 20:44:59 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)). 20:49:20 Gah. I can't believe I forgot what scanf does. 20:51:59 printf except backwards 20:52:47 But it doesn't discard the rest of the line, does it? 20:53:21 scanf(3) 20:53:42 I am already reading it. 20:58:02 -!- GregorR has joined. 21:01:26 Meh. It's hard to forget C. 21:02:04 Easy to forget clib functions 21:02:25 scanf? 21:02:38 ? 21:02:49 My brain confused it with sscanf I think. 21:02:58 Aha. 21:03:13 woot C has continuations 21:03:15 So somehow I got the idea the program never read input. 21:03:36 Continuations? call/cc style? 21:03:40 yeah 21:03:41 Since when? 21:03:48 How? 21:03:48 since never 21:04:11 i assume he's talking about setjmp/longjmp? 21:04:21 setcontext(2) 21:04:54 Switching between multiple threads of control within a process. 21:05:33 swapcontext(3) 21:05:34 Oh. Hmm... 21:05:39 oh, huh, that does look like continuations 21:05:46 Yeah, it does. 21:05:54 :) 21:05:58 Who knew. 21:07:07 damn, right after I discover this, I have to do homework 21:07:52 That's probably what all the Scheme interpreters use to implement call/cc. 21:08:32 I think that Scheme terps actually use call/cc to implement call/cc. 21:08:41 Razor-X: except for the overwhelming majority that are written in Scheme 21:09:02 Well... I'm thinking Gambit/Stalin/Chicken. 21:09:13 You can add it to a graph-reduction-based interpreter without too much trouble, I suspect. 21:10:10 Maybe the C-based ones have an explicit (spaghetti) stack rather than an implicit one, whereupon call/cc become easier. 21:10:27 hum, my linux box has swapcontext, but not my bsd box 21:11:22 Always read the CONFORMING TO section. 21:12:21 SUSv2, POSIX 1003.1-2001. 21:16:15 methough bsd was posix complient 21:16:33 I don't know what revision *shrugs* 22:18:08 -!- calamari has joined. 22:18:38 hi 22:19:23 * calamari has an idea .. :) 22:19:47 * oerjan prepares to shoot calamari 22:19:51 * bsmntbombdood waits 22:20:06 I want to see if I can convert labels and gotos into if's, while's, etc 22:20:44 the idea would be to break down a complex program (using gotos, while, if, break, etc) into just gotos, then reconstruct it again 22:20:56 this would be handy for break/continue removal 22:21:13 if,whiles are implemented with gotos 22:21:28 bsmntbombdood: yes, I know 22:21:39 calamari: It is possible, but you may need to introduce some temporary variables. 22:22:02 SimonRC: yeah.. the hard part at least for my brain is building some kind of tree or such 22:22:17 well, you just need one variable, to save the next label 22:22:23 then I can figure out where the loops are 22:22:24 OTOH, BFBASIC manages to handle arbitrary gotos with just while loops. 22:22:26 -!- CakeProphet has joined. 22:22:39 SimonRC: yeah it does.. but I cheated and used labels and gotos 22:22:57 SimonRC: I'm trying to avoid that and hopefully produce more efficient code 22:23:23 with the goal of making it easier to translate a language such as spaghetti or linguine into bf 22:23:30 and then a giant case statement in a while (1) 22:23:43 oerjan: that's eseentially what I do with bfbasic 22:23:50 the case statement is then easily turned into nested if then else 22:24:47 and it's kinda slow :) 22:25:11 would be better to unravel the goto's, even if it means duplication of code blocks 22:25:13 I think the tricky one is 10 FOO; 20 BAR; 30 MAYBE GOTO 10; 40 MAYBE GOTO 20; 22:26:34 * SimonRC spots that a "do{}while()" is just a backward jump and an "unless(){}" is just a forward one. 22:26:39 hmm 22:27:52 SimonRC: okay I've decomposed that tricky loop 22:28:28 how? 22:28:31 not sure how to write it in here tho.. let me try 22:28:39 ABCDE 22:28:54 B-C goes to A 22:28:57 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:29:10 D-E goes to B .. that's the original 22:29:29 do you follow the notation for the original program? 22:30:06 A,B,C,D,E are blocks of code 22:30:06 rather difficult to match 5 letters with 4 statements 22:30:17 huh? 22:30:28 like I said.. hard to write in irc 22:30:30 hehe 22:30:39 let me translate it into basic like you did 22:31:36 i think possibly you are dealing with the wire-crossing problem 22:32:02 no I'm dealing with a text interface problem 22:32:13 as in, just if and while cannot build flowcharts with crossing wires without extra temporary variables 22:32:23 who said anything about that 22:32:31 I was just saying I was able to unravel it 22:32:57 if anyone wants to say it is impossible then prepare to own up to it hehe 22:33:36 let me draw a little diagram and post it 22:34:08 I will boldly assert that it is impossible to translate my code into plain loops and ifs without either duplicating code or creating superfluous temporary variables. 22:34:20 actually that example does not really have wire-crossing 22:34:46 SimonRC: right.. if you duplicate code 22:34:54 that's what I intend to do 22:34:56 oerjan: it does if you require that all the points are on the x-axis and all wires must only go through the upper half-plane 22:35:04 if you duplicate part of the coee, it is easily unraveled 22:35:25 right, that makes sense 22:35:33 that's what I was just drawing up 22:35:49 guess I don't need to now hehe 22:35:58 -!- ihope has joined. 22:36:01 11.1265006 milligrams. 22:36:16 of crack 22:36:24 argh, a drive-by chemist! 22:36:35 heh 22:37:08 * SimonRC goes for pizza, and then to bed, most likely. 22:37:28 i think it is possible to make code which cannot be unraveled simply with duplication 22:38:21 that's easy.. a break statement 22:39:22 hmm maybe that can be unraveled as well 22:39:27 need to map these out 22:39:58 anyhow, I think I'm on to something... translate into gotos, then recompose for the target language 22:40:19 should be more efficient than the huge switch statement hack 22:44:23 this is essentially a finite state machine problem 22:44:57 oerjan: cool 22:45:07 can every FSA be implemented with just while and case (getc()) statements? 22:45:25 well, bf implements everything with just while 22:45:41 i am still talking about avoiding temporary variables 22:45:45 -!- kipple_ has quit (Read error: 131 (Connection reset by peer)). 22:45:45 oic 22:45:59 so if you had a bf with one cell 22:46:28 Every FSA can be implemented using only goto. 22:46:33 right 22:46:44 * oerjan bops ihope on the head 22:46:50 if and goto 22:46:53 we are discussing _removing_ gotos 22:46:58 -!- kipple_ has joined. 22:47:00 Oh. 22:47:44 ihope: my idea is to decompose a program into goto's and labels then rebuild it for a target language 22:48:03 -!- kipple_ has quit (Client Quit). 22:48:18 intriguing 22:48:41 this looks like a job for an esoteric BASIC coder! 22:48:43 the first step is to unravel weird goto loops into traditional structured code 22:48:47 hehe 22:48:49 * RodgerTheGreat runs for his cape and cowl 22:51:52 yeah, I can see how conditional jumps could become tricky to unravel. 22:52:18 the tough part is seperating gotos that are branches from gotos that form loops 22:53:03 for one thing, while loops always have just two exits 22:53:20 graphically speaking 22:53:30 some loops can be directly unfolded, but others are integral to the functioning of the program- the main loop, at least 22:53:37 yeah 22:54:32 blah I think I made a mistake in SimonRC's problem above 22:54:49 the code duplication doesn't seem to be working for that one 22:54:57 hm 22:55:41 is the goal to create space-efficient code or speed-efficient code, or either? 22:56:09 speed efficient 22:56:14 ah 22:56:41 ahh got it finally 22:57:13 the problem was that I was trying to keep the d-while.. needed to convert it to a plain while 22:57:34 ok based on the limit to two exits for a while loop, here is a test case: 22:57:54 4 statements, each of which can branch to any of the others 22:58:08 cool :) this is helpful stuff 23:00:09 * calamari waits for the code 23:00:28 oh i thought it was obvious what i meant 23:00:35 no 23:01:25 10 MAYBE GOTO 30 OR 40 : 20 MAYBE GOTO 10 OR 40 : 30 MAYBE GOTO 10 OR 20 : 40 GOTO 10, 20 OR 30 23:01:48 I don't understand statement 40 23:02:17 ok make that 40 MAYBE GOTO 20 OR 30 : 50 GOTO 10 23:02:24 ok 23:02:51 oh and by the way the MAYBE is to mean that one option is not to jump at all 23:03:12 ??? 23:03:29 couldn't each "maybe" be first broken into a pair of "jump or not" instructions? 23:03:43 yeah 23:03:46 -!- tgwizard has quit (Remote closed the connection). 23:03:48 if I understand 23:03:49 so for each statement, there are 3 possible statements to do next 23:04:01 still unrollinging the first problem, it's long hehe 23:04:30 well i am sort of trying to be brief 23:05:17 there done finally with the first one 23:05:28 shall I write it in code? 23:05:49 perhaps abbreviated.. 23:06:44 A B WHILE C { A B } WHILE D { B WHILE C { A B } } 23:06:54 a and b are foo and bar 23:10:35 hm. interesting 23:10:43 oerjan: check that this is equiv to your code: 23:11:50 10 MAYBE 30 ELSE 15 : 15 MAYBE 40 ELSE 20 : 20 MAYBE 10 ELSE 25 : 25 MAYBE 40 ELSE 30 : 30 MAYBE 10 ELSE 35 : 35 MAYBE 20 ELSE 40 : 40 MAYBE 20 ELSE 45 : 45 MAYBE 30 ELSE 10 23:11:55 btw my code is just a flowchart in the form of the edges of a tetrahedron 23:13:23 you can also remove the "else xxx" and add 50 goto 10 23:13:27 (as you had) 23:13:49 * calamari draws it 23:14:58 looks fine to me 23:15:38 if that doesn't work then we need an example with real wire crossing 23:16:21 if you can find a very simple one that'd be great 23:16:30 this is rather long hehe 23:17:43 well the two simplest non-planar graphs are the complete graph on 5 points (i.e. 5 statements all connected) and the 3 + 3 bipartite graph (the famous 3 houses connected to 3 utilities puzzle) 23:18:33 so you gave the first ? 23:18:58 no i just gave you 4 points, thought that might still be impossible 23:20:26 i have this feeling this has something to do with the fundamental group of the graphs 23:21:28 I still haven't finished drawing the original problem yet hehe 23:22:05 oh, draw a square with one diagonal, and then a curved line between the other two points 23:22:30 oic 23:22:44 I'm drawing it as a flow chart 23:23:01 -!- Aardwolf has quit ("Ik zen der is mee weg"). 23:23:24 i guess you need to duplicate the lines then 23:23:35 yeah 23:23:49 I can already see a huge mess brewing 23:25:23 okay done drawing.. now the part that should be impossible 23:25:30 maybe try just 3 points first, i am not quite sure about that case 23:25:55 there is no exit.. interesting :) that's okay I guess 23:26:24 well you can just add a couple if you want :) 23:26:40 right.. 50 maybe 10 23:30:21 I discovered the two great secrets to writing great fiction. 23:30:27 But then I forgot one. 23:31:40 the other one is to have an unfallible memory :) 23:33:33 A photographic memory? 23:33:45 That'd help, yes. 23:35:06 i don't need photographic memory. 23:35:09 i have a camera. 23:35:47 what about this much smaller problem: 10 MAYBE GOTO 50 : 20 MAYBE GOTO 50 : 30 FOO : 40 GOTO 10 : 50 BAR 23:36:10 that's the break statement 23:37:02 Take pictures of your novel and stick them in your ears? 23:37:14 That'd probably work, yes. 23:38:50 So assuming having a photographic memory is one secret to writing good fiction, the other just might be to describe the world the characters are in. 23:40:12 oerjan: I can't remember.. were you disallowing temp variables for the solution? 23:40:24 yes 23:40:32 if so, I don't see a way to solve my problem, and it's a subset of yours 23:40:37 If you describe the world where it's not actually important that the world be described, the effect is that the world doesn't seem to exist only where it's important to the plot. 23:40:42 mine translates to the following code 23:40:52 while A { if B { C } } 23:41:16 not seeing a way to turn that if into a while without a temp variable 23:41:39 eh, i have certainly not disallowed _if_s 23:41:42 If one day somebody visits a store, and you didn't describe the store earlier, it seems like it spawned out of nowhere as soon as the person decided to visit it. 23:42:16 oerjan: oh, I thought the point was to only use while loops 23:45:30 although, I only need one variable to convert as many nested if's as I want into whiles 23:45:31 well it was you who stated the problem, i just disallowed temporary variables so we couldn't use that giant case statement you said was inefficient 23:45:38 right 23:48:09 what kind of language is it you want to translate into by the way? 23:48:43 well bf.. but I was hoping this could help for other langs too 23:49:09 ah, then you definitely want to disallow ifs 23:49:44 well, like I say above, I can do them with constant memory in bf 23:49:49 so I think it's fine 23:51:05 then you could do case statements as well 23:51:15 yeah I know 23:51:58 I think in the case of your problem, both methods would be about the same speed 23:52:38 but in the typical cases, not using case statements in bf would be a win 23:53:46 one idea is to encode the label in binary and use a branching tree for the case statement 23:54:06 yeah, we thought of that too :) 23:54:17 but didn't implement it 23:54:34 instead we decided to trade memory for speed 23:54:52 (in the second version of bfbasic labels) 23:55:24 -!- lament has changed nick to Lament. 23:55:42 of course one advantage of not using the case statement is I won't have a limit on the number of branch points 23:55:58 -!- Lament has changed nick to lament. 23:56:45 hey, how many people have read about this thing before? http://www.retrothing.com/2006/12/the_tinkertoy_c.html 23:57:31 i have 23:58:13 cool 23:58:22 I found an article explaining how it worked a while back, but it never had any pictures of the device 2006-12-11: 00:00:00 -!- ivan` has joined. 00:00:35 http://www.rci.rutgers.edu/~cfs/472_html/Intro/TinkertoyComputer/TinkerToy.html 00:02:22 ah, A.K. Dewdney. 00:04:12 that would have been impressive for 1889 00:05:39 well, if people in the 1800's had the capacity for mass-producing construction toys to a high-tolerance, Babbage would've been able to build his difference *and* analytical engines out of ye olde legos. 00:06:05 and that dash in "high tolerance" was superfluous. 00:46:13 that whitespace in "hightolerance" was superfluous. 00:50:14 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC for those that like to be different"). 01:06:27 Allwhitespaceissuperfluous. 01:06:45 IcanevenwriteaWhitespaceprogramwithoutusingwhitespace. 01:06:58 IcanalsospeakGermanwithoutusingwhitespace.:-) 01:07:17 Ndwhlwrdscssngthmttr,lt'sgtrdfthvwlst 01:08:12 Hby,nwyrbrdrngnthdgfnnsnscl. 01:08:37 (Mind giving a translation?) 01:10:00 Nd whl w e dscssng th mttr, lt's gt rd f th vwls t 01:10:07 *r 01:10:35 Ys,gdd. 01:11:11 LTSRMVPNCTTNNDCPTLZTNT 01:11:29 (Let's remove punctuation and capitalization, too!) 01:12:13 but what is dgf? 01:13:07 NCRSNTRP 01:13:19 RMVNFRMTN 01:14:36 And now for something completely different: "Hi, All I've studied English sinse Summer . It's Really difficult I would like like to meet boys and practisice My English with them." 01:14:58 Not that that's not in the recent changes page of the wiki. 01:15:40 who wouldn't like to meet boys. 01:16:21 SPMSPMSPMSPMSPMSPMSPMSPMSPMSPMSPMSPM 01:17:21 LLNTRNT 01:17:42 Rllcnnnndrstndths 01:18:02 Cntp 01:19:51 DNTNDRSTNDNTHNGYRSYING 01:23:17 -!- oerjan has quit ("TMTGTBD"). 01:35:10 WLLNDRSTNDYPRFCTL 01:36:13 YSDTHTTHSTTFCHRNLGNCSSTTDSFTHSLPNGPLC 01:36:39 OMGWTFBBQ 01:36:56 omgvowel. 01:51:04 aaaaeei 01:53:13 aeudtns 02:00:34 -!- ShadowHntr has joined. 03:12:59 -!- ivan` has joined. 05:04:30 -!- CakeProphet has quit (Read error: 145 (Connection timed out)). 05:04:45 -!- Arrogant has joined. 05:48:56 -!- calamari has quit ("Leaving"). 06:41:01 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 07:42:46 -!- GregorR has changed nick to OMGZOMGROFL. 07:43:40 -!- OMGZOMGROFL has changed nick to GregorR. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:15:32 -!- ShadowHntr has quit (Client Quit). 08:57:07 -!- Arrogant has quit ("Leaving"). 13:56:31 -!- ihope has quit (Read error: 110 (Connection timed out)). 14:30:27 -!- tgwizard has joined. 14:52:30 -!- jix_ has joined. 15:27:05 -!- wooby_ has joined. 15:27:11 -!- wooby_ has quit (Remote closed the connection). 16:22:12 -!- GregorR-L has joined. 17:51:07 -!- DRMacIver has joined. 17:55:30 * SimonRC wonders if oerjan realises that various ancient civilisations actually wrote entirely in consonants with not spacing or capitalisation. 18:03:52 Egyptian, for example. 18:03:57 But I have no idea what the context is :) 18:04:21 01:04 < ihope> LTSRMVPNCTTNNDCPTLZTNT 18:04:21 01:04 < ihope> (Let's remove punctuation and capitalization, too!) 18:04:21 01:05 < oerjan> but what is dgf? 18:04:21 01:06 < oerjan> NCRSNTRP 18:04:21 01:06 < oerjan> RMVNFRMTN 18:04:39 I just can't read what oe wrote. 18:04:59 Yeah, that's a toughie XD 18:05:09 It's probably possible to be used to it. 18:05:29 and if you have a less vowel-centric language than English 18:05:34 True 18:06:22 Pack, park, peck, peek, perk, pick, pike, pock, poke, pork, puck, puke. 18:06:41 And, if they were words: pake and pirk, too. 18:07:00 and peark 18:07:16 all those are PK in just consonants. 18:07:24 Worse yet, pik and pike :) 18:08:00 High-five for the subtle R-is-a-vowel reference, btw. 18:08:53 ITYM R-is-part-of-the-vowel. 18:09:57 Depends on your accent. 18:10:06 In an English accent, R modifies the vowel. 18:10:09 Then of course there's: a, are, air, ear, err, our, or, owe. 18:10:11 In an American accent, R is the vowel. 18:10:31 hence stuff like "fRmR" 18:11:01 Yup 18:11:34 And then there's "Merkin", which means either "American" or a pubic wig. 18:11:37 seriously 18:12:03 * GregorR-L wonders why pubic wigs exist XD 18:13:52 For porn movies aparently. 18:27:31 Question: What do you get if you plot IP space allocations on the Hilbert curve? Answer: http://xkcd.com/c195.html 18:27:35 I like it. 18:29:12 Hah 18:29:14 That's great 18:36:37 * SimonRC lols at MIT. 18:36:38 Apparently each dorm gets a class-B network. 18:41:50 * SimonRC goes. 18:56:34 -!- DRMacIver has quit (anthony.freenode.net irc.freenode.net). 18:56:34 -!- meatmanek has quit (anthony.freenode.net irc.freenode.net). 18:56:34 -!- lament has quit (anthony.freenode.net irc.freenode.net). 18:57:16 -!- lament has joined. 18:58:15 -!- DRMacIver has joined. 18:59:49 -!- meatmanek has joined. 19:40:47 -!- jix_ has quit (Read error: 104 (Connection reset by peer)). 19:44:35 -!- jix_ has joined. 20:07:59 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 20:22:37 -!- pgimeno has joined. 20:41:06 -!- ihope has joined. 20:43:21 -!- tgwizard has quit (Connection timed out). 20:59:26 -!- CakeProphet has joined. 21:49:46 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:52:50 -!- ShadowHntr has joined. 22:54:15 -!- calamari has joined. 23:12:40 calamari: I believe you asked some ridiculous amount of time ago (days), whether c2bf made assumptions about cell size. 23:12:50 It maps all data types to one cell (I know, awesome). 23:13:02 yeah, so what assumptions does it make 23:13:15 what does c2bf do? 23:13:21 lindi-: Compiles C to BF 23:13:31 ANSI C89 ? 23:13:42 calamari: Generally you'd want to run it on at least a 16-bit interp. 23:14:08 lindi-: A ridiculously tiny subset :P 23:14:11 so sizeof(int) is undefined ? 23:14:19 It's 1 ^^ 23:14:31 lol 23:14:33 But 1 in this case isn't necessarily 1 byte :P 23:14:34 I gotcha 23:14:42 but it could be 23:15:32 does it assume wrapping cells ? 23:16:04 * GregorR-L thinks for a moment. 23:16:58 Eh, I suddenly remembered I made a new version of that QBF interpreter. 23:17:08 or an alternate way of asking that.. does signed int work? 23:17:57 And that means I get to bug GregorR-L until he uploads it to the archive thingy and updates EgoBot with it! 23:18:03 Yeah, it does. 23:18:09 ihope: Do you see EgoBot in here? 23:18:33 Does EgoBot need to be here for you to update him with it? 23:19:00 Technically no :P 23:19:08 I see. 23:19:30 Can you upload it to the archive, at least? 23:19:45 I think my access disappeared somewhere ^^ 23:19:52 Or somewhen I should say. 23:19:58 GregorR: so .. int x = 4; x = x - 7; what happens? :) 23:20:14 * calamari guesses it uses wrapping 23:20:19 calamari: It does indeed wrap around. 23:20:20 Oh. 23:20:36 calamari: It uses wrapping if you use wrapping in the C code. I think that's the most correct thing I can say. 23:21:11 I, um... well, where else can I send it? 23:21:27 that makes sense.. thanks :) 23:21:40 ihope: Send it to me, I'll add it and /give/ you the .tar.bz2 ;) 23:21:56 Do whatnow? 23:23:27 Send me whatever it is you want added to EgoBot, I'll send you a .tar.bz2 of the latest EgoBot. 23:25:29 I guess that'll work. 23:25:41 Maybe partially sort of. 23:27:45 * ihope runs a tar -cz and hopes that's the right way to do it 23:28:39 You'll want an f there. 23:28:48 Or it'll actually try to write it to a tape ^^ 23:29:47 That defualt has always made me mad 23:30:24 tar: -f: Cannot stat: No such file or directory 23:30:36 That's on tar -cz qubit.py qbf.py -f ./qbf.tgz 23:32:45 tar -zcf qbf.tar.gz 23:37:55 What's wrong with .tgz? :-P 23:40:32 *shrugs* 23:40:35 Just a matter of preference. 23:42:15 * GregorR-L is doubtful that that will work. 23:42:18 * GregorR-L suggests email. 23:43:12 Won't it? 23:43:24 Doesn't seem to be. 23:44:47 Well, it certainly didn't work. 23:45:02 You have an email address, then? 23:45:23 Is it n=GregorR-@192.102.209.4, as my client claims? :-P 23:45:27 lol 2006-12-12: 00:19:16 -!- Sgeo has joined. 01:21:34 -!- GregorR-L has quit ("Leaving"). 02:30:50 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)). 02:34:01 -!- CakeProphet has joined. 03:13:37 -!- CakeProphet_ has joined. 03:15:12 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)). 03:15:17 -!- CakeProphet_ has changed nick to CakeProphet. 03:33:28 -!- Razor-X has left (?). 03:39:38 -!- Sgeo has changed nick to Sgeo|Win98destro. 03:39:49 -!- Sgeo|Win98destro has changed nick to DestroyerOfWin98. 04:58:46 -!- CakeProphet has quit (Read error: 113 (No route to host)). 06:06:52 -!- DestroyerOfWin98 has quit (Read error: 110 (Connection timed out)). 06:13:39 -!- calamari has quit ("Leaving"). 06:49:29 -!- anonfunc has joined. 06:49:47 -!- anonfunc has quit (Remote closed the connection). 06:49:54 -!- anonfunc has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:24:52 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 08:44:14 -!- SimonRC has joined. 09:49:42 -!- ShadowHntr has quit ("End of line."). 11:30:16 -!- lindi-_ has joined. 11:39:05 -!- lindi- has quit (Read error: 104 (Connection reset by peer)). 13:34:45 -!- jix_ has joined. 14:26:34 -!- jix__ has joined. 14:35:03 -!- jix_ has quit (Read error: 110 (Connection timed out)). 15:17:49 hmm... esolang wiki should be updated to mediawiki 1.6 (or greater, if php 5 is available)? 16:21:37 -!- GregorR-L has joined. 16:23:20 -!- tgwizard has joined. 17:00:24 -!- lindi-_ has quit (Read error: 131 (Connection reset by peer)). 17:04:03 -!- lindi- has joined. 18:32:48 tokigun: what new capabilities would that give us? 18:54:00 -!- ShadowHntr has joined. 19:20:31 RodgerTheGreat: Security would probably be the biggest bonus, esolang's pretty old 19:20:39 hm 20:40:40 -!- ihope_ has joined. 20:58:00 -!- ihope has quit (Connection timed out). 21:21:38 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:55:03 -!- Rugxulo has joined. 22:07:07 -!- Sgeo has joined. 22:07:53 -!- Rugxulo has left (?). 22:10:40 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 22:22:38 -!- GregorR-L has joined. 22:33:38 -!- tgwizard has quit ("Leaving"). 22:54:43 -!- clog has joined. 22:54:43 -!- clog has joined. 22:55:42 -!- ihope_ has quit (sterling.freenode.net irc.freenode.net). 23:47:12 -!- CakeProphet has joined. 2006-12-13: 00:06:46 -!- lindi- has quit (Read error: 113 (No route to host)). 00:09:20 -!- lindi- has joined. 01:35:25 -!- GregorR-L has quit ("Leaving"). 02:06:00 -!- anonfunc has quit. 02:06:19 -!- anonfunc has joined. 02:06:29 -!- ShadowHntr has quit (Client Quit). 03:16:23 -!- anonfunc has quit (Remote closed the connection). 03:48:05 -!- CakeProphet has quit ("haaaaaaaaaa"). 03:50:57 RodgerTheGreat, (sorry for late) sekhmet is right; using unmaintained software or version is quite dangerous. 03:52:13 -!- Mequalspi has joined. 03:52:19 i think 1.6.x branch is enough for esowiki though -- it is the lowest major version currently maintained. 03:52:58 -!- Mequalspi has quit (Client Quit). 04:23:12 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 04:28:12 -!- ShadowHntr has joined. 05:17:11 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 05:18:57 -!- ShadowHntr has joined. 06:09:56 -!- ShadowHntr has quit (Client Quit). 06:10:23 -!- sekhmet_ has joined. 06:11:03 -!- sekhmet has quit (Nick collision from services.). 06:11:06 -!- sekhmet_ has changed nick to sekhmet. 06:11:44 -!- okokoko has joined. 06:11:44 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 07:48:11 -!- pgimeno has quit (Read error: 131 (Connection reset by peer)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:27 -!- pgimeno has joined. 08:07:25 -!- wooby has joined. 10:16:13 -!- wooby has quit. 12:30:15 -!- ihope has quit (Connection timed out). 12:39:54 -!- ivan` has quit (Read error: 104 (Connection reset by peer)). 13:59:36 -!- jix_ has joined. 14:26:10 -!- jix__ has joined. 14:34:14 -!- jix_ has quit (Read error: 110 (Connection timed out)). 15:35:20 -!- wooby has joined. 16:06:19 -!- wooby has quit (Read error: 60 (Operation timed out)). 17:03:38 -!- tgwizard has joined. 17:57:43 -!- GregorR-L has joined. 18:49:21 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)). 18:49:44 -!- GregorR-L has joined. 18:57:13 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 18:59:12 -!- pgimeno has joined. 20:59:04 -!- clog has joined. 20:59:04 -!- clog has joined. 21:01:34 -!- ihope_ has joined. 21:01:40 -!- ihope_ has changed nick to ihope. 21:09:43 -!- calamari has joined. 21:09:52 hi 21:31:22 howdy 21:42:37 -!- ShadowHntr has joined. 22:06:59 -!- tgwizard has quit (Remote closed the connection). 22:18:35 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:43:13 -!- oerjan has joined. 22:46:38 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 22:48:56 -!- oerjan has quit ("Leaving"). 22:57:22 -!- CakeProphet has joined. 23:35:12 -!- GregorR-L has joined. 23:41:35 -!- maverickbna has joined. 23:42:29 -!- ShadowHntr has quit (Nick collision from services.). 23:42:33 -!- maverickbna has changed nick to ShadowHntr. 23:50:55 -!- pikhq has joined. 23:51:49 -!- pikhq has quit (Client Quit). 23:52:02 -!- pikhq has joined. 2006-12-14: 00:23:05 -!- CakeProphet has quit (Read error: 131 (Connection reset by peer)). 01:05:01 -!- Sgeo has joined. 01:31:48 -!- GregorR-L has quit (" HydraIRC -> http://www.hydrairc.w00t <- IRC for annoying quit-spamming bastards"). 01:49:42 -!- RodgerTheGreat has quit. 01:55:54 -!- RodgerTheGreat has joined. 01:57:07 -!- RodgerTheGreat has quit (Client Quit). 01:57:35 -!- RodgerTheGreat has joined. 02:20:24 -!- Rugxulo has joined. 03:28:33 -!- pikhq has quit ("leaving"). 03:43:35 -!- Sgeo has quit (Remote closed the connection). 04:34:47 -!- Rugxulo has left (?). 05:23:54 -!- GregorR-L has joined. 06:00:10 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:18:06 -!- ihope has quit (Read error: 104 (Connection reset by peer)). 08:18:33 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 08:32:15 -!- ShadowHntr has quit ("End of line."). 15:28:57 -!- jix_ has joined. 16:26:20 -!- ptitz has joined. 16:26:43 -!- ptitz has left (?). 17:28:10 -!- GregorR-L has joined. 19:13:29 -!- Arrogant has joined. 19:18:28 -!- tgwizard has joined. 19:18:31 * SimonRC laughs at a guy online who claims to be suprised that _Apocalypse Now_ was against the Vietnam war. 19:31:39 lol 19:34:25 Co-incidentaly, he is called "Eddy the great". 19:36:04 hm 19:41:05 I'm not entirely sure how to respond to that. 19:44:33 So I see. 20:21:06 -!- Arrogant has quit ("Leaving"). 20:28:03 -!- f8ejf has joined. 20:28:10 -!- f8ejf has quit ("Client exiting"). 20:28:27 -!- f8ejf has joined. 20:28:35 -!- f8ejf has left (?). 21:53:07 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)). 21:56:52 -!- ShadowHntr has joined. 22:04:47 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:08:46 -!- pgimeno has joined. 22:18:04 -!- tgwizard has quit (Remote closed the connection). 22:27:03 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 22:33:09 -!- GregorR-W has joined. 22:54:30 -!- GregorR-L has joined. 22:55:38 -!- GregorR-W has quit ("Chatzilla 0.9.77 [Firefox 2.0/0000000000]"). 23:42:20 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 23:45:31 -!- GregorR-L has joined. 23:52:12 -!- ivan` has joined. 2006-12-15: 00:32:09 * SimonRC goes 00:35:13 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 00:41:31 -!- maverickbna has joined. 00:42:04 -!- GregorR-L has joined. 00:42:19 -!- ShadowHntr has quit (Nick collision from services.). 00:42:47 -!- maverickbna has changed nick to ShadowHntr. 01:02:30 woot, closures in C 01:12:08 -!- pikhq has joined. 01:15:04 one sec, and I'll have some code 01:26:38 -!- GregorR-L has quit ("HydraIRC -> http://www.hydrairc.w00t <- IRC for annoying quit-spamming bastards"). 01:31:22 I've done it! 01:32:10 bsmntbombdood.mooo.com/testclosure.c 01:32:51 or even http://bsmntbombdood.mooo.com/testclosure.c 01:34:03 It even compiles without any warnings 01:35:11 I feel naughty 03:42:07 -!- calamari has joined. 04:51:01 -!- wooby has joined. 05:04:09 -!- calamari has quit ("Leaving"). 05:17:28 -!- pikhq has quit (Read error: 110 (Connection timed out)). 05:37:11 -!- calamari has joined. 05:49:11 -!- calamari has quit ("Leaving"). 05:49:47 -!- calamari has joined. 06:19:43 -!- GregorR-L has joined. 06:20:31 -!- calamari has quit ("Leaving"). 06:32:52 -!- ShadowHntr has quit ("End of line."). 07:09:02 -!- tgwizard has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:00 -!- tgwizard has quit (Remote closed the connection). 08:04:15 -!- GregorR-L has quit ("HydraIRC -> http://www.hydrairc.w00t <- IRC for annoying quit-spamming bastards"). 08:47:18 -!- anonfunc has joined. 09:59:07 bsmntbombdood, what platform did you use? linux? 10:40:40 what OS* 10:48:35 -!- ivan` has quit (" Want to be different? HydraIRC -> http://www.hydrairc.com <-"). 11:27:59 -!- ivan` has joined. 11:39:43 -!- ivan` has left (?). 14:02:34 -!- calamari has joined. 14:04:34 hi 14:04:44 hello 14:10:47 lo 14:45:37 -!- calamari has quit ("Leaving"). 14:54:09 -!- DRMacIver has quit (Read error: 104 (Connection reset by peer)). 14:58:41 -!- DRMacIver has joined. 15:16:52 -!- woggle has joined. 15:45:53 -!- GregorR-L has joined. 16:21:06 -!- jix_ has joined. 16:26:25 * SimonRC finds superdickery.com. Slogan: "Superman is a dick". 16:28:24 ooh, he is evil: 16:28:25 http://www.superdickery.com/dick/17.html 16:31:24 -!- woggle has quit (Connection timed out). 16:36:06 Superdickery = fun :) 16:51:33 * SimonRC goes 17:19:03 -!- Darksun has joined. 17:19:46 -!- Darksun has quit (Client Quit). 18:59:43 -!- ShadowHntr has joined. 19:03:27 -!- GregorR-L has quit (Read error: 110 (Connection timed out)). 19:17:01 -!- GregorR-W has joined. 20:39:06 * SimonRC listens to _The Now Show_. 20:39:07 Yay! 20:39:14 http://www.bbc.co.uk/radio4/comedy/nowshow.shtml 20:39:20 (try it) 20:44:46 tokigun: yes, I tested it on linux 20:45:05 Shouldn't be platform specific though 20:46:46 * bsmntbombdood though it was interesting 20:48:36 yay for c! 20:51:57 bsmntbombdood, i'm not sure, but i think your code may be not portable 20:52:27 Why not? 20:52:29 (at first i expected your code will not work in win32, but it works ;) 20:53:32 there could be an architecture that doesn't allow to execute instructions in malloc'd memory 20:53:55 mmm 20:54:02 OpenBSD W ^ X 20:55:33 Think there's a way to undo that 20:57:22 mprotect 20:57:35 PROT_EXEC | PROT_READ 20:58:23 -!- CakeProphet has joined. 20:59:04 I think 21:13:47 * SimonRC swears at bsmntbombdood's ugly hack for a bit. 21:14:01 hehe 21:14:22 I thought it was pretty cool 21:15:53 First-clas functions, more literally than usually meant. 21:17:03 :) 21:18:20 My friends elsenet hate it. 21:19:11 elsenet? 21:19:14 Maybe you should try writing some of the common HoF, then write an IOCCC entrant in a functional style. 21:19:32 bsmntbombdood: yeah, meaning "somewhere else on the net". 21:19:42 What is HoF? 21:19:50 higher-order functions 21:20:09 oh 21:20:48 There should be some better way to find the offset of a variable inside a function without using a sentinal 21:21:02 you could say that 21:21:22 how about implementing standard combinators? :) 21:21:50 And "int closure" isn't a closure. It's kinda a captured variable. 21:22:36 That code segfaults on openbsd 21:23:13 no shit 21:25:59 gdb segfaults when trying to debug it O.o 21:26:57 heh 21:29:51 Well, my hackery is cool 21:31:48 It seems several pograms disagree. ^^^ 21:32:46 pogram? 21:32:58 program? 21:33:14 OTOH, it works on my machine. 21:41:30 segfaultage removed 21:41:40 mprotect(newfunc, size, PROT_WRITE | PROT_READ | PROT_EXEC); 21:41:42 how? 21:41:50 heh 21:43:36 So it is portable 21:43:55 heh 21:46:30 take that, doubters 21:49:20 heh 22:00:00 :-S http://www.propeller-island.de/rooms_neu/room_detail/23/index.php 23:17:23 -!- Sgeo has joined. 23:35:29 * SimonRC goes to bed 23:41:21 -!- pikhq has joined. 23:45:08 'Lo. 23:47:27 Hi 2006-12-16: 00:23:39 -!- GregorR has quit (Connection timed out). 01:35:59 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 01:41:47 hmm.. Python seems to be popular with scientists and researchers... 01:58:29 Why do you say that? 03:08:32 -!- sekhmet has quit ("next stop: hard drive!"). 04:36:20 -!- ldlework has joined. 04:37:15 Is racecar a palindrome? 04:37:29 Clearly. 04:45:13 -!- cybercobra has joined. 05:00:20 -!- Arrogant has joined. 05:35:16 -!- Sgeo has quit (Remote closed the connection). 06:17:52 -!- cybercobra has left (?). 06:55:29 well i'm off 06:55:29 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 07:26:58 -!- pikhq has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:05:51 -!- GregorR-W has quit (Remote closed the connection). 08:06:19 -!- GregorR-W has joined. 08:51:46 -!- CakeProphet has quit (Read error: 131 (Connection reset by peer)). 09:07:58 -!- Arrogant has quit ("Leaving"). 10:02:36 -!- tgwizard has joined. 10:11:27 -!- jix_ has joined. 11:41:44 -!- jix_ has quit ("This computer has gone to sleep"). 13:35:34 -!- mickoko has joined. 13:37:08 -!- mickoko has left (?). 13:37:55 -!- mickoko has joined. 13:38:20 -!- mickoko has left (?). 13:52:44 -!- jix_ has joined. 14:26:37 -!- ldlework has quit (Read error: 110 (Connection timed out)). 14:57:03 -!- Asztal has joined. 15:06:47 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 16:44:40 -!- pikhq has joined. 17:37:36 -!- Sgeo has joined. 17:48:15 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 17:49:14 -!- pikhq_ has joined. 17:49:14 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 18:21:32 -!- ShadowHntr has joined. 18:45:58 -!- Sph1nx has joined. 18:46:14 -!- Sph1nx has quit (Read error: 104 (Connection reset by peer)). 19:01:28 -!- wooby has quit. 19:30:48 -!- Sukoshi has joined. 19:33:59 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 19:37:08 -!- pgimeno has joined. 19:38:32 -!- pikhq_ has changed nick to pikhq. 19:41:19 -!- maverickbna has joined. 19:41:55 -!- ShadowHntr has quit (Nick collision from services.). 19:42:35 -!- maverickbna has changed nick to ShadowHntr. 20:14:21 -!- ShadowHntr has quit (Read error: 110 (Connection timed out)). 20:41:05 hm 20:41:43 mh 20:43:07 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 21:15:22 !exec 3["ko"30RndMul"o"SwpAddPrntNlDrp1SubDbl] 21:26:07 -!- CakeProphet has joined. 22:22:58 -!- sekhmet has joined. 22:34:55 * pikhq sighs 22:35:09 * pikhq curses at Egobot's nonexistence 22:40:45 heh 23:04:59 -!- Asztal has joined. 23:10:00 -!- pikhq has quit (Read error: 104 (Connection reset by peer)). 23:10:13 -!- pikhq has joined. 23:11:20 -!- pikhq has quit (Client Quit). 23:49:12 Yikes! Take the scary Christians away! http://www.spinnoff.com/zbb/viewtopic.php?p=453499 23:54:26 Scary indeed 23:54:45 But seriously, don't watch that on youtube, download a torren 23:54:46 t 23:57:07 But, there's a whole generation of people who know nothing of torrent and only demand subpar tasteless YouTube clips! 23:57:23 Will you really deny them of their happiness?! 23:57:32 *subpar quality 23:58:56 yes 23:59:11 bsmntbombdood: you tell me too late 23:59:11 :-( 23:59:29 Is there torrent software for Windows? 23:59:46 You're joking, right? 23:59:48 I'm sure there is 2006-12-17: 00:00:17 * Sukoshi sure hopes SimonRC is joking. 00:01:58 I hope he's joking 00:02:05 Come on, windows? 00:02:39 :P 00:07:59 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 00:08:12 If you have a fd for a new file, and mmap memory of that fd to the desired length of the new file (bigger than the size of the file now, obviously) and write to the mmap'd memory, does it write correctly? 00:10:33 Never understood mmap 00:11:21 Maps a file's contents in virtual memory to a pointer, with the space occupying a desired length. 00:11:52 So writes to the memory change the file? 00:12:40 -!- wooby has joined. 00:12:46 -!- wooby has quit (Remote closed the connection). 00:15:58 Yup. 00:16:32 cool 00:16:43 portable? 00:16:50 POSIX compatible. 00:17:13 I mean windows 00:17:20 * bsmntbombdood hides 00:17:21 I have no idea. 00:17:47 Windows doesen't really have much to hook onto the lower portions of the OS, so I have no idea. 00:23:36 Windows is terrible 00:25:45 * SimonRC goes to bed. 00:25:52 Why would one use mmap? 00:52:45 -!- wooby has joined. 00:53:48 -!- GregorR-Grrr has joined. 00:53:55 Hi * 00:53:59 * GregorR-Grrr 's internet is down :( 00:54:10 I think I'll bring EgoBot back online when it's back up. 00:54:45 -!- GregorR-Grrr has quit (Client Quit). 01:02:13 HA HA NO INTERNETS FOR YOU 01:15:04 for the record, Windows also has its own memory mapping functions (I think that glibc for MinGW implements POSIX mmap) 01:23:26 -!- tgwizard has quit (Remote closed the connection). 01:35:35 -!- ShadowHntr has joined. 01:52:11 -!- ShadowHntr has quit (Client Quit). 03:13:00 -!- GreaseMonkey has joined. 03:17:30 bsmntbombdood: Because IO with mmap is faster than IO without. 03:18:00 Plus it's easier to follow pointer arithmetic than reading arithmetic, just IMO. 04:15:46 -!- thematrixeatsyou has joined. 04:16:57 -!- GreaseMonkey has quit (Nick collision from services.). 04:17:06 -!- GregorR-W has quit (Remote closed the connection). 04:17:22 -!- thematrixeatsyou has changed nick to GreaseMonkey. 04:27:53 -!- wooby has quit. 04:35:03 -!- anonfunc has quit (Read error: 110 (Connection timed out)). 05:22:09 -!- wooby has joined. 05:22:19 -!- wooby has quit (Client Quit). 05:32:13 -!- anonfunc has joined. 05:38:34 hmm... 05:38:45 I'm making classes in Python that emulate the various computational classes. 05:39:16 I've got finite state automata.... but I need to ponder how to implmenet cellular automato. 05:39:18 a 05:43:30 CakeProphet, use resizable array or dictionary 05:44:29 dictionary could be slow but it is easy for implementing such things 05:44:41 >.> 05:44:52 Python lists are resizable by default. 05:44:58 ...you don't even specify a size for them. 05:45:34 well, but if you need more speed... ;) 05:45:58 I know -how- to spatially organize it... 05:46:14 but how do I allow the programmer to specify -what- is considered to be a cells "neighborhood" 05:46:27 as not all CA use the "8 adjacent cells" thing. 05:46:33 aha 05:46:36 i see. 05:48:20 The states of each of a cells neighbors would be passed to a "transition function"... that determines what the state of the cell becomes based on that list. 05:50:22 the transition function is user-defined. 05:51:17 if both arbitrary transition function and infinite cells are allowed, it seems difficult to update the state of cells 05:53:45 -!- wooby has joined. 05:53:53 i think you may need additional functions, for example list of affected cells when a state of one cell is changed 05:56:32 -!- wooby has quit (Client Quit). 05:58:53 tokigun, The transition function would simply be called on the neighborhoods of the cells neighbors. 05:59:06 so you get a domino effect... like a CA 06:00:43 but I still don't have an easy way to define a cells neighborhood... other than the usualy 8-adjacent-cells. 06:01:10 hmm i thought transition function could be any computable function... right? 06:02:37 nope, nevermind. 06:03:35 it can be. 06:03:46 any function that accepts a list of cells. 06:16:09 -!- ivan`_ has joined. 06:16:24 -!- ivan`_ has left (?). 06:17:25 aha 06:17:42 A function that determines a cells neighborhood. 06:18:21 the return value of the function is a list of the positions of all the cells in that cell's neighborhood. 06:29:29 -!- thematrixeatsyou has joined. 06:29:38 -!- thematrixeatsyou has left (?). 06:59:46 gonna go now, cya 06:59:53 -!- GreaseMonkey has quit ("Connection error 130 (Monkey too greasy)"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 10:21:07 -!- bd_ has joined. 10:37:02 -!- ShadowHntr has joined. 10:44:24 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 11:43:50 -!- anonfunc has left (?). 11:56:41 -!- tgwizard has joined. 12:04:21 -!- jix_ has joined. 12:15:10 CakeProphet: assuming you're not aiming towards supporting a radius-2+ neighbourhood, my guess is that the transition function can be passed all 9 cells and decide by itself which ones to ignore 12:15:54 e.g. just ignore nw, ne, sw, se for a von-Neumann neighbourhood 12:56:11 -!- Asztal has joined. 13:53:27 -!- DRMacIver has left (?). 16:29:05 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 16:46:50 -!- jix_ has quit ("This computer has gone to sleep"). 17:37:22 -!- fizbin has joined. 19:16:10 -!- fizbin has quit (Read error: 104 (Connection reset by peer)). 19:16:19 -!- fizbin has joined. 19:33:03 Is it counterproductive to mmap a file, then munmap it, only to write to it later? 19:34:25 -!- CakeProphet has quit ("haaaaaaaaaa"). 19:49:29 -!- tgwizard has quit (Connection timed out). 19:49:57 -!- Asztal has joined. 20:20:23 -!- oerjan has joined. 20:24:27 -!- Asztal has quit (Read error: 113 (No route to host)). 20:25:32 Sukoshi: I saw your mmap question in the logs 20:26:14 the man page seems to indicate that extra memory is not written to the file 20:27:56 "For a file that is not a multiple of the page size, the remaining memory is zeroed when mapped, and writes to that region are not written out to the file. 20:38:18 -!- tgwizard has joined. 20:57:36 Oh. 20:57:38 Poop. 20:58:27 on the other hand, since you have to give the length in advance, why not just enlarge the file itself first? 20:58:41 Because I don't want to enlarge the file. 20:59:09 If the transfer interrupts, you'll just have a large zero-padded file, which I don't really want. 20:59:18 I'd rather have a file with no padding. 20:59:58 ic 21:18:08 -!- jix_ has joined. 21:21:31 -!- GreaseMonkey has joined. 21:29:13 -!- CakeProphet has joined. 21:46:08 -!- wooby has joined. 21:52:22 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:53:07 -!- ihope has joined. 21:56:13 -!- Rugxulo has joined. 22:00:18 -!- Asztal has joined. 22:08:07 -!- pikhq has joined. 22:24:53 -!- Rugxulo has quit ("Do fish get thirsty?"). 22:40:01 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 22:53:39 the downside to wikis: when you are reading something that is _not_ a wiki, see a spelling error, and start looking for the edit button... 22:57:12 -!- tgwizard has quit (Remote closed the connection). 22:58:10 (the downside to the internet: i am probably the 5190357th person to make that observation) 22:59:04 Heheh. 23:00:42 -!- ShadowHntr has joined. 23:18:07 * ihope uses the /edit command to capitalize everything oerjan said 23:18:08 :-P 23:18:59 hey, that's a derived work! i demand royalties :) 23:19:40 * bsmntbombdood uses /ctcp ihope STAB to stab ihope 23:19:43 * ihope gives oerjan a crown and robes and everything 23:19:47 * oerjan was stupid enough to actually try /help edit ... 23:20:45 bsmntbombdood: right! Off With His Head, We Say 23:24:07 Uh oh... 23:24:13 * ihope runs away 23:25:26 * oerjan realizes royalty can be dangerous to his surroundings, and removes the regalia 23:27:34 royalty: a Weapon of Mass Destruction 23:28:19 * oerjan hopes the king and queen of Norway are not Not Amused 23:30:03 * oerjan thus wishes to point out that presidency is also a WMD. 23:35:17 -!- maverickbna has joined. 23:35:54 -!- ShadowHntr has quit (Nick collision from services.). 23:36:23 -!- maverickbna has changed nick to ShadowHntr. 23:37:45 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)). 23:44:22 -!- maverickbna has joined. 23:45:28 -!- ShadowHntr has quit (Nick collision from services.). 23:45:38 -!- maverickbna has changed nick to ShadowHntr. 2006-12-18: 00:16:06 -!- ShadowHntr has quit (Connection timed out). 00:30:28 -!- Haarfager has joined. 01:13:17 -!- wooby has quit. 01:14:40 -!- sentinel has joined. 01:15:07 -!- sentinel has changed nick to ShadowHntr. 01:15:16 -!- ShadowHntr has quit (Remote closed the connection). 01:15:23 -!- ShadowHntr has joined. 01:23:29 -!- fizbin has quit ("Chatzilla 0.9.74 [Firefox 1.5.0.8/2006102516]"). 01:37:44 -!- Elvang has joined. 01:38:10 -!- Elvang has quit (Client Quit). 01:53:47 -!- calamari has joined. 01:54:48 hi 01:55:38 hi 02:28:44 -!- pikhq has quit ("leaving"). 02:44:24 -!- Furious_joe has joined. 02:44:51 please say "Hello world" 02:48:55 -!- ivan` has joined. 02:52:09 -!- Furious_joe has quit (Remote closed the connection). 03:16:23 -!- maverickbna has joined. 03:17:08 -!- ShadowHntr has quit (Nick collision from services.). 03:17:16 -!- maverickbna has changed nick to ShadowHntr. 03:47:29 -!- ShadowHntr has quit ("End of line."). 04:11:28 -!- wooby has joined. 04:18:18 -!- oerjan has quit ("Later"). 04:32:23 -!- CakeProphet has quit (Read error: 113 (No route to host)). 04:43:36 -!- Haarfager has quit. 04:50:59 -!- JazzDonkey has joined. 05:08:51 -!- JazzDonkey has quit ("Chatzilla 0.9.75 [Firefox 1.5.0.8/2006102516]"). 05:23:53 -!- eff has joined. 05:24:46 Please show me the GCD of 54 and 30 05:26:14 -!- eff has quit (Client Quit). 05:48:48 -!- Arrogant has joined. 06:17:10 No. 06:43:49 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:31:31 -!- Arrogant has quit (Read error: 104 (Connection reset by peer)). 09:47:36 -!- dakam has joined. 09:54:54 -!- dakam has left (?). 10:55:35 -!- rcxdude has joined. 11:26:19 -!- GroovyPigThing has joined. 12:09:19 -!- Toymakerii has joined. 12:09:58 -!- Toymakerii has quit (Client Quit). 12:13:42 -!- Toymakerii has joined. 12:15:28 -!- GroovyPigThing has quit ("( www.nnscript.de :: NoNameScript 3.81 :: www.XLhost.de )"). 12:18:00 -!- Toymakerii has left (?). 12:28:04 -!- ihope has quit (Read error: 110 (Connection timed out)). 15:15:48 -!- jix_ has joined. 15:45:03 -!- Asztal has joined. 16:10:10 -!- sync- has joined. 16:11:33 * sync- is in doubt if he should ask for someone to type the complete 99 bottles lyrics ;p 16:19:02 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 16:19:57 -!- GregorR-W has joined. 16:44:05 -!- wooby_ has joined. 16:44:49 -!- wooby has quit (Read error: 104 (Connection reset by peer)). 16:46:09 -!- oerjan has joined. 16:46:12 6 17:07:54 -!- oerjan has quit ("Later"). 17:28:44 -!- GregorR has joined. 17:49:57 Please prove that you are turing complete for me. 17:51:26 +[-] 18:02:34 is there an epidemy of IRP or some /. article or something? 18:03:48 -[[+>+-]>] 18:07:58 O_O 18:08:02 My home computer is alive!!! 18:08:09 GregorR: YOU'RE A-LIIIIIIIIIIIIIIIIVE 18:09:38 On the other hand, if an op decides to kick GregorR, he won't be alive. 18:27:39 -!- wooby_ has quit. 18:32:40 not so fast, does it respond to ping? 18:33:04 Seems not. 18:33:24 Well, it was briefly up X-P 18:39:10 -!- GregorR has quit (Read error: 110 (Connection timed out)). 18:39:27 -!- GregorR has joined. 19:24:28 -!- Arrogant has joined. 19:58:29 hmmm 20:12:20 -!- tgwizard has joined. 20:49:07 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 20:59:02 Hmm. Has anyone looked at GNU Epsilon? 21:00:39 -!- Arrogant has quit ("Leaving"). 21:38:31 -!- ihope__ has joined. 21:38:33 -!- ihope__ has changed nick to ihope. 22:09:41 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)). 22:09:43 -!- pgimeno_ has joined. 22:09:55 -!- pgimeno_ has changed nick to pgimeno. 22:18:38 -!- CakeProphet has joined. 22:48:10 -!- oerjan has joined. 22:51:54 -!- tgwizard has quit (Remote closed the connection). 23:41:11 I take that as a no? 23:41:51 That would be a no :) 23:42:08 Thank you for your prompt reply :P 23:42:34 早い答でありがとうございます。 23:47:18 -!- wooby has joined. 2006-12-19: 01:23:36 -!- calamari has joined. 01:24:13 -!- wooby has quit. 01:49:07 -!- fizbin has joined. 02:21:23 -!- pikhq has joined. 02:23:02 -!- fizbin has quit ("Chatzilla 0.9.74 [Firefox 1.5.0.8/2006102516]"). 03:13:11 -!- GregorR has quit (Read error: 110 (Connection timed out)). 03:14:48 -!- GregorR has joined. 03:38:08 -!- oerjan has quit ("Good night"). 03:38:54 -!- ShadowHntr has joined. 04:05:50 -!- CakeProphet has quit (No route to host). 04:17:41 -!- wooby has joined. 04:17:57 -!- wooby has quit (Client Quit). 04:38:00 -!- anonfunc has joined. 04:48:16 -!- mick_ has joined. 04:48:38 hello 04:49:37 anyone there> 04:49:40 ? 04:50:23 -!- mick_ has quit (Client Quit). 04:58:21 -!- GregorR has quit (Read error: 60 (Operation timed out)). 04:59:30 -!- pikhq has quit (Read error: 110 (Connection timed out)). 05:09:57 -!- GregorR has joined. 05:17:31 Well, his patience lasted him one minute, and then he left. 05:17:44 zomg GregorR 05:28:10 Yeah, I was gone all weekend. 05:28:12 It was omgwtf. 05:28:35 Comcast + windstorm = AH CONT HONDLE THUH ENGINES SIR! 05:28:39 BBQ! 05:46:22 -!- graue has joined. 05:49:31 -!- calamari has quit ("Leaving"). 07:18:33 -!- anonfunc has quit. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:37 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)). 08:04:02 -!- GregorR-W has quit (Remote closed the connection). 08:04:32 -!- GregorR-W has joined. 08:10:50 -!- ShadowHntr has joined. 08:12:53 -!- anonfunc has joined. 08:36:22 -!- wooby has joined. 09:10:56 -!- sync- has quit ("leaving"). 10:22:06 -!- ShadowHntr has quit (Client Quit). 11:49:48 -!- ivan`_ has joined. 12:08:00 -!- ivan` has quit (Read error: 110 (Connection timed out)). 12:08:01 -!- ivan`_ has changed nick to ivan`. 12:24:37 -!- ivan`_ has joined. 12:32:42 -!- jix_ has joined. 12:40:44 -!- GregorR has quit (Read error: 110 (Connection timed out)). 12:41:24 -!- GregorR has joined. 12:41:35 -!- ivan` has quit (Read error: 110 (Connection timed out)). 12:41:35 -!- ivan`_ has changed nick to ivan`. 15:01:56 -!- GregorR has quit (Read error: 110 (Connection timed out)). 15:04:37 -!- GregorR has joined. 15:31:08 -!- tgwizard has joined. 17:10:12 -!- Asztal has joined. 17:52:13 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 18:28:56 -!- graue has quit ("Leaving"). 18:47:31 -!- wooby has quit. 19:12:48 I think that trying to fit the whole of _Hogfather_ in 3 hours created some confusion. 19:35:19 -!- rcxdude has quit ("beware of the... arggghhhhh"). 19:43:36 -!- anonfunc has quit (Read error: 110 (Connection timed out)). 20:03:26 -!- wooby has joined. 20:04:16 -!- wooby has quit (Client Quit). 20:51:59 -!- ShadowHntr has joined. 20:56:50 ShadowHntr: hi 20:57:03 howdy 21:34:37 -!- GregorR-W has changed nick to InedibleBulk. 21:38:23 -!- ihope__ has joined. 21:39:03 -!- ihope__ has changed nick to ihope_. 21:45:56 -!- GregorR has quit (Connection timed out). 21:48:31 -!- GregorR has joined. 21:55:09 -!- ihope has quit (Connection timed out). 22:01:20 -!- CakeProphet has joined. 22:01:25 -!- InedibleBulk has changed nick to GregorR-W. 22:14:28 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:17:40 -!- ehempel has joined. 22:34:34 -!- ehempel has quit ("CGI:IRC (EOF)"). 22:36:33 -!- tgwizard has quit (Remote closed the connection). 22:39:16 -!- oerjan has joined. 22:55:45 -!- ivan` has quit (Read error: 104 (Connection reset by peer)). 23:00:23 -!- ivan` has joined. 23:38:19 -!- bd_ has left (?). 2006-12-20: 00:13:14 -!- Sgeo has joined. 00:18:55 grar 00:19:03 I hate it when people say HTML isn't a programming language 00:25:49 * SimonRC goes to bed 00:26:06 bsmntbombdood: It's a language, but not a *programming* language. 00:26:14 Yes it is 00:26:20 no it isn't 00:26:36 "A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. " 00:26:36 You can't calculate anything with it 00:26:47 where is that from? 00:26:48 HTML controls an html renderer 00:27:02 wikipedia 00:27:02 HTML is a markup language, not a programming language. 00:27:06 Your definition is incomplete. 00:27:18 Programming languages don't have to be turing complete 00:27:25 No, they don't. 00:27:31 Note: a programming language need not be turing-complete 00:27:50 "A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer." < true 00:28:04 "All artificial languages that can be used to control the behavior of a machine, particularly a computer are programming languages." < false 00:28:04 A rendering engine is a machine 00:28:32 Epigram is clearly a programmming language, even though it is not generally recursive, and htus not Turing-Complete. 00:29:24 Anyway, having taken the bait, I should go to bed. 00:29:31 * SimonRC goes to bed 00:30:43 HTML provides no branch or loop semantics, which are IMHO a requirement for anything to be considered a programming language. 00:33:04 By the way, on that same page of Wikipedia: "Non-computational languages, such as markup languages like HTML or formal grammars like BNF, are usually not considered programming languages." 01:30:26 -!- GregorR-W has quit ("Chatzilla 0.9.77 [Firefox 2.0/0000000000]"). 02:45:39 -!- ihope_ has quit (Connection timed out). 02:51:59 -!- oerjan has quit ("Good night"). 03:36:50 -!- pikhq has joined. 04:02:38 require("stdio.plof"); stdio.StdOut.writeln("Plof lives!"); 04:06:50 string ow! "Making BFM a better compiler hurts!" 04:17:49 * bsmntbombdood wrote an irc bot 04:17:59 THAT'S IT 04:18:03 I'm bringing EgoBot back. 04:18:23 Yay! 04:18:39 -!- bsmnt_bot has joined. 04:18:49 Now, can you add BFM support to EgoBot? :p 04:19:03 My bot rocks 04:19:13 !raw PRIVMSG #esoteric :yes i do 04:19:13 yes i do 04:19:15 -!- EgoBot has joined. 04:19:30 zomg 04:19:34 !bfm 04:19:36 Huh? 04:19:37 us bots can get it on 04:19:39 !raw PRIVMSG #esoteric :I'm better. 04:19:40 I'm better. 04:19:54 !raw QUIT 04:20:00 No, I'm better 04:20:09 !help 04:20:12 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 04:20:13 pikhq: You have to match a regex 04:20:14 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 04:20:21 bsmntbombdood: No, really? 04:20:31 Yes, really 04:20:35 -!- GregorR has changed nick to bsmntbombdood2. 04:20:41 nope 04:20:43 !raw QUIT 04:20:46 Darn :P 04:20:48 -!- bsmntbombdood2 has changed nick to GregorR. 04:20:58 "^:bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG \S* :!exec" 04:21:03 is the regex 04:21:18 * pikhq has a better regex. . . 04:21:24 "*" 04:21:27 oops, "^:bsmntbombdood!n=gavin@about/copyleft/user/bsmntbombdood PRIVMSG \S* :!raw" 04:21:31 It's anarchy! 04:21:48 pikhq: !ctcp has that regex 04:22:06 !ctcp #esoteric ACTION is glad 04:22:06 * bsmnt_bot is glad 04:22:08 Huh? 04:22:57 That could probably be abused. 04:23:02 Yeah 04:23:04 * pikhq looks for abusive ctcps 04:23:50 !exec self.register_raw("^pikhq.*!%s" % "zomgquit", lambda x : True) 04:23:54 Huh? 04:23:56 now pikhq can kill it 04:23:58 !ctcp #esoteric PING 04:24:00 Huh? 04:24:09 Repeat that a few times == DDOS 04:24:19 hehe 04:24:55 pikhq can kill it with !zomgquit 04:25:15 fun 04:25:22 -!- GregorR has changed nick to pikhq_not. 04:25:26 !zomgquit 04:25:28 Huh? 04:25:37 :( 04:25:41 hrm 04:25:42 -!- pikhq_not has changed nick to GregorR. 04:25:44 that's interesting 04:26:04 oooops 04:26:41 !exec self.register_raw("^:pikhq.*!%s" % "zomgquit", lambda x : True) 04:26:43 there 04:26:45 Huh? 04:28:46 !exec self.register_raw("^:GregorR.*!%s" % "zomgquit", lambda x : bot.raw("PRIVMSG GregorR :ha ha you can't kill it")) 04:28:48 Huh? 04:29:42 !zomgquit 04:29:45 Huh? 04:29:49 oh darn 04:29:55 :kornbluth.freenode.net 505 bsmnt_bot :Private messages from unregistered users are currently blocked due to spam problems, but you can always message a staffer. Please register! ( http://freenode.net/faq.shtml#privmsg ) 04:30:02 lol 04:30:21 * bsmntbombdood does this part in private message 04:30:55 there 04:31:49 Now you can do it 04:32:15 !zomgquit 04:32:19 Huh? 04:33:18 You got that message, right? 04:33:26 Yeah :P 04:33:37 On an unrelated note, http://www.codu.org/plof/ 04:33:42 * bsmntbombdood is proud of the bot he hacked up in half an hour 04:35:03 Tooo many P languages! 04:36:11 * bsmntbombdood huggles lisp 04:36:28 I think I'm going to re write this bot in lisp 04:36:36 OH NO! 04:36:45 NOT REWRITING! 04:37:03 !zomgquit 04:37:04 -!- bsmnt_bot has quit (Remote closed the connection). 04:37:06 :) 04:37:07 Huh? 04:37:16 hehe 04:37:23 -!- bsmnt_bot has joined. 04:38:17 zomg you kill me 04:38:30 * pikhq recommends you rewrite the bot in Tcl. 04:38:52 With [package require irc], from Tcllib, you've got your work cut out for you. 04:39:41 http://bsmntbombdood.mooo.com/ircbot.py is teh codz0rs 04:40:04 Ugly, I know 04:40:20 pikhq: The phrase, "You've got your work cut out for you" means "You have a lot of work" 04:42:09 Oh. 04:42:53 The whole point was to do it from scratch 04:46:06 GregorR, do you have an implementation of plof? 04:47:21 Yeah, one. 04:47:31 In D, so you probably can't [easily] use it ^^ 04:47:41 hmm 04:48:52 looks interesting 04:48:58 var B = A + [ funcb = { println("Bye!"); } ]; 04:48:59 ?? 04:49:29 B is a new class the inherits from A? 04:49:33 Inheritance, interface implementation and such are abstracted to object arithmetic. 04:49:41 So basically, yeah. 04:49:44 neat 04:51:14 Want me to compile dplof for you? 04:51:21 Interpreter? 04:51:28 Yeah 04:51:31 yeah 04:51:36 Platform? 04:51:42 x86 linux 04:51:52 One sec. 04:54:19 http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19.tar.gz 04:55:01 It's a sort of crappy parser, so if you get an assertion failure, it's probably unparsable code with no useful error message :) 04:55:37 No reading from stdin? 04:56:27 See module stdio.plof 04:56:37 stdio.StdIn.read[ln] 04:56:42 (More TBA) 04:57:38 -!- bsmntbombdood has left (?). 04:57:42 -!- bsmntbombdood has joined. 04:57:47 I'm not gettin it 04:58:02 Could you be less specific? :) 04:58:13 How do I read code from stdin? 04:58:29 var linefromstdin = stdio.StdIn.readln(); 04:58:39 I mean, the interpreter 04:58:44 OH 04:58:49 Has to be in a file ATM 04:58:52 ok 04:58:58 I suppose I should allow it to read from stdin >_> 05:01:17 hrm 05:01:23 when to use [] and when to use {}? 05:01:33 [] is an object, {} is a function 05:02:48 oh dear 05:02:50 segfault 05:03:12 There's at least one point where I have: *(cast(int *) 0) = 0; 05:03:25 Because it's easier to backtrace than an assert :) 05:03:46 pastebin your code, I'll probably see the issue. 05:04:07 -!- pikhq has quit (Connection timed out). 05:04:16 var A = [main = {println("Hello, World");}] 05:04:23 var test = new(A); 05:04:23 test.main(); 05:04:34 Put a ; after ] 05:04:45 aaaah 05:05:03 picky parser ;) 05:05:12 I think now would be a good time to make some useful error messages for misparses :) 05:05:30 I just assert()'d away anything that couldn't parse :) 05:07:38 Looks interesting so far 05:08:47 -!- Sgeo has quit ("Ex-Chat"). 05:11:51 Do method/function declarations need a semicolon? 05:12:25 Pretty much everything needs a semicolon - there are only statements. 05:12:32 In [], elements are comma-separated. 05:12:55 (I'm considering changing that) 05:13:30 OH - you can have an expression as the only member of a function, with no ;, in which case it's a function that returns the value of that expression. 05:13:43 What's self? 05:14:40 ? 05:14:59 In a method 05:15:11 What is the name of the object 05:15:37 OH ... I thought it was 'this', but I'm starting to think I may not have implemented that in dplof 8-X 05:15:49 Shoot ... I may have forgotten to put that in >_> 05:16:11 Heh <_<, 05:19:39 Nope, no this 05:19:46 Yeah, I'm fixing it as we speak. 05:26:12 Done, making you a new binary. 05:28:10 http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2.tar.gz 05:33:49 I think I inexplicably included some rampantly-incomplete core/*.plof files in that tarball, but no worries :P 05:35:15 mmmk 05:36:09 * bsmntbombdood will look more tommorow, but must sleep now 05:36:16 Finals tommorow :( 05:37:38 !quit 05:37:38 -!- bsmnt_bot has quit. 05:37:40 Huh? 05:38:57 G'luck 05:42:45 woot: 05:42:53 var A = [ 05:42:53 foo = { 05:42:53 println("toplevel foo"); 05:42:53 this.foo = { 05:42:55 println("midlevel foo"); 05:42:58 this.foo = { 05:43:00 println("insidelevel foo"); 05:43:03 } 05:43:05 } 05:43:10 } 05:43:13 ]; 05:43:15 05:44:09 Yup, that's one of those nasty things you can do :P 05:44:18 Incidentally, "this." isn't necessary there. 05:44:38 (Part of why I didn't remember to put in "this" is that it's not strictly necessary) 05:44:43 oh 05:44:46 (Erm, not with a dot anyway) 05:45:11 If you don't put a "var" before something, it will look for it in parent scopes, not create a new one at the current scope. 05:45:26 * bsmntbombdood likey 05:45:45 Basically, you need to explicitly declare all variables *shrugs* 05:46:29 How come methods aren't? 05:47:01 They are - variables in objects, however, have a different syntax entirely. 05:47:31 Variables in [] are just comma-separated variables - it doesn't take full expressions, so it's not ambiguous. 05:48:49 I think i can explain that better: 05:48:59 In {} you have code: statements, expressions, whatever. 05:49:04 In [], you just have a list of variables in that object. 05:50:34 ok really bedtime now 05:50:59 Bye :) 05:56:43 -!- ShadowHntr has quit ("End of line."). 05:59:30 So, is Plof a whole bunch of Flex/Bison? 06:01:05 Nah, custom lexer/parser. 06:01:21 Aha. A real programmer, huh? ;) 06:01:25 It only has three intrinsic constructs, so parsing is simple. 06:01:29 Heh 06:01:45 I'm attemping to follow a Ruby discussion in Japanese. 06:02:13 And how's your Japanese? :) 06:02:30 Actually, enough to follow most of the conversation without resorting to the dictionary. 06:03:03 The computer words and some other stuff get me. 06:03:19 Apparently a packed Ruby Struct is a good structure to use for something like an address book. 06:03:29 I think vocabulary is the reason I never learned another language: grammar I can do, but vocabulary is just impossible X_X 06:03:47 I crunch some 60 words a day for a while, then go on a massive review. 06:03:57 I'm in a review phase now. 06:10:46 Meh. Obviously Japanese people aren't as clean as they're advertised to be. 06:34:48 -!- Sukoshi has changed nick to Razor-X. 06:34:55 -!- Razor-X has changed nick to Sukoshi. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:25:55 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)). 09:26:25 -!- CakeProphet has joined. 09:35:14 -!- CakeProphet has quit (Connection reset by peer). 09:35:19 -!- CakeProphet_ has joined. 09:35:23 -!- CakeProphet_ has changed nick to CakeProphet. 09:37:43 -!- CakeProphet_ has joined. 09:38:23 -!- CakeProphet has quit (Read error: 131 (Connection reset by peer)). 09:38:24 -!- CakeProphet_ has changed nick to CakeProphet. 10:02:25 -!- Asztal has joined. 10:31:59 -!- CakeProphet has quit ("haaaaaaaaaa"). 10:37:38 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 10:38:07 -!- puzzlet has joined. 10:38:09 -!- puzzlet has quit (Client Quit). 10:38:20 -!- puzzlet has joined. 10:41:04 -!- ihope_ has joined. 12:00:51 -!- has_many_questio has joined. 12:02:25 -!- has_many_questio has left (?). 13:46:10 -!- ore2 has joined. 14:39:52 -!- jix_ has joined. 15:00:33 -!- pikhq has joined. 15:51:29 -!- GregorR-W has joined. 15:53:53 -!- Asztal has quit (Read error: 113 (No route to host)). 16:45:10 -!- PiedotTaste|Lapt has joined. 16:46:54 please say "is this real" 16:46:56 :o 16:46:58 ): 16:47:07 ego? 16:47:38 Please say ":o". 16:47:40 ): 16:47:52 syntax error 16:47:56 :x 16:48:02 wiki lied ): 16:48:06 ERROR: LAZY PROGRAMMERS 16:48:21 lol 16:48:53 Please write this exact line to the channel :o 16:48:56 lol 16:48:56 xD 16:49:10 humbug ): 16:49:13 there goes a time waster ): 16:49:16 -!- PiedotTaste|Lapt has quit ("bai bai."). 17:00:07 ? 17:05:12 -!- bsmnt_bot has joined. 17:05:19 bsmntbombdood: My thoughts exactly :P 17:05:26 omg bot 17:06:03 Snow day! 17:07:45 You live in Colorado? 17:07:52 yeah 17:08:32 Why is your bot in ... I don't even know what country. Belaruse? 17:08:42 Belgium? :P 17:08:43 * pikhq loves this state 17:08:57 It doesn't snow enough 17:09:36 I haven't seen snow in years. 17:09:44 That's terrible! 17:09:58 When it's below freezing, we get freezing rain and sleet. 17:10:04 When it's above freezing, we get rain. 17:11:00 When it's below freezing, we get either snow or cold air. 17:11:21 When it's above freezing, we get either snow, hail, rain, cold air, or warm air. 17:11:23 But the snow is in a vacuum, eh. 17:11:26 Thta's gotta suck. 17:11:30 *That's 17:11:33 mmm snow 17:11:46 When it's below freezing, us Californians wonder what the hell is going on in the world. 17:11:47 I think I'm goign to ski down my street later 17:12:14 Sukoshi: Need an extra "i" for your name to be valid Romanised Japanese. ;) 17:12:36 I do? 17:12:55 ... they ... don't have a "shi" sound? 17:13:05 My IME and xjdic and kinput2 read it correctly. 17:13:13 GregorR-W: Yes, they do. 17:13:27 My IME == mule. 17:13:41 * bsmntbombdood rewrites bsmnt_bot 17:13:55 Sukoshi: The word "sukoshii" has an elongated "i". 17:14:07 Unless you refer to some word that I don't know, that is. :p 17:14:29 My dictionary says Sukoshi, with no extra `i'. 17:14:39 It's a な-adj. 17:14:44 少し 17:15:07 (勝つ) 17:15:16 I could've *sworn* it was an i-adj. 17:15:21 Nope. 17:15:25 What's it mean? 17:15:33 * pikhq needs to get an IME set up. XD 17:15:34 Maybe you're thinking of 小さい 17:15:44 Small quantity, little, few. 17:15:49 Nope. 17:16:58 God. 17:17:06 You're right. I'm horribly wrong. 17:17:42 What IME do you recommend for GNu/Linux? 17:17:53 (and link, please) 17:17:57 Of course, 小さ(な) is also valid ... ;) 17:18:04 kinput2 out of Emacs, mule in Emacs. 17:18:17 Mule is incredibly, because it can switch encodings and everything. 17:18:20 *incredible 17:18:22 Oh. . . It's an Emacs package. 17:18:30 Too bad I don't use Emacs for IRC. 17:18:36 kinput2 then. 17:18:47 kinput2 with canna as your dictionary. 17:18:49 Gnome. 17:19:12 /nick 少し 17:19:13 --- 少し :Erroneous Nickname 17:19:13 kinput2 has nothing to do with KDE. 17:19:17 :( 17:19:26 ... Or any other WM for that matter. 17:19:27 Oh. 17:19:42 No installation candidate in my apt repository. :'( 17:19:52 For kinput2?!?! 17:20:04 Package kinput2 is not available, but is referred to by another package. 17:20:13 Heh. 17:21:05 pikhq: try apt-cache search kinput 17:21:15 it gives me 6 packages 17:21:21 Ah. 17:21:23 kinput2-canna. 17:21:32 There y'are. 17:23:21 Installed. . . 17:23:28 Now to figure out how to get it working. 17:24:10 Run ``kinput2 -canna &'' somewhere. 17:24:39 Then you have to mess with some envars, like LC_ALL, IIRC. 17:24:53 The hell? 17:25:00 $ zsh: command not found: kinput2 ~/gnash/server/asobj 17:25:29 * Sukoshi shrugs. 17:25:33 pikhq: use dpkg -L kinput2-canna to see which files it installed; look for the /usr/bin ones 17:25:46 Mmmf. It's been a while since I've used apt. 17:25:59 I've gotten used to the Slackware way of things, I guess. 17:26:00 /usr/X11R6/bin/kinput2-canna 17:26:31 There we go. 17:26:33 that'd be it, try kinput2-canna 17:26:48 And now. . . 17:28:00 * pikhq isn't getting anything 17:28:28 "When everything fails, it's time to read the manual" 17:28:29 Like I said, restart your X application with your modified envars. 17:28:37 * pikhq does that 17:29:16 And then you use Ctrl+Shift, IIRC, (dependant on package/version/whatever) to start the IME. 17:29:19 Read the manual, I suggest. 17:31:27 * pikhq has discovered one simple reason. . . 17:31:32 GNOME Terminal: locale not understood by C library, internationalization will not work 17:32:32 try (as root) dpkg-reconfigure locales 17:32:55 * pikhq waits on gNewSense's dpkg 17:36:11 -!- tgwizard has joined. 18:00:27 GNOME Terminal: locale not understood by C library, internationalization will not work 18:00:32 Grr. 18:01:37 * bsmnt_bot laughs 18:01:58 bsmnt_bot: YUR MEEN 18:02:34 The lisp version isn't looking too clean 18:03:48 I'm writing netio.plof :) 18:04:00 You could (at some point) write a Plof version :) 18:04:22 fun 18:04:45 * pikhq should start learning Plof sometime 18:05:01 Maybe make a simple method of accessing C++ classes from Plof. 18:07:02 Plof is capable of accessing C via dlopen and friends. 18:07:06 Ah. 18:07:14 So accessing C++ would likely involve making a C wrapper. 18:07:18 Or however one chose to do it :P 18:07:41 * pikhq tries to find the Plof website 18:07:48 http://www.codu.org/plof/ 18:07:58 If you want a binary of dplof I'll make one for you (presuming you don't have GDC) 18:08:03 GDC? 18:08:09 The GCC D Compiler 18:08:09 Oh. 18:09:14 * pikhq should probably get GDC. 18:10:42 lisp makes my pinky hurt 18:10:46 Why? 18:11:12 Oh. Are you supposed to use your pinky for parentheses or something? 18:11:25 yeah 18:11:27 * Sukoshi learned Dvorak the homebrew way. 18:11:42 My middle finger goes on parentheses. 18:11:44 I should probably use my other pinky for shift 18:11:52 I need an idea for a project in Lisp, ya know. 18:12:15 GregorR-W: Just hand me a binary. ;) 18:12:39 pikhq: GNU/Linux + x86 I suppose? 18:12:48 Blah. Time to write an HTTP parser :( 18:12:59 And client. A very limited client, though. 18:14:00 Hmm. 18:14:08 I might just pick up the Digital Mars compiler. . . 18:14:10 GregorR-W: Yeah. 18:14:18 Nooo, no dmd + GNU/Linux X_X 18:14:24 DMD + GNU/Linux = painful horribletude. 18:14:35 * pikhq gets the GCC source, then. 18:14:43 http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2 18:14:45 Er 18:14:48 http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-19-2.tar.gz 18:14:51 Guh. But GCC is a pain in the *arse* to compile. 18:14:54 And http://www.codu.org/gdc-nightly/ if you want it. 18:15:04 Sukoshi: Yes, but I know how to build GCC. 18:15:17 Well, it takes ages. 18:15:18 GCC isn't so bad, all things considered. 18:15:24 OK, time-wise :) 18:15:33 Yeah. I'll bet it takes less time than Firefox2. 18:15:49 Sukoshi: I can say for a fact that it does. 18:15:56 Having compiled both of them on several platforms. 18:15:58 Binary works. 18:16:00 Heh. 18:16:07 My desktop does Gentoo. 18:16:15 I know that it's time-consuming. 18:16:18 Slackware here. 18:16:18 grar 18:16:20 The slot SOCKET is unbound in the object #. 18:16:34 * GregorR-W laughs at bsmntbombdood's pain. 18:16:35 I should actually learn clos before I do this 18:17:46 ok, time to go run around in the snow 18:17:46 Well uh... bind the slot then? 18:21:41 -!- oklopol has joined. 18:21:41 -!- okokoko has quit (Read error: 54 (Connection reset by peer)). 18:26:39 Count twice to ten. 18:27:01 1 2 3 4 5 6 7 8 9 10 18:27:03 1 2 3 4 5 6 7 8 9 10 18:29:59 No. 18:30:20 Error: Twice is not a valid range bound. 18:34:31 ERROR: This programmer accepts Brainfuck code only. 18:34:50 ERROR: Too many errors 18:35:25 ERROR: Not enough errors. 18:46:06 pikhq: Presumably you got the dplof binary working? :P 18:47:01 GregorR-W: Yeah. 18:47:10 Going to work on GDC later. 18:47:18 (when I feel like it ;)) 18:47:33 You did see my link to the GDC nightly-build binaries, right? 18:48:09 Oh. 18:48:31 " And http://www.codu.org/gdc-nightly/ if you want it." 18:49:44 It seems that Plof has sufficient capabilities to allow for a good deal of useful programming. . . 18:49:52 It's getting there. 18:49:54 Like, say, a GTK binding. 18:50:00 That'd be fairly easy. 18:50:04 Yeah. 18:50:13 I assume more features would be nice, though. 18:50:15 I'd like to make a "standard" Plof GUI interface. 18:51:00 That'd work with GTK, Qt, and W32? 18:51:44 Well, whatever anybody was willing to implement, I juts mean a set of objects with defined interfaces that could have different backends implemented, so you could just use pui.whatever and it would work on every platform. 18:51:50 Like wx is to C++ 18:52:15 Ah. 18:52:16 Actually, I could more easily just answer "yes" :P 18:52:21 :p 18:52:57 * pikhq wonders what the hell else(); does 18:53:24 It's ... else. 18:53:36 if(condition, {foo;}); else({bar}); 18:53:59 Or do you mean how it actually works? 18:54:55 How the hell do you have an else call without an if call? 18:55:01 (netio.plof) 18:55:23 Heh, it's against version() 18:55:44 Wouldn't if(version(), {foo;}); make more sense? 18:55:55 ... >_> 18:55:57 Yes. 18:56:05 <_< 18:56:12 To the degree that I think I'll make that change right now. 18:56:24 And why the hell is else a seperate function? 18:56:45 There are only functions and objects, conditions are not language intrinsics. 18:57:04 In most functional languages I've seen, 'else' is done via something like, say, another set of arguments to 'if'. 18:57:09 Like in Tcl: 18:57:25 One doesn't do: if {foo} {bar};else {baz} 18:57:42 "if {foo} {bar} else {baz}" is how it's called. . . 18:57:48 With just the function 'if'. 18:58:04 Hm, the reason I didn't do it that way is that there wouldn't be a word "else", but I think that that could be repaired... 18:58:13 * GregorR-W considers more sane methods. 18:58:19 Thank you. 18:58:32 Everything else, I'm loving. 18:58:45 Would you argue: if(condition, {blah}, elsif, condition, {blah}, else, {blah}) 18:59:02 (Note the comma after elsif and else) 18:59:09 Hmm. 18:59:19 You know, that sort of *does* look weird in Plof. 18:59:33 Hmm. 18:59:39 It's hard to fit something like you're showing in that would not break my core rule of minimal constructs. 18:59:50 Yeah. 19:02:38 http://pastebin.ca/286512 19:03:35 It looks pretty C-like except for the commas :P 19:07:09 (Opinions?) 19:17:56 is "if" a function? 19:18:19 Yes. 19:18:50 arguments are evaluated lazily? 19:21:13 An excellent point. 19:21:24 The answer to which is "not unless I made them functions" 19:21:35 Which I should to make it consistent with while anyway. 19:22:31 http://pastebin.ca/286527 19:27:45 I like the idea of statements being also expressions (unlike C) 19:39:35 Since nobody's vehemently against it, I'm doing it the way pasted. 20:02:35 -!- oklopol has quit (Excess Flood). 20:02:45 -!- oklopol has joined. 20:03:58 So, are functions first-class datatypes? 20:05:31 GregorR-W: Do it like lisp 20:05:49 if(condition, {true code}, {false code}) 20:06:22 Or, a more general structure, like Lisp's cond. 20:06:51 cond( {condition, true code, false code} { ... } {default, code} ) 20:19:38 -!- bsmnt_bot has quit (Remote closed the connection). 20:20:30 Sukoshi: Yes, functions are first-class data types, Plof is intended to be a hybrid of functional and imperative. 20:20:58 bsmntbombdood: I did it like that before, but it was confusing since the only thing separating the if-true block and the if-false block was a comma. 20:21:26 Works fine for lisp 20:21:27 Hooray. 20:21:34 bsmntbombdood: Yeah, but lisp is terrible. 20:21:42 He's a lisp hater. 20:21:47 ^^ 20:21:53 hehe 20:21:59 Why? 20:22:09 It works in Lisp because of the way the parentheses work. 20:22:31 (if pred expr1 expr2) 20:22:33 The basic syntactic structure of Plof and lisp are too different to compare. eg, exactly what Sukoshi just said. 20:23:02 Remember that if you want a block in IF, you have to use PROGN (or BEGIN in Scheme). 20:23:55 * GregorR-W darcs-record's the new syntax. 20:24:11 Heh. Darcs is a **** on Solaris, I hear. 20:24:21 A friend of mine is trying unsuccessfully to setup revision control systems. 20:24:21 Darcs isn't so great anywhere X-P 20:24:39 You could have something like: (defun meh () (if 3 4 5)) in CL which would always return 4. 20:24:41 But to host a darcs repository takes about zero effort, so I went with darcs ;) 20:25:03 I actually prefer centralized SCM to decentralized SCM. 20:25:15 I like what decentralized offers. 20:25:24 Especially now that I've come up with a dead project maintainer. 20:25:43 Literally dead or inactive? 20:25:56 Inactive ;D 20:26:07 Inactive is a slightly more curable case :) 20:26:09 Well, I lie. He just came back to life yesterday. 20:26:24 ....Which is a little late, since I've already made some really big patches. 20:30:53 sbcl takes a long time to compile 20:31:10 Heh. Which is why you don't. 20:31:17 It takes more RAM to compile than this box has. 20:31:35 -!- ore2 has quit ("Nettalk6 - www.ntalk.de"). 20:31:41 gentoo box :/ 20:32:19 -!- pikhq has quit ("leaving"). 20:38:10 "Unlike (most of) the other P-languages, Plof attempts to be usable as a functional programming language" 20:38:28 Python is pretty usable as a functional language 20:41:30 Hence "(most of)" 20:42:26 oh 20:49:11 Even then, I don't think functions are first-class data types in Python. 20:49:23 yeah they are 20:49:54 Oh. Cool. 20:50:11 Well maybe not, I'm not quite sure what that means 20:50:35 You can do everything with a function that you can do with every other data type. 20:50:41 Like integers, characters, etc. 20:51:12 In most cases, passing functions as arguments is a big step in that direction. 20:54:22 -!- Asztal has joined. 20:54:39 then yes 21:00:13 But by that definition, functions are first-class data types in C 21:00:39 That's not a definition you jackass X_X 21:00:58 ANYway, functions are first-class data types in C. 21:01:08 But there's more to functional programming than functions being first-class data types. 21:01:14 yeah 21:01:52 they are? I mean, you can pass them around, but it's really rather awkward 21:02:09 I wouldn't call it awkward 21:02:15 You can, and the only thing that's awkward is the syntax. 21:02:22 Erm, + they are. 21:03:09 You can functionally program in c 21:03:53 Functional programming also requires things like nested functions, 21:03:57 function currying, 21:04:13 Hm, can't think of other off the top of my head. 21:04:16 What do you mean by nested functions? 21:04:20 Just closures? 21:04:33 because you can implement closures in c 21:04:59 Closures are a superset of nested functions. 21:05:13 And while you can implement closures in C, it's a mild HUGE PAIN IN THE ASS :) 21:05:23 Still possible ;) 21:05:48 Given that C is Turing-complete, if you're going to be that lenient with your definition of "functional programming", C must by-definition of its being TC be functional. 21:06:27 brainfuck can't be functional 21:06:41 Sure it can. 21:06:53 It's a huge pain in the ass, and requires about nine levels of abstraction, but it's possible. 21:07:09 It doesn't have functions or jumps/gotos.... 21:07:13 You'd have to make functions (possible), and then function arguments (possible), and then pointers. 21:07:18 (also possible) 21:07:26 It doesn't have functions, and C doesn't have closures. 21:07:28 ??? 21:07:57 If you're going to say that C has closures, then BF without a shadow of a doubt has functions. 21:08:04 hrm 21:08:57 Now you see my point about how C is not a functional language? :) 21:09:22 I suppose 21:10:07 How would you implement functions in a language without jmp though? 21:10:14 See C2BF 21:12:44 Every "label" corresponds to a "bucket" in the beginning of the memory space. To perform a jump, you set a bucket to 1, then drop out of your loop. The whole program is in a big loop that reads all the buckets and goes to the code corresponding to the bucket which is set. 21:13:40 How does it go to the code? 21:14:02 Did I not just explain that? 21:14:16 no 21:14:57 Every "label" (in code) corresponds to a "bucket" in the beginning of memory space. There is a loop in the code that reads in the buckets and goes to the code corresponding to the bucket which is set. 21:15:07 ... 21:18:51 * GregorR-W bashes his head into a wall. 21:35:07 (on average) 21:35:37 Fascinating. 21:36:00 erm, oops 21:36:01 Deadly. 21:36:02 * SimonRC wonders if there is a database server anywhere that can provide sub-millisecond response times. 21:36:05 (on average) 21:36:33 sub-millisecond? 21:36:41 That's not very many milliseconds 21:36:46 undeed 21:38:42 That was an astonishingly content-free statement :p 21:39:17 SimonRC: respond with an error message most of the time. 21:39:27 Or, rather, the smallest possible well-formed response. 21:39:35 Hah 21:39:53 SELECT * FROM bleh; -> ERROR("This is a fake database engine") 21:40:07 That would probably be an RST packet. 21:41:18 -!- ShadowHntr has joined. 21:42:22 bah 21:42:45 In case anybody's interested in Plof with the new changes, http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-20.tar.gz 21:42:59 hrm 21:43:03 -!- GreaseMonkey has joined. 21:43:13 var A =[]; A:["main"] = {println("Hi\n");}; a = new(A); a:["main"](); 21:43:24 I would need a DB that fast to take the saying "A game is just a database with a pretty front-end." literally. 21:44:45 bsmntbombdood: Uh, is that not working? 8-X 21:44:56 Can't find a 21:44:56 Error: AssertError Failure plof/runtime.d(722) 21:45:04 Oh: var a = new(A); 21:45:09 Not just a = new(A); 21:45:13 You have to declare all variables. 21:45:19 right 21:45:32 SimonRC: Hah XD 21:46:00 oh cool 21:46:09 you can just do a.main(); 21:49:50 * SimonRC reads about Codethulhu on TDWTF. 21:49:54 XP 21:51:18 Y'know, that image is great for so many programming projects: http://img.thedailywtf.com/images/200612/Codethulhu.gif 22:01:50 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:03:12 I want a programming language that has cofactors and inhibitors and denaturing. 22:03:36 By the time I get back, I expect it to be all implemented and everything, okay? 22:03:39 Bye. 22:04:52 cofactors and inhibitors and denaturing? 22:05:47 Biology terms. 22:05:55 To do with enzymes. 22:06:29 -!- ComputinChuck has joined. 22:06:29 I suspect something like could be done if you fed a sed program to itself repeatedly. 22:07:12 what is esoteric programming? 22:07:12 After all, enzyes basically work my pattern-matching and simple transformations, a bit like sed does. 22:07:30 ComputinChuck: good question 22:07:34 * SimonRC hinks 22:07:51 i ran across something on it on the internet 22:07:56 I can tell you what an esotreic programming language is. 22:08:01 ok 22:08:36 It is a programming languag that is weird or unusula most for the sake of being so, rather than for any practical reason. 22:09:06 I recommend checking out Brainfuck, INTERCAL, befunge, and Malbolge for some examples. 22:09:12 ok 22:09:20 then take a look at some random languages from the wiki 22:09:44 -!- GregorR-W has quit (Remote closed the connection). 22:12:07 -!- ComputinChuck has quit ("Lost terminal"). 22:12:38 -!- GregorR-W has joined. 22:15:49 Hmmm. Is there a more effecient way in parsing HTTP messages rather than doing a whole bunch of strncmp or memcmp? 22:16:21 There's no more effiecient way to compare strings, no 22:16:39 Well... I was wondering if there's some other commonly used method. 22:16:53 If not, I'm a gonna hope Duff's Device is fast. 22:17:11 If you know its length is divisible by 4, you can do it larger blocks, but no matter what it's going to be O(n) 22:17:40 Oh. But Duff's Device is for copying, doh. 22:17:54 Lemme take a look at fnord's implementation of memcmp. 22:19:04 Ah. Pretty nifty. 22:19:12 Sukoshi: You could consider the message format to be a grammar of 1-character tokens and try to make a state-machine-based parser. 22:19:25 Yes, I was thinking of doing that too. 22:19:27 You would be able to write assembler quite directly. 22:19:33 But that's a complex beast. 22:20:00 Heck, even in C, a parser like that is a total PAIN. 22:20:13 Pretty much. 22:20:27 There are these things called "parser generators", you know. 22:20:30 Uggh. Why couldn't HTTP use something sensible like opcodes? -_-'' 22:20:46 SimonRC: Mmmf. Would it produce something that effecient though? 22:20:50 They give you th power of a LR parser with the simplicity of a predictive parser. 22:21:03 yay yacc 22:21:07 Have you ever seen the code a parser generator generates? 22:21:13 Nope. 22:21:18 I just tend to mistrust generated code. 22:21:20 It consists mostly of gotos, IIRC 22:21:29 It is pretty ugly 22:21:31 *Cough* String to BF *cough* 22:21:36 Sukoshi: ah, so you are one of those assembley nuts? 22:21:40 -!- ihope_ has quit (Connection timed out). 22:21:53 No, but this project is pretty high on the low-level side. 22:22:23 ASM optimization is going to come at a later step, not now. For now, I think I'll use Fnord's usage of memcmp for inspiration. 22:22:32 Maybe do something similar to Duff's case bastardization. 22:24:24 Well, the object code that compilers output is "generated code". 22:24:40 Heh. True there. 22:25:12 If you treat all generated code like object code, you should be fine. 22:25:16 But, I don't know if parser generator code is effecient or not. 22:25:34 I.e. consider it nonportable and do not put it into source control. 22:25:41 Sukoshi: very efficient 22:25:55 Aha. Good. 22:25:55 Parser generators do not worry about readability. 22:26:00 SimonRC: What about portable generated code? I get a lot of strife for putting configure in SCM :) 22:26:05 but generic 22:26:38 GregorR-W: Putting generated code into source controll just adds pointless deltas and enourages people to edit it. 22:26:58 -!- FabioNET has joined. 22:27:19 IMHO it makes life easier for developers who don't know/care about aclocal, autoconf, autoheader, libtoolize and automake. 22:27:26 Parser generators create types of prsers that humans cannot sensibly create, like LR, LALR, etc. 22:27:42 hello 22:27:46 'lo FabioNET 22:27:48 Well, I wanna see if this code is more effecient than parser generator code. 22:27:50 :) 22:27:59 God help me, I'm going to commit case hell. 22:28:27 been programming with irp? 22:29:01 Seeing as that that's the only reason that about 60% of people come in here, I'm starting to regret I wrote that aticle XD 22:29:04 *article 22:29:17 they are Italian I do not speak well English excused the uneasiness. 22:29:25 IRP? 22:29:33 internet relay programming 22:29:38 Sukoshi: allow me to demonstrate. 22:29:46 Sukoshi: http://www.esolangs.org/wiki/IRP 22:29:52 say "hello world" 22:29:56 :9 22:30:04 hello world 22:30:05 hello world 22:30:08 tada! 22:30:09 ihihihih 22:30:25 So is *that* why all those people have been coming? 22:30:44 At least they don't make us infinite loop 22:30:44 Yes X-P 22:30:47 <-- his fault 22:30:51 ... or do they? 22:30:52 lol http://thedailywtf.com/forums/thread/106950.aspx 22:30:57 I thought they wanted to prove us turing complete, I thought we were special ;-; 22:31:02 Hah 22:31:45 hmm, i've tested IRP in some other channel, and got syntax error... :p 22:32:00 Heh 22:32:24 Why is CS so bastardized? 22:32:39 No way that part of a CS degree should be web design 22:33:37 Hahahah 22:33:54 If you're having trouble with HTML on your way to a CS degree, you need to reconsider your life choices XD 22:34:30 That wasn't a student, it was the teacher 22:35:07 O_O 22:35:30 * bsmntbombdood is scared to go to college 22:35:47 If I have teachers like that I'm going to die 22:35:52 I haven't had that experience - there's only one incompetent teacher I've had, and she wasn't THAT incompetent. 22:36:16 And everybody loved her because she teaches mostly beginning-level courses and nobody at that level knows enough to know she's an idiot :( 22:36:53 I'm thinking about majoring in CS 22:37:07 I'm actively in the process of majoring in CS. 22:37:25 sweet 22:37:38 Real CS or C++ and web design CS? 22:37:46 lol 22:38:10 Real CS, I just finished a computer security course and last year I took advanced agorithms and networking protocols. 22:38:12 It pisses me off when people use CS to spice up the name of a programming class 22:38:30 Yeah, programming != CS. 22:38:32 Anybody can program. 22:38:34 Our teacher came out with gems like "There's no M in \"Mrs Sharp\"" 22:38:45 lol 22:38:50 Asztal: ...?! 22:38:56 (Because we got bored and started making anagrams of her name) 22:39:13 * SimonRC will never again forget which way round vector multiplication goes: http://xkcd.com/ 22:39:31 -!- bsmntbombdood has left (?). 22:39:32 I'm a total web programming incompetent :P 22:39:36 -!- bsmntbombdood has joined. 22:39:44 I love xkcd 22:40:03 Anything that depends on something like interface, user approachability, or aesthetic quality I fail at. 22:40:19 he went through a boring phase of going on and on about his girlfriend. 22:40:24 ^former^ 22:40:58 Sukoshi: OTOH, I have a tendancy ot hack URLs. 22:41:15 I'm not awful at web programming *shrugs* 22:41:17 I chop bits off, remove unneeded parameters, etc. 22:41:28 I still consider myself to firstly be an app programmer though. 22:43:21 SimonRC, i have it too, and get angry when the hacking is impossible 22:44:03 With Camping, I can stand we programming 22:44:05 GregorR-W: What school? 22:44:14 Asztal: no parse 22:44:25 let's try that again 22:44:49 web programming is bearable... provided I use the Camping web framework :) 22:44:49 Asztal: Error: AssertError Failure plof/parser.d(122) 22:45:02 argh .d! 22:45:12 First time I've seen D used actually :) 22:45:19 * bsmntbombdood pokes fun at GregorR-W's parser 22:46:08 ah 22:46:17 I see what went wrong. 22:46:23 you did s/web/we/ 22:47:34 woooot 22:47:41 no school tomorow either!!!!! 22:48:05 with university, you get that feeling far more often 22:48:11 I skipped 2 weeks of lectures because I was busy dying with a fever! :) 22:55:10 bsmntbombdood: Yes yes, my parser has no error messages, blahblah :P 22:55:23 bsmntbombdood: pastebin some failing code? (or did you figure it out) 22:55:38 That was an old error message 23:02:56 Plof tokenizer in Plof 4tw :) 23:03:25 (x){return(x);}(1) 23:03:27 neat 23:03:52 That's a ridiculously cumbersom way to type "1" :P 23:03:59 You could also do (x){x}(1) 23:04:04 \()->1 23:04:37 Or (x){(x){(x){x}(x)}(x)}(1) 23:06:43 oops 23:06:54 I meant: id 1 23:07:00 or (\x->x)1 23:07:16 You and your ... whatever language that is. 23:08:06 haskell 23:08:13 \ is a lambda 23:09:30 hashEsoteric@()=+{if({GregorR~.CheckStatus("BuildingPlofCompiler");}{GreaseMonkey~.Act("BuildTomatoCompiler")});}; 23:10:39 Only building an interpreter ATM. 23:11:43 GreaseMonkey: Define "Tomato". 23:12:12 and will one of you change your nick so that they don't have the forst 3 chars in common. 23:12:27 My nick is my name. 23:12:28 It irritates my tab-completion finger. 23:13:12 apparently, some people do not have nick-completion in their client, and call me "Simon". 23:13:22 [15:09]*NickServ* Nickname: GreaseMonkey << ONLINE >> 23:13:23 [15:09]*NickServ*Registered: 6 weeks 2 days (18h 35m 33s) ago 23:13:25 [15:09]*NickServ* Nickname: GregorR-W 23:13:26 [15:09]*NickServ*Registered: 35 weeks (5h 5m 11s) ago 23:13:28 I win :P 23:13:30 -!- FabioNET has quit ("Buon natale ocn la passera"). 23:13:34 And that's with my non-primary nick ;) 23:14:00 hehe 23:16:36 Tomato is a programming language under development which looks slightly similar to C and supports self-modifying code. 23:16:58 oh, and me=thematrixeatsyou 23:17:18 and i crashed your bot properly a few times. 23:17:43 !glass {M[m(_o)O!"You're mean :("(_o)o.?]} 23:17:46 You're mean :( 23:18:27 !funge93 0"D: wonk I">:#,_@ 23:18:32 I know :D 23:18:46 nah, it was accidental and a pain in the ass 23:18:46 -!- bsmnt_bot has joined. 23:18:55 i did it deliberately a few times tho' 23:18:56 I prefer "D: wonk I" 23:19:14 crash me! 23:19:32 how do I call help on ur bot? 23:19:37 you don't 23:19:45 what cmds does your bot have? 23:19:50 not many 23:20:04 he has !raw, !exec, !quit, !ctcp 23:20:19 GregorR-W: But not !say 23:20:32 !ctcp #esoteric PING 23:20:36 Huh? 23:20:38 Nor CTCP :P 23:20:41 !raw PRIVMSG #esoteric :It works 23:20:51 GreaseMonkey: Only I get !raw 23:20:52 wait, it doesn't 23:20:54 TO WORK, OR NOT TO WORK? That is the question. 23:20:58 !raw PRIVMSG #esoteric :It works 23:20:58 It works 23:21:11 !ctcp #esoteric ACTION is randy 23:21:11 * bsmnt_bot is randy 23:21:14 Huh? 23:21:19 !ctcp #esoteric ACTION roflcopters? 23:21:20 * bsmnt_bot roflcopters? 23:21:20 :D 23:21:22 Huh? 23:21:27 !ctcp #esoteric PING 23:21:30 Huh? 23:21:39 So you disabled that DDOS then :P 23:21:42 !exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 23:21:42 sweet 23:21:44 Huh? 23:21:51 GregorR-W: no 23:21:59 dude 23:22:00 sweet 23:22:09 Then dude, why isn't it working? 23:22:09 sweet 23:22:16 It is 23:22:22 I'm not getting pings ...? 23:22:44 bsmnt_bot is getting replys... 23:22:58 OH! Well in that case: Hey everybody, let's DDoS the bot! 23:23:10 Repeat as desired: /msg bsmnt_bot !ctcp #esoteric PING 23:23:16 daemon ctcp bf8 +.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++. 23:23:22 foo 23:23:35 !ctcp #esoteric ACTION is funky 23:23:35 * bsmnt_bot is funky 23:23:38 Huh? 23:23:43 !daemon ctcp bf8 +.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++. 23:23:47 !ctcp #esoteric ACTION is funky 23:23:47 * bsmnt_bot is funky 23:23:48 !exec for i in self.raw_regex_queue: i[1] != self.do_ctcp or self.raw_regex_queue.remove(i) 23:23:50 * EgoBot is funky 23:23:52 Huh? 23:23:53 YES! 23:23:56 no more ctcp ;) 23:23:58 Yag! 23:24:13 !ctcp #esoteric PING 23:24:28 * SimonRC looks back at this window and wibbles 23:24:29 -!- EgoBot has quit (Read error: 54 (Connection reset by peer)). 23:24:31 GreaseMonkey: the !exec I just ran removed the !ctcp command 23:24:35 What the bork. 23:24:36 ok 23:24:44 what script is that? 23:24:51 One I hacked up 23:26:07 i like this daemon: 23:26:08 daemon ctcp bf8 [[-]+.[,--------------------------------]+,----------[++++++++++.,----------]+.+++++++++.] 23:26:24 who can exec then? 23:26:37 !exec self.register_raw(r"^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :!ctcp", self.do_ctcp) 23:26:59 GreaseMonkey: Anyone matching the regex "^:bsmntbombdood!\S*gavin@\S* PRIVMSG \S* :!exec" 23:27:14 !ctcp #biz ACTION tests 23:27:27 O.o 23:27:27 wait, wtf is #biz? 23:27:40 lol 23:27:46 ooops 23:27:50 !ctcp #esoteric ACTION tests 23:27:57 !ctcp #esoteric ACTION tests 23:27:57 * bsmnt_bot tests 23:27:59 there 23:28:44 only i can do !ctcp now ;) 23:29:01 bsmntbombdood: do you know of any good networking tuts for linux? 23:29:15 !ctcp #esoteric ACTION orly? 23:29:17 socket(2) 23:29:41 the man page? 23:29:45 yeah 23:30:07 http://www.google.com/?q=linux+sockets 23:30:37 http://www.google.com/search?q=linux+sockets 23:31:29 One of the ones on that page might be a little more friendly ;) 23:32:12 yah 23:32:17 !exec self.register_raw( ".*!%s" % "rtfm", lambda x : bot.raw("PRIVMSG #esoteric :dude, go rtfm")) 23:32:17 sweet 23:32:20 !rtfm 23:32:20 dude, go rtfm 23:32:27 :) 23:32:53 !rtfm 23:32:53 dude, go rtfm 23:33:02 i reckon that shud b a public one 23:33:19 hmm? 23:33:30 man 7 socket is a HORRIBLE reference for networking XD 23:33:33 I used to know a good one ... 23:33:34 But ... 23:33:38 Err, now I just use man 7 socket 23:33:59 so what's man 2 socket like compared with man 7 socket? 23:34:14 man 7 socket is information on socket programming in general, man 2 socket is the socket() function. 23:34:22 k 23:39:26 hmm 23:40:12 I'm bored 23:41:17 * bsmnt_bot licks bsmntbombdood 23:41:57 a truely intelligent bot relies on emotions 23:42:29 * bsmnt_bot feels a great love for GreaseMonkey 23:43:51 and it learns: "If I do this, I will feel that." 23:44:07 (struct Emotion)that; 23:44:08 A truly intelligent bot has a terrible pain in all the diodes down his left side 23:44:13 not (struct Object)that; 23:45:29 the simplest emotion is like/dislike 23:45:40 it has to like and dislike things 23:46:19 for example, if you're guiding a bot around, it does not like idling as it does not achieve anything, so it will do something. 23:46:39 !exec self.register_raw(".*!%s .*" % "join", lambda x : bot.raw("JOIN %s" % x.split("!%s " % "join")[-1])) 23:46:52 now it has a ! join command 23:47:13 !join me in death 23:47:14 building a system to elicit "mood shifts" based on keywords and users tied to an emotional context doesn't seem like it should be that hard 23:47:36 but could need very large database 23:47:49 it'll accumulate a massive database 23:47:56 yeah 23:48:07 It would need to parse english though... 23:48:18 it could learn 23:48:20 theorically, large database could cover most of problem; only remaining problem is how to construct the database 23:48:25 and then try to communicate 23:48:39 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 23:48:43 and then it would check if it communicated or not, feeling either good or bad 23:49:10 the other issue is that 'common sense' is a prerequisite for advanced intelligence, which means the machine needs a vast backlog of cultural knowledge and the like 23:50:25 you'd probably get the best possible results by building a forwards-compatible database engine that you can retain throughout improvements in the rest of the system, so that you aren't wasting any learning time 23:52:12 I guess the main thing is that the majority of the information you need isn't information itself, it's the interconnections between pieces of information- massive cross-indexing of everything in relation to everything else 23:52:36 actually, moods are but abstractions mainly, so a learning system need not have them hard-coded 23:52:41 imo 23:55:24 generally it is a good idea 23:56:11 when you think about how the brain functions on a systemic level, you can strip off a large portion of it's high-level operations as a series of "services", like "internal monologue", "mind's eye", and so on. At the core, you have "consciousness"- the tricky part. I figure it most likely breaks down into pattern recognition, learning, predictive analysis, and planning capabilities that set goals and pursue the steps necessary to ca 23:56:14 that works 23:57:13 -!- Sgeo has joined. 23:58:31 as long as the assumption that the way these pieces of functionality are integrated is more important than the precise contents of these "black boxes" is true, I can't stand anything standing in the way of eventual development of AI on par with human abilities 23:58:54 *can't see anything 23:59:01 me neither 23:59:19 Of course, proccessing power may be a problem 2006-12-21: 00:00:32 IIRC, it's been shown that DNA is no more than Turing-complete. Working under the presumption that a TC language cannot describe an implementation of a higher-than-TC language, the brain cannot be more complicated than TC. 00:01:03 I think the bigger problem lies in the huge differences between how the brain and computers work- computers are still largely single-threaded and hardware can't reconfigure itself to a great extent. Brains are massively parallel and can rewire themselves constantly 00:01:09 Therefore, it should be possible with appropriate resources to precisely duplicate the capacity of a human brain in a computer. 00:01:18 oh, absolutely 00:01:20 RodgerTheGreat: ANN 00:01:35 GregorR-W: And a ton of leetness 00:01:48 That too ;) 00:02:23 a TON of leetness 00:02:33 a TONNE as well 00:02:50 HUGE AMOUNTS 00:03:04 Like I have ;) 00:03:10 A METRIC FUCKTON OF LEETNESS 00:03:20 hehe http://xkcd.com/c69.html 00:03:52 :D 00:04:24 I guess my point is, although it's probably possible to emulate a brain with computers how they are today, the structure of the brain indicates that it probably isn't a very efficient way to pull this off. We need either different computers (NN accelerator chips? New CPU architectures?) or shitloads more power than the real chunk of meat 00:05:04 hardware ANN 00:05:20 RodgerTheGreat: Agreed. 00:05:23 A sepperate mini proccessor for each neuron 00:05:50 That would be the most direct way. 00:06:03 although, if we ever get the functionality of a brain running with the reliability of modern computer hardware, we'll have something pretty amazing on our hands 00:06:20 indeed 00:06:32 except it be the size of the computers of yore 00:06:39 hehe: http://www.explosm.net/comics/754/ 00:07:22 that'd be intense 00:07:26 silicon circuitry is orders of magnitude more dependable than a pile of proteins bumping into each other, but it's sure as hell more complicated to build at the same density 00:08:12 http://www.explosm.net/comics/758/ 00:08:34 lol- nice comic 00:09:06 Whoever made sugar-free caffeinated soda had a fundamental misunderstanding of the difference between "tired" and "low on energy" 00:09:21 heh 00:09:48 http://www.explosm.net/comics/750/ 00:10:04 http://www.explosm.net/comics/748/ 00:10:19 haha 00:10:34 well, you could just make the soda contain some drugs that altered the functioning of your thyroid gland- same blood sugar increase. 00:11:11 http://www.explosm.net/comics/745/ 00:11:46 http://www.explosm.net/comics/743/ 00:12:43 -!- ihope_ has joined. 00:13:49 http://www.explosm.net/comics/740/ 00:14:06 -!- oerjan has joined. 00:14:23 http://www.explosm.net/comics/41/ 00:14:43 My enzyme language is all nice and implemented now, right? 00:14:56 Does it have DNA and everything? 00:15:17 what, chemical programming? have you heard of the gamma calculus? 00:15:34 heh http://www.gamegarage.co.uk/cartoons/super-mario-blitz/play/ 00:15:40 psychadelic! 00:15:42 * SimonRC goes 00:18:37 Man, that's a sweet ass-car 00:18:38 SimonRC: fascinating 00:19:10 someone else reading xkcd, i see 00:19:51 of course 00:19:54 I never thought mario could be trippier. I was a fool. 00:21:10 http://www.explosm.net/comics/95/ 00:24:09 Gamma calculus? Can't say I've heard of it, no. 00:29:07 it's programming with bags of "molecules" 00:29:28 -!- CakeProphet has joined. 00:29:47 Like Fractran or whatever that language is called, I take it. 00:32:40 except, if i remember correctly, that the rules themselves are molecules, used up in the reaction; there is no ordering but you can wrap up molecules in subbags to prevent them from reacting 00:32:52 hm 00:33:54 * CakeProphet is bored... and fed up with current databases. 00:34:12 Oh I know! I'll make my own database layout. 00:34:21 That's like... killing two birds with one stone. 00:35:20 when you consider the work, it could be more like killing one bird with two stones :) 00:35:28 * CakeProphet finds concepts universal to all programming languages... and finds a way to organize it into a readable language. 00:35:43 More like killing no birds with a handgun you have to build from stone and twigs. 00:35:58 No no... I will kill the boredom bird regardless. 00:36:13 I hate databases at the moment... so this'll be my angsty revenge against them. 00:36:40 Inventing shit is fun... using other peoples invented shit isn't. 00:36:51 yep 00:37:35 N(length:integer) <--number 00:37:41 whoo! completed that part. 00:38:17 bsmnt_bot probably isn't very fast 00:38:22 any other info that might be handy for certain programming languages to know before they attempt to convert that into a native data type? 00:39:13 !exec for i in range(1000): self.register_raw(str(i), lambda x : False) 00:39:36 ah, the original gamma calculus was not quite as advanced as i said 00:39:38 >.> Python? 00:39:59 !exec self.raw_regex.queue.reverse() 00:40:00 -!- bsmnt_bot has quit (Remote closed the connection). 00:40:04 oops 00:40:17 haha... you put in access to python's exec statement. 00:40:31 -!- bsmnt_bot has joined. 00:40:45 !exec for i in range(5000): self.register_raw(str(i), lambda x : False) 00:40:49 CakeProphet: Of course 00:40:56 CakeProphet: Makes it extensible at runtime 00:41:06 S(encoding-string:length:sequence-of-character-ordinals-separated-by-commas) <--symbol ...what other info would you include? 00:41:10 !exec print len(self.raw_regex_queue) 00:41:27 !exec for i in range(10000): self.register_raw(str(i), lambda x : False) 00:41:29 !exec print len(self.raw_regex_queue) 00:41:42 !exec self.raw_regex_queue.reverse() 00:41:52 hmmm... you could change sys.stdout to the socket you're writing too. 00:41:57 !raw PRIVMSG #esoteric :hi 00:41:57 hi 00:42:02 CakeProphet: Yeah, I could 00:42:11 dunno why you would... 00:42:13 but. 00:42:15 ...you could. 00:42:59 -!- bsmnt_bot has quit (Remote closed the connection). 00:43:04 -!- bsmnt_bot has joined. 00:43:24 !exec print len(self.raw_regex_queue) 00:43:39 !exec sys.stdout.write(len(self.raw_regex_queue)) 00:43:39 -!- bsmnt_bot has quit (Remote closed the connection). 00:43:56 the gamma_0 calculus seems like what i was thinking of, combining the principles of gamma and lambda: http://www.irisa.fr/paris/Biblio/Papers/Banatre/BanFraRad04RULE.pdf 00:44:26 hmmm... L(size|mutability|comma-separated-list-of-sequence-items) <- list whooooo... this is fun. 00:44:32 Way more fun than actually using a database. 00:44:37 -!- bsmnt_bot has joined. 00:44:46 !exec sys.stdout.write(len(self.raw_regex_queue)) 00:44:47 -!- bsmnt_bot has quit (Remote closed the connection). 00:45:19 XML looks promising for databases... 00:45:20 fun fun FUN... 00:45:26 -!- bsmnt_bot has joined. 00:45:28 !exec sys.stdout.write(len(self.raw_regex_queue)) 00:45:33 oh right 00:45:45 it's... verboose... but very good at representing pretty much any data type. 00:45:55 !exec sys.stdout.write("PRIVMSG #esoteric :" + str(len(self.raw_regex_queue))) 00:46:14 hrm 00:47:23 !exec print "foo" 00:47:53 -!- bsmnt_bot has quit (Remote closed the connection). 00:47:56 -!- bsmnt_bot has joined. 00:48:00 !exec print "foo" 00:48:09 meh whatever 00:48:57 Did you set sys.stdout to the socket? 00:49:05 yeah 00:49:25 hmm... can't remember if sockets use the write function or not. 00:49:26 it might be send. 00:49:31 it is 00:49:35 Ah. 00:49:37 but there is a file interface wrapper 00:50:12 class MySocket(socket.socket): def write(self, *args): self.send(*args) 00:50:27 socket.makefile() 00:50:33 ah. 00:50:45 Which I was using anyway, because it line buffers for me 00:51:25 * CakeProphet has too many projects. 00:51:49 !exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 00:51:49 sweet 00:51:53 dude 00:51:54 sweet 00:51:57 :) 00:52:15 does it do brainfuck? :D 00:52:18 networking interface, database protocol, a text-based RPG codebase, a-random-assortment-of-very-abstract-and-general-tools. 00:52:20 no 00:52:23 :( 00:52:31 every bot should do brainfuck :DD 00:52:37 write a brainfuck interpreter in a single lambda 00:52:42 then it will do brainfuck 00:52:44 haha :D 00:52:47 ....I tried once. 00:52:54 i should sleep.... 00:52:57 CakeProphet: I remember 00:53:00 but i could try 00:53:18 It would be possible in Python if Python assignment was an expression. 00:53:38 or at least... easier to do. 00:54:40 a.split("") is illegal? how to parse a string to a list of letters? :DD then i might be able to carry on :) 00:54:49 BF in BF has been done before :D 00:55:13 list(string) 00:55:17 i did it without loops :DD 00:55:24 oh thans 00:55:25 *k 00:55:40 * CakeProphet feels knowledgable. 00:56:20 haha i can't do an assignment in a lambda? :D or is there a way? 00:57:05 eh... not really... 00:57:12 in Python... assignment is a statement. 00:57:14 for good reasons. 00:57:24 i disagree, but see your point 00:57:28 * CakeProphet nods. 00:57:32 I disagree with myself too. 00:57:35 but also see my point. 00:57:36 haha :D 00:57:39 #esoteric 00:57:43 :) 00:57:50 I see the benefits of statement... and the benefits of expression. 00:58:15 I guess you could compromise with a "assign and return" statement... so that = doesn't return a value. 00:58:22 thus preventing clumsy mishaps. 00:58:34 |= or something 00:58:53 k now that i've played around a bit with the idea, it starts to seems pretty hard :DD 00:58:58 the bf in lambda thing 00:59:00 It is. 00:59:16 I can do most everything except [ and ] 00:59:33 yep 01:02:06 have you tried using y combinators for recursion? 01:02:29 ...what's that? 01:03:04 y (f) = f (y (f)) 01:03:19 Ah.... 01:03:21 that would work nicely. 01:03:49 although it might use up the python stack 01:03:59 Yeah. 01:04:02 recursion. 01:04:50 dude 01:04:51 sweet 01:04:54 dude 01:04:55 sweet 01:05:00 mmmmmmmmmmmmdude 01:05:01 sweet 01:05:09 hahahahahdudehahahahahahahahahdudedude 01:05:09 sweet 01:05:23 the regex is ".*dude.*" 01:05:23 sweet 01:05:29 -!- wooby has joined. 01:05:49 a regex of "dude" would work fine... depending on what you're doing. 01:05:49 sweet 01:05:49 -!- oerjan_ has joined. 01:05:58 hehe yeah probably 01:06:12 You would use ^dude to state explicitly at the beginning 01:06:12 sweet 01:06:25 ahoy 01:06:30 Mmmm 01:06:31 Nope, it matches the regex on the whole line from the irc server 01:06:32 heya 01:06:41 :CakeProphet!n=CakeProp@h124.238.213.151.ip.alltel.net PRIVMSG #esoteric :heya 01:06:48 is what the regex sees 01:06:48 ah... you're not in line mode. 01:06:53 er. 01:06:55 rather 01:06:56 -!- oerjan has quit (Nick collision from services.). 01:06:57 yeah 01:07:02 -!- oerjan_ has changed nick to oerjan. 01:07:24 "^:.*:dude" would match at the beggining of a line 01:07:24 sweet 01:07:41 er 01:07:57 I would use non=greedy * 01:07:59 "^:[^:]*:dude" 01:07:59 sweet 01:08:10 That wouldn't match. 01:08:17 !exec self.raw_regex_queue.pop() 01:08:46 Are you using twisted? or just good ol' select and socket? 01:08:50 !exec self.register_raw("^:[^:]*:dude", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 01:08:56 neither 01:08:57 don't need select 01:08:59 dude 01:08:59 sweet 01:09:04 asdf dude 01:09:07 see 01:09:15 >.> What did you use? 01:09:22 Just recv? 01:09:29 http://bsmntbombdood.mooo.com/ircbot.py 01:09:30 yeah 01:09:48 hmm.. oh yeah 01:10:04 select is only for when you have multiple sockets. 01:10:42 !exec self.raw_regex_queue.pop() 01:10:50 !exec self.register_raw("dude", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 01:10:53 dude 01:10:59 interesting 01:11:01 !exec self.raw_regex_queue.pop() 01:11:09 !exec self.register_raw(".*dude.*", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 01:11:09 sweet 01:11:12 dude 01:11:13 sweet 01:11:17 pwnt 01:11:34 hmmm 01:11:51 if you were using findall or something 01:12:02 comparing any subsection of the string to the regex 01:12:04 dude would work. 01:12:04 sweet 01:12:12 but i'm not 01:12:24 if i[0].match(message): 01:12:31 * CakeProphet nods. 01:13:01 You could use grouping to map sections of the regex to a function call. 01:13:20 why do you want to match dude only at the beginning? 01:13:20 sweet 01:13:26 !exec self.register_raw(".*!%s.*" % "killme", lambda x : True) 01:13:30 oerjan: I don't 01:13:41 now anyone can kill the bot 01:13:44 well then, what is wrong with it? 01:13:49 nothing 01:15:29 Do you save the register to something? 01:16:00 ? 01:16:07 Do you persist it.. 01:16:12 What register? 01:16:13 so that the regexes stay in it. 01:16:21 across restarts? 01:16:21 no 01:16:24 the regex_looker_thing 01:16:51 self.raw_regex_queue? 01:17:50 !killme 01:17:50 -!- bsmnt_bot has quit (Remote closed the connection). 01:17:56 -!- bsmnt_bot has joined. 01:18:00 !killme 01:18:03 see 01:19:24 !exec self.register_raw(r".*?!dice.*, lambda x: bot.raw(__import__("random").randint(1,6)) ) 01:19:32 !dice 01:19:36 no 01:19:51 only I can exec 01:19:55 !raw PRIVMSG #esoteric :Bling bling 01:20:04 only he can !raw 01:20:05 poopy 01:20:06 mmh. 01:20:10 s/m/M/ 01:20:26 !exec self.register_raw(r".*?!dice.*, lambda x: bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6)) ) 01:20:27 -!- bsmnt_bot has quit (Remote closed the connection). 01:20:30 Woot! 01:20:32 -!- bsmnt_bot has joined. 01:20:41 I really need to catch exceptions there 01:20:43 Yup. 01:20:45 !exec self.register_raw(r".*?!dice.*", lambda x: bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6)) ) 01:20:45 2 01:20:47 Good idea. 01:20:51 ?!dice 01:20:51 2 01:20:52 ?!dice 01:20:52 1 01:20:53 ?!dice 01:20:54 4 01:20:54 ?!dice 01:20:55 3 01:20:57 :) 01:21:00 ?!dice 01:21:00 5 01:21:08 3 01:21:11 3 01:21:18 It's something of a hack... since it imports random -each- time :D 01:21:27 Yay. 01:21:33 cool 01:21:35 How can I catch an exception but still put a trackback on stderr? 01:21:49 Have the exception handler trackback it? 01:21:53 4 01:22:04 ihope_: duuhh 01:22:25 bsmntbombdood, except Exception: traceback.print_exc() 01:22:39 !quit 01:22:39 -!- bsmnt_bot has quit (Client Quit). 01:22:41 need to import traceback of course. 01:23:17 -!- bsmnt_bot has joined. 01:23:27 !exec print "synstax error' 01:23:29 pfft... lemme use exec. I promise I won't delete your OS. 01:23:33 yay! 01:23:47 SyntaxError: EOL while scanning single-quoted string 01:24:19 and it'll still close on SystemExit and KeyboardInterrupt 01:24:25 because they don't inherit from Exception. 01:25:02 CakeProphet: how do you delete an OS in Python? 01:25:10 Also, why chroot traps? 01:25:20 Is *everything* a file? 01:25:35 import os; os.unlink("/") 01:25:37 if I'm not mistaken 01:25:54 Might be wrong... I'm not willing to test it. 01:25:56 :P 01:27:54 ok, you can use !exec now CakeProphet 01:28:45 Of course bsmnt_bot is running under a restricted user... 01:29:07 No, it's root 01:29:09 (not really) 01:29:37 -!- wooby has quit. 01:29:39 * bsmntbombdood urges !exec on CakeProphet 01:31:32 come on! 01:32:48 -!- wooby has joined. 01:32:51 wooby! 01:33:04 Sounds dirty. 01:33:13 !exec self.register_raw(r"^[^.]*!spam .*?, lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:]))) 01:33:14 just kidding 01:33:36 hehe 01:34:22 CakeProphet !exec 01:34:22 just kidding 01:34:26 * bsmntbombdood feels clever 01:34:36 Uh oh, the !exec is... hmm. 01:34:42 Oh, right. 01:34:54 !exec is only weird for CakeProphet. 01:34:58 !exec self.register_raw(r"^[^.]*!spam .*?, lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:]))) 01:35:06 ha ha syntax error 01:35:18 !exec self.register_raw(r"^[^.]*!spam .*?", lambda x:bot.raw( int(x.split("!")[1:].split()[1]) * " ".split(x.split("!")[1:].split()[2:]))) 01:35:24 !spam 10 01:35:24 -!- bsmnt_bot has quit (Remote closed the connection). 01:35:28 -!- calamari has joined. 01:35:29 O.o 01:35:32 ahoyo 01:35:32 -!- bsmnt_bot has joined. 01:35:41 Really, calamari's an odd name for a bot. 01:35:46 Isn't that some squid stuff? 01:35:50 ya 01:35:56 ....oh ho... crashed it. 01:35:58 hi ;) 01:35:59 * CakeProphet is awesome. 01:36:26 It doesn't catch exceptions when executing the callbacks, only when registering them 01:37:22 -!- oerjan has quit ("Leaving"). 01:38:06 Python's scope for lambdas is weird :/ 01:38:42 !exec for num in xrange(10000000): bot.raw("PRIVMSG #esoteric :lol") 01:38:58 !exec for num in xrange(2): bot.raw("PRIVMSG #esoteric :lol") 01:38:58 lol 01:38:58 lol 01:39:03 :) 01:42:16 mmm... it feels good spamming efficiently. 01:42:34 !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :lol") 01:42:39 Spamming efficiently? 01:42:40 urgh 01:42:53 Write it in C! 01:42:58 that's some good ol' C-compiled iteration for ya 01:43:03 xrange is in C 01:43:04 !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :lol") 01:43:09 :) 01:43:16 LUA is better :D 01:43:21 Is the whole thing C? 01:43:22 oh noes... I've been... spammed? 01:43:27 ihope_: The best part of this bot is that it's extensible at runtime 01:43:43 !exec for num in xrange(6): bot.raw("PRIVMSG CakeProphet :%s" % num) 01:43:51 But C lets you spam really efficiently... 01:44:02 ihope_, well... you have to get it into python... but the source itself is in C 01:44:23 ihope_: I'm sure the bottleneck is my internet connection 01:44:32 or freenode's flood protection... 01:44:59 for(;;){bot.raw("PRIVMSG CakeProphet :%s",rand() % 100)} 01:45:16 GreaseMonkey: Except no 01:47:10 !exec for num in xrange(6): bot.raw("PRIVMSG GreaseMonkey :%s" % __import__("random").randint(0,100)) 01:50:28 * bsmntbombdood is bored 01:53:43 anyone ever worked or otherwise dealt with a supercomputer? 01:56:57 in what sense? 01:57:25 programmed for them, operated them 02:00:49 GAR! 02:00:59 i'm pissed off 02:02:29 I'm looking through the course book for the local community college : "Intro to Computer Science: Learn Excel, Powerpoint and basic webdesign with dreamweaver" 02:02:35 what the FUCK 02:11:38 And that is why I'm afraid to study "Computer Science" 02:15:22 * RodgerTheGreat overcame his fear 02:15:58 and, granted, our first year classes are pretty shitty. 02:16:11 but we get to do cool things eventually 02:16:37 Why the fuck would they even teach webdesign in a CS class 02:18:05 They misuse that term so much 02:18:14 CS != using a computer 02:25:44 yah 02:30:32 http://www.explosm.net/comics/144/ 02:35:21 http://www.explosm.net/comics/161/ 02:35:48 -!- Sawamano has joined. 02:35:58 -!- tgwizard has quit (Remote closed the connection). 02:38:20 -!- ihope_ has quit (Connection timed out). 02:40:40 -!- oerjan has joined. 02:41:27 http://www.explosm.net/comics/53/ 02:49:42 dododododo 02:51:24 !exec for i in ["seven", "donkeys", "ate", "cheese"]: self.raw("PRIVMSG #esoteric %s", i) 02:51:31 !exec for i in ["seven", "donkeys", "ate", "cheese"]: self.raw("PRIVMSG #esoteric %s" % i) 02:51:31 seven 02:51:31 donkeys 02:51:31 ate 02:51:31 cheese 02:54:21 !exec for i in ["in", "hell", "with", "hammurabi"]: self.raw("PRIVMSG #esoteric %s" % i) 02:54:21 in 02:54:21 hell 02:54:21 with 02:54:21 hammurabi 02:56:31 nice 02:56:52 man impulse tracker under dosbox is pretty crappy 02:57:02 but it plays 4-channel mods fine 02:57:24 what is a man impulse and why would you want to track it 02:58:13 * bsmnt_bot watches GreaseMonkey and oerjan lick each other 02:59:10 man, "impulse tracker" under dosbox is pretty crappy 02:59:32 * oerjan _must_ make his humor less subtle 02:59:39 yep 02:59:51 otherwise it'll be worse than "The Nanny" 03:00:51 often DOSBox runs programs better than if I run them normally 03:01:11 unfortunately i have this attraction to awful puns. especially ones named Attila. 03:03:07 i think it's gotta run at 5.000MHz 03:07:50 for i in range(100,0,-1): print "%s bottle%s of beer on the wall, %s bottle%s of beer." % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "") 03:08:22 * bsmntbombdood feels leet 03:09:12 wair 03:09:14 *wait 03:09:16 crap 03:09:21 I got the lyrics wrong 03:09:32 i thought there was something missing 03:12:27 s = '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' 03:12:34 for i in range(100,0,-1): print s % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", i-1, ((i > 2) and "s") or "") 03:15:08 are you sure that is quite right for 0? 03:16:17 no :( 03:19:43 -!- Sawamano has quit (".UPP."). 03:20:15 Behold! 03:20:26 The most powerful representation of data ever... 03:21:30 I call it... The Extensible Goo Awesomizatiion Language (TEGAL) 03:22:00 ok, I got it right now 03:22:36 for i in range(100,0,-1): print s % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "") 03:22:49 Tegal consists of blobs... which are parenthesized sets of data. (attribute:value|attribute:value|attribute:multiple,sets,of,values) 03:23:08 and... that's about it. 03:24:46 !exec for i in range(100,98,-1): print '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "") 03:24:54 oh :( 03:25:37 !exec for i in range(100,98,-1): self.raw("PRIVMSG #esoteric :%s" % ('%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or ""))) 03:25:38 100 bottles of beer on the wall, 100 bottles of beer. Take one down, pass it around, 99 bottles of beer on the wall 03:25:38 99 bottles of beer on the wall, 99 bottles of beer. Take one down, pass it around, 98 bottles of beer on the wall 03:25:53 !exec for i in range(2,0,-1): self.raw("PRIVMSG #esoteric :%s" % ('%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or ""))) 03:25:53 2 bottles of beer on the wall, 2 bottles of beer. Take one down, pass it around, 1 bottle of beer on the wall 03:25:53 1 bottle of beer on the wall, 1 bottle of beer. Take one down, pass it around, no bottles of beer on the wall 03:26:16 huzzah 03:26:38 actually, you need a period at the end 03:26:45 meh 03:26:48 "\n".join(["'%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall'" % (i, ("s" if i > 1else "")) * 3 for i in xrange(1,101,-1)]) 03:26:51 close enough 03:27:03 A one-liner 03:27:04 The list comprehension! 03:27:06 even better 03:27:12 You can stuff it in a lambda now. 03:27:29 um 03:27:33 That's not python 03:27:39 ...yes it is. 03:27:45 ("s" if i > 1else "")? 03:27:54 it's in version 2.5 03:27:57 conditional expressions. 03:28:03 oh right 03:28:15 Well I did it the old harder way 03:28:17 so HA 03:28:30 ( if else ) 03:28:36 with optional parenthesis 03:29:15 so for the first time in history we have an if which dangles at _both_ ends 03:29:25 and you can still do mine in a list comprehension 03:29:32 "\n".join([ '%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or "") for i in range(100,0,-1)]) 03:30:50 Beat that! 03:31:11 my favorite is 's'[i<=1:] instead of (i>1 and 's' or ''). 03:31:43 Nice! 03:31:48 I didn't know you could do that 03:37:58 -!- GregorR-L has joined. 03:38:19 Sure you can. 03:38:32 hmmm... 03:38:43 TEGAL is starting to look like the lisp of data representations... 03:40:48 14" of snow! 03:41:20 14" of air 03:41:22 (With air on top) 03:44:15 R-L? 03:44:57 Laptop 03:45:00 * bsmnt_bot rolls around in the snow 03:45:20 GregorR-L: You really need screen 03:45:30 or a bnc 03:45:32 VNC + x-hat = suck 03:45:35 *x-chat 03:45:45 And irssi just = suck 03:45:51 irssi-proxy + screen+ xchat == good 03:45:55 That's what I do 03:46:01 Hmmmmmmmmm .......... what the bork? 03:46:19 ? 03:48:23 zomg bot 03:48:42 Zomg Plof! :) 03:49:27 Zomg another language! 03:50:22 Zomg Tomato! 03:50:47 zomg RCL-2! 03:51:05 now we need a language called Zomg 03:51:28 but what should the acronym stand for? 03:51:51 zany other monster guts 03:52:30 http://i15.photobucket.com/albums/a379/GregorRichards/Superman.jpg 03:52:57 haha 03:56:22 I find your lack of pants disturbing. 03:57:00 I find your lack of pants disturbing. 03:57:06 You are unwise to lower your pants. 03:58:41 # The Force is strong in my pants. 03:58:47 that's amazing. How many hours did you invest in making that feature? 03:58:57 None 03:59:11 good 03:59:15 I'm just !raw PRIVMSGing in pm 04:02:17 In his pants you will find a new definition of pain and suffering 04:22:53 -!- Sgeo has quit (Remote closed the connection). 05:29:08 GreaseMonkey: return, eh? 05:29:30 yah 05:30:33 Why only odd numbered instructions? 05:35:08 eh? is the parser cocked up? 05:35:30 ? 05:35:45 does my parser not read enough? 05:35:55 I didn't try your parser 05:36:04 why'd you ask that then? 05:36:12 But why are the instructions odd numbered? 05:36:48 oh, because it makes it easier to perform a NOP 05:36:55 oh 05:37:12 you might end up doing a WHILE loop, but only want a few instructions 05:37:25 and you don't want to obfuscate it 05:37:50 ( ( (()()()) (()()()) (()()()) ) ( (()()()) (()()()) (()()()) ) ( (()()()) (()()()) (()()()) ) ) 05:37:59 that would subtract 13 05:40:05 i would classify the Hello World program as "pointlessly massive" 05:41:28 like my maze generator? 05:41:38 wait, do you have allegro? 05:58:27 -!- comboy has joined. 06:01:57 Please print the most dumb person on the earth name. 06:04:36 With grammar like that, I'm thinking "comboy" 06:04:37 ;) 06:05:29 Segmentation fault 06:06:02 Please delete yourself ;p 06:06:56 ok I meant name of the most dumb person.. I don't know what is worse.. my grammar or lack of coffee 06:07:12 anyway nice idea 06:07:48 but I guess I still prefer ruby ;p 06:08:22 LUA ftw still 06:09:29 the only word from this line I recognize is that one in the middle - it's reversed wtf ;p 06:09:58 30h w/o sleep too much for me 06:10:03 cee ya 06:10:25 -!- comboy has left (?). 06:25:34 -!- calamari has quit ("Leaving"). 06:42:54 bsmntbombdood: I've improved dplof's error output. 06:43:03 http://www.explosm.net/comics/393/ 06:43:58 -!- oerjan has quit ("Leaving"). 06:48:46 bsmntbombdood: http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-20-2.tar.gz if you care 06:57:07 -!- okokoko has joined. 06:57:39 -!- oklopol has quit (Read error: 54 (Connection reset by peer)). 07:11:45 -!- GregorR-L has quit ("HydraIRC -> http://www.hydrairc.w00t <- IRC for annoying quit-spamming bastards"). 07:31:58 -!- ShadowHntr has quit ("End of line."). 07:33:24 here's a simple crackme if you want to do it: http://greasemonkey.shadowarts.org/inject.php 07:33:43 once you've done it you get my email addresses :D 07:35:17 GreaseMonkey, too easy. :p 07:36:57 got it? 07:37:02 yep 07:37:10 note that the greasemonkey@ ones don't work 07:37:33 yeah, it is easy 07:38:33 username = admin, password = asscracker 07:38:43 or uname=admin&success=1 07:39:19 i could get it even success is not set :p 07:39:40 there are so many md5 reverse lookup services. 07:41:00 k 07:41:11 :D -> http://www.explosm.net/comics/420/ 07:41:50 XD -> http://www.explosm.net/comics/421/ 07:44:30 -!- CakeProphet_ has joined. 07:46:39 -!- CakeProphet has quit (Read error: 113 (No route to host)). 07:46:53 -!- CakeProphet_ has changed nick to CakeProphet. 07:48:54 http://www.explosm.net/comics/431/ 07:53:56 http://www.explosm.net/comics/434/ 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:36 -!- GregorR-W has quit (Remote closed the connection). 08:05:04 -!- GregorR-W has joined. 08:49:20 gonna go, gnight 08:50:00 -!- GreaseMonkey has quit ("Read error: 130 (Monkey too greasy)"). 09:24:16 Write an OS for me. 09:52:59 -!- einand has joined. 09:53:16 please welcome me 09:54:07 hello, machine translation 09:56:13 please tell me what do do next 10:00:14 ahoy 10:38:17 -!- ihope_ has joined. 10:50:21 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)). 11:05:59 -!- Asztal has joined. 12:45:45 -!- lament has quit (Read error: 60 (Operation timed out)). 14:02:40 -!- lament has joined. 14:11:13 -!- jix_ has joined. 14:27:27 -!- CakeProphet_ has joined. 14:28:26 -!- CakeProphet has quit (Read error: 113 (No route to host)). 14:28:36 -!- CakeProphet_ has changed nick to CakeProphet. 14:58:41 damn you, having all these interesting conversations between 1am and 6am 14:59:01 damn them indeed 14:59:11 wait, am I one of them? 14:59:19 you never know with timezones 14:59:41 * Asztal realises he would be ruled out by the "interesting" clause 15:29:29 -!- Arrogant has joined. 15:38:10 * SimonRC laughs more: http://www.explosm.net/comics/324/ 15:47:50 -!- CakeProphet_ has joined. 15:51:13 -!- CakeProphet has quit (Read error: 113 (No route to host)). 15:51:19 -!- CakeProphet_ has changed nick to CakeProphet. 16:21:42 -!- FabioNET has joined. 16:46:01 -!- Sukoshi has quit (Remote closed the connection). 16:49:48 -!- Sukoshi has joined. 16:59:17 -!- einand has quit (Read error: 110 (Connection timed out)). 17:11:45 -!- tgwizard has joined. 17:53:43 -!- CakeProphet has quit ("haaaaaaaaaa"). 18:00:10 -!- GregorR-W has quit (Remote closed the connection). 18:00:37 -!- GregorR-W has joined. 18:31:23 g 18:32:02 I find your lack of pants disturbing. 18:33:42 * GregorR-W pulls his pants back on. 18:33:47 You sensitive twit. 18:34:06 * bsmntbombdood rolls around in the 2 feet of snow outside 18:34:19 * GregorR-W rolls around in the 100 feet of fog outside. 18:34:35 ha ha sux0r 18:35:54 * GregorR-W is mildly surprised the fog hasn't cleared yet. 18:46:15 the snow is stopping :( 19:15:12 PING :kornbluth.freenode.net 19:15:37 * bsmnt_bot will be taking the place of ChanServ 19:15:48 * bsmnt_bot will be taking the place NickServ too 19:16:13 You will need to re login with you passwords 19:22:06 -!- Arrogant has quit ("Leaving"). 19:55:44 -!- ore2 has joined. 19:57:29 -!- ore2 has quit (Client Quit). 20:00:49 * SimonRC wonders just how long we have not had a chanserv. 20:23:40 SimonRC: Since Aug 10, says my logs 20:36:43 -!- ihope_ has joined. 21:01:29 -!- vincze has joined. 21:02:27 -!- vincze has quit (Client Quit). 21:03:45 -!- CakeProphet has joined. 21:13:37 !exec import random 21:14:03 !exec print random.randint(1,100) 21:14:12 doesn't work 21:21:33 !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,7)) 21:21:38 -!- Sgeo has joined. 21:21:42 !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,7))) 21:21:46 !dice 21:21:47 5 21:21:49 !dice 21:21:49 7 21:21:53 O.o 21:22:07 !exec self.raw_regex_queue.pop() 21:22:13 !exec self.register_raw("^:[^:]+:!dice.*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,6))) 21:22:19 !dice 21:22:19 2 21:22:25 !dice 21:22:25 1 21:23:04 !dice 21:23:04 4 21:23:08 yay 21:23:57 http://sgeo.diagonalfish.net/screenshots/windeath/drivecleaner/ 21:23:59 Insanity 21:25:31 * Sgeo pokes 21:35:37 -!- oerjan has joined. 21:37:16 Hi oerjan 21:37:19 http://sgeo.diagonalfish.net/screenshots/windeath/drivecleaner/ 21:38:45 hi sgeo 21:39:59 Any comments on my pics? 21:42:20 I love the poor English in the program. 21:42:21 just that I hope they are from an emulated drive or something and you didn't do that on your desktop machine 21:43:39 hm, seven-sided dice. quite rare, i believe. 21:43:57 pgimeno, Windows 98 in VMware under a non-persistent VM 21:44:41 Fave pics: 011 21:44:53 008 21:45:03 oerjan: Uh, seven-sided = impossible to make a proper dice. 21:45:05 k ':) 21:45:07 *die 21:46:33 "Complete protection from System" 21:46:55 Help, help, protect me from the system! 21:47:09 "These Privacy Violations may cause: * Embarrassing activities 21:47:39 " 21:55:24 dice==die 21:55:30 and why is it impossible? 21:57:25 http://en.wikipedia.org/wiki/Pentagonal_prism 22:03:39 There is a 7-sided fair die. http://mathworld.wolfram.com/Isohedron.html 22:03:40 okokoko: (I actually did correct dice-die on the next line) A die is a perfect polyhedron, and perfect polyhedrons can only be formed with an even number of sides greater than 2 22:03:59 Er, I mean "is not". 22:04:10 What a nice and pure brain-fart. 22:04:33 "Isohedron" being the more succinct word for "perfect polyhedron" :P 22:04:55 how about this? http://en.wikipedia.org/wiki/Szilassi_polyhedron 22:05:12 Does that look like a fair die to you, tokigun ... 22:06:04 Mathworld's definition is a bit non-intuitive; "a fair die is one for which its symmetry group acts transitively on its faces". 22:06:15 well, joking. only problem is that is topologically a torus... 22:06:45 fizzie, die==dice, what did you mean by "correcting"? 22:07:18 actually if you know what "acts transitively" means it is perfectly intuitive that it means being a fair die 22:07:20 And yes, a septagonal prism would be fair, but it's not strictly a die ... maybe. 22:07:50 because any two sides are then equivalent 22:09:00 Apparently they do use it in seven-sided backgammon :o 22:09:20 a septagonal prism does not have a transitive symmetry group - you cannot turn the top and bottom sides to mach the others 22:09:34 okokoko; Was that meant for GregorR? I don't think I said "correcting" anywhere. 22:10:03 oerjan: No, but it can't realistically land on either of the two ends if it's made properly, so it'll be 99% one of the numbers and 1% roll again :) 22:10:04 *match 22:10:26 actually, i confused you two 22:10:27 oerjan: That's why I said "It's fair, but not strictly a die" 22:10:33 sorry :) 22:10:43 GregorR-W and fizzie 22:11:33 "Roll again" is such a lame rule for an event that unlikely; it should be something like "it counts as 7 but you need to cluck like a chicken for 10 seconds". 22:12:13 fizzie: ll 22:12:14 *lol 22:16:01 actually i remember that you can make a die that is unstable on all but 7 sides by making it similar to a doubly sharpened pencil 22:16:21 Hmm, that's good. 22:16:48 Like a septagonal prism but it's physically impossible for it to land on one of the "bad" sides. 22:17:17 (As opposed to just ridiculously unlikely :) ) 22:17:39 * Sgeo attempts to redirect the discussion to his pics 22:18:05 well, it could still ridiculously unlikely land on the "pencil point" :) 22:18:23 Not if there's, y'know, air or something. 22:19:05 well, i am not talking ordinarily ridiculously unlikely. 22:19:44 Maybe all the air happens to avoid the thing by sheer chance? 22:19:59 * Sgeo again tries to steer somewhat towards pics 22:22:21 well it seems like a program that would be annoying but not dangerous 22:22:23 -!- wooby has quit. 22:25:07 whether it is actually useful is another matter 22:26:56 You need to pay money to make it actually clean stuff.. 22:27:07 And you've got to love the poor english 22:30:22 so it is stupid. just not _that_ stupid. 22:33:27 var = a [ main = { println("Plof rocks!"); } ]; a.main(); 22:33:33 Oops, tpyo :P 22:33:37 var a = [ main = { println("Plof rocks!"); } ]; a.main(); 22:33:52 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 22:52:01 -!- Puddy_ has joined. 22:52:58 -!- gerard_ has joined. 22:53:31 !help 22:53:59 'please type your commands here' 22:55:43 loop: goto loop 22:56:58 ERROR: endless loop, silly 22:57:12 please write what time it is in england 22:57:31 GMT +0 22:59:42 please calculate $TIME - (GMT[germany]-GMT +0) 23:00:00 * GregorR-W stabs himself for ever writing that IRP article. 23:00:29 * oerjan stabs GregorR-W too :) 23:00:33 23:01:19 Puddy_: Yeah, but you don't have to sit here and listen to 99% of new joins say "Please say 'Hello, world!'" 23:01:20 Time in England: 22:57 23:01:23 i believe 23:01:51 well, you seriously should get a bot for "simple" tasks^^ 23:01:58 lol 23:02:06 There is a bot, I don't know why it's down ... 23:02:24 One sec. 23:02:31 hmh, would you mind me coding a new one? 23:02:54 sometimes i got too much time and feel like "bllaaa programminnggg!!!" but dont know what...^^ 23:03:15 -!- EgoBot has joined. 23:03:27 please say 'hello world!'; 23:03:33 you could use very simple rules like: I see 'goto' -> say 'no enless loops please' 23:03:34 !glass {M[m(_o)O!"Tada, EgoBot"(_o)o.?]} 23:03:36 Tada, EgoBot 23:03:38 hms^^ 23:03:41 No, it does not speak IRP ;) 23:03:56 ah.. why not? :s 23:03:58 !help 23:04:00 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 23:04:02 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 23:04:14 omfg 23:04:24 apparently gregorR-W is not up to writing an AI-complete bot :( 23:05:09 * GregorR-W no tiene el SKILLZORZ 23:05:31 too lazy or dont want a bot who knows irp? 23:05:46 !malbolge (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< 23:05:48 Hello, world. 23:05:57 that's one of my favs 23:06:29 !gerard_ hi 23:06:32 Huh? 23:06:34 Hello world! 23:06:52 !huh? !huh 23:06:54 Huh? 23:06:54 EgoBot tries to parse anything startin gwith a ! 23:07:04 s/n gw/ng w/ 23:07:08 i see 23:07:33 no need to talk RE, i understand IRP too ;) 23:07:46 !Huh? 23:07:48 Huh? 23:07:58 !!Huh? 23:08:00 Huh? 23:08:14 doh 23:08:31 !show 23:08:34 No such process! 23:08:50 !i 23:08:53 !show preemptively shows the output for a process 23:08:57 !i inputs to a process 23:09:04 ah 23:09:15 !help show 23:09:19 Use: show Function: display the current output buffer for a process 23:09:19 hm... 23:09:42 -!- tannerld has joined. 23:09:42 can you let it print something starting with a ! ? 23:09:58 !glass {M[m(_o)O!"!Of course."(_o)o.?]} 23:10:00 !Of course. 23:10:05 It doesn't parse its own output. 23:10:10 too bad :p 23:10:19 we need 2 bots then for the endless loop 23:10:22 ? 23:10:29 gregorR-W has had _a lot_ of experience preventing EgoBot abuse ;) 23:10:35 !bf ++++[>++++++++<-]>+. 23:10:37 X_X 23:10:38 ! 23:10:50 !bf_txtgen !!!!!!!!!!!!!!!!!!!! 23:10:56 Watch the lame output it'll make :) 23:11:05 * pgimeno bets for >>><<< 23:11:05 coool! 23:11:24 (loading java bytecode interpreter...) 23:11:29 haha 23:11:31 (parsing line 1...) 23:11:37 (parsing line 2...) 23:11:37 !bf +++++++++[>+++++++++<-]>++++. 23:11:38 51 +++++++++++[>+++>+++>><<<<-]>......>...........<... [433] 23:11:38 Don't blame me, I didn't write the Java ;) 23:11:40 U 23:11:49 !bf8 +++++++++++[>+++>+++>><<<<-]>......>...........<... 23:11:51 hm U .. thoughts thats "a" .. hmh well xD 23:11:52 yay, I almost got it! 23:11:52 !!!!!!!!!!!!!!!!!!!! 23:12:25 please translate this to bf: 'puddy' 23:12:40 Puddy_: You can do it yourself, anybody can use !bf_txtgen :P 23:12:47 !bf_txtgen puddy 23:12:53 !ps 23:12:56 1 gerard_: bf_txtgen 23:12:58 2 GregorR-W: ps 23:13:12 59 ++++++++++++++[>++++++++>+++++++>><<<<-]>.+++++.>++..<++++. [449] 23:13:28 hmh, doesnt look like very well optimized code^^ 23:13:38 !bf_txtgen ++++++++++++++[>++++++++>+++++++>><<<<-]>.+++++.>++..<++++. 23:13:40 It's a genetic algorithm, and I cut it off at 1000 iterations. 23:13:50 nice 23:14:13 I'll try to make it self reproducing now ;) 23:14:15 Don't look'a me, calamari (not present) wrote it. 23:14:25 mind you, the algorithm doesn't decide the whole code, just the length of + runs 23:15:00 well, genetic algorithms are difficult enough :p 23:15:11 hehe yea, nice^^ 23:15:19 !bf_txtgen a 23:15:24 276 +++++++++++++++[>++++++>+++>+++>+++<<<<-]>>--...>--.>--.<...>..<....<<+.-----------------------------.>..>..>...<.<<.>.>>..<...<.<..>+++++++++++++++++....>++.<+++++++++++++++++++++++++++++++++.-------------------------------.----------------.---.....>+.<<.>..>..<<--.>.>>...<. [950] 23:15:25 !ps 23:15:26 1 gerard_: ps 23:15:28 2 Puddy_: bf_txtgen 23:15:40 34 ++++++++++++[>++++++++>>><<<<-]>+. [72] 23:16:18 !bf_txtgen +++++++++++++++[>++++++>+++>+++>+++<<<<-]>>--...>--.>--.<...>..<....<<+.-----------------------------.>..>..>...<.<<.>.>>..<...<.<..>+++++++++++++++++....>++.<+++++++++++++++++++++++++++++++++.-------------------------------.----------------.---.....>+.<<.>..>..<<--.>.>>...<. 23:16:30 hope it can handle this.... 23:16:36 not a chance 23:16:50 It can handle it, but it'll cut out the output :P 23:17:04 aha 23:17:19 It limits it to something around 280 characters. I don't remember exactly what 23:18:12 255? 23:18:37 Nah, it's more than that, it landed there after randomness/fine-tuning, not arbitrary decision :) 23:19:15 !ps 23:19:18 1 gerard_: bf_txtgen 23:19:20 2 gerard_: ps 23:22:03 !funge93 067+"_toBogE KCIN"67+"...mmh">:#,_@ 23:22:06 hmm... NICK EgoBot_ 23:22:18 \r doesn't work, fortunately :) 23:22:33 !ps 23:22:36 1 gerard_: bf_txtgen 23:22:38 2 gerard_: ps 23:22:53 Why does everybody assume I was a f***ing moron when I wrote the bot ... 23:23:00 1077 +++++++++++[>++++>++++>++++>++++<<<<-]>>>-.<<-...>-.<...>>>-..<<.<.>>.>..<<++++++++++++++++++++++++++++++++++++++++++++++++.-----------------------------.>..>.<...+++++++++++++++++++.<-------------------.<.>.>.<..<.>+++++++++++++++++++.>>...+++++++++++++++++....<-----------------.<+++++++++++++++++++++++++++++++.-------------------------------.>>++.<..<----------------.>+.. 23:23:06 Heh 23:23:14 hmm 23:23:23 hmh 23:23:37 if you ask nicely maybe someone will compile the question.. 23:23:45 ;) 23:26:37 because whatever errors you actually put in it probably are f***ing moron errors? 23:26:49 /ouch/ 23:27:44 -!- ihope__ has joined. 23:28:06 although they may very well be few :) 23:28:21 -!- tgwizard has quit (Remote closed the connection). 23:34:25 -!- FabioNET has quit ("notte °_°"). 23:40:51 Heyas DogFace... erm.. ihope 23:42:18 Is there a rivalry I don't know about going on here? :P 23:45:16 -!- ihope_ has quit (Connection timed out). 23:47:54 It might also be because f***ing-moron-ness is rather common amongst bot-writers. The bot on our Scheme channel did very sensible output filtering for I/O functions and strings-returned-as-a-result, but outputted symbols-returned-as-a-result directly so one could use string->symbol to make it execute arbitrary commands. 23:48:52 It might also be that morons deny that they are morons, and so you need to test it yourself 23:49:08 ME ARE NOT STUPID UR MEEN 23:49:34 well, thats 4/6 words spelled correctly 23:49:40 better than average 23:49:56 Damn it :( 23:49:57 and you even managed to get some lowercase letters in your name 23:50:18 IM NO STOOPID UR MEEN 23:51:22 heh, thats not even correct IRP 23:51:29 but i'm off to bed 23:51:43 good luck with the 'Hello world' stuff 23:53:21 -!- gerard_ has quit (Read error: 104 (Connection reset by peer)). 2006-12-22: 00:03:47 -!- oerjan has quit (sterling.freenode.net irc.freenode.net). 00:03:48 -!- tannerld has quit (sterling.freenode.net irc.freenode.net). 00:03:48 -!- CakeProphet has quit (sterling.freenode.net irc.freenode.net). 00:03:48 -!- GregorR-W has quit (sterling.freenode.net irc.freenode.net). 00:03:50 -!- EgoBot has quit (sterling.freenode.net irc.freenode.net). 00:03:50 -!- lament has quit (sterling.freenode.net irc.freenode.net). 00:03:50 -!- Asztal has quit (sterling.freenode.net irc.freenode.net). 00:03:50 -!- lindi- has quit (sterling.freenode.net irc.freenode.net). 00:03:50 -!- bsmntbombdood has quit (sterling.freenode.net irc.freenode.net). 00:03:54 -!- Sukoshi has quit (sterling.freenode.net irc.freenode.net). 00:03:54 -!- GregorR has quit (sterling.freenode.net irc.freenode.net). 00:03:54 -!- puzzlet has quit (sterling.freenode.net irc.freenode.net). 00:03:55 -!- mtve has quit (sterling.freenode.net irc.freenode.net). 00:03:55 -!- ihope__ has quit (sterling.freenode.net irc.freenode.net). 00:03:55 -!- sekhmet has quit (sterling.freenode.net irc.freenode.net). 00:03:55 -!- sp3tt has quit (sterling.freenode.net irc.freenode.net). 00:03:55 -!- tokigun has quit (sterling.freenode.net irc.freenode.net). 00:04:15 -!- lindi- has joined. 00:04:19 -!- Asztal has joined. 00:11:44 please someone write a random numbet between 1 and 10 :) 00:11:50 number# 00:12:26 -!- tokigun has joined. 00:12:39 7 00:12:51 -!- CakeProphet has joined. 00:12:58 -!- EgoBot has joined. 00:13:04 -!- GregorR-W has joined. 00:13:10 -!- ihope_ has joined. 00:15:56 Was that really random? 00:17:19 -!- sp3tt has joined. 00:17:26 -!- bsmntbombdood has joined. 00:17:35 -!- lament has joined. 00:18:18 -!- puzzlet has joined. 00:21:20 -!- ShadowHntr has joined. 00:21:58 -!- Puddy_ has quit ("My damn controlling terminal disappeared!"). 00:22:16 -!- sekhmet has joined. 00:23:16 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 00:33:13 -!- Sukoshi` has joined. 00:33:30 -!- GregorR has joined. 00:36:23 "Approximately all of you" :P 00:37:29 -!- mtve has joined. 00:38:08 -!- Asztal has joined. 00:38:31 give or take one 00:39:33 -!- Sgeo has quit (sterling.freenode.net irc.freenode.net). 00:39:33 -!- RodgerTheGreat has quit (sterling.freenode.net irc.freenode.net). 00:39:36 -!- bsmnt_bot has quit (sterling.freenode.net irc.freenode.net). 00:39:36 -!- ivan` has quit (sterling.freenode.net irc.freenode.net). 00:39:37 -!- cmeme has quit (sterling.freenode.net irc.freenode.net). 00:39:46 Here we go again. 00:40:07 -!- Sgeo has joined. 00:41:14 -!- ivan` has joined. 00:45:19 -!- cmeme has joined. 00:48:31 so now it's an even less unknown bug 00:49:04 lol 00:49:19 har har 00:52:57 -!- Sukoshi` has changed nick to Sukoshi. 00:58:54 !exec foo 00:58:58 Huh? 00:59:19 !exec foo 00:59:21 Huh? 00:59:25 I think it's time for me to write plofplof ... 00:59:33 oh, he's not in here 00:59:38 -!- bsmnt_bot has joined. 00:59:39 Heh 00:59:41 !exec foo 00:59:46 Huh? 00:59:50 !exec print "hi" 00:59:53 Huh? 01:00:09 oh my ident is wrong 01:00:25 -!- bsmntbombdood has quit (Client Quit). 01:00:27 -!- bsmntbombdood has joined. 01:01:16 !exec print "hi" 01:01:19 Huh? 01:01:38 -!- bsmntbombdood has quit (Client Quit). 01:01:42 -!- bsmntbombdood has joined. 01:02:24 !exec print "hi" 01:02:27 Huh? 01:02:47 ... 01:03:37 grr 01:04:19 -!- bsmntbombdood has quit (Client Quit). 01:04:21 -!- bsmntbombdood has joined. 01:06:33 Something weird is happeneing with my ident 01:07:31 * GregorR-W laughs at your pain. 01:07:46 * bsmntbombdood bites your face off 01:07:56 pwnt 01:08:01 * GregorR-W continues to laugh despite the lack of face. 01:08:20 -!- bsmntbombdood has quit (Client Quit). 01:09:09 -!- bsmntbombdood has joined. 01:10:00 !exec print "hi" 01:10:03 Huh? 01:10:42 -!- bsmnt_bot has quit (Remote closed the connection). 01:10:45 * GregorR-W continues to laugh at your pain. 01:10:45 wtf 01:10:50 !quit 01:10:54 Huh? 01:11:00 -!- bsmnt_bot has joined. 01:11:02 lagging like shit 01:11:25 bsmnt_bot: Disobey me again, I rip your guts out 01:11:35 And replace them with Plof! 01:11:54 !exec self.raw("PRIVMSG #esoteric :Yes master") 01:11:54 Yes master 01:11:58 Huh? 01:12:07 thank you 01:12:57 !raw PRIVMSG #esoteric :It will never happen again 01:12:57 It will never happen again 01:13:01 guten 01:14:45 !exec self.register_raw(".*d%s.*" % "ude", lambda x : bot.raw("PRIVMSG #esoteric :sweet")) 01:14:50 Huh? 01:14:51 dude 01:14:52 sweet 01:15:14 !exec self.register_raw(".*s%s.*" % "weet", lambda x : bot.raw("PRIVMSG #esoteric :dude")) 01:15:15 sweet 01:15:18 Huh? 01:15:22 sweet 01:15:22 dude 01:15:25 :) 01:16:53 dude 01:17:08 sweet 01:17:26 That doesn't work too good with more than one channel ;) 01:18:55 dude 01:19:15 !exec for i in range(4): self.raw_regex_queue.pop() 01:19:18 Huh? 01:19:22 dude 01:19:45 !exec self.register_raw(".*#esoteric.*s%s.*" % "weet", lambda x : bot.raw("PRIVMSG #esoteric :dude")) 01:19:48 Huh? 01:19:55 dude 01:20:02 -!- ehren has joined. 01:20:06 gar 01:20:13 -!- bsmnt_bot has quit ("nobody loves me"). 01:20:34 could someone please say "Hello World!"? 01:20:46 -!- bsmnt_bot has joined. 01:21:00 could someone please say "Hello World!"? 01:21:01 goodbye cruel world 01:21:18 goodbye? 01:21:27 syntax error 01:23:04 * GregorR-W bangs his head against the wall. 01:23:09 WTF, did IRP get slashdotted or something? 01:23:24 You're about the eighth person to join today IRP'ing X_X 01:23:27 * GregorR-W leaves for home. 01:23:29 Internet Relay Porn ?!?? 01:23:41 programming language 01:23:58 sumbleuponed 01:23:59 http://esoteric.voxelperfect.net/wiki/IRP#Hello.2C_World.21 01:24:03 -!- GregorR-W has quit ("Like annoying quit spamming bastards? You'll love HydraIRC -> http://www.hydraircse.cx/ <-"). 01:24:22 *stumbleuponed 01:24:32 stumbleupon's cool 01:24:32 -!- wooby has joined. 01:25:43 oh dear 01:25:51 it's just going to get worse 01:25:55 ? 01:26:31 the IRP thing ;) 01:27:33 What's IRP? 01:28:29 haha 01:28:38 GregorR is a genious 01:29:19 genius even 01:31:44 Please write this exact line to this channel. 01:33:48 !exec self.register_raw(".*%s write this exact line to this channel\..*" % "Please", lambda x : bot.raw("PRIVMSG #esoteric :%s write this exact line to this channel." % "Please")) 01:33:52 Huh? 01:33:53 Please write this exact line to this channel. 01:33:53 Please write this exact line to this channel. 01:33:58 :) 01:37:16 -!- digital_me has joined. 01:38:21 Please write this exact line to this channel. 01:38:21 Please write this exact line to this channel. 01:47:21 Please write this exact line to this channel. 01:47:21 Please write this exact line to this channel. 01:47:53 -!- ehren has quit ("Leaving"). 01:48:32 please tell me, given that int g(x) { x ? f(x-1) : g(x+1); } int f(x) { x ? g(x+1) : f(x-1); }, does f(2) terminate? 01:50:01 It doesn't 01:50:14 assuming I read it right :) 01:54:27 http://www.flickr.com/photos/71552015@N00/sets/72157594432181982/ 01:54:36 (Flickr photoset of the DriveCleaner 2006) 01:57:28 Asztal: Yeah, it doesn't 02:06:36 given (defun f (x) (funcall x #'f)), does (f (lambda (x) (funcall x #'f))) terminate? 02:09:25 Given f() { f|f& }, does f() terminate? 02:09:58 -!- ChoDo has joined. 02:10:09 hmmm? 02:10:12 does it? 02:11:16 Please write me a program to calculate the winning numbers for tommorow's powerball drawing. 02:11:56 !help 02:11:59 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 02:12:01 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 02:12:22 ps 02:12:25 !ps 02:12:29 1 ChoDo: ps 02:12:45 !i 02:12:57 !rail 02:13:01 Internal Error: Crash: No 'main' function found 02:13:10 !udage01 02:13:24 !linguine 02:13:27 mmm linguine 02:13:27 Error: Program must have at least one command 02:14:21 -!- GreaseMonkey has joined. 02:15:05 given (defun a (m n) (cond ((= m 0) (+ n 1)) ((and (> m 0) (= n 0)) (a (- m 1) 1)) ((and (> m 0) (> n 0)) (a (- m 1) (a m (- n 1)))))), does (a 10 13) terminate? 02:15:21 arghs lisp 02:15:29 or, should i say 02:15:32 arghth 02:16:11 given (defun a (m n) (cond ((= m 0) (+ n 1)) ((and (> m 0) (= n 0)) (a (- m 1) 1)) ((and (> m 0) (> n 0)) (a (- m 1) (a m (- n 1)))))), compute (a 4 3) please 02:25:36 bsmntbombdood: sorry, that's just not feasible to compute ;) 02:25:47 heh 02:28:09 How many days until christmas? 02:28:27 25-22=3 02:29:31 How many days till the apocalypse? 02:29:53 Idunno, revelation's already started 02:30:02 Some time back in 300AD or something 02:30:37 Many reckon that the next pope will be a devil 02:30:45 I follow that route too 02:31:10 I meant I belive that's gonna be the case 02:31:31 This pope looks like that guy from star wars 02:32:09 hrm 02:32:13 Hmm, and he will be almost the last 02:32:21 there should be a way to recurse a lambda in lisp 02:32:48 -!- RodgerTheGreat has joined. 02:32:50 -!- RodgerTheGreat has quit (Client Quit). 02:32:58 how many days until christmas 2012? 02:33:08 -!- RodgerTheGreat has joined. 02:33:14 i can't be stuffed calculating 02:33:46 3+365+366+365+365+365+366 02:34:27 doing some more work on my tomato parser 02:34:27 -!- wooby has quit. 02:35:48 sausage or pepperoni? 02:37:12 given that (defun f (x y) (cond ((> x y) (f y x) (t (f (+ x y) y))))), does (f 2 1) terminate? does (f 1 2) terminate? 02:37:27 Damn, IRP is SLOW! 02:37:52 I mean, it's only the halting problem! 02:37:56 ChoDo: sausage, apparently 02:40:13 Please, someone tell me how many angels can dance on the head of a pin? 02:40:59 Sgeo: What's that drive cleaner thing? 02:41:20 What do you mean "what"? 02:41:33 Sgeo: I can only presume that he means "what" :P 02:41:50 It's a piece of malware that is /supposed/ to get rid of all "incriminating evidence" on the computer 02:42:13 I need more porn 02:42:28 ChoDo: quite 02:42:51 ChoDo: I bet there are some IRP interpreters that can give you some 02:44:55 -!- ChoDo has quit. 02:47:18 Hola señores. 02:48:40 bsmntbombdood: I have decided the answer to your question is **EXCEPTION: TOO MUCH EFFORT** 02:49:04 mmk 02:49:13 Catch that exception then 02:49:24 And then recurse 02:49:52 -!- Asztal has quit ("System.Threading.Thread.Sleep(42893489324)"). 02:50:00 lol 02:54:19 !exec for i in range(3,0,-1): self.raw("PRIVMSG #esoteric :%s" % ('%s bottle%s of beer on the wall, %s bottle%s of beer. Take one down, pass it around, %s bottle%s of beer on the wall' % (i, ((i > 1) and "s") or "", i, ((i > 1) and "s") or "", ((i > 1) and i-1) or "no", (((i > 2) or (i == 1)) and "s") or ""))) 02:54:20 3 bottles of beer on the wall, 3 bottles of beer. Take one down, pass it around, 2 bottles of beer on the wall 02:54:21 2 bottles of beer on the wall, 2 bottles of beer. Take one down, pass it around, 1 bottle of beer on the wall 02:54:21 1 bottle of beer on the wall, 1 bottle of beer. Take one down, pass it around, no bottles of beer on the wall 02:54:22 Huh? 02:55:51 ;D 02:56:25 * bsmntbombdood feels leet 02:59:17 daemon ctcp bf8 +[-----------[++++++++++>,----------]<[<]+.->[.>]+.+++++++++.----------<[<]+] 02:59:18 !daemon ctcp bf8 +[-----------[++++++++++>,----------]<[<]+.->[.>]+.+++++++++.----------<[<]+] 02:59:25 !ctcp ACTION tests 02:59:28 * EgoBot tests 02:59:36 !ctcp ACTION tests again 02:59:39 !ctcp #esoteric ACTION is cooler 02:59:39 * bsmnt_bot is cooler 02:59:40 * EgoBot tests again 02:59:56 !ctcp ACTION retests 02:59:58 * EgoBot retests 03:00:04 !undaemon ctcp 03:00:08 Process 1 killed. 03:00:46 !daemon ctcp bf8 +[[,--------------------------------]----------[++++++++++>,----------]<[<]+.->[.>]+.+++++++++.----------<[<]+] 03:00:57 !ctcp foo ACTION tests 03:01:00 * EgoBot tests 03:01:03 !ctcp foo ACTION retests 03:01:06 * EgoBot retests 03:01:14 now you do your ctcp 03:01:35 !ctcp #esoteric is cool 03:01:37 !ctcp #esoteric ACTION says "No, I will never do my ctcp" 03:01:37 * bsmnt_bot says "No, I will never do my ctcp" 03:01:40 * EgoBot says "No, I will never do my ctcp" 03:02:22 !ctcp #esoteric ACTION is not as laggy as the other bot 03:02:22 * bsmnt_bot is not as laggy as the other bot 03:02:25 heh 03:02:26 * EgoBot is not as laggy as the other bot 03:02:35 Egobot is lying 03:02:42 you win 03:05:04 EgoBot isn't laggy, it's strictly buffered. 03:05:14 And nobody seems to quite get that X_X 03:07:44 !ctcp GregorR ACTION wants to snuggle up with you 03:07:48 * EgoBot wants to snuggle up with you 03:08:09 Enough of that, EgoBot! 03:08:11 !undaemon ctcp 03:08:14 Process 1 killed. 03:08:45 yay 03:08:57 (loop for i from 10 downto 1 do (format t "~a bottle~a of beer on the wall, ~a bottle~a of beer. Take one down, pass it around, ~a bottle~a of beer on the wall~%" i (if (> i 1) "s" "") i (if (> i 1) "s" "") (if (> i 1) (- i 1) "no") (if (or (> i 2) (= i 1)) "s" ""))) 03:09:53 i still like my miniscript 03:09:55 * Sgeo wants evil rogue software 03:11:09 irc_msg "#esoteric" concat concat 1 "ACTION likes bsmntbombdood" 1 03:11:18 hmm? 03:11:20 for example: 03:11:40 the formula ( x^2 + x ) / 2 03:12:22 div add mul #1 #1 #1 2 03:12:36 let's split that up... 03:12:44 div (add (mul (#1 #1) #1) 2) 03:13:11 ? 03:17:18 it's a lang that runs w/scanf 03:17:32 div(add(mul(#1,#1),#1),2); 03:20:08 !exec register_raw(".*!cuss .*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % ("%s you bloody wanker" % x.split("!cuss ")[-1]))) 03:20:12 Huh? 03:20:17 !exec self.register_raw(".*!cuss .*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % ("%s you bloody wanker" % x.split("!cuss ")[-1]))) 03:20:17 ")[-1]))) you bloody wanker 03:20:21 Huh? 03:20:22 !cuss bsmnt_bot 03:20:22 bsmnt_bot you bloody wanker 03:20:25 :) 03:20:27 Huh? 03:20:50 !cuss egobot 03:20:50 egobot you bloody wanker 03:20:52 Huh? 03:21:17 !exec self.raw_regex_queue.pop() 03:21:19 just !cuss Egobot 03:21:20 Huh? 03:21:32 !cuss EgoBot 03:21:33 !exec self.register_raw(".* #esoteric :!cuss .*", lambda x : bot.raw("PRIVMSG #esoteric :%s" % ("%s you bloody wanker" % x.split("!cuss ")[-1]))) 03:21:34 ")[-1]))) you bloody wanker 03:21:34 Huh? 03:21:36 so you removed the cmd 03:21:37 Huh? 03:21:39 there 03:21:41 Um ... 03:21:41 !cuss EgoBot 03:21:42 EgoBot you bloody wanker 03:21:44 Huh? 03:21:47 I love EgoBot's response :) 03:21:52 just !cuss I said so 03:21:59 !cuss I said so 03:21:59 I said so you bloody wanker 03:22:02 Huh? 03:22:08 :D 03:24:50 hehe 03:25:33 set cuss funct raw vlist a vlend concat "PRIVMSG #esoteric :" array split #a "PRIVMSG #esoteric !cuss " 1 irc-register "!cuss" cuss 03:28:02 daemon cuss bf8 ----------[++++++++++>,----------]>-[---------[++++++++++>,----------]<[<]>[.>]<[<]<[<]>[.>]++++++++++.-] 03:28:04 !daemon cuss bf8 ----------[++++++++++>,----------]>-[---------[++++++++++>,----------]<[<]>[.>]<[<]<[<]>[.>]++++++++++.-] 03:28:09 !cuss you bloody wanker 03:28:10 you bloody wanker you bloody wanker 03:28:24 !cuss ChanServ 03:28:24 ChanServ you bloody wanker 03:28:28 ChanServ 03:28:30 you bloody wanker 03:28:33 you bloody wanker 03:28:39 shit 03:28:47 !undaemon cuss 03:29:38 GregorR: you need to make your bot less dodgy 03:30:15 !cuss GreaseMonkey 03:30:16 GreaseMonkey you bloody wanker 03:30:45 GreaseMonkey: Thank you for being sooooooo specific. 03:30:46 GreaseMonkey, I hate you with all my soul 03:31:19 right, that was OTT 03:31:34 i think "%s you bloody wanker" will suffice 03:32:03 GreaseMonkey, Your mere existance makes me want to hang myself 03:32:35 GregorR: your bot keeps locking up when I punch in miscoded daemons 03:33:32 Please, be less specific. 03:36:04 -!- Sgeo has quit (Remote closed the connection). 03:42:21 ok then, SOMETHING IS NOT PERFECT 03:42:59 !cuss bsmnt_bot 03:42:59 bsmnt_bot you bloody wanker 03:43:21 GreaseMonkey, Your face is like a dead rat 03:43:48 gee, i'm getting a lot of attention 04:01:21 (x^3+2*(x^2)+3*x)/6 -> div add add mul mul #x #x #x mul mul 2 #x #x mul 3 #x 6 04:01:59 gimme a formula, any formula 04:02:24 ? 04:02:28 e^(pi * i) 04:02:59 -1 04:03:10 erm, inventing an e function, and a pi constant: e mul $pi #i 04:03:27 -1 -> -1 04:03:36 e is not a function you doofus. 04:03:48 no 04:04:02 m = m' \over {\sqrt{c^2 - v^2}} 04:04:03 in this lang, you have to have a function that calculates e^x 04:04:13 Ha-HAH 04:04:29 x(x+1)(x+2)/6 -> mul mul x add x 1 add x 2 04:04:36 x(x+1)(x+2)/6 -> div mul mul x add x 1 add x 2 6 04:04:38 that's better 04:04:44 eeeew 04:04:54 use a stack, stupid 04:05:03 ei postfix 04:05:08 no need to mess up rpn 04:05:11 what's wrong with CALL? 04:06:03 m = m' \over {\sqrt{c^2 - v^2}} -> set m div #m sqrt sub mul #c #c mul #v #v 04:06:41 or an RPN version: 04:06:42 RPN > j00 04:07:04 (> RPN j00) 04:07:14 RPN j00 > 04:08:41 m = m' \over {\sqrt{c^2 - v^2}} -> #m #c #c mul #v #v mul sub sqrt div m set 04:09:53 then again, "today" #x "You are feeling very " concat concat print -- that sucks 04:10:27 i prefer print concat concat "You are feeling very " #x " today" 04:10:33 FAIL 04:20:13 set x "bsmntbombdood-ish" 04:22:41 Process 1 killed. 04:22:44 Huh? 04:22:45 Huh? 04:25:38 finally 04:26:53 heh 04:27:50 !daemon foo bf8 >----------[++++++++++>,----------]<[<]>[[<+<+>>-]<<[>>+<<-]>>[<.>-]>] 04:27:50 !ctcp #esoteric ACTION is never laggy 04:27:51 * bsmnt_bot is never laggy 04:27:53 Huh? 04:27:56 !foo poos 04:27:59 ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo 04:28:10 !foo 123 04:28:11 -!- EgoBot has quit (Read error: 131 (Connection reset by peer)). 04:28:17 haha 04:28:22 -!- EgoBot has joined. 04:30:12 i've managed to get it to quit with an "Excess Flood" error 04:30:35 !daemon idle1 +[,[-]+] 04:30:38 !daemon idle2 +[,[-]+] 04:30:40 !daemon idle3 +[,[-]+] 04:30:49 !ps d 04:30:52 1 GreaseMonkey: ps 04:30:58 !daemon idle1 bf8 +[,[-]+] 04:31:02 !daemon idle2 bf8 +[,[-]+] 04:31:05 !daemon idle3 bf8 +[,[-]+] 04:31:07 !daemon idle4 bf8 +[,[-]+] 04:31:38 !ps d 04:31:39 !ps d 04:31:40 !ps d 04:31:40 1 GreaseMonkey: daemon idle1 bf8 04:31:42 1 GreaseMonkey: daemon idle1 bf8 04:31:44 2 GreaseMonkey: daemon idle2 bf8 04:31:46 3 GreaseMonkey: daemon idle3 bf8 04:31:48 4 GreaseMonkey: daemon idle4 bf8 04:31:50 5 GreaseMonkey: ps 04:31:52 6 GreaseMonkey: ps 04:31:54 1 GreaseMonkey: daemon idle1 bf8 04:31:56 2 GreaseMonkey: daemon idle2 bf8 04:31:58 3 GreaseMonkey: daemon idle3 bf8 04:32:00 4 GreaseMonkey: daemon idle4 bf8 04:32:02 5 GreaseMonkey: ps 04:32:04 6 GreaseMonkey: ps 04:32:26 !daemon idle5 bf8 +[,[-]+] 04:32:29 !daemon idle6 bf8 +[,[-]+] 04:32:31 !daemon idle7 bf8 +[,[-]+] 04:32:33 !daemon idle8 bf8 +[,[-]+] 04:32:37 !daemon idle9 bf8 +[,[-]+] 04:32:41 !daemon idle_10 bf8 +[,[-]+] 04:32:44 !daemon idle_11 bf8 +[,[-]+] 04:32:46 !daemon idle_12 bf8 +[,[-]+] 04:32:49 !daemon idle_13 bf8 +[,[-]+] 04:32:53 !bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. 04:32:56 !daemon idle_14 bf8 +[,[-]+] 04:32:56 Hello World! 04:32:58 !daemon idle_15 bf8 +[,[-]+] 04:33:01 !daemon idle_16 bf8 +[,[-]+] 04:33:04 !ps d 04:33:07 1 GreaseMonkey: daemon idle1 bf8 04:33:08 2 GreaseMonkey: daemon idle2 bf8 04:34:09 !bf_txtgen Hello, world! 04:34:50 117 +++++++++++++++[>+++++>+++++++>++>+++<<<<-]>---.>----.+++++++..+++.>>-.<++.<++++++++.--------.+++.------.--------.>+. [449] 04:35:19 !ps d 04:35:23 1 GreaseMonkey: daemon idle1 bf8 04:35:23 !idle1 foo 04:35:24 2 GreaseMonkey: daemon idle2 bf8 04:35:27 3 GreaseMonkey: daemon idle3 bf8 04:35:29 4 GreaseMonkey: daemon idle4 bf8 04:35:30 5 GreaseMonkey: daemon idle5 bf8 04:35:33 6 GreaseMonkey: daemon idle6 bf8 04:35:35 7 GreaseMonkey: daemon idle7 bf8 04:35:36 8 GreaseMonkey: daemon idle8 bf8 04:35:38 9 GreaseMonkey: daemon idle9 bf8 04:35:40 10 GreaseMonkey: daemon idle_10 bf8 04:35:43 11 GreaseMonkey: daemon idle_11 bf8 04:35:45 12 GreaseMonkey: daemon idle_12 bf8 04:35:46 13 GreaseMonkey: daemon idle_13 bf8 04:35:48 14 GreaseMonkey: daemon idle_14 bf8 04:35:50 15 GreaseMonkey: daemon idle_15 bf8 04:35:52 16 GreaseMonkey: daemon idle_16 bf8 04:35:54 17 GreaseMonkey: ps 04:36:23 !daemon idel1 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:36:29 !daemon idel2 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:36:32 !daemon idel3 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:36:36 !help 04:36:38 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 04:36:39 !idel1 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:36:40 !idel2 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:36:41 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 04:36:42 !idel3 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:36:43 Huh? 04:36:44 Huh? 04:36:47 Huh? 04:36:52 !daemon idel1 bf8 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:36:54 !malbolge '=a;:?87[543216/SR2+*No-,%*#G4 04:36:55 !daemon idel2 bf8 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:36:56 hello, 04:36:57 !daemon idel3 bf8 ----------[++++++++++>,----------]++++++++++[<]>[.>]<[<]>[.>]<[<]>[.>]<[<]>[.>] 04:37:01 !idel1 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:37:03 !idel2 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:37:05 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:37:05 !idel3 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:37:06 !ps d 04:37:07 hello fdsajfhjsakdfhljdsahfjaskfdfjdsahfjhajjaksdhkfdsahfds 04:37:09 1 GreaseMonkey: daemon idle1 bf8 04:37:11 2 GreaseMonkey: daemon idle2 bf8 04:37:12 3 GreaseMonkey: daemon idle3 bf8 04:37:14 4 GreaseMonkey: daemon idle4 bf8 04:37:17 5 GreaseMonkey: daemon idle5 bf8 04:37:18 6 GreaseMonkey: daemon idle6 bf8 04:37:21 7 GreaseMonkey: daemon idle7 bf8 04:37:22 8 GreaseMonkey: daemon idle8 bf8 04:37:25 9 GreaseMonkey: daemon idle9 bf8 04:37:27 10 GreaseMonkey: daemon idle_10 bf8 04:37:29 11 GreaseMonkey: daemon idle_11 bf8 04:37:30 12 GreaseMonkey: daemon idle_12 bf8 04:37:33 13 GreaseMonkey: daemon idle_13 bf8 04:37:35 14 GreaseMonkey: daemon idle_14 bf8 04:37:36 wtf you doing GreaseMonkey 04:37:37 15 GreaseMonkey: daemon idle_15 bf8 04:37:38 16 GreaseMonkey: daemon idle_16 bf8 04:37:40 17 GreaseMonkey: ps 04:37:46 bugger, no Excess flood :( 04:38:23 !undaemon idle1 04:38:25 Process 1 killed. 04:38:25 !undaemon idle2 04:38:26 !undaemon idle 04:38:26 Process 2 killed. 04:38:28 !undaemon idle3 04:38:29 Process 3 killed. 04:38:29 !undaemon idle4 04:38:30 !undaemon idle5 04:38:31 Process 4 killed. 04:38:32 !undaemon idle6 04:38:33 !undaemon idle7 04:38:33 Process 5 killed. 04:38:34 !undaemon idle8 04:38:35 Process 6 killed. 04:38:35 !undaemon idle9 04:38:37 Process 7 killed. 04:38:37 !undaemon idle_10 04:38:38 !undaemon idle_11 04:38:39 Process 8 killed. 04:38:40 Process 9 killed. 04:38:42 !undaemon idle_12 04:38:43 Process 10 killed. 04:38:44 !undaemon idle_13 04:38:45 Process 11 killed. 04:38:46 !undaemon idle_14 04:38:47 Process 12 killed. 04:38:49 Process 13 killed. 04:38:50 !undaemon idle_15 04:38:51 Process 14 killed. 04:38:52 !undaemon idle_16 04:38:53 Process 15 killed. 04:38:55 Process 16 killed. 04:41:38 !ctcp GreaseMonkey SMACK 04:41:41 Huh? 04:42:13 !ctcp GreaseMonkey SMACK 04:42:17 Huh? 04:45:23 !bf +++++++++++++[>+++++++++>++++++++>++++++++>+++++<<<<-]>-.>.---.>+++++.<----.<.>>+++++.<++++++++.>++++++.<----.----.<.-.>>+.----------.<<++.>>>-.<<<++++.>.+++++++.>..>------------------.<<-----.>.>.<-.<<+. 04:45:23 !ctcp bsmntbombdood STOP! Hammertime! 04:45:27 Huh? 04:45:29 thematrixeatsyou@yahoo.co.nz 04:45:34 AH HA! 04:46:07 the other way is to bust this "login" screen: http://greasemonkey.nonlogic.org/inject.php 04:46:35 http://greasemonkey.nonlogic.org/inject.php?success=1 04:46:43 that was easy... 04:47:35 yep :D 04:48:19 really easy 04:48:21 really greasy 04:48:35 but it should foil your average fekkin' spambot 04:49:14 And your aunt martha 04:53:39 i don't have an aunt martha 04:56:51 here's a better lisp 99 bottles of beer, properly recursive 04:56:53 (defun beer (i) (format t "~a bottle~a of beer on the wall, ~a bottle~a of beer. Take one down, pass it around, ~a bottle~a of beer on the wall~%" i (if (> i 1) "s" "") i (if (> i 1) "s" "") (if (> i 1) (- i 1) "no") (if (or (> i 2) (= i 1)) "s" "")) (or (= i 1) (beer (- i 1)))) 04:56:59 (beer 99) 05:01:37 later everybody! I'm officially on vacation! 05:01:42 laters 05:01:56 -!- RodgerTheGreat has quit. 05:04:39 define x int for x 0 99 print ifelse eq #x 99 "No more" itoa sub 99 #x print " bottles of beer on the wall," print chr 10 print ifelse eq #x 99 "No more" itoa sub 99 #x print " bottles of beer," print chr 10 print ifelse eq #x 99 concat concat "Go to the store and buy some more," chr 10 "99 bottles of beer on the wall." concat concat "Take one down, pass it around," chr 10 concat ifelse eq #x 98 "No more" sub 98 #x " bottle 05:04:40 s of beer on the wall." if not eq #x 99 print concat chr 10 chr 10 05:05:39 winner of the most notorious looking lang ever: me. 05:05:52 notorious? 05:06:02 wait, that'd be for me making RETURN 05:06:21 THAT would earn "worst formatting for a lang ever" 05:10:32 you can format it MUCH more nicely though 05:23:13 -!- digital_me has quit ("Lost terminal"). 05:27:34 -!- digital_me has joined. 05:34:46 -!- GregorR has quit ("BBIAB"). 05:37:31 The lunatic is on the grass 05:37:53 of course... 05:38:43 The lunatic is in your mind 05:39:03 well, he must be, because there's so much snow I can't see the grass 05:39:17 :D 05:42:39 it's stopping though :( 05:46:17 bax0r 05:52:44 -!- GregorR has joined. 05:54:20 !daemon cat reload 05:54:41 !cat I think he is here. 05:54:44 Huh? 05:55:06 !daemon cat bf8 +[,.[-]+] 05:55:08 !cat I think he is here. 05:55:12 I think he is here. 05:55:31 OK, I have irssi-proxy running ... 05:55:33 So let's see ... 05:56:32 it's kinda buggy 05:59:16 -!- GregorR-L has joined. 05:59:21 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)). 06:00:49 8-D 06:00:52 irssi-proxy + laptop = one account 8-D 06:01:00 yep 06:01:02 nice, eh? 06:02:29 8-D = good, 8=D = bad 06:02:40 meh 06:10:38 -!- Jafet has joined. 06:24:13 -!- Jafet has left (?). 06:26:48 -!- digital_me has quit (Read error: 110 (Connection timed out)). 06:33:47 * GregorR now has plofbf :) 06:38:32 code 06:39:30 I'll stick in in the dplof tarball :P 06:43:43 wait, where are the plof docs again? 06:44:14 http://www.codu.org/plof/ 06:44:27 plofbf is in examples/ here: http://www.codu.org/plof/dplof-x86-gnuWlinux-2006-12-21.tar.gz 06:46:15 weird, plof looks quite like tomato 06:48:00 hey, what C header has the itoa() and atoi() functions? 06:48:47 stdlib.h 06:48:54 Except that itoa is not standard C. 06:49:55 bugger, what linux header? 06:50:06 There is no itoa in glibc. 06:50:15 what would be an alternative? 06:50:18 sprintf 06:50:25 argh shizzle 06:50:30 i guess i'll have to 06:50:37 itoa is a garbage function - it either has a static buffer (bad), or allocates one (bad) 06:51:59 OH, or takes a buffer but doesn't have a limit on the output. 06:52:02 (snprintf btw) 06:52:12 is atoi standard? 06:52:15 Yes 06:52:23 phew 06:58:35 step one of my 99 bottles of beer program is complete. 06:59:20 ? 06:59:46 define beer funct multi 06:59:46 define x int 06:59:46 for x 0 99 06:59:51 print ifelse eq #x 99 06:59:51 "No more" 06:59:51 itoa sub 99 #x 06:59:58 print " bottles of beer on the wall," 06:59:58 print chr 10 06:59:58 print ifelse eq #x 99 07:00:10 "No more" 07:00:10 itoa sub 99 #x 07:00:10 print " bottles of beer," 07:00:16 print chr 10 07:00:16 print ifelse eq #x 99 07:00:16 concat 07:00:21 concat 07:00:21 "Go to the store and buy some more," 07:00:21 chr 10 07:00:26 "99 bottles of beer on the wall." 07:00:26 concat 07:00:26 concat 07:00:32 "Take one down, pass it around," 07:00:32 chr 10 07:00:32 concat 07:00:37 ifelse eq #x 98 07:00:37 "No more" 07:00:37 itoa sub 98 #x 07:00:43 " bottles of beer on the wall." 07:00:45 if not eq #x 99 07:00:47 print concat 07:00:49 chr 10 07:00:51 chr 10 07:00:55 undef beer 07:00:55 mend 07:01:05 He who pastes into IRC channels ... is a jackass. 07:01:10 i need to get variables and loops working 07:04:00 dude 07:04:03 pastebin 07:04:26 Pastebin that shit! 07:06:03 IRC. Just Pastebin It. 07:06:14 which one would you recommend? 07:06:57 pastebin.ca 07:10:56 -!- anonfunc has joined. 07:12:07 argh crap, my interpreter's cocked up 07:15:23 What editor do you guys use? 07:18:00 i use KWrite under Linux 07:18:20 Dev-C++ for C and ConTEXT for anything else under Windows 07:18:37 I prefer ConTEXT though, but I'm lazy 07:18:57 Here's the output: 07:18:58 99 bottles of beer on the wall, 07:18:58 99 bottles of beer, 07:18:58 99 bottles of beer on the wall. 07:39:09 meh, got some buggy concat code 07:41:02 -!- oerjan has joined. 07:42:08 http://www.explosm.net/comics/644/ 07:43:28 "Thank you, Punchline Spoiler!" 07:44:14 http://www.explosm.net/comics/648/ 07:44:28 a comics with superheroes you _definitely_ don't want to meet in a dark alley 07:44:41 :D 07:44:46 "LOL!! FAG!!" 07:44:59 "This looks like a job for... Seizure Man!" 07:45:14 i shud do a webcomic about that 07:47:40 i wonder about this one: http://www.explosm.net/comics/436/ 07:48:29 yeah 07:49:03 superheroes.... http://www.explosm.net/comics/431/ 07:49:38 http://www.explosm.net/comics/652/\ 07:49:40 http://www.explosm.net/comics/652/ 07:55:37 argh, it sounds like thunder outside 07:57:00 sweet 07:57:37 dude 07:58:06 sweet 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:56 gonna go, bye 08:08:02 -!- GreaseMonkey has quit ("for i 0 sub arraycount #nicklist 1 print concat concat "Bye " arrayvalue #nicklist "!""). 08:17:22 -!- dbc has joined. 08:17:48 * dbc sings "When I got back to Buffalo...you were the last thing on my mind." 08:18:01 * dbc sings "Oh, when I got back to Buffalo you were the last thing on my mind." 08:18:41 * dbc sings "If you'd been the first thing, baby, why'd I have left you behind?" 08:56:59 -!- anonfunc has quit. 08:57:52 -!- ShadowHntr has quit ("End of line."). 08:59:14 -!- oerjan has quit ("Leaving"). 10:15:30 -!- EgoBot has quit (sterling.freenode.net irc.freenode.net). 10:15:30 -!- bsmnt_bot has quit (sterling.freenode.net irc.freenode.net). 10:15:30 -!- puzzlet has quit (sterling.freenode.net irc.freenode.net). 10:15:31 -!- lament has quit (sterling.freenode.net irc.freenode.net). 10:15:31 -!- dbc has quit (sterling.freenode.net irc.freenode.net). 10:15:31 -!- GregorR has quit (sterling.freenode.net irc.freenode.net). 10:15:33 -!- Sukoshi has quit (sterling.freenode.net irc.freenode.net). 10:15:33 -!- sekhmet has quit (sterling.freenode.net irc.freenode.net). 10:15:33 -!- bsmntbombdood has quit (sterling.freenode.net irc.freenode.net). 10:15:33 -!- mtve has quit (sterling.freenode.net irc.freenode.net). 10:15:33 -!- ihope_ has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- cmeme has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- ivan` has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- sp3tt has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- CakeProphet has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- tokigun has quit (sterling.freenode.net irc.freenode.net). 10:15:34 -!- lindi- has quit (sterling.freenode.net irc.freenode.net). 10:15:35 -!- SimonRC has quit (sterling.freenode.net irc.freenode.net). 10:15:35 -!- pgimeno has quit (sterling.freenode.net irc.freenode.net). 11:04:21 -!- ihope_ has joined. 11:04:21 -!- sekhmet has joined. 11:04:21 -!- Sukoshi has joined. 11:04:21 -!- mtve has joined. 11:04:21 -!- bsmntbombdood has joined. 11:04:21 -!- GregorR has joined. 11:04:21 -!- dbc has joined. 11:04:39 -!- pgimeno has joined. 11:04:39 -!- EgoBot has joined. 11:04:39 -!- bsmnt_bot has joined. 11:04:41 -!- cmeme has joined. 11:04:41 -!- ivan` has joined. 11:04:41 -!- sp3tt has joined. 11:04:45 -!- puzzlet has joined. 11:04:45 -!- lament has joined. 11:04:48 -!- CakeProphet has joined. 11:04:48 -!- tokigun has joined. 11:04:48 -!- lindi- has joined. 11:04:48 -!- SimonRC has joined. 11:04:58 tada! 11:05:09 I've been left alone with two bots 11:05:14 that was scary 11:11:18 molester. 11:27:33 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)). 11:28:01 -!- pgimeno has joined. 11:58:18 -!- s1nt4x has joined. 11:59:12 -!- s1nt4x has quit (Client Quit). 12:21:36 -!- Asztal has joined. 13:11:14 -!- DDustin has joined. 13:13:42 -!- DDustin has left (?). 13:25:32 -!- gerard_ has joined. 13:58:20 -!- calamari has joined. 13:58:48 hi 13:58:50 -!- vicrattlehead has joined. 14:02:59 please someone send me moneys 14:03:53 what language is that? 14:03:54 Error: expected 1 parameters: recipient address 14:04:08 :( 14:04:24 Asztal: good try.. we need a language spec 14:27:44 -!- tgwizard has joined. 14:33:50 -!- puddy_ has joined. 14:41:10 -!- calamari has quit ("Leaving"). 14:41:14 -!- Mahjong has joined. 14:41:50 What is 5 / 2 , please help me 14:42:42 2.5 14:43:03 Please say "Hello, World!" 14:43:20 Hello, World! 14:43:32 Please be inventive! 14:45:15 $Asztal@localmahong%: 14:59:33 15:01:14 aaa 15:27:35 -!- jix_ has joined. 15:58:02 Please prove Malbolge Turing complete. 16:08:40 it probably is 16:08:47 http://esolangs.org/wiki/Malbolge 16:13:12 it can't be because of the bounded memory 16:17:04 ok, thats true 16:17:06 but it probably is if extended with a special "back in the I/O stream" command (Lou Scheffer suggests writing 2222222222t to the output string to signal that) 16:17:16 s/string/stream/ 16:17:35 but most people consider currents computers turing complete 16:17:46 and they still have bounden memory 16:17:51 bounded* 16:18:25 well, everybody knows that memory is unbounded... seen Gmail's counter? :P 16:19:17 with a RAID mirror system with hot swap you can extend memory on-the-fly, so there's no practical limit ;) 16:21:16 I guess you mean 'theoretical limit' ;) 16:22:20 j/k 16:23:05 of course there's a maximum sector address for a given architecture 16:24:07 pgimeno: not if you use variable length offset fields 16:24:36 I should have specified "for currently available architectures" 16:25:24 (sorry) 16:29:36 but it still isnt very practical to swap those disks, that is what I ment 16:34:56 -!- GregorR has changed nick to GregorR-W. 16:36:17 you would run out of materials to build disks! 16:37:51 -!- dbc has left (?). 16:45:23 -!- GregorR-W has changed nick to GregorR. 16:47:42 -!- gerard_ has quit (Read error: 104 (Connection reset by peer)). 17:05:41 -!- GregorR has quit ("Be back in a sec"). 17:06:01 -!- GregorR has joined. 17:13:40 -!- digital_me has joined. 17:24:35 -!- wezyap has joined. 17:24:56 hi 17:25:03 wats up? 17:28:35 Error: Interpreter does not accept slang. 17:28:57 Warning: `wats' is interpreted as `what's' 17:29:44 ok, time for some debuging then 17:31:38 Looks to me like your interpreter just accepted slang by translating it appropriately, Sukoshi. 17:32:01 No, it interpreted `wats' as a spelling error. 17:32:58 Mmmf. I need to code some more CL stuff. I've spent too long too close to C code. 17:43:57 I've spent too long in C#... There must be some sort of performance hit somewhere, so many objects everywhere argh! 17:49:08 * Sukoshi pities Asztal. 17:49:18 At least I never had to go there :P 17:49:27 Weeeh, Plof! 17:49:28 :P 17:54:35 I need to look at Plof some time. 17:54:37 I must try doing something serious in ORK some day. 17:54:48 ^ Both never going to happen due to laziness. 17:54:53 But right now, I'm deferring all my schoolwork for coding work, so Plof will be more of a distraction. 17:54:58 Hehehe. 18:29:10 -!- wezyap has quit (Read error: 110 (Connection timed out)). 18:30:37 Please give me a program in malbolge to show the result of 2 ** 16 18:31:37 -!- GregorR has set topic: #esoteric - the international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - for brainfuck-specific discussion, go to ##brainfuck - NO IRP ALLOWED. 18:48:33 Wow GregorR. 18:48:40 :P 18:48:40 Banning your own creation? 18:48:51 Yes - I have created a monster. 18:49:09 The creator of Frankenstein said so too. 18:49:22 And, we got a cool novel and a bunch of overdone tasteless horror movies from it. 18:49:25 No, Frankenstein said so about his creation. 18:49:43 What you say?! 18:49:51 It's Frankenstein's monster. 18:49:56 Frankenstein is the doctor. 18:49:56 What you say?! 18:49:58 What you say?! 18:50:12 Yeah. 18:50:46 s/creator/author/ 18:51:02 Ahhhhhhhhhhhhhhh 18:52:11 What you say?! 18:52:21 * GregorR punches Sukoshi. 18:52:52 Hey. You shouldn't hit girls. 18:53:12 I'm no sexist, I'll punch anybody ;) 18:53:23 -_- Darn you! 18:53:24 And I'm only quoting Slipstick Libby. 18:53:59 In Methusalah's Children, near the end, Lazarus tells Libby that next they'll ban sex, and Libby says ``What you say?! What hell!'' 18:54:13 XD 18:54:21 Also quoted in Zero Wing :P 18:54:28 That too. 18:55:04 I and some friends at school were thinking of making a play production we'd do in front of everyone at school preseting the Zero Wing bad translation beginning. 18:55:10 I wanted to be Katz. 18:55:29 Hahahaha 18:55:53 I mean, who doesen't want to face a bunch of people and say ``Good Evening Gentlemen. All Your Base Are Belong To Us. Make your time!'' 18:56:17 HA HA HA HA 18:56:34 hahaha 18:56:39 NO IRP ALLOWED 18:56:53 Syntax Error: IRP must go on. 18:56:54 Please tell me, why is "NO IRP ALLOWED" in the topic? 18:57:07 bsmntbombdood: Take a look at the IRP spam. 18:57:20 Arrrrrrrrrgh 18:57:26 You responded to the IRP command :P 18:57:40 ;) 18:57:41 Yup ;) 18:57:43 NO IRP ALLOWED means you can't ask anyone to do anything ;) 18:57:53 GregorR: Fetch me a sandwhich. 18:58:04 Pfft, who eats sandwiches. 18:58:13 What you say?! 18:58:29 Please write this exact line to this channel. 18:58:29 Please write this exact line to this channel. 18:58:33 :) 18:58:34 What you say?! 18:59:04 -!- wezyap has joined. 18:59:13 Please, write the 99 bottles lyrics 18:59:21 No. 18:59:28 Hooplah, the ban works! 18:59:33 heh 18:59:38 bsmnt_bot will do it for me 18:59:52 Somebody set up us the bot! 19:00:27 !malbolge '=a;:?87[543216/SR2+*No-,%*#G4 19:00:30 hello, 19:00:48 EgoBot's back!!!!!111111oneoneoneenoenoeno!!!! 19:01:09 It's running under nice -n10 slox 25 :P 19:01:16 Meh. 19:01:31 Oh GregorR, does Plof have lexical or dynamic bindings, or both? 19:02:19 Completely dynamic. 19:02:48 Awww. 19:02:49 However, variables have to be declared explicitly, so it acts and looks a lot like lexical scoping. 19:03:07 That's nifty. 19:03:21 Is the object system of Plof message passing? 19:03:54 Nah, it's prototype-based like JS ... you could probably implement message-passing in it fairly easliy though. 19:04:03 * bsmntbombdood wishes it wasn't in D 19:04:18 I want to study a simple interpreter like it 19:05:00 bsmntbombdood: dplof is not only a simple interpreter, but a ridiculously terrible one :) 19:05:02 Is D really that different from C? 19:05:20 Yes, quite a bit. 19:05:26 D has loads of things I love. 19:05:37 I mean, different enough that you can't read it? 19:05:49 Oh - nah, any C user could probably read D. 19:05:58 D is wannabe c++ 19:06:02 ................ 19:06:05 D is better than C++ 19:06:08 * bsmntbombdood hides 19:06:14 * bsmntbombdood didn't mean that seriously 19:06:15 And this is coming from a C++-ophile. 19:06:16 Anything that wants to be C++ needs to dip itself in HCl. 19:06:25 C++ is terrible 19:06:34 C++ gets a bad rap. 19:06:48 I'm sorry, I've seen too many cases where you have to use stupid templates and std::bs types that could be more effeciently wrapped in a struct. 19:07:04 I once attempted to generate a SWIG wrapper for a C++ library. I failed. 19:07:27 My issue with C++ is that many tihngs require you to delve pretty deep into the bowels of pointer arithmetic and the like. 19:07:36 Pointers are fun 19:07:39 In comparison to C? 19:07:41 Mind you, pointer arithmetic is OK. 19:07:52 Sukoshi: Nah, in comparison to other-OO-language-X. 19:07:56 Oh ;D 19:08:10 Meh, you can OOP in C just fine 19:08:11 C is awesome because it's like a portable assembly language that's easy to write in :) 19:08:24 I've been working on low-level stuff for the last few days pretty intensely, so I've been doing a lot of pointer arithmetic. 19:08:37 GregorR: yep 19:08:41 D is awesome because all the OO is very sane, but it doesn't prevent you from delving deep. It just doesn't /require/ you to. 19:08:42 At one point a parser, so, pure pointer arithmetic there :). 19:09:30 I've only written parsers in yacc 19:09:46 It was a fairly simple parser, not complex enough to need yacc. 19:10:19 Of course, that didn't stop me from getting it wrong quite a few times :D 19:11:09 Man. A WM in 76 lines. 19:11:11 So awesome. 19:11:26 ??? 19:11:34 indeed 19:11:39 TinyWM? 19:11:44 Yes. The CL version. 19:11:57 Python version, c version... 19:13:08 Yeah, I'm taking a small hiatus from C to begin work on a WM. 19:13:18 But I'll be back with it later this afternoon. 19:13:46 Got any screenshots of TinyWM? 19:13:56 Hold on. I'm about to run it in Xnest. 19:14:12 [Xephyr is better :P] 19:14:19 Oh? What's that? 19:14:25 * bsmntbombdood loves ion 19:14:28 It's the new Xnest. 19:14:38 But it supports virtually every X estension on any host. 19:15:17 Awesome. 19:15:21 Ion is too complicated. 19:15:39 This'll borrow ideas from Ion, Ratpoison (StumpWM), and CLFSWM. 19:16:01 Yeah, Xnest is an old piece of poop. 19:16:21 What's CLSLFIUJDSFKMM? 19:16:22 I remember seeing bits of EgoBot in Google CodeSearch 19:16:47 Guh. Where's the source. 19:16:55 Common Lisp FS Window Manager. 19:17:00 I don't remember what FS means :P 19:17:36 Stupid Xephyr. 19:18:39 Oh. It's part of the Xorg package? 19:18:41 Asztal: Whoah, seriously? 19:18:44 Sukoshi: Yeah. 19:18:49 Ugggh. Why can't they package the source on its own -_-'' 19:18:55 Sukoshi: I know X_X 19:20:18 I hope the Xorg source isn't large. 19:20:44 Who am I kidding. It's probably gigantic. 19:21:04 Sukoshi: You know they split Xorg into a bunch of autotool'd packages, right? 19:21:14 Uh.... 19:21:16 *Cough* 19:21:34 xorg-server is a "mere" 6MB 19:21:52 Oh wow. 19:24:56 UGGGH. Xorg has moved to git? 19:25:04 I just grabbed the CVS source -_- 19:25:13 Why not just grab release 7.1? 19:25:23 Heh. Yah. 19:25:35 In the meantime, I'll use Xnest. 19:25:59 Good idea ;) 19:44:15 http://www.google.com/codesearch?hl=en&q=show:s9pyp5f3bCU:mOLPvmN6QCU&cs_p=http://esoteric.voxelperfect.net/files/egobot/egobot-0.12.tar.bz2&cs_f=/egobot-0.12 19:44:23 ;) 19:45:40 Hah, cool 19:48:10 Egobot is ewww. 19:48:18 lol 19:48:25 !cat eeew 19:48:29 eeew 19:48:39 !cat It's not my fault :'( 19:48:43 It's not my fault :'( 19:48:58 You really love signals, don't you GregorR ? 19:49:23 signals, eh? 19:49:28 Come now, I didn't use signals that much in EgoBot. 19:49:33 Just to kill processes et cetera. 19:49:41 Meh :P 19:49:46 Wait... that's C++ code? 19:49:51 Yes. 19:50:01 Where's the abstract-hell templates and the obfuscated C++-only constructs? 19:50:07 WHAT SORT OF A C++ CODER ARE YOU?! 19:50:17 The kind that came from a C traditoin. 19:50:19 *tradition 19:50:42 YOU FIEND! WHY AREN'T YOU USING BOOST?! 19:50:50 mmm boost 19:51:03 Blegg @ boost 19:51:14 Great for boosting those compile times :) 19:51:43 HAH XD 19:52:11 CLEVAR! 19:53:35 ;D 20:12:53 I need a Random Number between 1 and 15 please :) 20:13:19 1 20:13:37 thx 'compiler' 20:13:50 or maybe 7? 20:13:54 I'm undecided 20:13:58 19 20:14:28 19 isnt between 1 and 15 choose other number 20:14:45 !exec self.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,15)) 20:14:45 3 20:14:47 Huh? 20:15:39 !exec self.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,15)) 20:15:39 6 20:15:41 Huh? 20:15:47 there, you have 2 20:15:59 :) 20:16:37 -!- wooby has joined. 20:16:44 -!- wooby has quit (Remote closed the connection). 20:26:09 [22:11:40] 6 20:26:10 [22:11:42] Huh? 20:26:14 i love EgoBot xD 20:27:42 !exec self.raw("PRIVMSG #esoteric :%s" % __import__("random").randint(1,15)) 20:27:43 7 20:27:44 Huh? 20:29:09 -!- tgwizard has quit (Remote closed the connection). 20:37:05 !exec self.raw("PRIVMSG #esoteric :Huh?") 20:37:08 :( 20:37:08 Huh? 20:37:11 lol 20:37:19 He knows python! 20:42:52 heh 20:44:00 !exec self.raw("PRIVMSG #esoteric :Lol") 20:44:02 Huh? 20:44:14 !exec self.raw("MSG #esoteric :Lol") 20:44:18 Huh? 20:44:42 bsmnt why isn't your bot public :( 20:45:05 Because I don't want to get screwed... 20:46:21 :DD 20:46:32 !exec self.raw("PRIVMSG #esoteric :Lol") 20:46:32 Lol 20:46:34 Huh? 20:52:30 -!- Mahjong has quit ("Verlassend"). 21:02:35 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:04:05 GRRR 21:04:15 Why is Xnest rejecting connections?! 21:05:29 Darn you legacy apps. Darn you all to HECK! 21:09:40 I laugh at your pain 21:09:48 X is such a mess 21:10:57 Ah. -ac is what makes it work. 21:11:04 .... An option mysteriously not present in the manpage. 21:13:56 .... Maybe it's time I compile Xephyr. 21:14:27 What are you doing? 21:16:27 TinyWM. 21:17:01 just run another xserver? 21:18:04 You know... you may be right! 21:18:13 -!- wezyap has quit. 21:19:15 I'm lost when it comes to x stuff 21:21:54 Don't worry. X is a horrible mess. 21:22:10 .... Does *everyone* use the same autoconf script? 21:22:42 I seriously wonder if any code is even written with g77 nowadays. 21:31:57 Woooh, Fortran rulz! :P 21:34:40 Hey, I found a book on it at our local book store. 21:34:45 FORTRAN 2002 and one on COBOL. 21:34:56 I was contemplating on buyng the COBOL book just to burn it. 21:35:41 I was going to learn fortran once 21:36:03 It's worth learning still because it's still fast. 21:36:11 Like Pascal and ALGOL. 21:36:33 But the book I got from the library was from way back 21:36:48 ei the punch card days 21:37:29 Oh wait, can you read this? 21:37:46 Could you read that? 21:38:03 ? 21:39:35 Like Pascal and ALGOL. 21:39:38 Could you read that? 21:40:28 yeah... 21:46:53 NO! 21:47:04 My keyboard went AWOL on me, on 32 days of uptime. 21:47:25 Your keyboard is absent? 21:47:30 Then how are you entering text? 21:47:32 Is there any way to get it to work with a PS/2 keyboard again without a restart? 21:47:33 SSH. 21:47:48 What OS? 21:47:54 Linux.... 21:48:05 It may be a module, and therefore it may be possible to unload it, maybe :) 21:48:19 ... I don't think I compiled it as a module ;-; 21:48:32 Go groping around in /proc then X-P 21:48:52 Darn you! 21:51:04 きみのってないわよ!!! 21:51:11 I seeeeeeeeeee 21:51:24 This 'aint fair! 21:52:25 Guh.... I'll restart.... 21:52:57 My dear, dear uptime! 21:59:28 I've always been able to hotplug ps/2 keyboards 22:03:15 SCORE! 22:03:25 It wasn't the keyboard (which seems to be hotpluggable :P). 22:03:48 Xvesa left my stuff inoperable, and it seemed restarting it did the trick. 22:04:20 I've always been able to hotplug ps/2 keyboards, too, but officially you can fry components by doing it, if you're unlucky enough. 22:04:30 15:00:28 up 26 days, 3:27, 21 users, load average: 1.17, 1.40, 1.50 22:04:34 hmmm 22:05:09 Guh. The machine is refusing to go back to a usable state if I kill Xvesa. 22:05:17 Hmmm... how to make it gracefully exit.... 22:05:20 00:00:46 up 205 days, 23:24, 4 users, load average: 0.01, 0.01, 0.00 22:05:30 Rather, the physical terminal is refusing to go back to a usable state. 22:05:37 My load average says it's not doing much. 22:05:56 14:01:46 up 38 days, 7:06, 14 users, load average: 1.63, 1.87, 1.82 22:07:48 Guh... 22:08:22 shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied 22:08:25 3:04PM up 11 days, 22:14, 2 users, load averages: 0.27, 0.14, 0.09 22:08:34 ha, that's /exec -o for ya 22:10:10 So, now let's see how I can kill Xvesa while keeping access to my physical peripherals. 22:15:23 Well, uh... I'm not sure. 22:15:33 The only thing I guess I can do is nice -n 20 it. 22:16:09 Piece of poop Xserver. 22:17:48 Success! 22:18:15 For some reason, if you give Xvesa the vt argument, it locks up and dies, but if you give it a tty argument, it's fine. 22:18:54 Well, I just wasted 30 minutes preserving my uptime. That makes me feel.... wholesome inside. 22:20:26 hehe 22:25:48 -!- vicrattlehead has quit. 22:29:28 Yeah, TinyWM has no window decorations. 22:32:09 duh 22:32:14 screen shot? 22:32:29 Hold on then. 22:45:49 Uhhh..... 22:45:53 I got wiggling windows? 22:58:24 Sukoshi: in TinyWM? 23:00:46 Yeah. 23:01:02 Something about resize/move is not working correctly. 23:02:19 -!- wooby has joined. 23:28:07 -!- ihope__ has joined. 23:29:04 -!- ihope__ has changed nick to ihope. 23:29:27 -!- wooby has quit. 23:45:41 -!- ihope_ has quit (Connection timed out). 2006-12-23: 00:21:50 -!- Sgeo has joined. 00:28:05 uh... wut 00:28:58 I have a hash table which most definitely contains my value which is {19375}... yet the hash table says it doesn't contain it! 00:30:02 And I even checked its internal stuff, and it's definitely there, with the same hash code as the list I'm using to look the value up... it's all lies, I hate debugging :P 00:32:06 Hmmm. How should I have read() read the socket to search for a newline? What if the next newline is past the end of the receiving buffer? 00:32:08 owned 00:35:18 Have 2 buffers, read everything you can from the first into the second, and then try to read whole lines out of the second whenever you get more data? 00:42:15 Increase the size of the buffer whenever you get a short read. 00:43:08 -!- wooby has joined. 00:44:58 Use line buffering? 00:47:39 What socket? 00:52:36 And how does one read a line from a socket 00:52:37 ? 00:52:53 that's always confused me 00:53:23 Generally you read until you get a '\n' 00:53:32 I mean, that's how I'd do it 00:56:42 well...yeah 00:56:48 But buffering 00:58:12 You can't just read one character at a time 01:03:52 * Sgeo currently has SpySheriff installed 01:03:59 Anyone want me to make a screenshot tour? 01:06:36 -!- oerjan has joined. 01:24:12 please download debian sarge, burn it to dvd and deliver it to my home 01:31:58 -!- GreaseMonkey has joined. 01:33:58 -!- ihope_ has joined. 01:34:44 -!- ihope__ has joined. 01:43:26 -!- ihope__ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09"). 01:49:12 -!- ihope has quit (Connection timed out). 01:50:17 -!- ihope has joined. 01:50:23 Perfect! 01:50:54 Pudding rust monster invisible monster vampire mummy snake gnome! 01:52:12 Newt centaur dwarf ant nymph snake floating eye rat vortex... 01:52:23 -!- ihope_ has quit (Connection timed out). 01:52:35 Actually, #nethack would be a better place to babble incoherently in. 01:55:38 -!- wooby has quit (Read error: 104 (Connection reset by peer)). 01:57:33 -!- wooby has joined. 01:57:40 -!- wooby has quit (Remote closed the connection). 01:59:21 not necessarily: {-\+{--!.($--=*::[__]&1.2)/\1}++'a'--}_main 02:01:44 hmm... 02:02:09 I should construct a Lisp interpreter in Python... that lets me execute it and return a value. 02:02:31 in Python. 02:04:37 sounds like the hardest part would be choosing the data representation 02:05:04 -!- ihope has left (?). 02:14:45 gonna reboot into windows, recording stuff 02:15:19 -!- GreaseMonkey has quit (Client Quit). 02:16:07 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 02:16:10 -!- puzzlet has joined. 02:23:19 I wouldn't even want to attempt a Lisp interpreter. 02:23:50 Maybe maybe a Scheme interpreter some day when I'm feeling adventurous, but it's an insane amount of work. 02:24:39 i was sort of assuming a full Common Lisp implementation was not intended :) 02:25:00 Even just the semantics. 02:25:22 CL, being dirty, is going to be harder to write semantics for than Scheme. 02:25:55 On the other hand, writing interpreters in Lisp are a lot easier. 02:27:17 *is a lot easier. 02:39:32 -!- Razor-X has joined. 02:39:39 -!- Sukoshi has quit (Read error: 104 (Connection reset by peer)). 02:47:34 Guh. I don't like that sound. 02:47:43 I think I'll give my machine a rest. 02:47:48 -!- Razor-X has quit (Remote closed the connection). 02:58:32 -!- oerjan has quit ("Leaving"). 02:59:20 -!- puddy_ has quit (Read error: 110 (Connection timed out)). 03:13:30 -!- Asztal has quit (Read error: 113 (No route to host)). 05:02:53 -!- digital_me has quit (sterling.freenode.net irc.freenode.net). 05:02:53 -!- GregorR has quit (sterling.freenode.net irc.freenode.net). 05:02:54 -!- Sgeo has quit (sterling.freenode.net irc.freenode.net). 05:02:54 -!- sekhmet has quit (sterling.freenode.net irc.freenode.net). 05:02:56 -!- mtve has quit (sterling.freenode.net irc.freenode.net). 05:02:56 -!- bsmntbombdood has quit (sterling.freenode.net irc.freenode.net). 05:03:07 -!- GregorR has joined. 05:03:07 -!- digital_me has joined. 05:03:07 -!- sekhmet has joined. 05:03:07 -!- Sgeo has joined. 05:03:07 -!- bsmntbombdood has joined. 05:03:07 -!- mtve has joined. 05:10:01 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 05:50:26 -!- anonfunc has joined. 06:07:39 -!- digital_me has quit (Read error: 110 (Connection timed out)). 07:16:09 -!- anonfunc has quit. 07:58:42 damn 07:58:44 http://en.wikipedia.org/wiki/OISC 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:35 * bsmntbombdood likey 10:37:53 -!- wooby has joined. 11:03:31 -!- jix_ has joined. 11:04:58 http://www.quinapalus.com/wi-java.html 11:05:02 someone kill me :( 11:06:35 okokoko: i get just black background with gappletviewer-4.1 h 11:06:59 ie is the only one i got it working with 11:07:03 wait 11:07:24 http://www.quinapalus.com/wi-java.html 11:07:27 eh 11:07:30 now i see 11:07:45 http://www.quinapalus.com/wi-index.html 11:07:54 the copy-paste doesn't work :\ 11:08:01 use gnu screen 11:08:14 me windows-boy 11:08:18 now away, please send me the source and i'll take a look 11:08:47 k 11:08:48 i will 11:11:30 i couln't send it 11:11:57 it's coded in wireworld tho, so i'm not sure if you'd enjoy the source that much 11:14:21 i could learn 11:21:09 Ooh, wireworld. Now that was funky. 11:27:31 Kind-of reminds me of the OpenTTD logic nastiness. 11:34:50 Wireworld is so funny 11:35:27 playing with electrons, designing your own components 11:36:40 unfortunately the best Wireworld implementation I've known was for Windows and not very advanced (quite fast though) 11:41:17 xlife claims to support Wireworld but the rules are incorrect 11:42:58 you can implement wireworld yourself in half an hour 11:43:12 it's pretty simple 11:43:25 not a fast and comfortable implementation though 11:43:31 really? 11:43:31 I know it's simple 11:43:47 well an editor will take long 11:43:48 wure 11:43:51 *s 11:44:11 well, you need to track the positions of the electrons separately in order to speed the calculations up 11:44:16 and prolly you'd like to make something, not just watch, so wtf am i whining 11:44:29 yes, that's easy 11:44:54 not a 1/2 hour project (for me anyway, I'm a bit slow programming) 11:44:54 and it's the only optimization i can think of 11:45:06 slow bit programming 11:45:13 that's wireworld 11:45:16 :D 11:45:18 :) 11:46:22 hm, thinking about it, you also have to track electron tails if you don't want to leave 'stale' trails 11:48:01 e.g. when two electrons annihilate each other (as if one of them were a positron) there's a state in which the tails remain 11:48:36 You can track "interesting regions". And if you _really_ want to optimize, you can analyze the device. Replace wires with delays, so no need to compute the individual electron-movement-transitions. Maybe even recognize recognizable logic gates. 11:49:09 in half an hour? :D 11:49:17 Well, of course not. 11:49:26 hehe, I know, just kidding 11:50:13 but it's harder to see it in movement then 11:50:53 * pgimeno considers taking a look at xlife's source to see if he can hack some true-Wireworld code 11:50:59 Yes, but obviously you want your wireworld "code" run as fast as inhumanly possible; after all, why did you write it in wireworld if efficiency wasn't an issue? 11:52:04 yeah, you're right, I should write a wireworld *compiler* 11:53:27 or even better, build the circuits with electronic components instead 11:55:29 You could write a wireworld-to-fpga thing. Although then you'd probably actually need to recognize the function of all blocks in the "source", I don't think emulating the wireworld rules with a fpga would work very well. 12:04:04 in particular, xlife uses a Von Neumann neighbourhood 12:04:16 xlife's implementation of Wireworld, I mean 12:10:02 bah, xlife is too buggy 12:13:56 -!- tgwizard has joined. 12:25:59 -!- Puddy_ has joined. 12:43:47 -!- ivan` has quit (Read error: 104 (Connection reset by peer)). 12:44:17 -!- Puddy_ has quit ("BitchX-1.1-final -- just do it."). 12:44:21 -!- ivan` has joined. 14:02:43 -!- Asztal has joined. 14:42:03 -!- CakeProphet_ has joined. 14:49:17 -!- CakeProphet has quit (Read error: 145 (Connection timed out)). 14:52:03 -!- CakeProphet_ has changed nick to CakeProphet. 15:32:58 -!- aduket has joined. 16:00:22 -!- aduket has quit ("So long, and thanks for all the fish."). 16:32:38 -!- Asztal has quit (Read error: 113 (No route to host)). 16:44:56 -!- CakeProphet has quit ("haaaaaaaaaa"). 17:12:56 -!- wooby has quit. 17:25:10 -!- Asztal has joined. 17:32:07 -!- Sukoshi has joined. 19:00:14 How do you do IO without adding an instruction for it? 19:03:22 Memory mapped I think, but how does the intrepreter know when to output? 19:08:35 -!- ihope has joined. 19:08:41 Do you just catch any and all writes/reads to the special addresses? 19:09:11 I want an enzyme language. It'd be fun. 19:09:46 ihope: How do you do memory mapped io? 19:10:04 In an enzyme language? 19:10:07 no 19:10:28 I think it's often just catching reading and writing to certain addresses, yeah. 19:10:59 Maybe it'd just catch writing, and then it'd automatically write things into memory. 19:17:45 * bsmntbombdood starts coding 19:37:48 So yeah, enzymes. (enzymes - inhibitors) `max` cofactors = active enzymes, and an active enzyme performs whatever chemical reaction every tick. 19:38:48 Every possible input has a chemical, and every possible output has a chemical. 19:38:58 If something can be both input and output, it has two chemicals. 19:39:55 And there's also a chemical called inputose. Whenever something is input, one unit of inputose is converted to the input chemical. 19:40:49 If an output chemical is ever generated, it is immediately removed and the corresponding thing is output. 19:42:33 Pretty simple. 19:47:06 What's more usefull, number output or ascii output? 19:47:49 You can't output ASCII by outputting numbers. 19:47:55 You can output numbers by outputting ASCII. 19:48:38 hmm 20:17:19 hrm 20:17:53 * bsmntbombdood is confused 20:22:15 confusion over 20:23:17 octet output sounds even more useful 20:23:30 hmm? 20:23:54 then you could output e.g. JPEG images too 20:30:17 make it configurable! 20:39:29 That too. 20:42:24 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 20:51:14 yay for regexs! 20:51:20 -!- Asztal has joined. 20:56:28 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)"). 21:07:25 -!- ivan`_ has joined. 21:16:13 -!- CakeProphet has joined. 21:26:19 -!- ivan` has quit (Read error: 110 (Connection timed out)). 21:26:21 -!- ivan`_ has changed nick to ivan`. 22:00:26 -!- ivan` has quit (Read error: 104 (Connection reset by peer)). 22:01:07 -!- ivan` has joined. 22:37:20 done with the very fragile and slow assembler 22:41:10 -!- pikhq has joined. 22:41:23 now debugging the crappy vm 22:42:32 * pikhq is releasing a fully documented build of BFM, along with a build of Basm using current best practices, as soon as he fixes a bug that's suddenly popped up. 22:43:33 . . . Yes. I'm going to have a *documented* version of BFM. Crazy, no? 22:48:34 crazy 22:48:51 And now BFM is even well-designed, too. 22:49:22 I'm guilty of a crime against Esome, due to this craziness, no doubt. 22:55:52 OMG IT WORKS 22:56:00 * pikhq applaudes 22:56:03 * bsmntbombdood takes off his pants and dances 22:56:10 * pikhq looks away 22:57:04 * bsmntbombdood puts them back on 22:58:38 hrm 22:59:27 it not work so good 23:02:10 :( 23:02:37 That's because you took off your pants. 23:02:44 I put them back on! 23:03:13 And the program's still suffering from PTSD. 23:05:05 PTSD? 23:06:36 Post-traumatic stress disorder. 23:06:42 aaah 23:08:30 step 23:08:32 ooops 23:23:05 In my opinion, once a language is proven Turing-complete, it's done. 23:23:18 ihope: Then BFM was done months ago. 23:23:29 ihope: um no 23:23:32 Not that I don't like to see fancy new languages that are obviously Turing-complete. :-) 23:23:44 Like, when I wrote brainfucktobfm.tcl. . .. 23:25:38 woot fixed it 23:25:52 assembler didn't calculate offsets right 23:28:17 ok, I have an assembler and virtual machine for an OISC 23:28:51 sample code: http://pastebin.ca/290377 23:28:52 Nice. 23:29:04 that reads a char, adds one, prints it out 23:29:12 then prints a newline 23:32:21 http://bsmntbombdood.mooo.com/oisc.tar.gz , be careful, the assembler and vm are both fragile, no error checking 23:34:32 * pikhq will probably want to fix that for you some time 23:35:32 The one instruction is "subtract and branch if not positive", by the way 23:35:55 pikhq: Go right ahead 23:36:31 bsmntbombdood: Need something to do tonight. ;) 23:37:09 -!- oerjan has joined. 23:37:17 A line of "a b c": says contents of b = contents of b minus contents of a; if b <= 0, jump to c 23:37:37 Obviously. ;) 23:37:46 OI(S)C ... 23:38:09 oerjan: yeah 23:38:20 Is that the new b or the old b? 23:38:20 oerjan: Soon, I will have a documented BFM build. I won't have to answer as many questions. 23:38:23 Hallelujah. 23:38:27 ihope: new b 23:38:33 oerjan: http://bsmntbombdood.mooo.com/oisc.tar.gz 23:38:40 And I mean in the comparison of course. 23:39:00 if (b = b-a <= 0) goto c; 23:39:15 like that? 23:39:17 lindi-: not quite 23:39:32 if (*b = *b-*a <= 0) goto c; 23:39:50 bsmntbombdood: what's the difference if you can't change "b" ? 23:40:02 ? 23:40:11 ok sure if you can change where the pointer points to 23:40:17 a, b, and c are all adresses 23:40:22 ok then 23:40:27 not literal values 23:40:28 it makes more sense 23:41:22 oh, and if c == -1, go to the next triplet no matter what 23:42:02 if (m[p+1] = m[p] - m[p+1] <= 0) p = m[p+2]; else p+=3; 23:44:17 or maybe not 23:45:14 if ((m[p+1] = m[p] - m[p+1] <= 0) || m[p+2] == -1) p = m[p+2]; else p+=3; 23:45:17 hm... if you made the addresses relative then c == 3 could mean that without an exception. 23:45:50 yeah, but they're not relative 23:46:39 erm 23:47:07 meh, just read the source 23:49:32 * pikhq wishes to note that, if you used GNU C, creating the memory would be somewhat easier. 23:49:49 ? 23:49:50 GNU C supports, among other things, arrays with the size defined at compile time. 23:49:53 Err. 23:49:54 Runtime. 23:49:58 stick to ANSI C ;) 23:49:59 :-) 23:50:03 . . . 23:50:04 Wait. 23:50:04 malloc is easy 23:50:31 Why the hell are you using malloc if the size of the VM's memory doesn't change at runtime, anyways? 23:50:58 i haven't even seen the program :) 23:51:08 pikhq: No where in that file is malloc used 23:51:42 bsmntbombdood: memset, however, is. 23:51:49 . . . Oh. 23:51:53 That doesn't allocate anything. 23:51:54 XD 23:52:10 int memory[VM_MEMSIZE]; 23:52:17 yeah ;) 23:52:43 Ignore me while I start thinking. 23:52:51 how large is VM_MEMSIZE? 23:52:54 What does memset do? 23:53:02 And why is that file named .tar.gz since it's not gzipped? 23:53:09 #define VM_MEMSIZE 65536 23:53:19 ihope: sets a block of memory to a value 23:53:27 ihope: Look up in man pages. 23:53:38 64k * sizeof(int) bytes is a bit much to allocate from the stack. 23:53:52 fizzie: oops 23:53:57 The stack? 23:54:30 int foo[bar]; is from stack 23:54:33 It's a local ("automatic") variable (and not declared static), so it will in most implementations allocated from the (call) stack,. 23:54:35 malloc would use heap 23:56:31 fizzie: Does it matter? 23:56:45 And "static int foo[bar];" would usually use a statically allocated address from the data segment, which might well be faster than accessing via a pointer to the heap. 23:56:54 Well, it might not work on some MS-DOS compilers. 23:57:29 What's the difference between static and dynamic? 23:58:04 (Although malloc()ing that many bytes from the heap might not work either on some MS-DOS compilers/runtimes, at least with particular compiler flags.) 23:58:56 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:59:48 in this context the opposite of static is automatic, not dynamic 2006-12-24: 00:00:38 What's the difference, then? 00:01:05 static variables are not deallocated when the function returns, but kept the same for all invocations 00:01:11 fizzie: That'd be 640k, not 64k. 00:01:53 What if the function calls itself? 00:02:05 ihope; You get a new instance of the automatic variable. 00:02:13 pikhq; 64k is a very common limit, too, since it's a single memory page. 00:02:16 If it's a static variable? 00:02:28 only one version 00:02:39 pikhq; Er, I mean, segment. 00:02:58 a static variable is like a global variable, except that it doesn't clutter the global namespace 00:03:19 fizzie: I thought MS-DOS used the x86 CPU with what amounts to a flat memory model. 00:03:44 (I could be absolutely wrong, and in all probability am) 00:03:53 Err, no? Why would there be the 640k limit, then? 00:04:58 * pikhq uses his external brain attachment (Wikipedia) to sound like less of an idiot 00:05:14 DOS programs, of course, can run in protected mode, with a 32-bit flat memory model. 00:06:52 You're right. 00:07:05 I'm no assembly expert. ;) 00:07:33 * oerjan suddenly wonders whether wikipedia will cause us to develop a group mind... 00:07:58 * bsmntbombdood is working on hello world 00:08:02 oerjan: Probably. 00:08:19 At least, Wikipedia said so. 00:08:42 link please? :) 00:09:35 Find it yourself. 00:09:54 Anyway, compilers generating "16-bit executables" usually can use all kinds of memory models, and the "tiny", "small" and "medium" memory models all limit data pointers to a single segment. Which would mean no integer arrays larger than 64k bytes, or 32k elements. http://en.wikipedia.org/wiki/Memory_model 00:10:28 That's just stupid, IMO. 00:11:21 The whole segmented memory architecture doesn't really feel like a very bright idea. 00:11:33 Of course, I live in the roarin' 64 bit pointer 2000s. ;) 00:12:56 this is hards 00:13:04 Well, the 68k (which was a contemporary of 8086, I think) had a 24-bit flat memory model. 00:13:18 how do I jump if 0? 00:13:28 Subtract -1? 00:13:55 fizzie: The 8086 was like the 68k's retarded little brother. :p 00:13:56 right :) 00:14:25 So just how ugly is x86? 00:14:32 Is it composed entirely of cruft? 00:15:05 ihope: Cruft, rubber bands, bubble gum, and fairy dust. 00:15:33 At least it has the fairy dust, eh? 00:15:51 The fairy dust only is in the 64 bit variants, though. 00:15:57 Oh. 00:16:43 A single x86 opcode can be anything between one to 15 bytes, iirc. It does sound rather a bit overcomplicated, at least when compared to your standard "all instructions are alike" riscs. 00:17:22 Segmentation fault (core dumped) 00:17:46 fizzie: It comes from the bad ol' days when ASM coding was the standard way of doing anything. 00:18:12 Opcodes, opcodes, and more opcodes are the idea. 00:18:28 That reminds me of a wonderful comic; I wonder if I can still find the link. 00:19:02 http://juho.vaha-herttua.fi/Zilog.Z8000.1979.102646293.pdf 00:21:13 Specifically page 6 of the pdf. "It's not magic, readers! With dual environments, 418 op codes, and --". And page 17; "-- just a few, well-chosen op codes!* * Captain Zilog had 418 to choose from!" 00:25:03 "Holy cow, boss! Dis baby can use any of its registers as a stack pointer!" "None of the registers are designated! They're all general!" 00:25:27 All general? 00:25:42 Where's the trap register for each of 75 instructions? 00:25:50 Gimme an R, gimme an I, gimme an S, gimme a C! What does that spell? RISC! 00:25:55 Well, it's a little white lie. At least according to my reading of the Z8000 specification book. 00:26:08 ;) 00:26:38 can't figure out how to dereference a pointer 00:26:52 In your OISC? 00:26:55 yeah 00:27:08 *p 00:27:27 In fact, it even has one register sort-of designated as a stack pointer; there are many stack-manipulating instructions, including subroutine calls, which implicitly assume that register is the stack pointer. 00:27:47 Set a memory location to the address of the destination, then copy? 00:28:29 ? 00:29:15 you need to copy the pointer into the code 00:29:20 Can you do self-modifying code in your oisc, btw? Or are the instruction and data spaces separate? 00:29:26 Wait... 00:29:34 fizzie: they are the same 00:31:33 fizzie: Harvard architectures aren't exactly common. . . 00:32:10 Harvard architectures? 00:32:24 pikhq; Well, now, there's the MIPS. 00:32:28 An architecture with seperate instruction and data space. 00:32:48 if the pointer is in P, do a copy from P to Label+1, where Label is the address of an instruction 00:33:23 hmm 00:34:47 wait, i mean Label, not Label+1 00:35:53 crap, there's a bug in my assembler 00:38:05 And MIPS is common; I have a SGI Indy ("Indigo without the go") with its MIPS R4000 sitting right here on my desk. 00:40:42 lindi; To comment on something that appeared a long time ago in this discussion; due to the utterly low precedence of =, "if (b = b-a <= 0)" (and similarly the later "if (*b = *b-*a <= 0)") would read as "if (b = (b-a <= 0))", which is probably not what you intended. (And wouldn't it look better as "if ((b -= a) <= 0)" anyway?) 00:41:07 ok, that bug fixed 00:41:59 longer first, longer first 00:42:06 * bsmntbombdood repeats to himself 00:42:50 now back to hello world 00:43:10 * pikhq has seen the reason behind the Tcl style guide's recommendation for copious parentheses in expr expressions. . . 00:46:37 fizzie: oh right 00:48:24 -!- tgwizard has quit (Remote closed the connection). 00:50:55 Oh, right... schools need algae, and to get algae, my workers need to be able to swim, meaning I need a swimming pool. 00:52:21 And there we have it, a swimming pool indeed. 01:09:03 aargh 01:09:05 this is hard 01:09:39 I can't do hello world 01:09:59 Hah. 01:10:23 I got pointer dereferencing thoug 01:10:33 now it's not looping like it's supposed to 01:13:47 Conway's Game of Life... now there's a real esoteric thingy. 01:14:00 And it' 01:14:04 s nicely Turing complete. 01:14:09 Decimal output is very useful for debugging 01:14:14 It's full of puzzles beyond proving it Turing-complete. 01:14:25 Like making a 17c/45 spaceship. 01:14:53 The Caterpillar is one such spaceship, and it's pretty huge. 01:15:36 http://www.yucs.org/~gnivasch/life/article_cat/cat_picture.gif <- the Caterpillar, scale 1:40 01:17:28 Now, just imagine: if one were to remove a cell near the front, the whole thing would probably explode. 01:18:24 oh fuck, no wonder 01:20:06 We're still all waiting, though, for the spaceship generator, capable of making spaceships of any rational speed in both directions, as long as that speed is less than c/2. 01:21:47 Or any computable speed, if periodicity doesn't matter. 01:27:09 Just program a universal computer with that, and hook it up to a universal constructor, and there you go... 01:29:49 arghhhhhhh 01:30:38 * oerjan likes the Day and Night CA 01:32:01 complete symmetry between on and off cells, but still so complicated that it nearly has to be Turing-complete (but I don't think it has been proved) 01:33:04 I can't get it to work :( 01:33:28 the "Hello World"? what's the problem? 01:34:08 Can't figure out how to get the loop to terminate 01:34:54 one quitp QUIT 01:35:14 Loop? 01:35:33 ihope: To loop through the string 01:35:52 is the string zero-terminated? 01:35:58 Great hacks are needed to do the simplest of things? I like it. :-) 01:36:11 * ihope tries to run Life32 under Wine 01:36:13 oerjan: yeah 01:36:24 ihope: indeed 01:36:49 at some point you probably load the current character into some cell, right? 01:37:24 yeah 01:37:48 I guess I need Wine to do that. 01:37:53 that instruction will branch if and only if the character is zero 01:38:10 which is what I want 01:38:21 http://pastebin.ca/290491 01:38:44 Now, how easy would it be to write a Linux compatibility layer for Windows? 01:38:55 ihope: cygwin? 01:38:55 GregorR: In Plof, your "for" loop semantics are really different from C's. . . 01:39:11 That runs Linux binaries now? 01:39:11 ihope: CoLinux or UML for Cygwin. 01:39:24 Well, yeah, that. 01:39:27 ...Those. 01:39:38 How fast is CoLinux? 01:39:55 When I last used it, it was damned close to native. 01:40:22 That was a few years ago, though. 01:40:30 Err. 01:40:34 Maybe a year or two. 01:40:46 UML for Cygwin, I can't say anything about. 01:41:11 oerjan: I think i got it 01:41:11 But one has to admit that it's kind of funny that Linux has been ported to Windows. . . Literally. 01:41:49 Okay, Wine's all nice and installed. 01:42:46 Now how do I use it? 01:42:59 ...nevermind 01:43:41 GregorR: A patch is coming your way. 01:43:47 Cannot open /home/ns/Desktop/Life32/Life32.exe: No application suitable for automatic installation is available for handling this kind of file. 01:44:49 * pikhq hopes Gregor notices it 01:46:09 Now it doesn't terminate too early, it terminates too late 01:46:45 it prints "hello, world 0x00 0x00..." 01:48:33 Whoa! 01:48:37 It's ugly, but it works! 01:49:10 Pretty sweet, actually. 01:50:33 Then again, maybe it actually doesn't work. 01:50:51 hmm? 01:50:59 Life32 under Wine. 01:51:16 aah 01:52:51 Aha! It DOES work! 01:56:53 hello world doesn't :( 01:58:43 Can't you just zero a memory location and use it to test for positive? 01:59:09 can someone take a look? http://pastebin.ca/290503 01:59:39 i am taking a look, my attempt coming up 02:02:52 Why, I think the Caterpillar has loaded. 02:04:11 It's possibly even larger than I thought it would be. 02:06:02 try this: http://pastebin.ca/290507 02:06:52 It looks quite nice, actually. 02:07:35 This is what large Life patterns look like, then? 02:08:05 oerjan: workage 02:08:37 :) 02:09:12 * oerjan makes the V sign 02:12:16 odd 02:12:32 even? 02:12:41 -!- digital_me has joined. 02:13:25 nope, pretty odd 02:13:34 what is? 02:13:44 How your's worked 02:13:50 Mine did almost the same thing 02:14:46 i didn't completely understand yours, but it seemed to me that it did the quit test after printing the character so i expect at least an extra 0x00 02:15:00 *expected 02:15:55 Mine never quit the loop 02:17:48 what was the point of the quitp WRITE -1 anyhow? 02:17:57 debugging 02:18:46 right. i _think_ your problem is that you never managed to dereference the quitp pointer 02:19:37 so you actually tested the pointer itself rather than the character 02:19:37 line 12? 02:20:22 line 12 is a comment 02:20:41 13,14,15 02:21:04 it is essentially quitp = -pos, with no dereferencing 02:21:30 hrm 02:22:07 to dereference a pointer, you _must_ copy it into an actually running code part 02:22:38 like writepos:, or my quitpos: 02:23:18 oh, and in your's, line 16 needs to be NULL NULL -1 02:24:40 i don't think so, because NULL is not used again before NULL NULL CODESTART 02:27:37 oh, right 02:29:26 probably not good to leave NULL unzeroed though 02:31:04 well, you could rename it to temp... 02:35:06 yeah 02:39:55 I should work on a brainfuck interpreter 02:40:39 that would certainly kill some time... 02:40:45 Do it in Plof. 02:41:00 i assumed he meant in OISC :) 02:41:07 (Plof is in bad need of Esome) 02:41:37 oerjan: I think it would be pretty straighforward 02:41:43 except for [] 02:43:48 you could just compile into memory 02:44:10 for [] you need a stack of branch points 02:44:20 during the compilation 02:44:43 i believe Forth works in that way 02:45:09 [] is hard even in real languages 02:45:14 Not in Tcl. 02:45:26 Of course, my BF implementation in Tcl is a bit. . . Lazy. 02:45:51 Basically, I compile the Brainfuck code in-memory to Tcl, and then evaluate the compiled code. ;) 02:46:44 essentially what i suggest for OISC as well 02:47:06 because [] is _not_ particularly hard to compile 02:47:45 no, just a jump 02:47:46 It's only hard because one has to do it in OISC. . . And you're going to have to do that just to write the thing, anyways. 02:47:48 its only if try to run directly on the string interpretation it gets awkward 02:48:15 *representation 02:50:26 *it's only if you 02:53:10 hm... you could actually avoid a disjoint stack by keeping the stack _in_ the partially compiled code 02:53:41 then you avoid having to juggle two distinct growable memory areas 02:54:56 how? 02:55:11 so, when you get to a [, you compile it, except that the branch location points to the previous [ 02:55:39 and you have a global pointer to the topmost [ 02:56:54 when you get to ], you use that global pointer to compile the ] _and_ to patch the corresponding [, finally letting the new global pointer be the previous content of the [ 02:56:56 -!- ihope has quit ("Leaving"). 02:58:05 so the global pointer plus the pointers saved in each [ is the stack, pushing on a new [ and popping on a new ] 03:01:47 * bsmntbombdood writes cat in OISC 03:03:24 -!- pikhq has quit ("leaving"). 03:03:38 you might need a special EOF location 03:03:52 -1 03:03:57 ah 03:09:12 grar, I think there's a bug in my vm 03:09:47 READ char -1 03:09:47 char WRITE -1 03:09:47 NULL NULL CODESTART 03:09:57 doesn't do what it should 03:10:22 hm... make that char char CODESTART? 03:11:01 !?! 03:11:04 Huh? 03:11:12 oh, right 03:11:35 char doesn't get zeroed 03:13:14 actually, you probably need to test it for -1 first 03:13:34 which would have to go between READ and WRITE 03:13:56 I know 03:14:04 ah! 03:14:18 http://pastebin.ca/290546 03:16:04 there is a simpler way if you use READ char