< 1291593788 0 :TLUL|afk!unknown@unknown.invalid NICK :TLUL < 1291594106 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1291594542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: hmm, does plan 9 not link only the parts of libc that the program uses? < 1291594851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: or is the startup code just that huge? :) < 1291595394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: it's ok, i won't mock your OS if you tell me the truth. < 1291595403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you don't have to worry. < 1291595474 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :IT'S A TRAP! < 1291595504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: if you're crying, i'm sorry. < 1291595545 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[> One can obviously easily construct a Turing machine, which for every formula F in first order predicate logic and every natural number n, allows one to decide if there is a proof of F of length n (length = number of symbols). Let ψ(F,n) be the number of steps the machine requires for this and let φ(n) = maxF ψ(F,n). < 1291595548 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Obviously?]] --reddit < 1291595550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1291595561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it was obvious to me, it certainly would have been obvious to von neumann... < 1291595586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[["Obviously'' if you're one of the greatest logicians or mathematicians ever, maybe.]] < 1291595593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey oerjan i'm one of the greatest logicians or mathematicians ever < 1291595597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :reddit proves it < 1291595600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1291595614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: was it obvious to you? < 1291595617 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"One can obviously easily construct a Turing machine, which for every formula F in first order predicate logic and every natural number n, allows one to decide if there is a proof of F of length n (length = number of symbols). Let ψ(F,n) be the number of steps the machine requires for this and let φ(n) = maxF ψ(F,n)." < 1291595619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if so: YOU ARE TOO! < 1291595627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1291595640 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but then i've seen the result before < 1291595642 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dude we're like, all the greatest logicians or mathematicians ever < 1291595670 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: my brain has a wonderful rule that goes something like "decide if ... [in finite set] -> enumerate & check all elements" < 1291595675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it gets applied all the time < 1291595680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although not when in Program Vaguely Efficiently mode :p < 1291595712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sometimes no better algorithm is known < 1291595722 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes, well :) < 1291595775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1291595779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[In January 2010, Grothendieck wrote a letter to Luc Illusie. In this "Declaration d’intention de non-publication", he states that essentially all materials that have been published in his absence have been done without his permission. He asks that none of his work should be reproduced in whole or in part, and even further that libraries containing such copies of his work remove them.]] < 1291595787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's totally going to happen! < 1291595816 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait, that means the publication of the letter itself was against the request expressed in the letters :D < 1291595863 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Even if it does, some dude probably has done the article about it again on that subject < 1291595866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, it seems he may have requested its publication < 1291595873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Slereah: eh? < 1291595875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1291595879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not its publication, just publication of the request < 1291595892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait no the letter is online :D < 1291595930 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: apparently grothendieck considers publication of his *past* works unlawful < 1291595952 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :methinks he may be slightly shifted from his rightful place on his rocker < 1291596018 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it is possible that he has retained all rights and so can deny republication < 1291596056 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh, that may be entirely correct; even so, no sane recluse would go out of their way to do that, seeing as it doesn't affect them at all < 1291596071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and making the request involves contacting the outside world >:) < 1291596188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :poor mycroftiv, living in fear of revealing the truth about his OS < 1291596371 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Windows 1.0? < 1291596590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: you have betrayed me < 1291596882 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1291596978 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mycroftiv: i feel an overwhelming sadness in my hear. < 1291596980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heart. < 1291597623 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1291598150 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: The worst part about being very smart is that you don't perceive yourself as being very smart. < 1291598158 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You instead perceive everyone else as really stupid. < 1291598169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: wrong, i have an excellent ego < 1291598176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i just pretend to be humble to please people >:) < 1291598177 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...sometimes < 1291598232 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But surely you tend to assume that other people are going to see things that are obvious to you, only to have that horribly crushed by their ability to stop thinking entirely? < 1291598269 0 :Sasha2!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291598284 0 :Sasha!~WHAT@97-124-43-114.phnx.qwest.net JOIN :#esoteric < 1291598287 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Not really. < 1291598370 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Funny, I get horribly depressed by things like people finding math impossibly difficult, because I start by going "Well, I'm not *that* smart, and holy fuck these people are fucking stupid. GAAAAH." < 1291598393 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It takes me a while to recall that yes, I actually am more intelligent than average. < 1291598472 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Some part of me likes to think that I'm normal. Go figure. < 1291598619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: You could try not giving a shit. < 1291598622 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I do that. It's great. < 1291598630 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I hardly give a shit about anything. < 1291598666 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :WHY DOES EUGENICS SEEM LIKE SUCH A GOOD IDEA SOMETIMES. < 1291598687 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The editor of the HTML5 specification agrees! < 1291598734 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sadly, it's a bit unethical and it doesn't work. But still, it's damned tempting sometimes. < 1291598741 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: blame the parents for telling them to hate math < 1291598783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: And the school system, which holds calculus as the highest form of mathematics anyone could ever aspire to. < 1291598785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: you're full of shit. < 1291598803 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you really think that the vast majority of parents tell their kids, "Kid... hate math, kay?" < 1291598816 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Seriously, just by taking calc I in my junior year of high school people acted like I was fucking Newton or something. < 1291598823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the educational system, sure, blame that. but saying that parents tell kids to hate mathematics? < 1291598839 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(and I do not mean that in the sense of copulating with Newton) < 1291598860 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no, the kids ask their parents for help with their math HW, and the parents say "I don't like math; find someone else to ask" < 1291598885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: i think you are rather confused... < 1291598928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: quick, what command should I do next < 1291598938 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: rm -rf / < 1291598949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: rm already gone, and it readily accepts / < 1291598954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although it also accepts . and .., which it shouldn't < 1291598963 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: The worst part is, what passes for mathematics education is only tangentially *related* to mathematics! < 1291598965 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes, me has doubleplusungood communication skillz < 1291598971 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: It's education in calculation! < 1291598976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rm -rf .. being the ouroboros variant of rm -rf / :) < 1291598982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yo yo answer my questions more < 1291598988 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(and, with the increasing use of calculators, education in the *operation of calculators*) < 1291599002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: tac < 1291599039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Interestingly, not in POSIX! < 1291599048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: And I think I should get mv before tac. :P < 1291599057 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I say, why I say, that was a joke, son! < 1291599068 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: but they don't teach calculators well; just the other day I had to show someone how to multiply matrices < 1291599081 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: Try "show someone what a matrix is". < 1291599130 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: easy; it's just "a square full of numbers" < 1291599134 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: Remember: the typical person's extent of mathematical knowledge is elementary algebra and elementary arithmetic. < 1291599159 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and some Euclidean geometry. < 1291599169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: How was that a joke? :P < 1291599185 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Why would you ever want tac as a coreutils? < 1291599191 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: coreutil < 1291599197 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ... So that was a bad joke. < 1291599200 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Anyways. mv < 1291599204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: But tac is useful :P < 1291599229 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: We are literally talking people who do not know what a proof *is*. < 1291599231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's weird how some util-linux commands' man pages are filed under "BSD General Commands Manual" < 1291599238 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: Y'know, one of the most basic things in mathematics. < 1291599281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: pcc has a wonderful bug in it that causes it to seemingly not print any warnings in some files < 1291599285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just the filename :D < 1291599296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"x.c is a bad program! I won't tell you why!" < 1291599361 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: not really; Euclid's "proofs" are different from today's notions < 1291599385 0 :sftp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291599404 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: They literally have no concept of logic, formal or informal. < 1291599478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: that's a vast exaggeration at least with "informal" < 1291599488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: not really < 1291599497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314: they left as much to the reader as modern advanced mathematics :) < 1291599518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You haven't heard people fall to common, basic logical fallacies all the freaking time, have you? < 1291599525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yes, yes i have. < 1291599541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok let's stop talking about this, #esoteric should be a place away from all this crap :P < 1291599559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: you know what's evil about rename()? < 1291599573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Wrong! The answer is: it's in < 1291599574 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What? < 1291599578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: My mv will be implemented with < 1291599581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :link(old, new); < 1291599583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unlink(old); < 1291599586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :>:D < 1291599592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although that isn't atomic < 1291599602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks up how rename is implemented < 1291599657 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :System call. < 1291599671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, indeed, rename is a system call < 1291599677 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: wait what; what is a system call doing in stdio.h < 1291599693 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It being a system call is an implementation detail. < 1291599700 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ISO C mandates rename. < 1291599713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yes, but it doesn't use the stdio machinery < 1291599719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i guess otherwise it would go in unistd.h... < 1291599735 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But it's part of ISO C's IO library. < 1291599749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1291599774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I love my library requirement system. < 1291599779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :/*@needs: barfx.c parsemode.c */ < 1291599781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :First line of mkdir. < 1291599782 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Tada. < 1291599946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Remind me to replace getopt sometime. :p < 1291599975 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1291600693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Note to self: refactor out rm's confirm logic into a library; mv needs it too. < 1291600703 0 :TLUL!unknown@unknown.invalid NICK :TGAY < 1291600733 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TGAY: Totally Gay? < 1291600764 0 :TGAY!unknown@unknown.invalid PRIVMSG #esoteric :Trolling someone who hates gay people < 1291600774 0 :TGAY!unknown@unknown.invalid PRIVMSG #esoteric :Everyone in the channel did something like this < 1291600793 0 :TGAY!unknown@unknown.invalid NICK :TLUL < 1291600856 0 :looler!~fenng@125.80.154.242 JOIN :#esoteric < 1291600876 0 :looler!unknown@unknown.invalid QUIT :Client Quit < 1291601035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TLUL: what channel? and who? < 1291601048 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :#wikia-runescape, and the guy who's now nicked to Heterosexual < 1291601109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TLUL: Man, you've made me join a channel about (1) Wikia and (2) RuneScape. < 1291601112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I hate you to death. < 1291601116 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1291601374 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TLUL: googling this guy, he calls himself a conservative republican < 1291601379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :holy shit < 1291601382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://runescape.wikia.com/wiki/User:Liquidhelium < 1291601389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :republican logo as picture < 1291601392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :american flag background with eagle < 1291601392 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :Ikr < 1291601394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"GOP" < 1291601397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :jesus. < 1291601398 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :Look on his talk page < 1291601403 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :We were trolling him at the bottom < 1291601422 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :And I recently linked him to some lesbian porn asking him to "help me identify the song in the background of this video" < 1291601423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Christian, homophobic "I dislike liberals because of their tendency to treat people as idiots" what. < 1291601443 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :I know, he's a traditional bible-thumping homophobic moron < 1291601453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# Anyone that calls me Liquidhelm, or a variant thereof, can expect to make me extremely mad. < 1291601454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :# Anyone that wants me to use the British spellings or date format can leave my page and not come back. < 1291601455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh man < 1291601458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if he hadn't just left < 1291601461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SO MUCH FUN < 1291601482 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a module for TLULbot that auto-corrects any american english to british english in all of his edits < 1291601490 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :And notifies him on his talk < 1291601508 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :Using the name Liquidhelm < 1291601572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TLUL: i would say you're cool but you evidently play runescape < 1291601577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so sorry, i withhold the compliment < 1291601662 0 :TLUL!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I haven't played in a long time < 1291601987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TODO: mv; stuff. < 1291602047 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also: See if I can fix pcc. < 1291602049 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Maybe try tcc.) < 1291602050 0 :elliott!unknown@unknown.invalid QUIT :Quit: Leaving < 1291603747 0 :kmc!~keegan@c-24-63-72-74.hsd1.ma.comcast.net JOIN :#esoteric < 1291604750 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291604787 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1291605041 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1291607441 0 :olsner!~salparot@c83-252-161-133.bredband.comhem.se JOIN :#esoteric < 1291607609 0 :Goosey!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291607682 0 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1291613611 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1291614959 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291615572 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1291615619 0 :sftp!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291616167 0 :Mathnerd314!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291616259 0 :Quadrescence!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291616458 0 :nooga!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1291617213 0 :Quadrescence!~Quad@unaffiliated/quadrescence JOIN :#esoteric < 1291617933 0 :myndzi!myndzi@c-24-19-39-178.hsd1.wa.comcast.net JOIN :#esoteric < 1291618638 0 :kar8nga!~kar8nga@m-182.vc-graz.ac.at JOIN :#esoteric < 1291619214 0 :MigoMipo!~John@84-217-7-45.tn.glocalnet.net JOIN :#esoteric < 1291619903 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291620315 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291622399 0 :clog!unknown@unknown.invalid QUIT :ended < 1291622400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1291622579 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291623286 0 :wareya_!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1291623453 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291626770 0 :sebbu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291626799 0 :sebbu!~sebbu@ADijon-152-1-36-248.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1291631501 0 :TLUL!unknown@unknown.invalid QUIT :Quit: *disappears in a puff of orange smoke* < 1291631618 0 :Sasha!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291633200 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291636351 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291636371 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291638509 0 :yorick!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291639523 0 :nooga!~nooga@213-238-103-102.adsl.inetia.pl JOIN :#esoteric < 1291639539 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :the topic < 1291639661 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Reference to that arsenic-using bacteria discovered in Mono lake? < 1291639732 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1291639739 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i just took the #tinyrb channel < 1291639768 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :http://macournoyer.com/blog/2009/02/12/tinyrb/ < 1291641327 0 :wareya_!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1291642337 0 :ais523!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1291642764 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1291643297 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :http://createyourproglang.com/ oh, yeah! < 1291643310 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :we should write our own book and sell it for $ < 1291643946 0 :Sasha!~WHAT@97-124-36-44.phnx.qwest.net JOIN :#esoteric < 1291644452 0 :Phantom_Hoover!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1291644522 0 :sftp!~sftp@79.174.53.208 JOIN :#esoteric < 1291644546 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, hi. Spent a few minutes on MC this evening. You should check out my awesome throne room < 1291644578 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, 25x25x7 (dug out most yesterday) < 1291644587 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Where? < 1291644603 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1291644609 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, you know the ladder in my mountain? < 1291644615 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, from near skyway to mines? < 1291644623 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :there is now a platform along the lower half < 1291644624 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :there < 1291644684 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, gold throne on obsidian podium. sad you can't sit on a block edge in MC (or sit at all) < 1291644882 0 :FireFly!~firefly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1291644885 0 :FireFly!unknown@unknown.invalid QUIT :Changing host < 1291644885 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1291645206 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, ehird quit in there btw. While I was digging. He will fall quite a few tiles heh < 1291645213 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :err blocks* < 1291645735 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1291645910 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291646224 0 :Wamanuz3!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291646319 0 :Wamanuz!~Wamanuz@78-69-168-43-no84.tbcn.telia.com JOIN :#esoteric < 1291646452 0 :ais523!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291646531 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291646541 0 :kmc!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291646605 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291647145 0 :goyo!~manuel@186.Red-95-121-218.dynamicIP.rima-tde.net JOIN :#esoteric < 1291647179 0 :goyo!unknown@unknown.invalid PRIVMSG #esoteric :hoola chatos < 1291647195 0 :goyo!unknown@unknown.invalid PRIVMSG #esoteric :holaaa ? < 1291647204 0 :goyo!unknown@unknown.invalid PRIVMSG #esoteric :hay alguien ? < 1291647207 0 :goyo!unknown@unknown.invalid PRIVMSG #esoteric :cucuuu < 1291647256 0 :goyo!unknown@unknown.invalid PART #esoteric :? < 1291647268 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :de nada < 1291647523 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1291647627 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, weird? < 1291647681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? < 1291647694 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :YES HE IS < 1291648063 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you spawned and hung in midair on MC < 1291648071 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :then left < 1291648085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: minecraft nullpointerexception'd < 1291648105 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh weird < 1291648131 0 :nopseudoidea!~nopseudoi@85-168-235-235.rev.numericable.fr JOIN :#esoteric < 1291648444 0 :augur!~augur@129.2.129.33 JOIN :#esoteric < 1291648598 0 :Sgeo!~Sgeo@137.125.188.14 JOIN :#esoteric < 1291648625 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to refuse to do the assignment as given < 1291648645 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I will show, in Perl, two ways to do it without XOR swapping, then a XOR swap in a different language < 1291648789 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric : What's the assignment? < 1291648834 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Write a Perl script that will use assign interger values to each of two variables. < 1291648835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The program should swap the values in the variables without using any additional variables to temporarily hold either of the values. < 1291648835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :HINT: Use the bitwise exclusive or operator to complete this assignment" < 1291648853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: You're so eddgggggggggy. < 1291648993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: You're a postgres fan right? < 1291649426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: btw, about ElliottOS < 1291649439 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There's a third one now?! < 1291649455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what? < 1291649465 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :@, Kitten, and ElliottOS < 1291649468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no < 1291649473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@ is just shorthand for the latter < 1291649481 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1291649644 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Gah, why would someone do a xor-swap in *Perl* when you can do the oh-so-intuitive (a,b)=(b,a) variant instead. < 1291649680 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, to teach about its existence < 1291649687 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And I can never spell that word < 1291649791 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeees, but in Perl? Or is your whole course about it? < 1291649953 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo is doing Computers For Stupid People. < 1291649968 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :My whole course is about Perl < 1291649990 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, why *are* you doing Computers For Stupid People? < 1291649997 0 :yorick!yorick@gateway/shell/shellium.org/x-ijhoymigpmzrjaqd JOIN :#esoteric < 1291650001 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Because I don't have a spine < 1291650051 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sounds like you could make quite an article in some medical journal somewhere, then. < 1291650077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(*(*(argv++))) < 1291650085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :How does one parenthesise this correctly? >___________________> < 1291650116 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that seems.. weird to do unless you're doing it in a loop, which would make sense, so nevermind < 1291650178 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Also, um, wouldn't that only be useful for the first argument, or am I mistaken? < 1291650187 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :*argv++ == *(argv++), at least. And I don't think the one more star does anything special. < 1291650254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I should probably stop being a three-star programmer instead. :) < 1291650273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(argv, here, is a ***.) < 1291650351 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Then *(*argv)++ sounds a more likely operation, but anyway. (That's be like *argv++ for the usual **-argv if you pass &that there.) < 1291650370 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/'s/'d/ < 1291650611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i vaguely recall postfix operators have precedence over prefix ones < 1291650614 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I'm assuming it's to work out the first character of each argument. < 1291650625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, indeed. < 1291650626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: No. < 1291650652 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, **argv is surely the first character of the first item of argv? < 1291650666 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: This is a three-star argv. < 1291650676 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, zuh? < 1291650678 0 :kmc!~keegan@c-71-192-162-193.hsd1.nh.comcast.net JOIN :#esoteric < 1291650683 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Surely that segfaults? < 1291650697 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: He's given &argv to some function, I think. < 1291650705 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1291650713 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :... < 1291650715 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Why would you want to modify argv itself? < 1291650733 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Isn't that pretty common? < 1291650750 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, why? < 1291650753 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :gtk_init(&argv, &argv) for example. < 1291650775 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So that the function can steal its own args and leave the app's args there. < 1291650795 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/argv/argc/ there, of course. < 1291650885 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1291650900 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think there was some iffiness about manipulating the real argv's contents. And at least you can't add more arguments in there. < 1291651033 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION embarrasses himself in front of Gilad Bracha :( < 1291651205 0 :MigoMipo!~John@84-217-5-216.tn.glocalnet.net JOIN :#esoteric < 1291651210 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, working on implementing your suggestion (fenceposts) < 1291651216 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :but going to make some food (in RL) now < 1291651653 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: literally? :D < 1291651730 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Gilad Bracha is watching you. < 1291651871 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets the reference < 1291651922 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there anyone here who doesn't? < 1291651939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : I think there was some iffiness about manipulating the real argv's contents. And at least you can't add more arguments in there. < 1291651939 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Gilad Bracha will only answer those supplicants that perform the traditional ritual of embarrassment in front of him. < 1291651941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I do that. < 1291652022 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Which one; modify argv contents or add new args? < 1291652053 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's it, I'm at war with this professor < 1291652091 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I mentioned it < 1291652092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: The former. Or, well, I think I actually do both, but only ever add one, to replace the terminating NULL. < 1291652124 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"This is the way the authors of the book did it. It might not be the most secure, but we're only doing this for class, to show how to connect to the [MySQL] server" < 1291652132 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/1352473 < 1291652154 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Quite a lot of people do modify argv, I just remember vaguely that there might've been some extreme-portability concerns. It might well be completely okay though. < 1291652231 0 :elliott!unknown@unknown.invalid QUIT :Quit: Leaving < 1291652241 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1291652245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :#include < 1291652246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :void _start(void) < 1291652248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :{ < 1291652250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : _exit(0); < 1291652252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :} < 1291652254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: ha ha, fuck you portability < 1291652256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(--true.c) < 1291652408 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Well, at least it doesn't take 52 lines like GNU true. < 1291652430 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But it doesn't check your mail. :/ < 1291652670 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291652697 0 :Sgeo!~Sgeo@137.125.188.14 JOIN :#esoteric < 1291653000 0 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1291653137 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Mine says that mybooks already exists" "Did you execute it twice?" "Yes" "That's why" < 1291653465 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, there? < 1291653504 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you should check that throne room I made in MC out. 25x25x10 with obsidian podium and gold throne < 1291653515 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :also chandeliers < 1291653552 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION realises he still types absurd queries into Google. < 1291653567 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Like "C++, suckishness thereof". < 1291653646 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm it needs lava lighting in the floor < 1291653677 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION misread that as Java < 1291653690 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wait, isn't MC client written in Java? :/ < 1291654041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, a random reddit comment said that Eric Schmidt coauthored lex < 1291654045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is somewhat unexpected < 1291654066 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, is _start in user or impl namespace? < 1291654093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: dunno; it's ELF-specific, though < 1291654106 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What happens if a script has x set but not r? < 1291654106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I know C has weird rules for underscore-lowercase < 1291654107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Eric Schmidt authored lex to be precise IIRC < 1291654109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he was the original author < 1291654113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you didn't know that? :) < 1291654116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I didn't < 1291654142 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: relatedly, see the last line in the BUGS section of http://plan9.bell-labs.com/magic/man2html/1/lex :) < 1291654181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that lex does the same thing as UNIX lex < 1291654197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've got used to Plan9 by now doing something completely different with the same name < 1291654223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, that -t think looks very unUNIXy, I'd have made it output to stdout and people can redirect to lex.yy.c by hand if they like < 1291654255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's historic < 1291654263 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but this is plan9 < 1291654267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and not really; after all, "cc" used to have no -o option < 1291654271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and just spat out to a.out < 1291654272 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why does it have to match what history UNIX options do < 1291654275 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: in UNIX, fine < 1291654277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :on plan 9 it's e.g. 8.out where 8 is the architecture character < 1291654297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but when you're trying to make a better UNIX, that seems like an obvious thing to change to get closer to the philosophy < 1291654305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Plan 9 is Version 11 Unix, and even V10 Unix was quite pure < 1291654308 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Tenth Edition, that is < 1291654313 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why would you use -o if > exists? < 1291654322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I mean, it's not as if they went "zomg! This is so crufty, let's replace it." < 1291654334 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because it was SysV and BSD that were cluttering it up, not Bell Labs Unix < 1291654365 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1291654385 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm the sort of person who sees any command-line options as too crufty if they change metadata, rather than add parameters needed to do what the program does < 1291654390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. I'm fine with most of the options of tr < 1291654402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and I think there was this thought in Unixy days that compilers weren't really filters, because you didn't immediately process the output file in another pipeline or something < 1291654405 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not with, say, -o < 1291654413 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: compilers are pipelines nowadays < 1291654419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed < 1291654421 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you really ought to be able to do something like cc | ld < 1291654434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to compile and link < 1291654441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :meanwhile, I'm trying to make Flinix again < 1291654448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perhaps even cpp | cc | ld, and you could write a script around that as your actual compiler < 1291654454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(latest Linux kernel, X windowing system and networking on a 1.44 meg floppy) < 1291654472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 604 kB < 1291654473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :latest stable kernel? or latest development kernel? < 1291654475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Waaay too big! < 1291654476 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: stable < 1291654486 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or recent stable kernel hacked to expose an API for writing keyloggers? < 1291654491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1291654501 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :stupid stupid exercise... < 1291654507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm going to ridiculous lengths like, "disable the block layer; to get the actual floppy read, use the embedded initramfs support with ramfs" < 1291654547 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1291654549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and i'm going to use http://asm.sourceforge.net/asmutils.html for the coreutils, most likely < 1291654552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :busybox is too big < 1291654564 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if you strip cruft out of it? < 1291654583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's written in C! < 1291654587 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, are you going to stay within 1.44 MiB? you can fit more than that much data on a 1.44 MiB floppy by formatting it weirdly < 1291654600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, I am going to stay within that < 1291654610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :up to around 1.7, IIRC < 1291654614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: for the X server I'm going to try and get http://www.superant.com/smalllinux/tinyX01.html working; it's *very* small... libc5-based :) < 1291654879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you explain POSIX to me? "date MMDDhhmm[[YY]YY][.ss]" < 1291654883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHY IS YEAR IN BETWEEN MINUTE AND SECOND < 1291654886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*MINUTES AND SECONDS < 1291654920 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I almost choked < 1291654924 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't shock me like that < 1291654931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: :D < 1291654944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :my guess is that it's mandatory stuff first, optional stuff later < 1291654949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, [[YY]YY] has me suspicious < 1291654957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :clearly "99" means 99 AD < 1291654968 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does that mean that for 2010, you have to write 1020 to distinguish it from 1910 which would be just 10 or 1019? < 1291655041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: presumably it means you can either say 1999 or 99 < 1291655044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and 2010 for >1999 < 1291655072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it is the right way round < 1291655083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I interpreted it as [YY[YY]] somehow < 1291655103 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: brilliant < 1291655132 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: although, clearly the second YY should be interpreted as /addition/ < 1291655140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :2010 is 9911 or 1199 < 1291655151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the maximum year is 2098 -> 9999 < 1291655164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's Y2K38-compliant... < 1291655236 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no desire to touch a script that has a blatant SQL Injection vulnerability < 1291655265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: not even to fix the vulnerability? < 1291655354 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WARNING: your nasm version 2.08.01 may miscompile asmutils, please use nasm 0.98.39! < 1291655600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, do you know how to force gcc not to omit an unused static function from an object file? < 1291655616 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Make it non-static? < 1291655658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: perhaps :) < 1291655942 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1291655991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Anyone happen to have a nasm 0.98.39 binary lying around? < 1291656087 0 :Zuu_!zuu@0x55529f1b.adsl.cybercity.dk JOIN :#esoteric < 1291656318 0 :Zuu!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1291656411 0 :nopseudoidea!unknown@unknown.invalid QUIT :Quit: Quitte < 1291656447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ wc -c src/cat src/mkfs.minix < 1291656448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : 684 src/cat < 1291656448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1013 src/mkfs.minix < 1291656449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But... how. < 1291656494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :97852 total < 1291656502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lesson learned: asm + Brain Raiter + other people = holy shit, man. < 1291656512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It even has a fucking init. < 1291656527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :522 bytes. < 1291656682 0 :Sasha!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1291656711 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Are you talking about asmutils? < 1291656774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1291656780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What the fuck. Their shell has command-line editing. < 1291656787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's 5.3K. < 1291656795 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also pipes, redirection. < 1291656799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Job control. < 1291656809 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AND TAB COMPLETION < 1291656814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WTFF < 1291656842 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: busybox has tabcomplete, but it's optional < 1291656848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to be fair, a basic tabcomplete is pretty easy < 1291656854 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as you have to be able to handle filename* < 1291656882 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can just do the same thing but substitute on the command-line < 1291656888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but this thing has command-line editing (i.e. readline-esque), pipes, overwrite and append redirection, job control, *and* tab completion that shows the possible matches on double-tab like bash... and it's 5.3K. < 1291656889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perhaps even reuse the code < 1291656900 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: 5.3K seems about right for that < 1291656909 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most modern software is bloated < 1291656912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: err, have you looked at the size of a typical C binary sometime? :) < 1291656923 0 :Sasha!~WHAT@97-124-41-129.phnx.qwest.net JOIN :#esoteric < 1291656936 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally around 50-60 KB due to everything linked into it, headers, etc < 1291656948 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well let's put it this way, I'm writing my own coreutils in C, linking with pcc/dietlibc -- which produces tiny binaries -- and then using Brian Raiter's insane sstrip utility; even then, my cat is 5K and my mkdir is 8K < 1291656951 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, that's where it was when I was younger, I'm not sure if it's changed since < 1291656957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :admittedly mine has graceful error recovery and messages < 1291656970 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't see why cat needs to be larger than a few tens of bytes < 1291656984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(well, a few hundred if you're using a format whose headers require it) < 1291656992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, maybe it shouldn't be; I'm just saying that getting binaries that small is impossible using C < 1291657005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :my true/false are 248 bytes, and I've abandoned portability for that (ELF-only) < 1291657035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and my cat is ridiculously simple; it accepts no options, and doesn't use standard IO at all < 1291657040 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I don't think it is < 1291657045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :impossible, that is < 1291657046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's probably only over 1000, 2000 bytes because I have the errno texts in there < 1291657052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh really? on Linux, you mean? < 1291657060 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, I was talking about in general < 1291657063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I mean on Linux < 1291657070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I've used embedded C compilers for devices that only have 4 KiB of ROM altogether to write the program into < 1291657072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the only reason these asmutils sizes are surprising is that they're on Linux < 1291657075 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and only a few tens of bytes of RAM < 1291657172 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: just checked; my cat makes only one call to something that isn't libc, and it's strerror < 1291657184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: probably it would be 1K without the error strings table < 1291657196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how many libc functions does it call exactly once? you could inline them to save space < 1291657204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no libc functions < 1291657213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :apart from strerror. < 1291657214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the functions it calls are: open, read, write, strerror. < 1291657219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the first three are system calls. < 1291657232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait < 1291657235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :strlen too < 1291657240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it knows how long strerror's result is < 1291657244 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you can inline syscalls too < 1291657264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that reminds me of something I'm going to do in elliottOS < 1291657268 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you want it small, why don't you make a custom strerror that just handles the errors possible from open, write, and read? < 1291657273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually, i was going to tell Vorpal about this too, so Vorpal Vorpal Vorpal < 1291657309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I was considering having some sort of automated thing where I can just list error names and it'd include only them, but then I looked at the size of my local /bin/true -- 21K -- and realised that *that* was dynamically linked and, dammit, I'm way ahead of the competition already. < 1291657315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pesky asm coders giving me legitimate competition :) < 1291657345 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right now i've got basename, cal, cat, date, dirname, echo, env, false, kill, link, mkdir, mv, pwd, rm, signal, sleep, strings, true, uname, vis and yes and they all fit into about 97K < 1291657351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (on amd64, that is) < 1291657357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so in fact it'd be more like 50K? on i386 < 1291657360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and the asmutils are i386 < 1291657381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, and if you link them all into one binary it's more like 23K. which, when UPX'd, turns into 15K. (on amd64) < 1291657382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :still... < 1291657426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :EACCES, EAGAIN (and EWOULDBLOCK if it has a different value), EBADF, EEXIST, EFAULT, EFBIG, EINTR, EINVAL, EIO, EISDIR, ENOSPC, ELOOP, EMFILE, ENAMETOOLONG, ENFILE, ENODEV, ENOENT, ENOMEM, ENOSPC, ENOTDIR, ENXIO, EPERM, EPIPE, EROFS, ETXTBSY < 1291657448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some of those can't happen with the usage used in cat, e.g. EPIPE wouldn't happen as you use the default SIGPIPE handler, EINVAL wouldn't happen if you made sure you used valid arguments < 1291657450 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :"* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." < 1291657462 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :^^^ This bullet-point is my crowning achievement as as a scientist. < 1291657482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: did you write that? < 1291657484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: What. X-D < 1291657487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or cause someone else to write it? < 1291657492 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I wrote it :P < 1291657510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is my crowning achievement as as a scientist. < 1291657520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :come on, HackEgo, you can do it! < 1291657526 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric : Eh, I'll get to it eventually. < 1291657537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: why the hell do the quote scripts use sqlite? Can I make them use a plain text file instead? < 1291657541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It'd be much faster :P < 1291657544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`help < 1291657545 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ < 1291657546 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270| "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is my crowning achievement as as a scientist. < 1291657546 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Feel free. < 1291657583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, this is ridiculous; the 97K asmutils has "cda2raw". and telnetd. and fingerd. and eject. < 1291657585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and fdisk. < 1291657588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and ftpd. and httpd. < 1291657592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and ifconfig. < 1291657596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and rc6crypt. < 1291657615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and more. < 1291657618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(as in, more(1)) < 1291657632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal Vorpal Vorpal < 1291657705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run cp bin/addquote addquote.bak; cp bin/quote quote.bak < 1291657706 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run echo '#!/bin/sh' >bin/addquote; echo "[ \"\$1\" ] || { echo 'Add what quote?'; exit 1}" >>bin/addquote < 1291657764 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote < 1291657768 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Add what quote? < 1291657769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote x < 1291657770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: any respecting *utils clone needs to have a decent pager < 1291657773 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657786 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes? < 1291657789 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: why are you screwing up addquote? < 1291657799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: can you please read? I'm rewriting it to use a plain text file < 1291657807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: sec :P < 1291657831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably you're going to use shuf | head or something to pick random quotes? < 1291657844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: something like that, yes < 1291657852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even though it's O(n log n) and thus inefficient? < 1291657862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(or is shuf designed to run in O(n) when piping into head? that's theoretically possible) < 1291657874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, actually I was going to use a sed script and wc -l. < 1291657877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And probably $RANDOM or whatever. < 1291657882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: or head and tail, actually < 1291657895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tail -n +$randomlinenumber | head -n 1 < 1291657923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run mv quotes/quote.db quote.db.bak; rmdir quotes; echo 'echo "$1" >>quotes' >>bin/addquote; echo 'echo "$(wc -l quotes)) $1"' >>bin/addquote < 1291657925 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :using shuf is so much simpler < 1291657934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote My hovercraft is full of eels. < 1291657935 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1291657942 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`paste bin/addquote < 1291657944 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26893 < 1291657951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is what using unix before vi must have felt like :) < 1291657963 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it's more like using unix before ed < 1291657967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no editors allowed but cat < 1291657971 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, my commands here are basically like ed commands < 1291657972 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just longer < 1291657985 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and scheduling cron to call emacs --retroactive < 1291657987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run sed -i 's/1}1 }/' bin/addquote < 1291657989 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291657991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`paste bin/addquote < 1291657992 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Failed to clone the environment! < 1291657995 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what @ emacs --retroactive < 1291657997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1291657998 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: < 1291658001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`paste bin/addquote < 1291658002 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22659 < 1291658010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what, it didn't fix my typo < 1291658026 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the idea is that Emacs does everything, thus in order to edit a file before Emacs is implemented, you just schedule a cronjob to call Emacs in the future when it is implemented < 1291658030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run sed -i 's/\{ /{/' bin/addquote < 1291658032 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291658033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`paste bin/addquote < 1291658036 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29387 < 1291658037 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :using an option to Emacs to get it to edit the file back when you added it to the crontab in the first place < 1291658038 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: brilliant < 1291658046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, what am I getting wrong about sed? < 1291658051 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Please mess with HackBot in PM :P < 1291658057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I'm not messing, I'm developing! < 1291658061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and < 1291658062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<elliott> `paste bin/addquote < 1291658062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<HackEgo> Failed to clone the environment! < 1291658075 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Please develop with HackBot in PM :P < 1291658082 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yesyes, it does that when you spam it too much :P < 1291658109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sed -i 's/\{ /{/g' bin/addquote < 1291658112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, there is no reason that doesn't work < 1291658114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why does that not work. < 1291658238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ohh, I need a chmod to get it actually working... wait, do I? < 1291658255 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`run hexdump -C bin/addquote < 1291658258 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :00000000 23 21 2f 62 69 6e 2f 62 61 73 68 0a 5b 20 22 24 |#!/bin/bash.[ "$| \ 00000010 31 22 20 5d 20 7c 7c 20 7b 65 63 68 6f 20 27 41 |1" ] || {echo 'A| \ 00000020 64 64 20 77 68 61 74 20 71 75 6f 74 65 3f 27 3b |dd what quote?';| \ 00000030 20 65 78 69 74 20 31 7d 0a 65 63 68 6f 20 22 24 | exit 1}.echo "$| < 1291658261 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : /tmp/hackenv.18166/bin/addquote: line 2: exit: 1}: numeric argument required < 1291658266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: What. < 1291658271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why did you do that X-D < 1291658281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what's to stop him catting a file in hexadecimal < 1291658281 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Just making sure it wasn't a different issue :P < 1291658288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, isn't the command in question od -t x1? < 1291658294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: ...what issue, exactly? < 1291658311 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I didn't see how you got the file there in the first place, and fetch from pastebins usually has Windows line endings :P < 1291658314 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`run ls -l bin/addquote < 1291658318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: he put it there via cat < 1291658322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Mega echo, man. Also, I'm already fixing it. < 1291658323 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :-rwxr-xr-x 1 5000 0 103 Dec 6 17:58 bin/addquote < 1291658323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: echo < 1291658324 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not cat < 1291658326 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1291658333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm fixin' it < 1291658335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's effectively a cat < 1291658449 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Vorpal: sec :P <-- well? < 1291658458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: okay, now < 1291658473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: you know how ElliottOS does everything in ring 0? < 1291658483 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yeah sure < 1291658494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, if you have cat in an infinite loop (as in cat /dev/zero > /dev/null), IMO it shouldn't exit on any signal but SIGKILL < 1291658501 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or if you send some other signal 9 times < 1291658513 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kill -9, we can assume kills it 9 times over < 1291658517 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, go on < 1291658521 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: yes, yes, < 1291658531 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: well, a huge advantage of this < 1291658533 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I demand you use rings 1 and 2 for their intended purposes! < 1291658539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: is that syscalls no longer need to go through the kernel < 1291658542 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: you can *inline a syscall* < 1291658544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in, literally < 1291658552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523 saying "inline a syscall" to mean something else made me remember this < 1291658557 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how do you deal with paging? < 1291658559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, e.g., if some syscall talks to some hardware < 1291658565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and some user program calls it < 1291658568 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes obviously. Many syscalls are probably a bit too large though for that to be profitable < 1291658576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, the program's resulting machine code would actually talk to the hardware directly < 1291658582 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: well this is where the synthesis-style stuff comes in < 1291658589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the syscall code gets smaller when you remove the arguments < 1291658596 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or, some of them < 1291658600 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :some yes < 1291658604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway, this is great because kernel calls now cost exactly 0 < 1291658611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what do you mean, how do you deal with paging? < 1291658624 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: pointers are different from usermode and kernelmode point of view < 1291658645 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. two different programs can each use 0x110000 for their own variables < 1291658662 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you aren't context-switching into a different ring, you'd need to avoid reverse segfaults somehow < 1291658662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's not how elliottos works < 1291658674 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, each application shares the same memory pool? < 1291658678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ElliottOS has a single global address space, which maps to both disk and RAM < 1291658685 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :RAM is essentially a disk cache < 1291658703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: security is implemented by not letting any random machine code run; everything has to go through the Friendly Compiler (unless the user explicitly overrides this) < 1291658731 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that sounds rather like using a JITting VM for everything < 1291658739 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and cacheing the output < 1291658744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, yes, basically < 1291658749 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, it might actually be the same thing viewed from a different point of view < 1291658750 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the compiler is always present in the system, and runs all the time < 1291658769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (although it's actually a specialiser, that's not too relevant in this case -- although it does mean that even /while a program runs/, compilation could be happening as part of it) < 1291658771 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :due to specialisation < 1291658773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, how long are your pointers? 64 bits? < 1291658775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. runtime code generation < 1291658779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's x86-64 only, so yes < 1291658788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally it's a minor detail, but for that I feel it's somehow important < 1291658805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm planning to actually have even the addresses that map to disk and RAM not be the "top level" of addressing, < 1291658812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and have a global distributed namespace of object hashes as the top level < 1291658825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g., an object is uniquely identified by its 512-bit identifier/(hash?) < 1291658830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :universally < 1291658833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no matter what computer it's on < 1291658836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also, objects are immutable < 1291658844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it ends up GCing your disk :) < 1291658853 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that can be a pain if you want to make backups < 1291658862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to guard against bad sectors and the like < 1291658872 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how would it be a pain? < 1291658873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's hard to see what, if anything, shred would do < 1291658882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you mean, two copies of one file on one computer? < 1291658889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1291658914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's relatively simple, you'd just construct the same object, basically < 1291658928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, do you mean shred as in the concept, or shred as in the unix command? < 1291658929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would let you use cp -rp for backups, though < 1291658929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is great < 1291658932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if the latter: there are no unix commands < 1291658934 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and there is no cp. < 1291658957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I mean, as in what the UNIX command's intended to do < 1291658961 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not as in its specific implementation < 1291658964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway same-disk backups are pretty near worthless considering that bad sectors basically *don't exist* now, and my main target disk medium is solid state drives < 1291658968 0 :Sgeo!~Sgeo@137.125.180.96 JOIN :#esoteric < 1291658970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because they have fast random access < 1291658971 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like RAM does < 1291658978 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: they have a lot more bad sectors than magnetic hard drives or floppies < 1291658981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is important, obviously < 1291658983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what, SSDs? < 1291658992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, but their failure mode is for the sector to become readonly < 1291658993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you do realise that with SSDs, the failure mode is "you can't write any more", not "you lose data", right? < 1291658995 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1291659006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so same-disk backups are quite irrelevant in my case < 1291659009 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so most SSDs just transparently copy the data somewhere else as soon as it's changed < 1291659046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Pop quiz: How do you insert a ' in the middle of a '-quoted string in sh? < 1291659048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Answer: '"'"' < 1291659059 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :'\'' is one character shorter < 1291659066 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And invalid. < 1291659066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: aww, but that's boring! < 1291659069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: no it's not < 1291659072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: really? I seem to remember using it < 1291659090 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh? I thought backslashes were ignored in ' strings. < 1291659100 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: the backslash is outside the string there < 1291659106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the ' is part of ais523's example < 1291659110 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :{{{ '\'' }}} < 1291659110 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1291659120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, 'I don'\''t know why I single-quoted this string in the first place' < 1291659278 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does newspeaklanguage.org have an uptime .. percentage of 50% or something? < 1291659295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: um, I can't seem to "touch quotes" in the home directory < 1291659300 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Did my proof of epic failness manage to crash something?/ < 1291659304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: was the quotes/ directory specially preserved somehow? < 1291659345 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I see an empty file named quotes in $PWD. < 1291659359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: ...you do now, it wasn't there a second ago. < 1291659363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : `touch quotes < 1291659363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : No output. < 1291659364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : `ls < 1291659364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ tmpdir.20107 < 1291659364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : `ls < 1291659364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ quotes \ tmpdir.20384 < 1291659411 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, you know that shuf|head thing? < 1291659418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes? < 1291659426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since head closes its stdin after reading the N lines, most programs will exit at that point < 1291659429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so it probably is efficient < 1291659441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but shuf has its own lovelily un-unixy solution, it has its own -n argument, so let's go with that :P < 1291659442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it depends on how shuf is implemented < 1291659470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, although, I want to look up quotes by # too, so i won't do that < 1291659482 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to look up by number, just use tail|head with appropriate arguments < 1291659631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: OK, WTF is it with the race conditions in HackEgo? < 1291659681 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : Seeing as how C's most common application is writing C compilers, it logically follows that JavaScript's most common application is writing JavaScript compilers. < 1291659687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like this line of reasoning < 1291659691 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: There are no race conditions, however consecutive runs are not guaranteed to run in the environments generated by previous runs. After running and giving you the results, it commits and merges (if necessary) them back into the mainline. < 1291659709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: So I can't even flock(1) to make sure stuff doesn't overwrite other stuff? < 1291659728 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: No, it has real merging. < 1291659736 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: ...wow, I didn't think it would work like that < 1291659740 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what happens if the merge fails < 1291659746 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Then the output is lost. < 1291659751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: 'cuz, you see, I addquote'd two quotes and it decided to only use one. < 1291659752 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :(At least the FS part of the output) < 1291659754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHICH WAS LAME YOU UNDERSTAND < 1291659755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :both outputs? or the older, or the newer? < 1291659769 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK, admittedly that is a race condition :P < 1291659780 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "Whichever one gets there first" < 1291659793 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I don't consider it to be a problem because serializing everything would be a suckfest, and not the good kind. < 1291659821 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now this is giving me an esolang idea < 1291659828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :an esolang which records the state of the program at every command run < 1291659836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and applies each command to a random previous state of the program < 1291659843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and then merges the results somehow < 1291659882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: So is there anything I can do? < 1291660012 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: The same "problem" exists right now. Either make your quotes mergeable, or don't add quotes in parallel sessions. I will not serialize its behavior. < 1291660130 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: use something simple like a DB, rather than a complicated text file < 1291660134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is my crowning achievement as as a scientist. < 1291660135 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270) "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is my crowning achievement as as a scientist. < 1291660144 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :That was fast :P < 1291660146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1291660147 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :4) i read paths as penis :( < 1291660151 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :`quote 270 < 1291660153 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270) "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." ^^^ This bullet-point is my crowning achievement as as a scientist. < 1291660156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :waitw ait < 1291660158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has new features < 1291660160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LET ME TELL YOU THEM < 1291660160 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1291660163 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes < 1291660164 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :OMG < 1291660166 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5886 < 1291660171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...lawl < 1291660173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That happens sometimes :P < 1291660174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes < 1291660176 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17215 < 1291660182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :With one command, I have obsoleted Sgeo's site! < 1291660188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AND < 1291660195 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote now accepts a regular expression!!! < 1291660196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Sgeo's site works over HTTP < 1291660196 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, you can look at the quotes with HTTP here, too, it's just a plain text file < 1291660216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just you don't get the quote numbers < 1291660221 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote /(?{print "Hello, world!";})/ < 1291660222 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IN FACT, I'm going to make quote use egrep now, now grep. < 1291660227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No. :P < 1291660230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: your regex parser is broken < 1291660241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote (DA) < 1291660242 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :257) DAMN YOU, I'm leaving olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! < 1291660252 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Another major difference: elliott's thing is currently active < 1291660253 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why the parens? < 1291660259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: because that would be literally (DA) in grep < 1291660266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and I wanted to see if my s/grep/egrep/ worked < 1291660270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but grep matches parens literally < 1291660275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: egrep doesn't < 1291660278 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, you're checking to see if you used a different grep impl < 1291660279 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thus the test < 1291660282 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what's egrep's syntax? < 1291660283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :same impl < 1291660285 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just a different option < 1291660287 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: egrep == grep -E < 1291660295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's basically PCRE, without all the super-advanced stuff < 1291660297 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but if it doesn't do embedded Perl, it fails < 1291660300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote oklopol < 1291660301 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :48) i can get an erection out of a plank, you can quote me on that. \ 50) i'm not a porn star, no \ 53) anyway, torture would be fun to experience, true should put that on my todo list \ 56) i'm my dad's unborn sister \ 74) GregorR: are you talking about ehird's < 1291660313 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IOW, it's basically not PCRE < 1291660335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: PCRE doesn't do embedded Perl anyway < 1291660337 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :`quote AnMaster < 1291660338 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :7) that's where I got it rocket launch facility gift shop \ 68) thanks AnMaster \ 73) ehird, well yes probably \ 104) I'm 100% of what sort of magic was involved in it \ 152) fungot!*@* added to ignore list. AnMaster: i'd find that a bit annoying to wait < 1291660347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it has some sort of callback to let you do embedded any language you want < 1291660352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660353 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4940 < 1291660357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660358 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26746 < 1291660364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, looks like I just introduced a bug < 1291660366 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you said "Thanks, foo" without saying "Thoo"? < 1291660375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(now I'm wondering if I should add a PCRE library as a C expansion library to C-INTERCAL, that allows embedded INTERCAL in regular expressions) < 1291660376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Thoo :D < 1291660397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :#!/bin/sh < 1291660398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if [ "$1" ]; then quotes "$1"; else allquotes; fi | paste < 1291660399 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Thue < 1291660401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, now where's the bug there? < 1291660410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run quotes "AnMaster|Vorpal" < 1291660411 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :test takes more than one argument? < 1291660416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quotes AnMaster < 1291660417 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1291660417 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660418 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :98) ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i" < 1291660421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quotes Vorpal < 1291660422 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660422 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1291660424 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :89) What else is there to vim besides editing commands? < 1291660425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :er < 1291660426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"quotes" :D < 1291660427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: plz stop < 1291660429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :race conditions < 1291660451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quotes is now an alias for quote < 1291660452 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660457 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27675 < 1291660461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660464 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19439 < 1291660469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wtf? < 1291660473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: what *causes* that anyway < 1291660474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660475 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564 < 1291660490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastequotes AnMaster|Vorpal < 1291660491 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211 < 1291660491 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: What causes what? < 1291660499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: see every paste apart from the last one < 1291660504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g. http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564 < 1291660515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Okay, http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211 is the Compleat Vorpal Kwote Kollection. < 1291660522 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (((((a*)*)*)*)*)*b < 1291660523 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing < 1291660539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, we need more strings of consecutive as in the quotedb < 1291660548 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote ((((([^a]*)*)*)*)*)*b < 1291660549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! < 1291660549 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing < 1291660555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! < 1291660561 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! < 1291660564 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: there you go < 1291660568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (((((a*)*)*)*)*)*b < 1291660570 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing < 1291660581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (((((a*)*)*)*)*)*s < 1291660582 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :1) I've always wanted to kill someone. >.> \ 2) I used computational linguistics to kill her. \ 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have < 1291660587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: egrep doesn't do backreferences AFAIK < 1291660593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so good luck with that < 1291660593 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :those aren't backrefs < 1291660599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, but that's only slow if you do backrefs < 1291660602 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (((((a+)+)+)+)+)+s < 1291660603 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 6) I think the freemasons are actually a cover for homosexual men. \ 7) that's where I got it rocket < 1291660607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(or are really stupid and implement it like that anyway, I guess) < 1291660610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or if you use a backtracking impl, which most regex engines do < 1291660615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: grep, famously, doesn't < 1291660621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :presumably GNU weren't stupid enough to fuck even that up < 1291660621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and egrep? < 1291660624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: EGREP IS GREP < 1291660628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IT'S LITERALLY A SYMLINK < 1291660632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run ls -l $(which egrep) < 1291660633 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Wait, did Aftran really say "I've always wanted to kill someone. >.>"? < 1291660633 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :-rwxr-xr-x 2 0 0 115928 Apr 22 2010 /bin/egrep < 1291660634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes, but is it using the same impl? < 1291660639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes! < 1291660650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In GNU grep, there is no difference in < 1291660650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : available functionality between basic and extended syntaxes. < 1291660653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ^ grep(1) < 1291660658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's just a nicer syntax < 1291660661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :() instead of \(\) and the like < 1291660665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (...).*\1 < 1291660667 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 6) I think the freemasons are actually a cover for homosexual men. \ 7) < 1291660679 0 :nopseudoidea!~nopseudoi@85-168-235-235.rev.numericable.fr JOIN :#esoteric < 1291660689 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :`quote arm < 1291660690 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :189) ais523: killer bunnies can be harmed by domesticated canines only. < 1291660691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, is that doing backrefs or not, now? it returned a subset of the results < 1291660704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.....).*\1 < 1291660708 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 8) < 1291660716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Back References and Subexpressions < 1291660716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : The back-reference \n, where n is a single digit, matches the substring < 1291660716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : previously matched by the nth parenthesized subexpression of the < 1291660716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : regular expression. < 1291660718 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, fuck you GNU < 1291660719 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Remind me, is fungot bot or human? < 1291660723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: Bot :P < 1291660725 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (....,.).*\1 < 1291660726 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 86) Evolution is awful, awful, awful < 1291660731 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :fungot: ko zvati < 1291660731 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.......).*\1 < 1291660733 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 8) GKennethR: he should be told that you should always ask someone before killing < 1291660741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Known Bugs < 1291660741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Large repetition counts in the {n,m} construct may cause grep to use < 1291660741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : lots of memory. In addition, certain other obscure regular expressions < 1291660741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : require exponential time and space, and may cause grep to run out of < 1291660741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : memory. < 1291660742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Back-references are very slow, and may require exponential time. < 1291660742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how far I can go wit hthis < 1291660745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, whatever < 1291660746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (..........).*\1 < 1291660747 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 12) Lil`Cube: you had cavity searches? not yet trying to thou, < 1291660751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who cares, the quote db is way too small anyway :P < 1291660755 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for it to be a huge deal < 1291660757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.............).*\1 < 1291660758 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 71) If I ever made a game where you < 1291660759 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and HackEgo kills stuff that runs too long < 1291660765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just repeating nicks now, mostly < 1291660770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{20}).*\1 < 1291660772 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 78) ??? Are the cocks actually just implanted dildos? Or are there monster dildos and cocks? Or are both the dildos and cocks monster? \ 138) so < 1291660784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{30}).*\1 < 1291660785 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :254) I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program < 1291660790 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh come /on/ < 1291660796 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Whelp, that's the last quote. < 1291660801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: blame me for that, I was intending to remove it < 1291660808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: umm, I'll add a deletequote < 1291660811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be hard < 1291660812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{25}).*\1 < 1291660813 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? \ 254) I think I'll write that COBOL program a bit < 1291660842 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Say, it would be annoyingly easy to make a Lua bot. < 1291660855 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, is "a.b.c.d.e.f.g.h.i.j.k.l.com" or "In an alternate universe, " longer? < 1291660863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I want to know who has second place < 1291660940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 254 < 1291660941 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291660944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote 254 < 1291660945 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :254) elliott: My university has two Poultry Science buildings. Two! < 1291660947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote 253 < 1291660948 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :253) How much do mainframes cost these days? I mean, they're obsoleteish, right? My notebook's much more powerful? So surely, they're cheap? < 1291660967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{25}).*\1 < 1291660969 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? < 1291660974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{27}).*\1 < 1291660975 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :138) so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? < 1291660979 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yay, I win < 1291661001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote This quote is here so I can test delquote. < 1291661002 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) This quote is here so I can test delquote. < 1291661005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 271 < 1291661006 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote 271 < 1291661011 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291661012 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`quote 270 < 1291661014 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270) hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! < 1291661016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1291661023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`help < 1291661023 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ < 1291661033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :270 is not a particularly good quote either < 1291661039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 270 < 1291661040 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1291661044 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661061 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{5})(.*\1){3} < 1291661067 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :77) no Deewiant No?! I've been living a lie yep. Excuse me while I jump out of the window -> \ 78) ??? Are the cocks actually just implanted dildos? Or are there monster dildos and cocks? Or are both the dildos and cocks monster? \ 93) < 1291661085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote (.{5})(.*\1){4} < 1291661086 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :93) oohhh ha heh and what are your other characteristics? oh, many, madbrain but it's hardly worth it to go on with listing that list here < 1291661090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh dear, I have a bug < 1291661095 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :meh, just repeated nicks < 1291661113 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`quote ()* < 1291661118 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :1) I've always wanted to kill someone. >.> \ 2) I used computational linguistics to kill her. \ 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have < 1291661119 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Disallow the <>? < 1291661132 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: perhaps, but you'd need to use zero-width assertions for that < 1291661139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait, how does one do echo safely? < 1291661141 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No, just [^<] < 1291661144 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to distinguish from abcdeabcdeabcde < 1291661145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as in, avoid any arguments? < 1291661147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :echo doesn't allow -- < 1291661152 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: bu the <> aren't part of what's matched < 1291661153 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Of course it's not general but it could help < 1291661162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? anyone know? < 1291661191 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: echo - < 1291661197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there isn't one < 1291661198 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ echo - x < 1291661199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- x < 1291661200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: you are incorrect < 1291661207 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Works on SOLARIS < 1291661214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I just checked the manpage < 1291661216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, I'll just use printf < 1291661228 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :% echo - x < 1291661228 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :x < 1291661232 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, I'm not sure if it's possible to print -n, followed by a newline, with GNU echo < 1291661238 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without printing other stuff on the same line < 1291661241 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :% echo - -n < 1291661242 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :-n < 1291661247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: echo -n '-n < 1291661248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :' < 1291661254 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: haha < 1291661262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're right, that does work < 1291661271 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :without the newline, is it impossible? < 1291661275 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :echo -n -n prints the null string < 1291661284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: echo -ne '-n\n' < 1291661295 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :elliott: how old are you now, mate? Are you still younger than my little brother or have you outgrown him by now? < 1291661314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: /without the newline/ < 1291661316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that prints a newline < 1291661320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah < 1291661331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tswett: I have indeed been getting older at an exponential rate. < 1291661363 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :So now you're, what, 24 years old? < 1291661373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :tswett: he said /exponential/ not quadratic < 1291661380 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you tell him ais523! < 1291661384 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/\/ /\/, / < 1291661406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that'd have been clearer if I matched on the not... < 1291661424 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1291661426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote this is just a test < 1291661427 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270) this is just a test < 1291661428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 270 < 1291661429 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :483 years old? < 1291661433 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, here is the current source code: < 1291661439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/80866b6af8af/bin/addquote < 1291661442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/allquotes < 1291661444 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :That is the mark of Gregor right there. < 1291661445 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/quote < 1291661449 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1291661451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/pastequotes < 1291661453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :tswett: except that Gregor didn't write that < 1291661460 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :It's still the mark of Gregor. < 1291661460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott decided to rewrite our quotedb < 1291661468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quotes is an alias of quote < 1291661488 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`addquote That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. < 1291661489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: my religion prohibits me from allowing a program to maintain what is just a list of \n-terminated strings with sqlite < 1291661489 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :270) That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. < 1291661495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*a Unix program < 1291661501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :especially if the system is slow < 1291661508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: use Oracle instead? < 1291661508 0 :kar8nga!~kar8nga@i-6.vc-graz.ac.at JOIN :#esoteric < 1291661511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, can I redo that quote with two spaces between messages? < 1291661514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it looks weird without it :P < 1291661524 0 :tswett!unknown@unknown.invalid PRIVMSG #esoteric :I have access to an Oracle database! < 1291661525 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: but I don't mentally put two spaces between messages < 1291661527 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otherwise < 1291661531 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you split a sentence up like this < 1291661540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would become grammatically incorrect < 1291661543 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :due to the incorrect spacing < 1291661549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not grammatically, orthographically < 1291661558 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :punctuation normally counts as grammar, doesn't it/ < 1291661576 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i think double-spacing is a good stand-in for newlines when they can't exist < 1291661586 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, pressing shift immediately after / should make it into a ? even if you already sent the message to IRC < 1291661595 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: I normally use {{{ \ }}} < 1291661611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Links to sources that will always be the latest version: < 1291661612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote < 1291661612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/allquotes < 1291661612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote < 1291661612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastequotes < 1291661612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And the latest quote database is always available at http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes. < 1291661616 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that is also acceptable < 1291661616 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, punctuation is orthography < 1291661626 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: this is why augur speaks with perfect grammar but terrible orthography :) < 1291661634 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`addquote test1 < 1291661635 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) test1 < 1291661639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`addquote test2 < 1291661640 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I'd write an editquote except, really, you could just use ed for that < 1291661640 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :272) test2 < 1291661644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 271 < 1291661645 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 272 < 1291661648 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: mwahaha < 1291661662 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swats elliott -----### < 1291661669 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I WAS NOT FINISHED TESTING < 1291661682 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote 271 < 1291661683 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) test2 < 1291661688 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :pastequotes dumps all quotes to pastebin? < 1291661691 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote 272 < 1291661692 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291661698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what would you use for something that was basically a serialised hash < 1291661704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: eh? < 1291661705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like a typical editable learndb? < 1291661710 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah < 1291661712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :instead of enter number, get quote < 1291661717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :enter topic, get quote < 1291661722 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it seems you accidentally completed my test < 1291661729 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 271 < 1291661730 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291661734 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`quote 271 < 1291661735 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291661736 0 :Sgeo!~Sgeo@137.125.180.96 JOIN :#esoteric < 1291661744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: HackEgo's pastebin, yes; you can also search < 1291661748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and get all the resulting quotes as a paste < 1291661748 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that second delquote should say "there is no quote with that number" instead of *poof* < 1291661754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :by giving pastequotes an argument < 1291661757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: ok, i'll implement that < 1291661761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: depends! I can think of a few possibilities off the top of my head < 1291661769 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the "accepted" solution is berkeley db < 1291661775 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ooh, now I've thought of doing it as a filesystem < 1291661776 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the ultra-Unixy solution is one file per info < 1291661780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1291661792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, directories are basically just associative arrays, aren't they/ < 1291661793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and the sanest way is probably a file of the form "topic:...blah blah blah..." < 1291661795 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: actually it said No output. < 1291661807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wrong < 1291661810 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it said poof twice < 1291661820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1291661828 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION read the wrong line < 1291661835 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1291661847 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, new esolang idea: everything is an associative array < 1291661852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :including the keys of associative arrays < 1291661862 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to start with {}, then {{} => {}}, etc < 1291661867 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was about to shout "Lua" < 1291661885 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: JS works the same way as Lua on that < 1291661890 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is to say, not like /this/ < 1291661891 0 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1291661892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean /everything/ < 1291661913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :testing one new feature before fixing delquote < 1291661915 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastenquotes < 1291661916 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.21067 < 1291661921 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1291661923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`pastenquotes 20 < 1291661924 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28761 < 1291661931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :N random quotes, good for your health < 1291661938 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can get a lot more possibilities at the next level < 1291661948 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Instead of going 0, 1, 2 < 1291661950 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as you have two possible keys, either of which might or might not have an associated value < 1291661953 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's more like 0, 1a, 1b < 1291661959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and two possible values for each of them < 1291661965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then there's a combinatorial explosion from there < 1291661977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: hmm, actually, fixing delquotes like that would be a pain and not really worth it < 1291661981 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ais523: could you at least have syntactic sugar for strings and identifiers, like, "elliott" automatigically expands to {"e" => {"l" => {"l" => {"i" => {"o" => {"t" => {"t" => {}}}}}}}}? < 1291661984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it'd be much like basing everything on sets, or on lists, just more annoying < 1291661995 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: hmm, I wonder if that's an obvious way to do identifiers, I suppose it is < 1291662000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually, wait, I could do it < 1291662029 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is more general than lists, I suppose, as you can always construct cons cells as {head => tail}, but you can also have more than one pair as long as the keys are distinct < 1291662091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 9999999999 < 1291662092 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291662096 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :it's equivalent to lists in my mind...at least in how you'd use it. < 1291662097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :done < 1291662099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote blarghl < 1291662102 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) blarghl < 1291662104 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`delquote 271 < 1291662105 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291662113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the power of diff < 1291662120 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1291662137 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/delquote < 1291662138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :literally < 1291662139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the power of diff < 1291662193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think the development time of this new quotes system reflects well on Unix, even when you don't have a visual editor :P < 1291662242 0 :cheater99!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1291662287 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1291662298 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`delquote `echo Hello World 1>&2` < 1291662299 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291662303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :boring < 1291662304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that wouldn't work anyway < 1291662308 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you have to use `run for that < 1291662313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but it only takes a number < 1291662316 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote example < 1291662317 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :271) example < 1291662320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run delquote $(echo 271) < 1291662321 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :*poof* < 1291662322 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I wanted to give it a string to see how it reacted < 1291662331 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I picked a string which would be noticeable if it got shell-unescaped < 1291662332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, I think that $(... 1>&2) = "" < 1291662342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :same with ``, ofc < 1291662347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where "" denotes empty string < 1291662347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`run echo test `echo Hello World 1>&2` < 1291662348 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :test < 1291662356 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`run echo test 1>&2 < 1291662357 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291662361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, HackEgo doesn't output stderr < 1291662370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`run (echo test `echo Hello World 1>&2`) 2>&1 < 1291662371 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Hello World \ test < 1291662375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`run (echo test `echo Hello World 1>&2`) 2>&1 < 1291662377 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Hello World \ test < 1291662382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it does work < 1291662399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh, okay < 1291662415 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`` (or $()) only redirects stdout, stderr stays unchanged < 1291662416 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1291662416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`run ls bin | grep quote < 1291662418 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :addquote \ allquotes \ delquote \ pastenquotes \ pastequotes \ quote \ quotes < 1291662437 0 :Zuu_!unknown@unknown.invalid NICK :Zuu < 1291662447 0 :Zuu!unknown@unknown.invalid QUIT :Changing host < 1291662447 0 :Zuu!zuu@unaffiliated/zuu JOIN :#esoteric < 1291662494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.superant.com/smalllinux/files/ < 1291662571 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh this is bril http://d-e-f-i-n-i-t-e-l-y.com/ < 1291662577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooooold < 1291662597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: guess who's running a Linux 1.0.9 system in qemu?? < 1291662599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OOPS THAT'S RIGHT < 1291662600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IT'S ME < 1291662617 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wow, this GNU ls doesn't have -h < 1291662850 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :grr, I can't find smallX < 1291663059 0 :nopseudoidea!unknown@unknown.invalid QUIT :Quit: Quitte < 1291663097 0 :cheater99!~cheater@e181139203.adsl.alicedsl.de JOIN :#esoteric < 1291663180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 557 kB < 1291663184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has ethernet support. well, sort of < 1291663189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I've actually included any ethernet drivers :P < 1291663217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :things I didn't even realise it was possible to do by accident: I just pasted the entire front page of a forum into an email I was composing by mistake < 1291663236 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was a plaintext email, but it was still laid out neatly with nested tables < 1291663288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ha < 1291663299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, do you think 557 KiB is way too big for a kernel? < 1291663367 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"If unsure, say N." --Kconfig, about Ethernet support < 1291663374 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they be smokin' the crack < 1291663376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Nsure < 1291663408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, it is a kernel < 1291663416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: question! If I only enable 10/100Mbit ethernet, and don't include any 1Gbit ethernet drivers, will 1Gbit ethernet cards work with it? < 1291663418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just at a slower speed? < 1291663419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :say yes < 1291663430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but it doesn't support swap. < 1291663431 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as long as it comes with all the applications you ever need compiled in as kernel modules, you don't actually need a userspace < 1291663435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: or any filesystems. < 1291663441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: or large swathes of useful APIs. < 1291663442 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I doubt it < 1291663446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: or just about any hardware at all < 1291663448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"any filesystems"? < 1291663458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I've disabled them all < 1291663460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how does it access files, then? < 1291663461 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, those are just grouping drivers < 1291663462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll probably enable FAT or something < 1291663468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it doesn't; you bundle it with an initramfs < 1291663474 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, based on speed of unit they are for < 1291663479 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, ramfs is a filesystem < 1291663482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the bootloader handles loading the kernel from the floppy, which contains the initramfs, which contains everything you need < 1291663483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no it isn't < 1291663487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's internal kernel code < 1291663493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :semantics < 1291663497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it isn't exposed to userspace the way i have it < 1291663514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, there's something beautiful about having a filesystem but not exposing it to userspace < 1291663523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: gah, but these drivers will take up space! I need to fit the kernel AND programs into 1.44 megs! < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;hackers' libc < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :; < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;Yes, this is the most advanced libc ever seen. < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;It uses advanced technologies which are possible only with assembly. < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;Two main features that make this libc outstanding: < 1291663608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;1) calling convention can be configured AT RUNTIME (cdecl is default) < 1291663610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :;2) THE smallest size < 1291663612 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :--asmutils < 1291663641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-rwxr-xr-x 1 elliott elliott 19246 Dec 6 17:38 libc.so.0 < 1291663652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-rw-r--r-- 1 elliott elliott 20566 Dec 6 17:38 libc.a < 1291663727 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :1) sounds like it takes up space < 1291663866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I think when your libc is 20.5 decimal kilobytes, you can afford to spend bytes on lavish features :P < 1291663937 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(vmware cpu wtf--disable) < 1291663949 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hey ho, ELF support is smaller than a.out support < 1291664117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, did I forget to disable most of ipv4? < 1291664189 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like the way you're doing IPv6 but not IPv4 < 1291664195 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or are you doing neither? < 1291664297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: IPv4 but not IPv6 < 1291664301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why did you think i was doing ipv6? < 1291664326 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because you said you were disabling ipv4 < 1291664349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :given that ipv4 is going to run out soon, and that ipv6 is a bit simpler anyway, I was wondering if ipv6 was the better choice if you were only going to have one networking protocol < 1291664357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: disabling *most of* :) < 1291664377 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i don't have an ipv6 link so i'm not getting rid of ipv4 :) < 1291664392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :grr, what more can I turn off.. < 1291664424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CONFIG_DEFAULT_SECURITY_DAC=y < 1291664424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CONFIG_DEFAULT_SECURITY="" < 1291664424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CONFIG_HAVE_KVM=y < 1291664425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1291664441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Symbol: HAVE_KVM [=y] │ < 1291664441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Type : boolean │ < 1291664441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Selected by: X86 [=y] │ < 1291664442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1291664488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if a nommu build is smaller :) < 1291664498 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's just the "can do KVM" symbol, I think; it's what actual CONFIG_KVM depends on. < 1291664544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1291664586 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well my kernel is 1.5 MB and it supports only my system < 1291664608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: How? I've disabled basically EVERYTHING EVER and mine is still 500K or so. < 1291664629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Did you compress it with some secret EvenBetterThanLZMA? Seriously, I have no idea how to get this any smaller. < 1291664651 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe he's found one of the few files in existence azip actually beats LZMA on < 1291664659 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, 500 K < 1.5 MB? < 1291664660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: does he have azip? < 1291664662 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1291664672 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Yes, but I don't see how you can pack a useful desktop system into 3x that size. < 1291664675 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I use zlib compression btw < 1291664676 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I managed to construct one, but lzma >> azip > bzip2 >>> gzip for most largish files < 1291664677 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Considering my kernel supports basically NOTHING. < 1291664680 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :because I haven't bothered changing < 1291664694 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :azip loses to bzip2 on smaller files < 1291664694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Is azip fast? < 1291664698 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not massively < 1291664702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: faster than bzip2? < 1291664705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bzip2 is pretty slow < 1291664712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I haven't timed them against each other < 1291664713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'll do that now < 1291664737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: If it's faster to decompress than bzip2, I think it occupies a very useful niche. < 1291664744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LZMA is way overkill and very slow and memory intensive for most purposes. < 1291664780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I haven't really tried to optimise it, except by speeding up inner loops when they were getting in my way, and by using O(n log n) sorts over O(n^2) sorts < 1291664825 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : 1648198 -> 851342 51.65% linux/386 vmlinux < 1291664827 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :UP motherfuckin' X. < 1291664837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Useless, unfortunately :P < 1291664841 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nah, it's much slower than bzip2 it seems < 1291664842 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's bigger than my bzImage. < 1291664858 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how far it could be optimized < 1291664886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should try, I'd love to distribute stuff as azip and be able to claim to be doing it for reasons other than pissing everyone off < 1291664893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, what's azip's native extension? .az? < 1291664896 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't say .azip, that's boring < 1291664899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, .az < 1291664921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I abandoned azip mostly because I couldn't find a niche for it, it seems inferior to some other compression protocol in every respect < 1291664936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, do tickless systems have smaller kernels? :P < 1291664958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 585 kB < 1291664959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION make < 1291664984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I refuse to stop until I have the kernel, asmutils, an X server and xterm on a single floppy. < 1291664992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ideally a super-stupid IRC client too. Say RawIRC :P < 1291665023 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :decompression was about 4 times slower than bunzip2 on my test file < 1291665034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that can potentially be improved by memoizing it < 1291665054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it took around 2 minutes the first time because I forgot an < character and it was trying to read stdin; that run doesn't count) < 1291665063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just 1.739s the second time < 1291665075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: aha! < 1291665082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :bunzip2 took 0.420s < 1291665082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: try getting rid of all your IO code and using mmap instead < 1291665097 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as I said, I haven't really tried to optimise it < 1291665118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, I don't have the code any more; could you pastebin it again? I'd like to have a go at optimising it < 1291665124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 587 kB < 1291665128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aww, tickless *adds* bytes < 1291665185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION i686s it in the hopes of getting a smaller kernel < 1291665264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/2012252 < 1291665275 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, pastebin's syntax highlighting fails on ' inside shell comments < 1291665306 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, why the hell does GNU shar try to use gettext? < 1291665355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you missed an excellent opportunity there to give me a .tar.az < 1291665372 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, what kind of name for a computer is desert? :) < 1291665395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, I like it < 1291665402 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, you've had loads of chances to spot my hostname before < 1291665410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I have? < 1291665420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: grrrrrrrr, pastebin.ca does DOS line endings < 1291665422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I set it, I actually conciously wondered how long it would be before a #esoteric denizen commented on it < 1291665429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: so does the Internet generally < 1291665437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also -- sharbomb! :) < 1291665439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can just dtou it or something, though, can't you? < 1291665443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I fromdos'd it < 1291665460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and are shars supposed to bomb? IIRC, zips are < 1291665464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you use any particular flags when compiling this? < 1291665466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and who knows < 1291665472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think they're meant to be like tars, and not < 1291665487 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: not really, let me find my makefile < 1291665502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :seems I use gcc -O2 -ggdb -g3 -Wall -Wextra < 1291665523 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a rather higher debug option than I normally use, which says something about the code < 1291665557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: got the test file you were using? < 1291665569 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Anyone have a way to work out the pixelised image of an ellipse? < 1291665574 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :amazon.de -> "Mein Kampf" -> 2 results in the category "Gay & Lesbian?" -> "The Ideal Gay Man: The Story of Der Kreis" < 1291665576 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1291665577 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(That isn't GIMP.) < 1291665634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it's the released public beta of C-INTERCAL, as an uncompressed tarball < 1291665647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :azip works kind-of badly on files that have already been compressed, in fact much worse than many other algos < 1291665650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the one with the - in the version number? < 1291665653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1291665666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I also use the GPL version 3 as a smaller test file < 1291665673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when I want to be able to actually check the whole thing by hand < 1291665674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: have you got a link? my browser is being slow right now < 1291665681 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember where it is offhand < 1291665736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 478 kB < 1291665738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :block layer = bloat < 1291665738 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :here, if you want to see how the algo works, run "./azip -t GPL > /dev/null" (where GPL is any GPL-like document) < 1291665759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that won't give the low-level summary, but it will give a high-level summary of how it works < 1291665760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, I'm more interested in optimising it than understanding whatever crazy scheme you've come up with :) < 1291665764 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :from there, it's pretty much just Shannon coding < 1291665773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as far as I'm concerned, if it's faster than bzip2, it occupies a useful niche < 1291665788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's a surprisingly simple scheme, resembling gzip's but with a much better ratio < 1291665800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, where's the GPL on a typical Debian system? < 1291665802 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Can't you just use just about any language for that, iterate through points (-N, -M) .. (N, M) and for each point (x,y) set it if x^2/a^2 + y^2/b^2 <= 1 for suitable values of a, b? (I'm assuming an axis-oriented ellipse is just fine for you.) < 1291665824 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, too much work! < 1291665829 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :/usr/share/common-licenses < 1291665829 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's for ROU construction! < 1291665833 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's where I got my copy from < 1291665856 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliot: i dont speak with perfect grammar < 1291665869 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :elliott: but thats because performance is not competence < 1291665873 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :augur: SURE IS < 1291665875 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if a flamewar will start about using the GPLv2 vs. the GPLv3 as a test file for compression algorithms < 1291665904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, it's worth pointing out that azip writes to stdout, and reads from stdin if no file is given; unazip was written in a rush so it ignores command-line arguments and only acts as a filter, zcat style < 1291665915 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Both are godawful test files. < 1291665915 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is a superior interface to gzip's < 1291665921 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: in what way? < 1291665933 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, part of a decent test /suite/, sure. But not as an individual test. < 1291665941 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's just ... ASCII test. Repetitive, ASCII text. < 1291665946 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :s/test/text/ < 1291665949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: it's not massively repetitive < 1291665950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: did you measure compression or decompression speed? < 1291665953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it has things like the section in allcaps < 1291665962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: repetitive, ascii text -- you mean like source code? < 1291665962 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: decompression's around 4x slower than bzip2 < 1291665993 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :compression is, atm, around 27 times slower; that obviously needs improvement < 1291666014 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, why do you use unsigned long long? < 1291666018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's == unsigned long on 64-bit < 1291666018 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I suspect this is partly because bzip2 splits the input stream into chunks, and azip always compresses the entire file < 1291666021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, for 32-bit < 1291666033 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in places I actually do absolutely need 64-bit precision < 1291666039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like the fixed-point cube route routine < 1291666041 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*cube root < 1291666053 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is memoized because it's far too slow otherwise < 1291666061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :long long is == int64_t on 64-bit, right? < 1291666078 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: perl -e 'use GD; ($X, $Y) = (110, 15); ($a, $b) = (100, 12.5); $i = new GD::Image(2*$X+1, 2*$Y+1); $i->colorAllocate(255,255,255); $c = $i->colorAllocate(0,0,0); foreach $y (-$Y .. $Y) { foreach $x (-$X .. $X) { $i->setPixel($x+$X, $y+$Y, $c) if ($x*$x)/($a*$a) + ($y*$y)/($b*$b) <= 1; } } open F, ">:raw", "e.png"; print F $i->png();' < 1291666088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, do assert()s get compiled out with -DNDEBUG? < 1291666091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :using glibc < 1291666110 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: That gives you a black-on-white ellipse in e.png, with a canvas of 221x31 and axes of 100 and 12.5. < 1291666126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ugh, you've tied the parsing to the IO < 1291666143 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bad ais523! < 1291666166 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: they do < 1291666171 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, I don't think I did < 1291666179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I interleaved the parsing with the IO, but they aren't tied to each other < 1291666184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :size_t innumber_bounded_flat(FILE* f, size_t bound) { < 1291666189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : outnumber_bounded_inner. */ < 1291666189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :size_t innumber_bounded_inner(FILE* f, size_t minbound, size_t bound, < 1291666189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : int countup_000, size_t origbound) { < 1291666189 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I don't think the IO is a noticeable overhead < 1291666190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1291666203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1291666212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, azip certainly has one major advantage; unazip.c is frickin' small :P < 1291666219 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that was deliberate < 1291666223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it can be made smaller, too < 1291666245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, all the I/O of compressed data is centralised in inbit/outbit < 1291666249 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the system reads a bit at a time < 1291666278 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie... how... < 1291666306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, if it's mmap, then inbit will just be return *s++ :P < 1291666307 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or whatever < 1291666313 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the file's padded to a whole byte at the end, because I had no other option < 1291666317 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but seriously, reading a bit at a time *is* going to be a noticeable overhead! < 1291666352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the funny thing about azip is that it still beats gzip even if it doesn't bother encoding numbers at all and just writes them as (number of bytes in number)(number) < 1291666358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it's way behind bzip2 if you do that < 1291666400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh, really? < 1291666403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gzip must be terrible < 1291666409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1291666435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I think I specialcased the number that was usually 2 in that encoding scheme < 1291666446 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: It might have some rounding-off problems when the border hits exactly the center of a pixel, and the center of the ellipse is (I think) in the middle of a pixel, and so on, so it might not be exactly what you want. (I mean, for a 200-pixel-wide ellipse that has the border tangential to the edge of a pixel, you'd need the center on the border between two pixels, or some-such.) < 1291666465 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(You get what you pay for.) < 1291666467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(azip encodes a 2 in the value that's usually 2 in a single bit, using longer codes for other numbers) < 1291666476 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how did you code that in what... 5 minutes? < 1291666487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ...it's trivial < 1291666494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just a for loop setting some pixels < 1291666498 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :see azip.c line 455 for a discussion of the probabilities < 1291666505 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I do not actually have GD. < 1291666507 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which seem relatively constant amongst source code tarballs < 1291666509 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how much memory overhead does azip have? < 1291666509 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Whatever that is. < 1291666512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :unazip < 1291666521 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ah, that's the brilliant part < 1291666525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: just install the package < 1291666526 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's O(size of the compressed file), IIRC < 1291666535 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what's the name? < 1291666548 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'm not impressed; LZO is O(0) < 1291666557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, O(1); you need a source and destination buffer < 1291666560 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is LZO actually a compressor? < 1291666567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: err, yes < 1291666569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer < 1291666574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it gets almost-as-good results as gzip < 1291666575 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: libgd-gd2-perl. < 1291666577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and can decompress in realtime (IO-bound) < 1291666581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :on even weak hardware < 1291666581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean, the memory used by the entire unazip.c is O(size of compressed file) plus a constant < 1291666586 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it can't stream < 1291666592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: same for LZO, it operates on blocks at a time < 1291666594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why did I add the constant there? < 1291666597 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now I have two constatns < 1291666602 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not surprised you don't have it; it's quite horrible. < 1291666603 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*two constants < 1291666603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so if you have a 4096 block size, it'll use 8K for the entire run < 1291666627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, ingenious < 1291666637 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but as we've already established, "almost as good as gzip" isn't actually very good < 1291666651 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: lzo isn't designed to be well-compressing < 1291666652 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(azip the compressor eats a huge amount of memory, incidentally) < 1291666673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's designed to be better than not compressing, to use a tiny amount of constant memory, and to decompress so fast that it's IO-bound < 1291666679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it fits all three, and is widely used as a result < 1291666739 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the encoding in that link is screwed up < 1291666754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no it's not < 1291666756 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :those aren't hyphens < 1291666765 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're encoded as %E203 here < 1291666766 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Anyway, you get more "elliptical-looking" endpoints out of it if you use something like 99.5 for $a (because then the parallel-to-y-axis edges of the ellipse are tangential to the edge of a pixel) but that way you'll get just a 199-wide ellipse. < 1291666768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which makes no sense < 1291666792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, Wikipedia is being very slow for me for some reason < 1291666811 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to the extent that the CSS hasn't loaded at all < 1291666824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is there a development repository in ubuntu? like, something even less stable than natty < 1291666846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait, memoised_fibonacci is totally pointless, you can just inline every single value,t here's only 92 < 1291666848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*there's only 92 < 1291666960 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: indeed; I thought about that < 1291666970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifying it now to inline them all < 1291666975 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but decided a function to generate them was more self-documenting than a list of constants in which errors wouldn't be obvious < 1291666976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's the unsigned long long suffix? ULL? < 1291666982 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of using LZO in rfk86 -- based on the fact that I have a "tmp.txt.lzo" file here -- but in the end I went with a rather simplistic LZ77/Huffman decompressor, basically a simplified deflate. < 1291666983 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1291666993 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what's this about Fibonacci? < 1291667001 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :btw, can you think of something that acts more or less like a fixed-point cube root but is less expensive to calculate? < 1291667027 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the maths indicated a ^0.3 would work best there, but I changed it to ^1/3 to make it easier and faster to implement, and it hardly makes any difference < 1291667045 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, fixed-point cubes should not be that complex to write, < 1291667116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wow, look at the whitespace pattern I get when word-wrapping the table: http://sprunge.us/bENR < 1291667138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, hmm, a logarithm of some sort maaaybe? < 1291667140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :perhaps not < 1291667145 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!echo hi < 1291667163 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you expect log to be easier to implement than cube root? < 1291667172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and act vaguely the same way? < 1291667177 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Log2 certainly is rather easy. < 1291667184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, log2 is trivial :P < 1291667185 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At least an approximation of. < 1291667192 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's not very similar, though. < 1291667197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it isn't, no < 1291667203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: approximating to the nearest integer, OK, but getting the other decimal places, rather harder < 1291667214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :" Find integer log base 2 of the pow(2, r)-root of a 32-bit IEEE float (for unsigned integer r)" < 1291667217 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!echo hi < 1291667219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: good enough for you? :P < 1291667219 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1291667220 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I can't just use floating-point because it needs to be deterministic across systems, and I'm not good enough at floating-point to manage that < 1291667240 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: what's with the frequent swallowing of the first command? < 1291667282 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92 < 1291667294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: < 1291667294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ time ./unazip /dev/null < 1291667294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.688s < 1291667305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how does that compare to bunzip2? < 1291667308 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: either that paid off, or my system is significantly faster than yours, which I doubt since IIRC the CPU is the same on our two computers < 1291667310 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, what did you change? < 1291667310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!echo hi < 1291667313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dunno, lemme try bzip2 < 1291667315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: just made fibs a table < 1291667326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Unabomber, unazip. < 1291667329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but they're memoized, so that should hardly make a difference < 1291667344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :$ time bzcat test.bz2 >/dev/null < 1291667344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.280s < 1291667351 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!echo hi < 1291667352 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1291667361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :test is ick-0.-2.0.29.pax < 1291667366 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92 < 1291667368 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :7540113804746346429 < 1291667395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :all you're doing is calculating them at writecodetime rather than runtime < 1291667395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and calculating the fibonacci numbers once is not going to take very long < 1291667397 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell 7540113804746346429 :: Double < 1291667399 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :7.540113804746346e18 < 1291667409 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :why stop at 92? < 1291667417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: 64-bit int < 1291667427 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1291667438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you use malloc?! < 1291667453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, how else am I going to allocate memory? < 1291667456 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I think you need indoctrinating into the cult of mmap. < 1291667463 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell maxBound :: Data.Int.Int64 < 1291667466 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :9223372036854775807 < 1291667471 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Malloc is slow. Realloc too. < 1291667481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the whole thing has to be read before it can start decompressing < 1291667491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I mean use mmap instead of malloc... < 1291667509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, I suppose you can figure out how much needs to be allocated in advance < 1291667512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: using MAP_ANONYMOUS < 1291667513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no < 1291667515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you can rely on overcommitting < 1291667520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just mmap 2, 4 gigs, whatever < 1291667528 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is malloc slower than proper GC? < 1291667537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Umm, that question is meaningless. < 1291667547 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Is there a six-words-or-so description of this whole azip business? < 1291667552 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :...It is. < 1291667560 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, I mean that after the first non-declaration line of main, you know right now how much memory you'll need for the rest of the program < 1291667566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: my attempt to make a compression algorithm < 1291667570 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's seven, but close enough < 1291667578 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: ais523's compressor. Slow, big... fix! < 1291667583 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I was hoping for something that's sort of describe what's the novelty of it. < 1291667588 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mostly abandoned it after I realised it wasn't as good as existing algos, elliott is trying to make something useful of it < 1291667590 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I grokked that much from the context. < 1291667592 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: there isn't a novelty of it < 1291667597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : well, I mean that after the first non-declaration line of main, you know right now how much memory you'll need for the rest of the program < 1291667598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is why I abandoned it < 1291667599 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh. :/ < 1291667600 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: then why do you have realloc? < 1291667609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (n == 0) return 0; < 1291667609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (n >= memorylen) { < 1291667609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : memory = realloc(memory, sizeof (unsigned long long) * (n+1)); < 1291667609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : if (!memory) { < 1291667611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cuberoot_leftshift_40 < 1291667614 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I was expecting some sort of a radical New Kind Of Compression. < 1291667615 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's in the memoization for cube roots < 1291667622 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: it is a radical New Kind of Compression < 1291667627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just one that happens to be not as good as lzma < 1291667628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: why not just allocate a big static table? < 1291667639 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, well, that's the sort of novelty I was looking for. < 1291667667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm < 1291667686 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it would make a massive difference < 1291667691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :especially as n there is theoretically unbounded < 1291667702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you don't have to bother memoising every value < 1291667704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only reasonable values < 1291667712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Symbol: ANON_INODES [=y] │ < 1291667712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Type : boolean │ < 1291667713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : │ Selected by: X86 [=y] || EPOLL [=n] || SIGNALFD [=n] || TIMERFD [=n] || EVENTFD [=n] || PERF_EVENTS [=y] && HAVE_PERF_EVENTS [=y] || INFINIBAND_USER_ACCESS │ < 1291667714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what's this then < 1291667755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think n there can range from 0 up to the number of tnodes in the file, plus some small constant < 1291667769 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you run azip with -v, it'll tell you how many tnodes there are, plus lots of other irrelevant data < 1291667787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: when do you find out how many tnodes are in the file? < 1291667807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it changes as the compression algo proceeds < 1291667822 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so not until the end do you find out how many it ended up with < 1291667846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it spends most of its time eliminating tnodes by doing things like inlining them, or just putting them into different orders < 1291667848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: if you compile an initramfs into the kernel, does it receive the kernel's compression? < 1291667857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and, accordingly, can I disable the "Load whatever-compressed initramfs" support? < 1291667894 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no clue < 1291667929 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think there are a few tens of thousands, eventually, in the paxball test < 1291667949 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not as many as I'd like, really < 1291667962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :System is 480 kB < 1291668020 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :things I can omit from asmutils: ccd (?), cda2raw, chvt(?), cpuinfo(?), cpuspeed, deallocvt(? I think so, I have no VTs), chvt(?), deflate(?), eject, fingerd, ftpd, httpd, m_inetd, ksyms(?), ...? < 1291668049 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :chvt is also to do with VTs, I think < 1291668056 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and deflate's a compression algo IIRC < 1291668060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I know that :P < 1291668102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wonder if STARTUP=y shrinks it < 1291668127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Note: Several utils (cpuinfo, eject, httpd, kill, etc) have their own additional configuration in the source code. < 1291668133 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, chvt does alt-fN style console-switching except programmatically. < 1291668177 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :cda2raw is an awfully specific utility, if it does what one'd expect from the name. < 1291668189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It does, I believe. < 1291668189 0 :Sasha!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291668197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aren't CDAs raw PCM anyway? < 1291668197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: extracts audio from a CD? < 1291668206 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, maybe it takes a block device < 1291668214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :TODO: Figure out whether setting CPU to Pentium Pro actually made it smaller. < 1291668215 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: at least on Windows, CDAs are just little files that specify which track on the CD to seek to < 1291668223 0 :Sasha!~WHAT@97-124-33-14.phnx.qwest.net JOIN :#esoteric < 1291668227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's CDDA < 1291668230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CDA presumably stands for CD Audio < 1291668241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(isn't it CDDA? oh, whatever. maybe not) < 1291668251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the files have the extension .cda on Windows, and appear as files in the directory represented by an audio CD < 1291668257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh, gzip uses deflate < 1291668258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PNG, too < 1291668262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: right, okay < 1291668263 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And "really raw" CD audio isn't just raw PCM; there's also error-correction/subcode data. < 1291668266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thought it was .cdda < 1291668269 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure how often you actually see those, though. < 1291668275 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: does the block device expose those? :P < 1291668281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: really really /really/ raw CD audio has an extra layer of encoding < 1291668288 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the physics of CDs prevent them from having two 1s in a row < 1291668303 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes. But the "logical" format has frames of K samples and the error-correction. < 1291668308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(luckily, you can have two 0s in a row, or CDs would be stuck doing 1010101010101010 forever) < 1291668368 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is it 0 -> 0; 1 -> 10? < 1291668370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or 1 -> 01 < 1291668374 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no, it's more complicated than that < 1291668378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, why? < 1291668384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: to allow seeking? < 1291668388 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that each constant-length string of bits becomes a constant-length string in the encoding < 1291668404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otherwise, a CD full of 0s would hold more data than a CD full of 1s < 1291668407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0 -> 101; 1 -> 010? < 1291668414 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : otherwise, a CD full of 0s would hold more data than a CD full of 1s < 1291668416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would be brilliant < 1291668422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't quite work; 100; 010 would but is wasteful < 1291668423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait, 0 -> 101; 1 -> 010 doesn't get seeking right either < 1291668429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, indeed < 1291668436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what is it, then? < 1291668444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the encoding itself uses a similar principle, but on blocks of quite a lot of bits on the LHS < 1291668449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1291668454 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know what it is offhand, it's not the sort of thing you can memorise < 1291668469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0 -> 00, 1 -> 10, 11 -> 010 < 1291668478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then 111 -> 01010 < 1291668480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't work either < 1291668483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but is a fun encoding anyway < 1291668529 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1291668760 0 :elliott!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1291669117 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems to do 8-bit blocks (i.e. bytes) that are encoded with 14-bit codewords from just a simple look-up table, and the words are chosen so that each 1 is separated by 2..10 zeroes. < 1291669181 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And DVDs have a similar scheme except there it's a four-state FSM that translates 8-bit inputs to 16-bit codewords; but it has the same "ones separated by 2..10 zeros" property. < 1291669271 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and the CD encoding also puts three "merging" bits between each 14-bit codeword, set so that the number-of-zeroes property holds, so it's actually a 8-to-17 bit encoding scheme. < 1291669277 0 :ais523!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291669342 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finally finished compiling Flight Gear. < 1291669377 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Aaaaaand, it segfaults. < 1291669407 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a plane crash, then < 1291669557 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The plane accidentally flew over NULL. < 1291669738 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291669804 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291669832 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So, anyway, I think the whole Wikiplia concept would be greatly improved by a) self-implementing it and b) allowing a program to alter that interpreter globally (given passwords and all that jazz). < 1291670206 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Wikiplia? < 1291670273 0 :ais523!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291670339 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :Wikiplia? < 1291670346 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291671101 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :coppro, nooga, an (unfortunately dead) attempt at making a wiki-based programming language. < 1291671229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, so what should be my reaction when someone emails me a WAV file of Rick Astley's "Never gonna give you up"? < 1291671245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, I assume it is from the filename, I haven't actually tried to listen to it, especially as it's likely a copyright infringement < 1291671274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and given that it's uncompressed, it's quite large < 1291671310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"That is _so_ 2008"? < 1291671338 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pity there's no way to delete some attachments from an email while retaining others < 1291671352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I'll have to delete the whole thing once I've looked through the attachments that I actually wanted them to send < 1291671379 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so I'm assuming you take pride in never violating copyright? < 1291671470 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: that's something to be proud about? < 1291671478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I just dislike violating the law without a really good reason < 1291671503 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, it's definitely not illegal to be emailed a rickroll, unless the laws have gone completely insane; I think it's your reaction to it that matters < 1291671694 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The laws _have_ gone completely insane, but I actually want to talk about Wikiplia rather than a debate that is extremely old and conversions in which are extremely rare. < 1291671703 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :How goes Feather? < 1291671757 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :go away < 1291671778 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1291672251 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Mathnerd314! < 1291672274 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :yes...? < 1291672323 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bows < 1291672550 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Bow MORE! < 1291672709 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :no, it was merely for politeness's sake. you should return my bow, and more deeply < 1291672731 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And tell me what the next prime is! < 1291672764 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :no. no primes for you. < 1291672818 0 :ais523_!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291672831 0 :ais523!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1291672835 0 :ais523_!unknown@unknown.invalid NICK :ais523 < 1291672860 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :where is elliott when you need him < 1291672868 0 :madbr!~madbrain@modemcable032.155-200-24.mc.videotron.ca JOIN :#esoteric < 1291672875 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1291672936 0 :nooga!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1291672941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: what do you need him for? < 1291672943 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi madbr < 1291672963 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :Do you guys think it's possible to design a language+CPU suitable for deep parallelism? (aside that there's map/reduce) < 1291673053 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, he has nothing against dying in minecraft. I need someone to test a deadly trap :P < 1291673062 0 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1291673074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :madbr: look at OpenCL and GPGPUs < 1291673086 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're built pretty much entirely around parallelism < 1291673113 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to the extent that something as simple as an if is inefficient because it can't work the same way in every one of your thousands of threads at once < 1291673144 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :yeah but that's a... really specialised architecture < 1291673156 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :basically you're the one doing all the work :D < 1291673192 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking something more like a super-out-of-order cpu < 1291673220 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: 317 < 1291673237 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Itanium? < 1291673249 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, you're hired. < 1291673268 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1291673286 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :where it loads in a huge block of instructions at once and then each instruction just waits after its data dependencies in parallel < 1291673297 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Turn up to work tomorrow with a spatula and 3 8GB flash drives. < 1291673344 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :I QUIT < 1291673421 0 :ais523!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1291673442 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :for instance if it was stack based, you could have something like "6 4 +" in the middle of an instruction string at it could already turn that into "10" for the next cycle < 1291673463 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :even though there's a bunch of instructions before < 1291673491 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :madbr: http://en.wikipedia.org/wiki/Register_renaming < 1291673492 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1291673629 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :deewiant: yes, take that to the power of 11 < 1291673660 0 :Sasha!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291673670 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, YOU CANNOT QUIT PHANTOM INDUSTRIES < 1291673685 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Just saying that such things as you describe do exist, though maybe not "to the power of 11" in the way you'd want < 1291673786 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Polynomials of the 11th degree are the BEST kind of polynomials! < 1291673808 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, incidentally, remember that Minecraft diary elliott linked to? < 1291673811 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :yeah I was thinking of something like... < 1291673813 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The guy died. < 1291673815 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, which one? < 1291673825 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, towards a new dawn? < 1291673828 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, the one you had a sarcasm failure with. < 1291673834 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh that one < 1291673840 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, do you want to try a lethal trap? < 1291673850 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :every new loaded instruction is allocated to a new register/execution unit < 1291673850 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, depends. < 1291673867 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :If all of the stuff in my inventory will be salvageable, then yes. < 1291673868 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I will provide a chest to put your items in < 1291673884 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :No, that's too inconvenient. < 1291673892 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, hm there is lava involved so... < 1291673893 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :My inventory is nearly full of cobbles. < 1291673900 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, two big chests? < 1291673909 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, also I can donate more cobble if you want < 1291673914 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :that unit reads the "ready" bit from its input dependencies. when all the dependencies are "ready" then it computes the result and in turn turns on its ready bit < 1291673925 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I have two big chests full plus a lot more spread out < 1291673928 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, I'll pass. < 1291673953 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I don't know if you will die from falling or from the lava btw < 1291673966 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is this your trapdoor? < 1291673966 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I could replace it with water I guess < 1291673985 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, indeed. < 1291674123 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, I replaced lava with water. But you will still get extra torches and extra gravel < 1291674129 0 :Sasha!~WHAT@97-124-33-14.phnx.qwest.net JOIN :#esoteric < 1291674673 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :aha jak tak to mi sie nie chce < that's completely common and normal Polish sentence and I just realised that it looks weird to me < 1291674688 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :like, uh, Chinese < 1291674878 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fang en hai < 1291674999 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's the "wtf is that word" effect < 1291675034 0 :madbr!unknown@unknown.invalid PRIVMSG #esoteric :read a normal word over and over, eventually it will look like a weird alien word and you'll wonder where it came from < 1291675263 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :;D < 1291675373 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :nooga: 中国語っぽい? < 1291675441 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1291675504 0 :Sasha!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291675560 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :. < 1291675561 0 :Sasha!~WHAT@97-124-33-14.phnx.qwest.net JOIN :#esoteric < 1291675619 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, how much fall damage did you take? < 1291675699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? < 1291675719 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal, around 50%. < 1291675763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? < 1291675778 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, hm not more < 1291675798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? < 1291675811 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover, and lava destroys item. Yeah this would be annoying if made twice as deep due to having to do the obsidian trapping chamber < 1291675812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what fall < 1291675848 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Vorpal's trapdoor in the throne room. < 1291675948 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, if you want to see how deep it is come on now. I'm not going to operate it again for a while. it is too painful to set up < 1291675953 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so see it while it is open < 1291675964 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and now means "within one minute" < 1291676044 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1291676060 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :okay, closing it < 1291676068 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SPECIAL OFFER TO KILL YOU, ONLY TODAY < 1291676075 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it's not very deep. < 1291676078 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION → sleep < 1291676089 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291676281 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, no "special offer to see death trap depth < 1291676356 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i am of course assuming that the only way to see the depth properly is to fall through it < 1291676416 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prods elliott. At least see where the trap is :P < 1291676629 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, fizzie suggested to use gravel in front of the throne so you could grovel < 1291676633 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291677073 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291677073 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :SPARC < 1291677081 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :is the best architecture EVER < 1291677095 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :with this http://en.wikipedia.org/wiki/Open_Firmware < 1291677126 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :an it's got Forth shell < 1291677633 0 :yorick!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291678390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So did New World PPC Macs. < 1291678474 0 :sftp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1291678552 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :... doesn't EFI have a Forth shell to this day? < 1291678577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no < 1291678596 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1291678648 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :night < 1291678804 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :EFI is basically Open Firmware made worse. < 1291678817 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Why? NIH < 1291679016 0 :Sasha!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1291679110 0 :Sasha!~WHAT@97-124-35-68.phnx.qwest.net JOIN :#esoteric < 1291679375 0 :Mathnerd314!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630] < 1291679517 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :Forth is cool < 1291679602 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric