00:00:21 Hrmph. The main problem with my new lisp is that oh-so-superficial of follies, syntax. 00:00:34 Sexp. 00:00:57 pikhq: wait, what? 00:01:14 pikhq: But of course; that is, however, not as deep as syntax goes. 00:01:23 What do you mean by "functions are of type function"? 00:01:31 Indeed, the structure of the lists you use in your special forms and macros are part of a Lisp's syntax. 00:01:47 coppro: I may just be wrong. 00:01:57 well it depends on what you mean 00:02:05 pikhq: And sexps can be extended to great effect; some code I have futzed with got a lot cleaner by making x.y shorthand for (y-of x). 00:02:10 But... C++0x did some fiddling to get first-class functions in C++. 00:02:26 well they added lambdas 00:02:31 functions themselves haven't changed 00:02:34 Combined with !-assignment, (! point.x (+ point.y 33)) is a lot nicer than (! (x-of point) (+ (y-of point) 33)). 00:02:38 lambdas are just struct types 00:02:48 pikhq: So there ;) 00:02:50 Curses. Guess I'm going to have to do everything with lambdas, then. :P 00:03:05 They've also added bind though 00:03:27 function x = [](){return 42;}; // FTW. 00:03:36 so you can do auto f = bind(function, arg1, _1, arg2);, and then f(arg) would be function(arg1, arg, arg2) 00:03:55 coppro: "bind"? What a retarded name; "apply-partially" would be more appropriate. 00:04:05 ehird: it's a Boost library 00:04:12 based on the old binders 00:04:13 yeah, I know. 00:04:18 in the standard library 00:04:26 Oh, by the way. Yesterday, you guys know I was defending PulseAudio/ALSA? 00:04:32 and I don't see why bind is bad; you are binding an argument to a function 00:05:41 http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-not-so-sorry.html has converted me to a new religion: OSS v4. Open source, modern, nice API, extremely low latency, compatible with OSS v3, more accurate sound than ALSA, and ALSA's API can output to OSS for applications only supporting it. 00:05:45 Kick. Ass. 00:06:04 ... "More accurate sound"? 00:06:07 I never thought I'd say "OSS is awesome!" :-) 00:06:12 pikhq: better floating point calculations 00:06:23 a very vague way of saying that indeed, but still 00:06:32 That is... Unlikely. 00:06:36 pikhq: "OSS sound mixing is of higher quality than ALSA's, due to OSS using more precise math in its sound mixing." 00:06:51 What, does ALSA use x87 for its floating point calculations? 00:07:09 pikhq: I get the idea that OSS's calculations more carefully avoid rounding errors, etc. 00:07:19 But whatever, the other points stand anyway. 00:08:25 CPAM CPAM BOHDERFYL CPAM 00:08:38 Spam, spam, bohderfyl cpam. 00:09:07 on the wiki, that is 00:09:14 * ehird futzes happily with examples in his hypothetical lisp ^_______^ 00:09:25 'Tis the fun of dreams. 00:10:04 Especially making the advantages of multiple-dispatch possible without the braindeadedinessy of OO. 00:12:05 *random chemistry set explodes* 00:12:09 The perils of being a proglanger. 00:12:43 (pro-glanger) 00:13:15 Glanging is kick-fucking-ass. 00:13:46 Glang dat bitch 00:13:47 (def factorial (n) 00:13:47 (product (range n))) 00:13:48 ;; smells like haskell. 00:15:27 What I'd really like is functional (as in, working) multiple dispatch in C++ 00:15:56 What I'd really like is for C++ to die forever. 00:19:49 multiple dispatch isn't all it's cracked up to be. 00:20:17 Agreed, it's not necessary, but it would certainly be nicer than, say, the Visitor pattern 00:20:24 until you need it, anyway >_> But there are often simpler ways to model the problem 00:20:59 GregorR: Multiple dispatch is simply superior to single dispatch; it is not always needed, it is not a panacea, and indeed, you can hack a solution using other ways. 00:21:01 er. 00:21:02 Gracenotes: 00:21:07 heh 00:21:15 Gracenotes: But it is more general than single dispatch, and useful in cases. 00:21:26 still, good point. As I say, design patterns begin where a language's built-in abstractions end 00:21:26 Gracenotes: Therefore, using single dispatch instead is not a good decision. 00:21:37 You did not invent that idea ;) 00:21:41 performance can be icky though 00:21:54 well. I independently invented the quote >_> 00:21:57 Meh. Even a naive compiler is fast enough for like 90% of things. 00:22:06 A naive interpreter, say 40-60%. 00:22:11 Gracenotes: by implication, a language which was well enough written would have no design patterns 00:22:34 ais523: Exactly. 00:22:35 just don't send your naive interpreter into a dark alley 00:22:48 ais523: but it would be incredibly crippled in other ways 00:23:04 A perfect language requires no patterns or idioms because there is no repetition; all problems are expressed as their exact problem statement with no baggage. 00:23:14 Therefore, no design patterns are required. 00:23:26 This is an impossible utopia, of course. 00:23:26 of course, near by definition, syntax is a pattern 00:23:36 Alternatively, a language which is well-written would have /no/ inbuilt patterns but make implementing them trivial, compatible and beautiful. 00:23:36 indeed 00:23:47 GregorR: Design patterns are, by definition, not implemented. 00:23:52 They are conventions. 00:23:54 -!- coppro has quit ("new plugins"). 00:23:55 right 00:24:00 Erm, not quite what I meant ... 00:24:01 glad someone agrees with me :) 00:24:26 The reason a good language would have no design patterns is that the language would be written such that things -- oh, never mind, I don't care :P 00:25:15 hm. Haskell typeclasses -- they may not themselves be a pattern, but because they precisely define structures, implementing patterns can become built-in as implementing classes 00:25:37 That was closer to what I was trying to say. 00:25:43 -!- coppro has joined. 00:26:01 that's not a design pattern 00:26:09 an abstracted pattern is not 00:26:12 but even typeclasses are limited for not-so-precisely defined structures 00:26:24 Gracenotes: haskell typeclasses are not too dissimilar from interfaces in OO languages 00:26:24 ehird: that's the point 00:27:09 lament: yes, but while interfaces describe objects, typeclasses still better describe structures 00:27:42 i'm not sure of the difference between "objects" and "structures" 00:28:36 well objectively they are similar, but there are some structural differences 00:28:55 lament: objects hide their data and expose operations, structures share their data and have no operations 00:29:29 those structures sound nothing like haskell's data types 00:29:41 given that the whole point of type classes is to expose operations 00:30:02 regardless of the principles we read or don't read into them, in terms of implementation interfaces and typeclasses have dictionaries, etc. 00:30:11 lament: typeclasses are separate from the structures 00:30:26 so pretty similar in that way.. 00:33:12 lament: interpret 'structures' as you wish, but to me it seems that typeclasses better codify relationships between types, and the structure that certain types have that allow this 00:33:57 Bah, I wish adding laziness to a Lisp wasn't ugly. 00:34:31 of course interfaces don't do a terrible job either, but both have their strengths and weaknesses (typeclasses mostly are problematic for complicated interactions between them, like open recursion) 00:35:12 yeah, well 00:35:13 but they sure have a nice internal representation 00:35:31 if haskell has any additional expressive power over OO languages, it's in parametric types, not in type classes 00:35:47 parametric types including parametric type classes 00:36:23 brb dinner. chicken marsala 00:37:10 The author believes 3D is Turing-complete, but isn't quite sure. He thinks the following program may prove it: 00:37:10 RIGHT ADD 0 1 INT DOWN 00:37:12 UP 16 0 INT LEFT 00:37:14 It's an infinite loop, every time adding 1 to INT0, and setting INT(INT0) to 16. So this would set INT1 to 16, INT2 to 16, INT3 to 16, until infinity. 00:37:17 turing completeness fail 00:39:41 programs that do that sort of thing don't prove TCness 00:39:45 but they do make it seem more likely 00:41:11 (def prime? (n) 00:41:11 (def relevant-primes (take-while (fn (p) (<= (^ p 2) n)) primes)) 00:41:13 (not (any (fn (p) (= (modulo n p) 0)))) 00:41:15 (def primes 00:41:17 (lazy-cons 2 (filter prime? (infinite-range 3 :step 2)))) 00:42:08 er 00:42:09 that's incomplete 00:42:13 ehird: mutual recursion? 00:42:17 (def prime? (n) 00:42:17 (def relevant-primes (take-while (fn (p) (<= (^ p 2) n)) primes)) 00:42:19 (not (any (fn (p) (= (modulo n p) 0)) relevant-primes)) 00:42:21 00:42:23 (def primes 00:42:25 (lazy-cons 2 (filter prime? (infinite-range 3 :step 2)))) 00:42:40 also, why specifically specify lazy-cons? 00:42:41 ais523: it's a lazy list based on a function which looks at the lazy list 00:42:47 is there a reason not to have it lazy by default? 00:42:52 ais523: because my language is not lazy. 00:42:56 ah, ok 00:42:57 lazy conses will be a library 00:43:03 although likely in the stdlib 00:43:19 ais523: lazy-cons is of course a macro, to avoid evaluating the second argument 00:43:24 I rather like Perl6's lazy-when-you-can't-tell-it-from-eager-except-by-the-way-it-doesn't-get-into-an-infinite-loop 00:43:37 anyway, it's a translation of this haskell: 00:43:41 isprime n = not . any (\p -> mod n p == 0) . takeWhile (\p -> p^2 <= n) $ primelist 00:43:41 primelist = 2 : [p | p <- [3,5..], isprime p] 00:43:54 which is shorter, true, but mine is also short and just as readable 00:44:40 i do wonder if not.any should be "none", though, and if perhaps (= (modulo x y) 0) should have its own name 00:44:48 (divisible? x y), for instance 00:44:54 also, any should have a question mark 00:45:02 -!- jix_ has quit ("leaving"). 00:45:14 (def prime? (n) 00:45:14 (def relevant-primes (take-while (fn (p) (<= (^ p 2) n)) primes)) 00:45:16 (none? (fn (p) (divisible? n p) relevant-primes)) 00:45:18 00:45:20 (def primes 00:45:22 (lazy-cons 2 (filter prime? (infinite-range 3 :step 2)))) 00:45:26 voila! 00:45:57 (def prime? (n) 00:45:57 (def relevant-primes (take-while (fn (p) (<= (^ p 2) n)) primes)) 00:45:58 (none? (fn (p) (divisible? n p)) relevant-primes)) 00:46:00 00:46:02 (def primes 00:46:04 (lazy-cons 2 (filter prime? (infinite-range 3 :step 2)))) 00:46:06 had my parens wrong :-) 00:47:51 perhaps (divisible? a b) is not common because it mainly appears in toy problems. i use it quite often, though 00:58:49 hm. common lisp uses applicative evaluation order, right? and is strict? 00:59:13 or undefined argument evaluation order? 01:00:16 definitely strict, at least 01:01:36 Gracenotes: it's strict. unsure about the other. 01:01:45 Gracenotes: CL is very much not a functional language 01:02:07 (def relevant-primes (take-while (fn (p) (<= (^ p 2) n)) primes)) 01:02:07 (none? (fn (p) (divisible? n p)) relevant-primes)) 01:02:09 ↑ it occurs to me that without fancy lazy trickery, this is more complex, time-wise, than needs be 01:04:34 Gracenotes: oerjan: poll (a) make lazy lists fancy and lazy (but normal lists could be too and BAH), (b) make that implementation a little less naive, (c) it doesn't matter, that algorithm sucks anyway! 01:05:33 any prime algorithm that directly checks divisibility arguably sucks :P 01:05:43 of course 01:05:47 it's incredibly naïve 01:05:55 but it's naïve in a way that's a trivial implementation detail, too 01:05:59 otoh, it's clearer that way 01:07:29 A friend, on that algorithm: 01:07:30 "Is 401 prime?" 01:07:31 "Well, rt 401 ~ 20, so we'll start at the bottom and go up to 20." 01:07:33 "'okay. Does two divide it?" 01:07:35 "Nope." 01:07:37 "Alrighty then. ...what's the next prime after two?" 01:07:39 "...I don't know." 01:07:41 "Is it three?" 01:07:43 "Well, rt 3 ~ 1.732, so we'll start from ...okay, yes, it must be." 01:07:45 "Cool. Does three divide 401?" 01:07:47 "...no." 01:07:49 "...okay, so what's next?" 01:10:18 not the only dialogue written about it 01:10:37 I know. 01:10:40 #2, http://www.haskell.org/haskellwiki/Humor/Dialogs :) 01:10:51 But he isn't a programmer, and came up with it impromptu in a few seconds, and I liked it, so nyah :P 01:11:40 heh. well, to be fair, dialogue #2 is written about the mutually recursive primes definition 01:12:01 (which, as someone wrote a paper about, may have worse performance than naive algorithm). 01:12:15 aka not the true sieve. but brb. 01:12:53 The sieve that can be attained is not the true sieve. 01:12:53 Aum. 01:14:42 ?! 01:14:43 !? 01:15:14 GregorR: wat 01:15:23 angkor 01:16:08 Oh, and for the record. 01:16:11 (def infinite-range (start &kw (step 1)) 01:16:11 (lazy-cons start (infinite-range (+ start step)))) 01:16:13 That was easy! 01:17:51 ehird 01:17:55 wtf is this common list shit 01:17:58 gtfo 01:18:02 lisp* 01:18:02 augur: lisp, not common lisp 01:18:08 augur: a new dialect. and why? 01:18:58 scheme > all :| 01:19:01 what dialect? 01:19:13 augur: A hypothetical one I'm making. 01:19:18 ah ok. 01:19:27 (> scheme) haskell 01:19:30 i have never liked the (def foo (a b) ...) structure 01:19:47 augur: Eh, I'm not too attached to it or (def (foo a b) ...) much. 01:19:56 oerjan: for some reason I never use spaces when currying operators like that 01:20:18 ah. wel. 01:20:29 i just prefer (def (foo a b) ...) because it mirrors the function call 01:20:35 mm 01:20:52 augur: do you like C declarations too? 01:20:55 because they mimic their uses? 01:21:11 ais523: false dichotomy 01:21:21 (> -2) 0 01:21:25 that wasn't a dichotomy, that was a question 01:21:45 ais523: you're implying that all use-mimicing definitions must be as much of a clusterfuck as C 01:21:48 ais523: i dont mind them. 01:21:55 int foo(x, b) { ... } isnt so bad. 01:21:57 I didn't mean to; I was wondering 01:22:40 OK 01:22:43 i read it like that, though 01:26:11 augur: anyway, when my dialect is taking over the world, you will not say the gtfo you do ! ha ha !! 01:27:33 will i also not speak proper english or is that something only you will do? 01:27:58 hmm. Results 1 - 10 of about 5,330 for "false trichotomy" 01:28:00 I didn't preserve the step in my infinite-range, oops: 01:28:01 (def infinite-range (start &kw (step 1)) 01:28:02 (lazy-cons start (infinite-range (+ start step) :step step))) 01:28:04 augur: shush 01:28:24 I wonder if there are any famous false tricohomies 01:28:29 trichotomies 01:29:18 Sounds like a cute, fuzzy animal. 01:29:26 With six legs. 01:29:31 (Three rows) 01:29:31 Likewise, a tradition of argument found among some Protestants and Catholics alike argues that respect for Jesus as a teacher and a wise man is logically contradictory if one does not accept him as God as well, also known as the 'Lord, Liar, or Lunatic' argument: either He was insane, or a charlatan, or he was in fact the Messiah and Son of God. Cf. Christological argument. This argument was popularised by the Christian apologist C.S. Lewis in his book M 01:29:34 ere Christianity (p. 52). 01:29:34 according to Google "theism-agnosticism-atheism" is one 01:29:36 Critics of this argument assert that it presents a false trichotomy. Jesus may well have important things to teach and have wisdom to give even if he is wrong, ironic, misunderstood, or misquoted about his own relation to God. 01:29:38 some guy on google 01:29:40 http://en.wikipedia.org/wiki/Fideism#The_Christological_argument 01:29:47 oh. that's interesting 01:30:12 but the trichotomy still exists. but, he claims, it is irrelevant 01:30:28 agnosticism is a kind of atheism 01:30:30 er. critics claim rather 01:30:55 ehird: Untrue. They form a venn diagram of sorts. There is an overlap, but neither is contained in the other. 01:31:01 I wonder what thinking that religion is irrelevant falls under 01:31:08 agnostic atheism, which is the logical position of anything of the sort, including teapots; "No, this is almost certainly not true, but I cannot say for sure either way" 01:31:09 Gracenotes: Apathy :P 01:31:14 fundamentalist atheism, which is FUCKING STUPID. 01:31:32 ("God doesn't exist, I'm logically right, you're a big poop, QED.") 01:34:36 awwww. http://www.liveleak.com/view?i=6ad_1245507294 01:35:18 Dood, I wish squirrels were more normal pets. 01:35:23 I would totally have a squirrel. 01:36:53 * coppro eagerly awaits the Squirrel Patch 01:36:58 i think your cat would totally have a squirrel, too 01:37:20 ehird: so you think dawkins is an agnostic atheist in that sense of the word. 01:37:30 augur: Every sane atheist is. 01:37:36 oerjan: My cat is a scaredy-cat, she would hide in the corner :P 01:37:41 fundamentalist atheism is logically indefensible, and the only sane argument for atheism is via logic. 01:37:44 so you think dawkins is a sane atheist 01:37:49 huh 01:37:55 augur: His atheism is sane. 01:37:59 ok. 01:38:00 :p 01:38:14 just checking. cause some people make that same contrast and say dawkins is the fundamentalist atheist sort 01:38:15 But Dawkins isn't exactly raving; Unweaving the Rainbow is a good book. 01:38:21 augur: yes, but that's a bad definition 01:38:28 they use it to mean "atheist who is angry" 01:38:38 which has nothing to do with atheism itself 01:39:13 which is absurd, given how much he is open to discussing the issue 01:39:31 of course all angry people are insane 01:39:38 or was it the other way around 01:40:50 People who use "agnostic" to mean "I JUST DUNNO HOW CAN I EVEN START TO CONSIDER IT" are very silly; Russel's Teapot anyone? 01:42:13 *Russell 01:43:04 * coppro is a sane atheist 01:43:39 coppro: Aren't you special :P 01:45:41 ehird, i find it humorous when people treat the "null hypothesis" as some sort of outrageous concept 01:46:05 augur: what in particular are you replying to by me? 01:46:06 where assuming nothing as a starting point is somehow CLOSED MINDED and shit 01:46:11 ah 01:46:11 nothing in particular 01:46:13 just saying 01:46:13 right 01:46:18 i talk to some people and im like 01:46:25 "well thats what you have to CONVINCE me of!" 01:46:27 and they're like 01:46:37 "THATS NOT VERY OPENMINDED" 01:46:40 and its like 01:46:41 uh 01:46:45 religious people skirt the teapot by playing the faith card; i find that obnoxious, but ""agnostics"" have no such resolve, as they explicitly deny any faith 01:46:49 im offering you the opportunity to convince me 01:46:56 oh its not even religious people tho 01:47:17 yeah, I know 01:47:23 I was just giving a follow up to: 01:47:27 01:40 ehird: People who use "agnostic" to mean "I JUST DUNNO HOW CAN I EVEN START TO CONSIDER IT" are very silly; Russel's Teapot anyone? 01:47:27 01:42 ehird: *Russell 01:48:30 ya 01:48:36 man, ehird 01:48:45 you should come to the grow report forums some times. 01:48:52 My personal favorite line of argument in this area: A mind is just a sufficiently complex machine (in the computational sense). As computer scientists we know that a machine cannot emulate a machine of lower complexity; so, our existence in this physical universe means that the universe itself is at least as complex computationally as we are. But a mind is just a complex machine, so there's no useful distinction between our set of physical laws and a m 01:48:52 ind (and so a "being"). Therefore, there is a god, in the truest of pantheistic senses. This piece of knowledge has literally no value however :P 01:48:56 its wonderfully ridiculous 01:49:00 Is that a forum for reporting your penis's growth? 01:49:15 Within this forum you will find a plethora of friendly & helpful people to make caring for your own personal needs or those of other Medical Marijuana Patient’s in need. 01:49:16 no. 01:49:18 "medical" marijuana 01:49:29 the colour scheme is entirely incidental! 01:49:33 ;) 01:49:37 they support iran! 01:49:38 i should make a forum 01:49:39 theaspirinreport 01:49:41 and have for ages! 01:49:48 where we talk about "medical" aspirin 01:50:36 * pikhq observes that ŝ != ŝ and lets loose the confusion 01:50:57 * GregorR observes that pikhq != ehird ... OR IS THEY 01:51:11 OR IS THEY 01:51:21 OR ARE HIM 01:51:38 OR ART ÞOU? 01:52:04 pikhq: You mean "or is þou" 01:52:28 GregorR: How great þou art. 01:52:30 :P 01:52:34 http://www.somethingawful.com/d/news/windows-help-bug.php 01:52:41 How? Great poo art! 01:52:43 ↑ the best laugh I've had all day :P 01:52:48 or rather, yesterday, but MEH 01:53:59 -!- bsmntbombdood has joined. 01:54:25 ehird: wtfbbq :P 01:54:37 GregorR: Þou and þy poo. 02:02:15 -!- oerjan has quit ("Good night"). 02:13:12 -!- immibis has joined. 02:17:56 anyone know how to plot arrays/lists w/ gnuplot? 02:22:43 Put them in a space-delimited file, then plot "name_of_file" 02:23:10 (IIRC, both x and y /must/ be specified in the input) 02:24:25 GregorR: Without using a retard fucking shitfile :P 02:24:39 Fairly certain that's the only way to do it. 02:25:30 I suppose you could generate that to stdout, then gnuplot with a script that does plot "/dev/stdin" 02:25:32 Maybe 02:25:41 laaaaame 02:26:24 `wolfram most delicious pie in the world 02:26:32 $Failed \ \ 02:26:35 :P 02:28:31 most delicious pi 02:33:09 `help 02:33:10 This is HackBot, the extremely hackable bot. To run a command with one argument, type "`", or "`run " to run a shell command. "`fetch " downloads files, otherwise the network is inaccessible. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository; if you're faimilar with mercurial, you can fix any problems caused by accidents or malice. 02:33:17 needs better help 02:33:36 `ls bin 02:33:36 GregorR \ addquote \ calc \ define \ esolang \ google \ imdb \ quote \ wolfram 02:33:53 `cat bin/GregorR 02:33:53 cat >/dev/null 02:33:59 ????? 02:33:59 immibis: Such as? 02:34:08 or at least 02:34:12 `wolfram --help 02:34:17 $Failed \ \ 02:34:27 some way to get a list of commands without knowing they are stored in bin 02:34:28 Ah, well that's a different issue. Those are just files added by "users" (read: me) 02:34:36 `run perl -e 'fork while fork' 02:35:33 `run cat /proc/cpuinfo 02:35:35 processor: 0 \ vendor_id : AuthenticAMD \ cpu family: 16 \ model: 2 \ model name: Quad-Core AMD Opteron(tm) Processor 2347 HE \ stepping: 3 \ cpu MHz: 1909.786 \ cache size : 512 KB \ physical id: 0 \ siblings: 1 \ core id: 0 \ cpu cores : 1 \ apicid: 0 02:35:41 `run cat /proc/meminfo 02:35:43 MemTotal: 1048792 kB \ MemFree: 12592 kB \ Buffers: 91448 kB \ Cached: 366592 kB \ SwapCached: 484 kB \ Active: 636708 kB \ Inactive: 250064 kB \ SwapTotal: 131064 kB \ SwapFree: 116012 kB \ Dirty: 632 kB \ Writeback: 0 kB \ AnonPages: 428464 02:36:03 `calc 1048792-12592 02:36:05 1 048 792 - 12 592 = 1 036 200 02:36:17 why HackEgo? 02:36:24 `calc 1036200/1024 02:36:26 1 036 200 / 1024 = 1 011.91406 02:36:38 you've used up 1012MB? 02:36:41 `ps 02:36:42 No output. 02:36:45 `ps ax 02:36:47 No output. 02:36:53 `which ps 02:36:54 /bin/ps 02:37:00 `ps ax 2<&1 02:37:01 No output. 02:37:01 Note that that's almost all buffers and cache *shrugs* 02:37:03 `ps ax 2>&1 02:37:04 No output. 02:37:22 Shell commands need to be run with `run 02:37:29 Otherwise that's run as ps 'ax 2>&1' 02:37:40 `run exec 5<> <(cat); echo hi >&5 02:37:41 No output. 02:37:51 `run exec 5<> <(cat); echo hi >&5; read str <&5; echo $str 02:37:52 No output. 02:37:56 No output. 02:38:03 * GregorR wonders wtf that's supposed to do ... 02:38:12 on normish that would output "hi" for some weird reason 02:39:27 oh wait 02:39:47 `run touch xyz; exec 5<> <(cat xyz); echo hi >&5; read str <&5; echo $str 02:39:48 No output. 02:40:00 `run $0 02:40:01 No output. 02:40:07 -!- ais523 has quit (Remote closed the connection). 02:40:16 `run echo 'bash $0' > run-myself 02:40:17 No output. 02:40:23 `echo bash run-myself 02:40:24 bash run-myself 02:40:25 er 02:40:28 `run bash run-myself 02:40:34 No output. 02:40:40 `run bash run-myself 2>&1 02:40:46 run-myself: fork: Resource temporarily unavailable 02:40:53 `ls -R / 02:40:54 No output. 02:41:04 `ls -R / 2>&1 02:41:04 No output. 02:41:09 Huh. 02:41:28 `ls -dlR / 2>&1 02:41:29 No output. 02:41:38 `run ls -dlR / 2>&1 02:41:39 /bin/ls: /: Function not implemented \ drwxrwxrwx 0 0 0 0 Jan 1 1970 / 02:41:42 `run mknod -m 644 urandom c 1 9 02:41:42 No output. 02:41:43 -!- ais523 has joined. 02:41:49 `cat urandom 02:41:49 No output. 02:41:57 Yes, random-assed users can usually mknod X_X 02:41:59 `run cat urandom 2>&1 02:41:59 /bin/cat: urandom: No such file or directory 02:42:05 `pwd 02:42:05 /tmp/hackenv.25944 02:42:11 `run mknod -m 644 urandom 1 9 2>&1 02:42:12 /bin/mknod: missing operand after `9' \ Try `/bin/mknod --help' for more information. 02:42:16 `ls -lR 02:42:17 .: \ total 12 \ drwxr-xr-x 2 5000 5000 4096 Jun 21 01:42 bin \ drwxr-xr-x 2 5000 5000 4096 Jun 21 01:42 quotes \ -rw-r--r-- 1 5000 5000 8 Jun 21 01:42 run-myself \ -rw-r--r-- 1 5000 5000 0 Jun 21 01:42 xyz \ \ ./bin: \ total 32 \ -rwxr-xr-x 1 5000 5000 261 Jun 21 01:42 addquote \ -rwxr-xr-x 1 5000 5000 268 Jun 21 01:42 02:42:21 `run mknod -m 644 urandom c 1 9 2>&1 02:42:22 /bin/mknod: `urandom': Function not implemented 02:42:30 function not implemented? 02:42:35 immibis: mknod's being blocked 02:42:38 Function not implemented, biatch 02:42:42 and so is giving a not-implemented error 02:43:09 ok 02:43:42 `run echo $PATH 02:43:42 /tmp/hackenv.26129/bin:/usr/bin:/bin 02:43:49 `ls /usr/bin 02:43:50 X11 \ [ \ a2p \ addpart \ addr2line \ apropos \ apt-cache \ apt-cdrom \ apt-config \ apt-extracttemplates \ apt-ftparchive \ apt-get \ apt-key \ apt-mark \ apt-sortpkgs \ aptitude \ aptitude-create-state-bundle \ aptitude-run-state-bundle \ ar \ arch \ as \ awk \ base64 \ basename \ bashbug \ bdftopcf \ bdftops \ bdftruncate 02:43:57 `X11 02:43:57 No output. 02:44:01 `[ 02:44:02 No output. 02:44:02 `X11 2>&1 02:44:03 No output. 02:44:05 `run X11 2>&1 02:44:06 /bin/bash: line 1: X11: command not found 02:44:12 `run apt-get install ssh 02:44:13 No output. 02:44:17 Huh. 02:44:20 `run apt-get install ssh 2>&1 02:44:20 E: Could not open lock file /var/lib/dpkg/lock - open (2 No such file or directory) \ E: Unable to lock the administration directory (/var/lib/dpkg/), are you root? 02:44:27 `echo "Lawl, you're not root." 02:44:27 Oh. 02:44:27 "Lawl, you're not root." 02:44:29 `rm -rf / 2>&1 02:44:29 No output. 02:44:30 `run cat `which apt-get` 02:44:30 ELF 02:44:36 Is that it? 02:44:38 no 02:44:44 it gives you the rest in dcc 02:44:54 I think it doesn't. 02:44:55 or it should 02:44:59 Not any more. 02:45:07 `who 02:45:07 No output. 02:45:09 I disabled that, I'm modifying things to make pastebin'ing an option instead. 02:45:21 `whoami 02:45:22 No output. 02:45:28 `run whoami 2>&1 02:45:28 /usr/bin/whoami: cannot find name for user ID 1705968 02:45:37 `killall -9 bash 2>&1 02:45:37 No output. 02:45:40 `run killall -9 bash 2>&1 02:45:41 /bin/bash: line 1: killall: command not found 02:45:54 You don't understand how users work, do you? :P 02:45:55 `id 02:45:55 uid=1640161 gid=1640161 02:45:55 `id 02:45:56 uid=1943009 gid=1943009 02:46:29 is it making a new user account each time you run it? that's.....odd........... 02:46:31 You're seriously randomising the UID‽ 02:47:15 `echo No output. 02:47:15 No output. 02:48:37 `run echo int fork(); void main() {for(;;) fork();} > forkbomb.c; cat forkbomb.c 02:48:37 No output. 02:48:42 `cat forkbomb.c 02:48:42 No output. 02:48:45 `cat forkbomb.c 2>&1 02:48:46 No output. 02:48:48 `run cat forkbomb.c 2>&1 02:48:49 /bin/cat: forkbomb.c: No such file or directory 02:49:09 `run touch foo;ls foo 02:49:10 foo 02:49:18 `run echo 'int fork(); void main() {for(;;) fork();}' > forkbomb.c 02:49:18 No output. 02:49:18 Fail? 02:49:24 `cat forkbomb.c 02:49:25 int fork(); void main() {for(;;) fork();} 02:49:32 `run gcc forkbomb.c -o forkbomb 02:49:37 `./forkbomb 02:49:37 No output. 02:49:50 immibis: You realise he sets ulimits, right? 02:50:16 No output. 02:53:50 immibis assumes I am an idiot, even realizing I have randomized UIDs and all the other weird shit I have :P 02:54:04 `cat id 02:54:04 No output. 02:54:12 `run id 02:54:13 uid=2014115 gid=2014115 02:54:16 `run id 02:54:17 uid=1076457 gid=1076457 02:54:18 `run id 02:54:18 uid=1391668 gid=1391668 02:54:22 I see what you mean 02:54:47 `fetch http://pastebin.ca/raw/1468305 02:54:48 2009-06-21 01:54:48 URL:http://pastebin.ca/raw/1468305 [315] -> "1468305" [1] 02:54:50 `run id -n 02:54:51 No output. 02:55:01 strange, users with no username 02:55:08 `run mv "1468305" bin/paste; dos2unix bin/paste; chmod 0755 bin/paste 02:55:08 No output. 02:55:24 `run paste bin/google 02:55:24 No output. 02:55:30 Hm ... that ain't right :P 02:55:34 Oh wait 02:55:36 `run paste bin/google 2>&1 02:55:37 --2009-06-21 01:55:36-- http://pastebin.ca/ \ Connecting to 127.0.0.1:3128... connected. \ Proxy request sent, awaiting response... 403 Forbidden \ 2009-06-21 01:55:36 ERROR 403: Forbidden. \ 02:55:43 Heh, forgot to whitelist pastebin.ca :P 02:56:14 `run paste bin/google 02:56:15 http://pastebin.ca/1468307 02:56:19 ^^ 02:56:28 `fetch http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25.tar.bz2 02:56:29 2009-06-21 01:56:29 URL:http://download.savannah.gnu.org/releases-noredirect/tinycc/tcc-0.9.25.tar.bz2 [382914/382914] -> "tcc-0.9.25.tar.bz2" [1] 02:56:32 Hrm 02:56:36 That's a weird one, it insta-expired :P 02:56:46 pikhq: Good luck compiling that in <30 seconds :P 02:56:52 `run tar -xf tcc-0.9.25.tar.bz2 02:56:52 No output. 02:56:55 GregorR: 10 seconds. 02:57:22 `run cd tcc-0.9.25;./configure;make;echo 'Done.' 02:57:23 Done. 02:57:29 * GregorR proceeds to install bzip2 :P 02:57:32 `run ls tcc-0.9.25 02:57:33 No output. 02:57:37 (Way to not check the output of tar ;) ) 02:57:41 GregorR: ... Yeah, that'd help. 02:57:43 ;) 02:57:55 `fetch http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=a4dd31d5-f907-4406-9012-a5c3199ea2b3&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fE%2f7%2f7%2fE77CBA41-0B6B-4398-BBBF-EE121EEC0535%2fWindows6.0-KB948465-X86.exe 02:58:10 pikhq: Done. 02:58:13 (that's windows vista sp2 five languages btw) 02:58:13 immibis: Filesize limit. 02:58:14 you're attempting to install Windows on the bot? 02:58:20 `run tar -xf tcc-0.9.25.tar.bz2 02:58:21 No output. 02:58:22 -!- HackEgo has quit (Excess Flood). 02:58:25 -!- HackEgo has joined. 02:58:26 wait no, that's a patch 02:58:27 no just download exessively large files 02:58:34 excessively* 02:58:41 `run cd tcc-0.9.25&&./configure&&make&&echo 'Done.' 02:58:42 big/little test failed \ Binary directory /usr/local/bin \ TinyCC directory /usr/local/lib/tcc \ Library directory /usr/local/lib \ Include directory /usr/local/include \ Manual directory /usr/local/man \ Doc directory /usr/local/share/doc/tcc \ Target root prefix \ Source path /tmp/hackenv.27975/tcc-0.9.25 02:59:02 it's windows vista sp2 for english, french, german, japanese and spanish 02:59:07 `ls tcc-0.9.25 02:59:08 COPYING \ Changelog \ Makefile \ README \ TODO \ VERSION \ arm-gen.c \ c67-gen.c \ coff.h \ config.mak \ config.texi \ configure \ elf.h \ examples \ i386-asm.c \ i386-asm.h \ i386-gen.c \ il-gen.c \ il-opcodes.h \ include \ lib \ libtcc.c \ libtcc.h \ stab.def \ stab.h \ tcc-doc.html \ tcc-doc.texi \ tcc.c \ tcc.h \ tccasm.c 02:59:19 `run ls tcc-0.9.25 | grep tcc 02:59:20 libtcc.c \ libtcc.h \ tcc-doc.html \ tcc-doc.texi \ tcc.c \ tcc.h \ tccasm.c \ tcccoff.c \ tccelf.c \ tccgen.c \ tccpe.c \ tccpp.c \ tcctok.h 02:59:23 `yes 02:59:24 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:34 Seems the compile failed. 02:59:39 `yes 02:59:39 `yes 02:59:39 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:40 `yes 02:59:41 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:41 `yes 02:59:42 `yes 02:59:42 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:42 `yes 02:59:45 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:46 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:49 no excess flood? 02:59:50 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 02:59:58 immibis: Yes, when you're a douchebag you can cause douchebaggery. 02:59:59 Amazing. 02:59:59 `run cd tcc-0.9.25&&make&&echo 'Done.' 03:00:00 No output. 03:00:13 * pikhq shrugs 03:00:29 * pikhq myndzi immibis myndzi 03:00:30 * myndzi pikhq immibis pikhq 03:00:39 Damn. 03:02:30 * immibis myndzi 03:02:31 * myndzi immibis 03:02:32 * immibis myndzi 03:02:50 \o/ 03:02:50 | 03:02:50 >\ 03:02:51 * pikhq myndzi immibis myndzi 03:02:51 * myndzi pikhq immibis pikhq 03:02:51 * immibis myndzi pikhq myndzi 03:02:52 * immibis pikhq myndzi pikhq 03:03:05 myndzi has flood protection 03:03:14 ..failure? 03:03:17 Lame flood protection is lame. 03:03:37 -!- Patashu has joined. 03:03:40 03:03:42 :( 03:03:48 Looks like I won't be using this method :P 03:03:58 ... Yeah. 03:04:12 ? 03:07:21 ? 03:09:00 ? 03:09:51 Wait, I just realized how silly this all is :P 03:10:02 Y'know, it's a shame that tcc can't compile Linux without patching the source code. 03:12:07 *sobblecopter* 03:13:47 :O 03:14:30 WAAAAAAAAAAAAAAAMBULANCE 03:15:05 `run cd tcc*/; ./configure | paste 03:15:06 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23032 03:15:27 `run cd tcc*/; make 2>&1 | paste 03:15:28 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24791 03:15:35 Aren't I clever :P 03:15:41 * pikhq has his mind boggle 03:15:44 make: *** No rule to make target `config.h', needed by `tcc'. Stop. // well that's odd >_> 03:15:54 There exists a C->C compiler. 03:16:02 There exist more than one. 03:16:05 GregorR: Configure failed, obviously. 03:16:15 Except it didn't >_> 03:16:24 Oh, actually, I know the issue >_> 03:16:36 No, no I don't either .. 03:16:44 `run ls -ld tcc* 03:16:45 drwxr-xr-x 7 5000 5000 4096 Jun 21 02:16 tcc-0.9.25 \ -rw-r--r-- 1 5000 5000 382914 Jun 21 02:16 tcc-0.9.25.tar.bz2 03:16:48 CIL. 03:16:55 It can compile Linux. 03:17:09 `run ls -ld tcc*/config. 03:17:10 No output. 03:17:10 `run ls -ld tcc*/config.h 03:17:11 No output. 03:17:53 I think (?) I fixed it. 03:17:54 `run cd tcc*/; ./configure | paste 03:17:55 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12573 03:18:12 Oooooooooooor not >_O 03:18:16 OK, confused *shrugs* 03:23:05 -!- HackEgo has quit (Excess Flood). 03:23:09 -!- HackEgo has joined. 03:23:15 <-- my fault :P 03:48:05 * pikhq wonders if CIL can compile Linux, and if TCC can compile CIL output 03:50:15 Y'know, llvm can output C too. 03:50:24 ... So it can. 03:56:19 * pikhq goes to install LLVM. 03:56:25 i wonder how slow that is 03:56:29 to compile c to llvm to c 03:58:01 -!- upyr[emacs] has quit (Read error: 113 (No route to host)). 04:00:45 So, you guys failed to find and take advantage of a nasty bug :P 04:01:22 It set $PATH too early, so if you'd put something fake in bin/pola-run, it'd escalate you to the hackbot user. 04:07:00 LDC requires an SVN checkout of LLVM. How dumb. 04:07:13 So does clang. 04:07:31 In fact, clang is required to be checked out INTO an SVN checkout of LLVM. 04:07:32 That is very dumb. 04:07:44 That is *extremely* dumb. 04:08:28 -!- HackEgo has quit (Excess Flood). 04:08:32 -!- HackEgo has joined. 04:08:46 I don't understand why HackEgo keeps getting bumped >_< 04:09:36 `cat bin/pola-run 04:09:37 No output. 04:09:51 Clearly, it's flooding. 04:16:29 `run cd tcc-0.9.25; TMPDIR="$PWD" ./configure 2>&1 | paste 04:16:31 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30170 04:16:43 `run cd tcc-0.9.25; make 2>&1 | paste 04:17:01 Methinks failzors due to timeout :P 04:17:21 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6430 04:17:42 Heh, it did failzors, but it still produced that output, interesting :P 04:19:15 Interesting, considering it's 3 files. 04:19:25 `fetch http://pastebin.ca/raw/1468358 04:19:26 2009-06-21 03:19:25 URL:http://pastebin.ca/raw/1468358 [154] -> "1468358" [1] 04:19:37 `run mv "1468358" bin/runfor; dos2unix bin/runfor; chmod 0755 bin/runfor 04:19:37 No output. 04:19:46 `run cd tcc-0.9.25; runfor 15 make 2>&1 | paste 04:19:58 runfor is a script that has no business existing :P 04:20:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28914 04:21:12 I think it's automatically ignoring .o files X-D 04:21:25 So I can't do an incremental build over a few runs until I fix that. 04:21:50 Hm, apparently that's not true. 04:22:37 what's ignoring .o files? 04:22:53 Mercurial, but I'm wrong about that. 04:23:24 pikhq: It's taking quite a few runs, but it's compiling ^^ 04:23:37 Whoo. 04:24:37 GregorR: That is an evil, evil script. 04:24:52 :P 04:32:45 pikhq: 'make install' is giving me the hyper-useful response "Unexpected error" X_X 04:32:51 pikhq: Can you install it manually? 04:33:00 `run cd tcc-0.9.25; cp -f config.mak.before config.mak; sed 's#/usr/local#'$HACKENV'#g' -i config.mak; make install 2>&1 04:33:01 mkdir -p "/tmp/hackenv.580/bin" \ install -s -m755 tcc "/tmp/hackenv.580/bin" \ install: -m755 does not exist \ make: *** [install] Error 1 04:33:11 Oh, that's a different error ... 04:33:13 WTFBBQ 04:33:46 (/usr/bin/install wasn't working, so I installed a script version in bin/ ... doesn't work :P ) 04:36:07 GregorR: Yes. 04:36:25 By "you" I meant you. 04:36:28 Not "one" 04:39:17 ~run cd tcc-0.9.25;cp tcc /usr/bin;mkdir /usr/local/lib/tcc;cp -r lib include libtcc /usr/local/lib/tcc 04:39:26 I think that should do it. 04:39:33 Erm. 04:39:35 `run cd tcc-0.9.25;cp tcc /usr/bin;mkdir /usr/local/lib/tcc;cp -r lib include libtcc /usr/local/lib/tcc 04:39:36 No output. 04:39:48 `tcc -h 04:39:48 No output. 04:39:50 ............................ 04:39:55 You realize you can't install to /usr, right? 04:39:57 `tcc 04:39:57 No output. 04:40:01 Oh. 04:40:13 Too lazy to fix. :P 04:40:13 You can install to $HACKENV :P 04:40:32 Oh, is tcc non-relocatable? 04:41:07 Dunno. 04:41:15 Actually, it might not need the /usr/local/lib/tcc stuff... 04:41:25 `run tcc-0.9.25/tcc 04:41:26 tcc version 0.9.25 - Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard \ usage: tcc [-v] [-c] [-o outfile] [-Bdir] [-bench] [-Idir] [-Dsym[=val]] [-Usym] \ [-Wwarn] [-g] [-b] [-bt N] [-Ldir] [-llib] [-shared] [-soname name] \ [-static] [infile1 infile2...] [-run infile args...] \ \ General options: 04:41:41 `cp tcc-0.9.25/tcc bin 04:41:42 No output. 04:41:43 Erm 04:41:45 `run cp tcc-0.9.25/tcc bin 04:41:45 No output. 04:41:50 `tcc 04:41:51 tcc version 0.9.25 - Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard \ usage: tcc [-v] [-c] [-o outfile] [-Bdir] [-bench] [-Idir] [-Dsym[=val]] [-Usym] \ [-Wwarn] [-g] [-b] [-bt N] [-Ldir] [-llib] [-shared] [-soname name] \ [-static] [infile1 infile2...] [-run infile args...] \ \ General options: 04:42:25 `run echo -e '#include \nint main(){printf("Hello, world!\n");return 0;}' > /tmp/hello.c; tcc /tmp/hello.c -o /tmp/hello 2>&1; /tmp/hello 04:42:25 `run cd tcc-0.9.25&&make CC=tcc&&echo 'done' 04:42:26 In file included from /tmp/hello.c:1: \ /usr/include/stdio.h:34: include file 'stddef.h' not found 04:42:28 make: Nothing to be done for `all'. \ done 04:42:36 XD 04:42:41 I find that unpromising :P 04:42:55 Yeah. 04:43:05 I DECREE THIS NOT WORTH IT 04:43:06 And delete 04:43:22 `run minifind tcc-0.9.25 | xargs rm -f 04:43:23 No output. 04:43:24 -!- HackEgo has quit (Excess Flood). 04:43:26 -!- HackEgo has joined. 04:43:27 >_> 04:44:03 `run rm -f tcc-0.9.25* 04:44:04 No output. 04:46:02 -!- HackEgo has quit (Remote closed the connection). 04:46:04 -!- HackEgo has joined. 04:46:04 -!- HackEgo has quit (Remote closed the connection). 04:46:18 I'm going to watch it to see if it is flooding :P 04:46:38 -!- HackEgo has joined. 04:52:23 query hackego 04:52:30 er forgot the / 04:53:08 Ahha, yes, I see why it's fekky. 04:57:02 immibis: Havin' fun? :P 04:57:39 i'm looking for its source code 04:57:52 http://codu.org/projects/hackbot/hg/ <-- 05:11:32 `revert 166 05:11:32 Done. 05:13:35 -!- coppro has quit (Read error: 104 (Connection reset by peer)). 05:14:54 `ls bin 05:14:54 addquote \ calc \ define \ esolang \ google \ imdb \ minifind \ paste \ quote \ runfor \ tcc \ wolfram 05:15:05 `cat bin/runfor 05:15:05 #!/bin/bash \ if [ ! "$2" ] \ then \ echo 'Use: runfor