00:01:15 <EgoBot> helloworld.irp: Unknown file or directory
00:01:27 <EgoBot> bf/, glass/, linguine/
00:01:37 <EgoBot> dice.glass, hangman.glass, urls.glass
00:01:47 <EgoBot> glass/dice.glass: Unknown file or directory
00:02:05 <EgoBot> /bin/ls: ./files/d: No such file or directory
00:02:09 <EgoBot> 1 ais523: daemon ul bf
00:02:11 <EgoBot> 2 immibis: daemon cat bf
00:02:28 <GregorR> OK, it's not a daemon, so it's just a user command :P
00:02:40 <GregorR> Probably just takes its input and adds "Unknown file or directory"
00:02:45 * immibis slaps GregorR with a rainbow trout
00:02:51 <EgoBot> fddfashfdfdsafds: Unknown file or directory
00:03:01 <EgoBot> asdfjkl;: Unknown file or directory
00:03:20 <immibis> !irp immibis: you suck. irp
00:03:23 <EgoBot> immibis: you suck. irp: Unknown file or directory
00:03:33 <immibis> !irp fatal error: helloworld.irp
00:03:37 <EgoBot> fatal error: helloworld.irp: Unknown file or directory
00:03:59 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:04:01 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
00:04:05 <EgoBot> Use: usertrig <command> <trig-command> Function: manage user triggers. <command> may be add, del, list or show.
00:04:19 <EgoBot> (irp): bf ,[.,]+++++++++++[>+++++>+++>++++++++++>++++++++++<<<<-]>+++.>-.<+++++++++++++++++++++++++++.>>.>---.+++.+.<+++++++++.---------.<.<+++++++++++++++++.+++.>>--.-------.<.>>.+++.<<.>-.<<.>>>.<+.--.>++.-----.+++.+++++++.
00:05:15 <pikhq> Is it just me, or are there new EgoBot features?
00:05:34 <immibis> this feature has been around for a long time.
00:06:43 <GregorR> usertrigs predate daemons.
00:06:51 <GregorR> They turned out to be useless, so I added daemons :P
00:06:54 <GregorR> Then nobody used usertrigs.
00:07:25 <pikhq> And you never removed usertigs.
00:07:39 <EgoBot> foo: Unknown file or directory
00:08:42 <ehird`> GregorR: egobot is a veritable hodgepodge, isn't it?
00:09:23 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:09:25 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
00:09:40 <GregorR> Daemons are fairly used, the filesystem is never used but I stole the concept from EsoBot so eh *shrugs*
00:09:53 <EgoBot> 1 ais523: daemon ul bf
00:09:55 <EgoBot> 2 immibis: daemon cat bf
00:10:40 <ehird`> i am evil for no specified reason
00:10:59 <EgoBot> pikhq: No such nick/channel
00:11:11 <EgoBot> ehird`: No such nick/channel
00:11:13 <EgoBot> yadayadayada: No such nick/channel
00:11:23 <EgoBot> (ping): bf ,[.,]+++++++++++[>+++++>+++>++++++++++>+++++++++<<<<-]>+++.>-.<++++++++++++++++++++.>>+.<.>++++.++.>.+++++.<<.>-------.-----.<<+++++++++++++++++++++.>>++.<+++++++++++++++.<.>>>.<<<--.>>+++..> ---.<--.
00:11:25 <EgoBot> EgoBot: No such nick/channel
00:11:30 <ehird`> its like the irp daemon
00:11:37 <EgoBot> #esoteric: No such nick/channel
00:11:38 <immibis> but with a different message.
00:11:47 <EgoBot> Use: usertrig <command> <trig-command> Function: manage user triggers. <command> may be add, del, list or show.
00:11:48 <immibis> actually, my client does that.
00:11:49 <GregorR> These commercials advertise that they have 25MPG highway and say you can feel really smart because your gas mileage is so good. My car gets 40MPG. WTF universe do I live in.
00:11:52 <immibis> [12:11] ->> #esoteric :No such nick/channel
00:12:13 <EgoBot> Triggers: decode encode irp ping urls
00:12:27 <immibis> !encode WhatDoesThis Do? I wonder?
00:12:27 <EgoBot> (urls): glass {M[m(_u)(URLs)!(_i)I!(_i)l.?(_u)u.?]}
00:12:31 <EgoBot> 1192921948-inahdkjjaaagclaenheekjafbc
00:12:35 <immibis> !encode WhatDoesThis Do? I wonder?
00:12:39 <EgoBot> 1192921956-jonefedoneaknkiibhbopmllgd
00:12:42 <ehird`> !decode 1192921956-jonefedoneaknkiibhbopmllgd
00:12:52 <immibis> !decode 1192921956-jonefedoneaknkiibhbopmllgd
00:12:53 <ehird`> !decode jonefedoneaknkiibhbopmllgd
00:13:15 <EgoBot> (decode): linguine file://linguine/decode.lng
00:13:17 <EgoBot> (decode): linguine file://linguine/decode.lng
00:13:35 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:13:37 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
00:13:39 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:13:41 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
00:13:43 <ehird`> http://esolangs.org/wiki/Linguine ah
00:13:54 <GregorR> <EgoBot> HELP, I'm being spammed to death 8-O
00:14:12 <ehird`> GregorR: you. write a cat command
00:14:18 <ehird`> or implement it as a daemon, which would be hardcore
00:14:34 <GregorR> immibis: No, to cat a file from the filesystem.
00:14:36 <ehird`> does it cat FILES, though?
00:14:51 <GregorR> immibis: You need to tell it what language it is X_X
00:14:52 <ehird`> so we can cat stuff on the file system
00:15:01 <immibis> i always make that mistake :P
00:15:16 <GregorR> !cat file://linguine/decode.lng
00:15:19 <EgoBot> file://linguine/decode.lng
00:15:28 <GregorR> Thought that might work :P
00:15:34 <ehird`> well, not command. syntax
00:15:38 <ehird`> which will do as in shells
00:15:46 <ehird`> !cat <file://linguine/decode.lng for a file
00:15:52 <ehird`> !cat <http://blah.com/blah for a web page
00:15:59 <ehird`> this also means that interpreters which can also take files and urls
00:16:02 <ehird`> can be much simplified
00:16:05 <ehird`> as it's all done through < and >
00:16:06 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
00:16:12 <ehird`> maybe even a | pipe if you want, but that's hardcore ;)
00:16:13 -!- EgoBot has joined.
00:16:15 <immibis> what to do with file://linguine/../../../../../../../../../../../../../etc/passwd
00:16:21 <ehird`> immibis: it's sandboxed
00:16:58 * immibis wonders why gregorr made egobot quit
00:17:32 * GregorR goes to work on Plof3 for a bit :P
00:17:38 -!- pikhq has quit ("leaving").
00:17:50 <ehird`> GregorR: i will give you $39742397234 if you implement <
00:17:54 <ehird`> $239847239872398234 extra if you do >
00:17:59 <ehird`> and $293847293482698723648724628934623986986987236498234623874 for |
00:18:21 * immibis implements < > and | for free because ehird` only offered that to gregorr
00:19:00 <ehird`> can you change egobot? :P
00:19:24 <immibis> i could download the source and change it and send it to gregorr.
00:25:02 <ehird`> !language no longer has to do it itself
00:25:06 <ehird`> and custom programs can have it too!
00:26:15 <immibis> !cat < file://bf/../../../../../../../../../../../../../../../../../../../../../../etc/password
00:26:25 <ehird`> immibis: i already told you how stupid that is
00:26:36 <ehird`> the filesystem is completely seperate from the normal fs
00:26:49 <ehird`> iirc it's not even a real fs
00:26:57 <ehird`> it's a wrapper around some files on an fs
00:27:06 <ehird`> but, the EgoBot running is chrooted afaik
00:33:57 -!- pikhq has joined.
00:38:29 <EgoBot> bsmntbombdude: No such nick/channel
00:39:03 <EgoBot> bsmntbombdood: No such nick/channel
00:40:09 <ehird`> that actually DOES ping
00:41:28 <ehird`> and clients highlight on nick
00:41:29 <EgoBot> (ping): bf ,[.,]+++++++++++[>+++++>+++>++++++++++>+++++++++<<<<-]>+++.>-.<++++++++++++++++++++.>>+.<.>++++.++.>.+++++.<<.>-------.-----.<<+++++++++++++++++++++.>>++.<+++++++++++++++.<.>>>.<<<--.>>+++..>---.<--.
00:41:47 <immibis> it just says nick: No such nick/channel.
00:41:56 <ehird`> and clients will highlight it
00:43:39 -!- ehird` has quit ("Leaving.").
00:51:06 <GregorR> He was so offended by your client's lack of highlighting, he left in a huff.
00:51:32 <immibis> actually it because i kept annoying him.
00:58:31 <immibis> bsmntbombdood, please type the following: !daemon bsmntbombdood bf +[,[.,]+]
00:59:44 <immibis> it has to be in a query between me and egobot, or it shows up wherever it was created
01:00:04 <immibis> ok, NOW !immibis sends a message to me.
01:00:26 <pikhq> !immibis Sure 'bout that?
01:00:49 <immibis> [13:00] <EgoBot> Sure 'bout that?
01:06:11 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
01:06:13 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
01:25:37 -!- jix has quit ("This computer has gone to sleep").
02:22:05 <RodgerTheGreat> if there are 50,000 words, (roughly), and we assume the manual is in BNF or something, about 50 pages for grammar and the rest would fall into vocab
02:22:09 <immibis> do you mean IRP go to hell?
02:22:33 <RodgerTheGreat> about the size of an unabridged dictionary with some additional pages
02:23:30 <immibis> i meant the manual for the command IRP, as in how to invoke it.
02:24:25 <immibis> IRP SAY IRP SAY IRP SAY IRP SAY IRP SAY IRP GO TO HELL
02:28:36 <GregorR> Except that proper IRP is English.
02:35:12 <GregorR> A large and unpredictable subset of English :P
02:38:13 <pikhq> An undefined subset of English.
02:38:41 <GregorR> Nah, it's defined, just based on factors you can't know.
02:39:10 <pikhq> You know, I wonder if a context-free subset of English could be made.
02:39:38 <RodgerTheGreat> pikhq: oh, certainly. It really depends on how much you want to be able to express.
02:39:58 <GregorR> It'd probably just be sort of clumsy to talk in.
02:40:05 <RodgerTheGreat> for the purposes of conventional programming, you could make one fairly easily.
02:40:22 <pikhq> I want a (potentially useless) English in YACC. ;)
02:40:40 <pikhq> "Add x to y" is probably easy to do context-free.
02:41:28 <RodgerTheGreat> my guess is that you'd end up with something that looked an awful lot like COBOL.
02:54:27 <pikhq> ORKBOL, here we come!
02:54:41 <pikhq> Or maybe just CORK?
02:56:02 <immibis> IRP SAY IRP SAY IRP SAY IRP SAY IRP SAY IRP GO TO HELL
03:01:44 <RodgerTheGreat> That expression- you keep saying it. I don't think it means what you think it means.
03:01:49 -!- Tritonio has joined.
03:02:18 <immibis> firefox just told me "Oops: Firefox cannot load this page for some reason"
03:02:50 <immibis> it either means to say "IRP SAY IRP SAY IRP SAY IRP SAY IRP GO TO HELL" or to say "IRP IRP IRP IRP IRP" and go to hell.
03:03:01 <immibis> actually, i typed in about:neterror into the title bar
03:03:14 <immibis> but that won't stop me sending it to www.worsethanfailure.com
03:04:35 <RodgerTheGreat> my interpreter module won't parse expressions that use more than one level of parentheses because I don't care enough
03:05:00 <RodgerTheGreat> the same goes for recursive statements or anything repetitive
03:05:15 <bsmntbombdood> when did the daily what-the-fuck become the daily worse-than-failure?
03:05:37 <immibis> it still abbreviates to WTF though.
03:06:11 <galt> bsmntbombdood, about a year agot, give or take
03:06:35 <galt> I think dailywtf.com still works though
03:06:48 -!- calamari has quit ("Leaving").
03:07:22 <immibis> and also one where AVG Antivirus told me that it was out-of-date just after it updated itself.
03:08:02 <immibis> worsethanfailure.com even loads ads from syndication.thedailywtf.com
03:25:08 <immibis> IRP (goToPlace (getPlaceFromList (getPlaceList "Places not in this world") "Hell"))
03:25:36 <immibis> [15:25] [NickServ PING Reply] : 1 minute 58.906 seconds
03:25:36 <immibis> guess something must be up with my client today
03:44:52 <bsmntbombdood> http://sexualidad.wordpress.com/2006/04/17/sexo-en-grupo/ , yay studies about sex
03:49:09 -!- Tritonio_ has joined.
03:49:12 -!- Tritonio_ has quit (Client Quit).
04:07:27 -!- Sgeo has quit (Remote closed the connection).
04:26:10 <GregorR> Deterministic Finite Automaton
04:26:30 <GregorR> What are you doing on #esoteric if you don't know that expansion :P
04:27:03 * immibis wonders what he's doing on #esoteric as he didn't know that expansion
04:33:32 <pikhq> I didn't think of it right away.
04:33:40 <pikhq> I was getting assraped in FreeCiv, though.
04:34:56 <GregorR> That's my experience with FreeCiv too.
04:35:13 <pikhq> That's the first time I've lost. . .
04:35:46 <pikhq> A free software Civilization game. . .
04:36:04 <GregorR> pikhq: Yeah? Well grep 'Gregor Richards' `find ~/freeciv/src -type f`
04:37:39 <pikhq> Also, the hard AI cheats.
04:37:47 <pikhq> I'm truly, truly convinced that it cheats.
04:39:42 <pikhq> GregorR: You may wish to know this. . .
04:39:53 <pikhq> $ grep 'Gregor Richards' `find . -type f`
04:40:15 <GregorR> OK, I don't know if any of my code actually survives :P
04:40:32 <pikhq> Not actually contributed since 1.14.2?
04:41:14 <pikhq> Well, there's been a rewrite since then. . .
04:41:42 <GregorR> Well, that explains that :P
04:41:52 <GregorR> I haven't played it in a while, I'm frustrating awful at it :P
04:42:21 -!- galt has changed nick to [[g4lt]].
04:42:25 <pikhq> I'm usually good at it. . .
04:42:49 <pikhq> Although the hard AI has convinced me that largepox rules ought to be the default. :p
04:43:06 * pikhq is used to playing with 3 cities. . . Producing about 500 bulbs/turn. . .
04:47:38 <bsmntbombdood> i wonder if solving sudokus (or similar game) is turing complete
04:48:20 <pikhq> What exactly would the act of solving a game being turing complete *entail*?
04:48:27 <pikhq> Capable of being solved on a Turing machine?
04:48:39 <pikhq> The game itself *being* a Turing machine?
04:50:36 -!- [[g4lt]] has changed nick to [[g4lt]]-somethi.
04:50:46 <immibis> [16:45] * pikhq is used to playing with 3 cities. . . Producing about 500 bulbs/turn. . . <--- what?
04:51:17 <pikhq> What, don't play Civ?
04:51:50 -!- [[g4lt]]-somethi has changed nick to g4lt-sb100-away.
04:51:57 <bsmntbombdood> immibis: sexual deviants like him are dangerous to society
04:52:09 <pikhq> A bulb is the unit of scientific research in FreeCiv. . .
04:52:30 -!- g4lt-sb100-away has changed nick to [[g4lt]].
04:52:40 <bsmntbombdood> translation: "my sex-cult is a danger to YOUR CHILDREN!!"
04:52:47 <GregorR> It's also an unsafe sexual toy for anal fetishists *shrugs*
04:54:12 <bsmntbombdood> i've been thinking that paraphilias are just sexual orientations
04:56:11 <bsmntbombdood> males who are androphilic aren't diseased...so why should males who are pedophilic be?
05:03:50 <RodgerTheGreat> this is an instance where the lines between disease, disorder and natural genetic variation become very fuzzy.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:55:27 -!- oerjan has joined.
08:59:08 <immibis> IRP (CrashProgram (GetCrashMethodByName "DivideByZero") (GetCurrentProgram) "thisistehpasswordtocrashtehprogram")
08:59:17 -!- immibis has quit ("Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC. Some folks ).
10:29:06 -!- RedDak has joined.
10:48:13 -!- [[g4lt]] has changed nick to glt-experienced.
10:48:23 -!- glt-experienced has changed nick to g4lt-experienced.
11:16:20 -!- jix has joined.
11:17:35 -!- SEO_DUDE38 has quit (Remote closed the connection).
11:36:23 -!- oklopol has joined.
11:38:46 -!- SEO_DUDE38 has joined.
11:55:10 <SimonRC> bsmntbombdood: Sudoku can't be Turing-complete because it is finite.
12:01:00 -!- oklopol has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )").
12:06:40 -!- oklopol has joined.
12:21:42 -!- puzzlet has joined.
12:35:54 -!- oerjan has quit ("leaving").
12:37:58 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
12:50:03 -!- oklopol has joined.
13:59:27 -!- Tritonio has quit (Remote closed the connection).
14:07:12 -!- Tritonio has joined.
15:03:33 -!- kxspxr has joined.
15:03:38 -!- kxspxr has quit (Remote closed the connection).
15:03:47 -!- ehird` has joined.
15:19:08 -!- sebbu has quit (Connection timed out).
15:36:09 -!- sebbu has joined.
15:47:41 <ehird`> <EXTREMELY obscure badtum-tish that 3 people in the whole world have a hope of getting>
15:51:02 -!- RedDak has quit (Remote closed the connection).
16:27:00 -!- sebbu2 has joined.
16:43:04 -!- RedDak has joined.
16:43:31 -!- sebbu has quit (Read error: 110 (Connection timed out)).
16:43:32 -!- sebbu2 has changed nick to sebbu.
16:46:29 -!- jix has quit (Nick collision from services.).
16:46:39 -!- jix has joined.
17:39:56 -!- RedDak has quit ("I'm quitting... Bye all").
17:49:05 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
17:50:30 -!- Tritonio has joined.
17:51:07 -!- Tritonio has quit (Remote closed the connection).
17:52:23 -!- puzzlet_ has joined.
17:52:23 -!- puzzlet has quit (Remote closed the connection).
17:56:15 -!- Tritonio has joined.
17:57:46 -!- puzzlet has joined.
18:09:48 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
18:12:07 <Tritonio> does anybody use gutsy gibbon?
18:13:42 <pikhq> Certaintly *someone* does. . .
18:15:54 <Tritonio> i mean here... i have a little crazy stupid problem with the windows list applet...
18:27:01 <bsmntbombdood> pikhq: there's barely a dusting on the ground here ;(
18:27:15 <pikhq> I'd guess somewhere between 1/4" to 1/2".
18:27:48 <pikhq> Well, the Steelers game ought to be interesting, then.
18:28:06 <pikhq> Steelers @ Broncos, 6:15PM today.
18:29:17 <ehird`> playing around with stack-based languages is dangerous to the mind... i'm actually considering factor for my next project
18:29:40 <pikhq> Playing around with obfuscating C is pretty dangerous to the mind, as well. . .
18:30:01 <ehird`> you consider obfuscated C for your next project?
18:30:36 <pikhq> I'm in high school. Coding's just a massive game ATM. ;)
18:30:53 <pikhq> http://pikhq.nonlogic.org/bubble.c And my, what a fun one.
18:30:59 <ehird`> haha wow, imagine an online game based on coding
18:31:47 <ehird`> gosh, what a coincidence
18:31:59 <ehird`> pikhq: now do quicksort
18:33:51 <ehird`> keep lines to 72 characters, and keep it 4 lines or less, so it fits into a sig
18:34:07 <ehird`> extra points for being gcc-only and requiring crazy compiler flags
18:34:21 <ehird`> (you could probably squeeze a lot of the program into flags, knowing gcc...)
18:34:25 * pikhq takes a look at his sane quicksort implementation
18:34:34 <pikhq> I always assume GCC. . .
18:34:47 <pikhq> foo?({goto g;}):({goto h;}) is so much fun. ;)
18:34:49 <ehird`> hmm, if you specify gcc flags though you either need to have it 3 lines so you can fit gcc flags on the last line, or be able to fit a comment into a 4-line block
18:35:32 <ehird`> but - if you can fit a non-recursing quicksort, with the compiler flags (if any) needed to compile it included, in 4 lines or less where a line is 72 characters, then i am amazed
18:35:37 <ehird`> i don't think it's possible :P
18:35:57 <pikhq> Obviously, I'll need to choose a really, really simple pivot algorithm. . .
18:36:12 <pikhq> This could be trickier than I though.
18:36:27 <ehird`> the more flags are required the more fake-points you get :P
18:36:48 <pikhq> I don't think it's possible, with the non-recursing requirement.
18:36:57 <ehird`> if the flags specified require a certain shell to work properly, you get infinity points
18:37:12 <ehird`> at 80 characters per line
18:37:17 <ehird`> that gives you some more space :P
18:37:30 <pikhq> It's the non-recursing requirement that makes it tricky, I fear.
18:37:56 <ehird`> ok, then just make it tail-recursive :P
18:38:02 <ehird`> (bam! just-as-hard requirement substituted!)
18:42:01 <ehird`> RodgerTheGreat: that's a corewars-alike right?
18:42:07 <ehird`> that isn't really what i was thining :P
18:42:36 <ehird`> which would be hilarious
18:42:42 <ehird`> "collect the magic gem of printf!"
18:42:46 <pikhq> I'll just do an obfuscated quine.
18:43:20 <ehird`> but then 72 characters and 4 lines restriction comes back in
18:43:57 <ehird`> RodgerTheGreat: putting them in ~/.sig, obviously
18:45:29 <ehird`> pikhq: you are of course allowed to use bad practices like old-style definitions
18:45:39 <ehird`> func(a1,a2) instead of int func(int a1, int a2)
18:46:37 <RodgerTheGreat> bonus points for anything involving comparisons or complex math performed directly upon pointers
18:46:44 <oklopol> it'd be awesome if there'd be a game where each level is a shell, and you need to kinda find out what you can do in it and hack your way into whatever the point of the current level is
18:47:09 <ehird`> RodgerTheGreat: bitwise operations on pointers for mega points
18:47:24 <oklopol> or the goal could always be to crash the system :P
18:47:26 <ehird`> oklopol: there are a few iirc
18:47:38 <ehird`> oklopol: uplink is only tangentally related to that but there are games basically totally like that
18:47:43 <ehird`> maybe not as flexible as you'd like though
18:47:54 <pikhq> ehird`: Of course.
18:48:33 <oklopol> ehird`: do you know a name?
18:48:42 <pikhq> q(s)char*s;{ anyone?
18:48:53 <ehird`> pikhq: pff you can get that shorter
18:49:00 <ehird`> why not make it operate on ints?
18:49:17 <pikhq> Then I have to convert the command-line argument to ints.
18:49:22 <pikhq> Which takes space.
18:49:30 <ehird`> oh, i didn't say you had to do command-line arguments
18:49:32 <pikhq> . . . Or I can just cast it.
18:49:49 <ehird`> well, i guess casting is bigger, though
18:49:50 <pikhq> For more WTF-ness. :)
18:50:01 <pikhq> *Implicit* casting. :D
18:50:18 <ehird`> no need to specify the type of c, it's default int :-)
18:50:36 <ehird`> i'm not sure the final ; is vital there
18:50:43 <ehird`> since the literal syntax for arrays/structs
18:51:34 <oklopol> hmph, ehird` is such a fun-ruiner
18:51:38 <ehird`> it'd be extra-funny if you could compact it to three lines without either " or ' (one but not both)
18:51:49 <ehird`> then you could put the compiling command completely in the sig :D
18:52:02 <ehird`> (well, 3 and a half lines, really, since you have the rest of the first one)
18:52:11 <ehird`> that would be really hard though
19:11:10 <pikhq> I've almost succeded.
19:11:15 <pikhq> Somewhre, I have a segfault.
19:11:59 <pikhq> It's fairly amusing to see what indent makes of it, though.
19:12:38 <ehird`> (the indent-ed version that is)
19:12:57 <pikhq> http://pikhq.nonlogic.org/quick.c
19:13:31 <ehird`> int *\n<lots of space>s;
19:13:35 <ehird`> that makes no effing sense :D
19:13:40 <ehird`> then again we all know indent is retarded
19:13:55 <ehird`> whoa, uh, you're calling strlen on s
19:14:04 <ehird`> why don't you take length as an extra perameter
19:14:25 <ehird`> g[n], l[n], p = (n / 2)...
19:14:38 <ehird`> and, it's just two extra chars in the definition
19:14:44 <ehird`> since you don't have to specify the type sa int
19:15:01 <ehird`> and q(1[v],strlen(1[v])) is still pretty short
19:15:08 <ehird`> overall, it'd be much shorter and much less readable :D
19:16:29 <pikhq> I forgot one thing. . .
19:16:45 <pikhq> (BTW, the char *v instead of char**v was the segfault's cause)
19:17:01 <ehird`> puts(q(1[v],strlen(1[v]))
19:17:07 <ehird`> you get a newline free, too
19:17:42 <pikhq> . . . And now it segfaults.
19:17:56 <ehird`> (alternatively, show me the new code)
19:18:03 <pikhq> I only added puts.
19:18:05 <ehird`> what type does q return
19:18:23 <ehird`> no i mean what does it return in practice
19:18:24 <pikhq> I need to do a memcpy. XD
19:18:46 <pikhq> Or output in q itself.
19:19:02 <ehird`> cause then q wouldn't qsort
19:20:01 <pikhq> And a nice little memory leak. ;)
19:20:14 <ehird`> this does do ascii-sorting for commandline args right? like qsort adb -> abd
19:21:15 <ehird`> how big is it with 72 char lines? :)
19:21:24 <pikhq> It's *still* segfaulting.
19:21:35 <ehird`> show me the current code
19:21:39 <pikhq> strdup(s) would *surely* copy s. . .
19:21:48 <ehird`> i might be able to help
19:22:21 <ehird`> indented or normal? ;)
19:22:39 <pikhq> It's still weird, but it's easier to edit.
19:23:00 <ehird`> you're wasting space trying to be clever
19:23:11 <ehird`> well, isn't that pretty silly? :P
19:23:13 <pikhq> If I don't fit the space bounds, I'll get rid of that.
19:23:22 <ehird`> you get extra points for smaller code ;p
19:23:57 <ehird`> isn't that equiv. to x=i=j=0?
19:24:24 <ehird`> sheesh, this isn't obfuscation, it's golf :P
19:24:58 <pikhq> x=(i=(x=(j=0))); or x=0,i=x,j=(i^=i);?
19:25:42 <pikhq> My version, by my count, is the same length. . .
19:26:16 <ehird`> and you don't need the prens
19:26:53 <pikhq> x=i=j=0; doesn't compile.
19:27:11 <pikhq> And the parens wouldn't help.
19:27:14 <ehird`> i'm pretty sure it does
19:27:55 <ehird`> aern't ints 0 by default?
19:27:59 <ehird`> i mean, its unportable
19:28:10 <pikhq> In a function, no.
19:28:14 <ehird`> give it a try, you could reduce it to: x,i,j
19:28:17 <ehird`> i'm pretty sure they are
19:28:21 <ehird`> at least with default gcc
19:28:40 <pikhq> Believe me, they're not 0.
19:28:54 <pikhq> If they're declared *outside* a function, they are, though. . .
19:30:57 <pikhq> Now, do you know how that segfaults?
19:31:08 <ehird`> nope but i will in a few minutes
19:36:06 -!- g4lt-experienced has changed nick to glt-mordant.
19:36:14 -!- glt-mordant has changed nick to g4lt-mordant.
19:39:19 -!- puzzlet_ has joined.
19:41:21 -!- oerjan has joined.
19:42:03 <ehird`> when i say a few minutes
19:42:33 <ehird`> pikhq: well how about this
19:42:43 <ehird`> all the other code is, uh, not executed.
19:43:04 <pikhq> Shit. You're right.
19:45:37 <ehird`> http://fabrice.bellard.free.fr/otcc/ ok, this is awesome :-)
19:45:52 <ehird`> i now have an urge to write a small c compiler not obfuscated but compact
19:46:07 <pikhq> Which means there is *still* a segfault. :(
19:46:20 <ehird`> pikhq: use gdb damnit!!
19:49:00 <ehird`> i don't have a c compiler on this system (stuck on windows atm)
19:49:06 <pikhq> It calls q, then gets to "1[s] ? ({return s;}):0;". . .
19:49:16 <ehird`> that's the first statement in q
19:49:31 <pikhq> I changed that statement so that it doesn't always return.
19:49:33 <ehird`> of course 1[s] is true
19:49:47 <ehird`> so q is just returning your input
19:49:55 <pikhq> Dammit. Need !1[s], don't I. XD
19:50:14 <ehird`> why are you doing that
19:50:32 <ehird`> i mean... what's the point?
19:50:33 <pikhq> That's a good question.
19:50:52 <ehird`> s[1] will just segfault, mostly
19:50:56 <ehird`> why? because it's int*
19:51:07 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
19:51:15 <ehird`> so, just check length for 0
19:51:26 <pikhq> I want it to return when n>=1, not when s[1]==NULL.
19:51:49 <ehird`> what is n? sorry, i have not analyzed the code in depth
19:52:19 <pikhq> n is the length of the array. . .
19:52:27 <pikhq> Or, at least, should be.
19:52:39 <ehird`> "so just check length for 0"
19:54:28 <pikhq> Shouldn't x[s] ? test for NULL?
19:54:49 <ehird`> i thought length would be 0 on empty string
19:56:40 <pikhq> I think the bit about int*s rather than char*s is causing *this*. . .
19:57:33 <pikhq> And now I started something *completely different* into a segfault.
19:57:50 <pikhq> 4 puts (q (strlen(v[1]),1[v]));
19:58:03 <pikhq> That line, before q gets called, is causing a segfault.
19:59:08 <pikhq> And now my recursion is done wrong.
20:02:00 <pikhq> q(3, "c") gets called.
20:02:09 <ehird`> do you subtract from length each recurse?
20:02:23 <pikhq> I do strlen with recurse.
20:02:31 <ehird`> right, well don't i think
20:02:33 <ehird`> just subtract manually
20:02:42 <ehird`> (gcc 3.4.4 good enough to compile this? I assume so :P)
20:06:52 <pikhq> Now to figure out how q(3,"cba") calls q(1,"\0x01") and q(1,"c"). . .
20:07:49 <pikhq> Although it's easy to see how it segfaults.
20:08:10 <pikhq> That first line's return s;? Yeah, s gets freed in that return. ;)
20:08:39 * ehird` presses Next >, hopes cygwin server doesn't suck
20:08:42 <pikhq> Now, I've just got a fucked up quicksort.
20:09:04 <pikhq> (fucked up, as in "returns 'c\0x01' for 'cba'")
20:09:11 * ehird` is installing cygwin on this machine out of frustration
20:09:17 <ehird`> i'll compile and debug your code soon, pikhq ;)
20:09:32 <ehird`> (right after laughing at xeyes working on windows)
20:10:12 <pikhq> Latest version uploaded.
20:10:40 * ehird` wonders how big an x11 binary is
20:10:55 <ehird`> thank god i'm getting rxvt-unicode though
20:10:59 <ehird`> i am getting tired of cmd
20:12:27 <ehird`> cygwin 30%, not to obad
20:22:24 * pikhq thumbtwiddles, refusing to work on it for a while
20:22:46 <ehird`> i'll be more help when cygwin installs
20:26:25 <ehird`> I closed it by mistake...
20:26:35 <ehird`> and lost all the package selections :'(
20:28:16 * ehird` goes through the whole list again
20:28:20 <ehird`> thankfully! it doesn't have to redownload.
20:28:24 <ehird`> it saves all the files it's downloaded.
20:28:28 <ehird`> but... i have to remember WHAT i wanted..
20:29:05 <oerjan> i guess that's a good rule in general: always remember what you want
20:29:17 * ehird` hunts down where cygwin1.dll was
20:29:24 <ehird`> it crapped out on that at some point too
20:30:59 <ehird`> cmd tab completion - and cygwin setup - finds c:\windows\system32\cygwin1.dll
20:33:07 <ehird`> it isn't in explorer's list or `dir`
20:33:13 <ehird`> yet setup.exe sees it, and so does notepad
20:33:17 <ehird`> and del claims Could Not Find
20:33:22 <ehird`> lolololololololololol.
20:36:04 <oerjan> wild guess: maybe it's a hidden file?
20:36:22 <ehird`> del removes hidden files and i have hidden files to show in explorer
20:43:00 <ehird`> now to remember which packages i did
20:43:07 <ehird`> pikhq: soon, soon, i'll help ;)
20:44:02 <ehird`> i wish cygwin would look BEFORE installing all that crap though
20:53:37 <ehird`> on to post-install, pikhq
20:53:46 <ehird`> i shall be gcc&gdb-helpering you very soon :P
20:54:35 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
20:54:41 <ehird`> that's not the point, i mean just cygwin :P
20:54:55 * ehird` starts rxvt-unicode, hopes
20:55:45 <ehird`> gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
20:55:58 -!- Tritonio has joined.
20:58:41 <pikhq> Any reason for Cygwin having GDC?
21:00:52 <ehird`> because it has software
21:01:56 * ehird` gets himself some of dat urxvt runnin'
21:02:21 <oklopol> YOU ARE TALKING :OOOOOOOOO
21:08:37 <ehird`> its frozen up the start menu
21:09:53 <ehird`> time to make an urxvt shortcut
21:19:29 <lament> i'm currently suffering without it
21:19:56 * ehird` asks in #cygwin how to make the shortcut
21:28:40 <pikhq> But she's an *RMS* groupie.
21:28:44 <pikhq> You sure you want that?
21:29:29 <ehird`> you know what? i hate you
21:29:36 <pikhq> oerjan: Reenacting xkcd. ;)
21:29:47 <ehird`> http://upload.wikimedia.org/wikipedia/commons/c/cf/Portrait_-_Denmark_DTU_2007-3-31.jpg sexy rms!
21:31:14 <ehird`> http://upload.wikimedia.org/wikipedia/commons/6/64/Wikimania_stallman_keynote2.jpg
21:32:41 <pikhq> If he cut his hair & bear, he'd probably lose a good 20 pounds. :p
21:33:19 <ehird`> this is all academic, rms is a crazy hobo and would kill you for even suggesting that he is not perfect
21:33:48 <bsmntbombdood> because cutting his hair and beard would make him not rms
21:34:01 <ehird`> i think that would be a good thing
21:39:40 -!- RedDak has joined.
21:41:37 -!- puzzlet_ has quit (Remote closed the connection).
21:41:38 -!- puzzlet has joined.
21:43:34 <pikhq> ehird`: Any ideas?
21:44:09 <ehird`> pikhq: asking in #cygwin
21:48:09 <ehird`> pikhq: okies here goes
21:48:24 <ehird`> sorry for, heh, taking 2 hours
21:49:28 <ehird`> your problem seems to be
21:49:37 <ehird`> is that q has a type of int, by default
21:49:40 <ehird`> so, when it returns the string
21:49:43 <ehird`> it returns (int)string
21:49:49 <ehird`> and then puts(an_int) is called
21:49:57 <ehird`> gcc just told me this when i compiled it.
21:51:36 <ehird`> n>2?0: ({return strdup(s);}); does not do what you think it does
21:51:43 <ehird`> you want: (n>2)?0: ({return strdup(s);});
21:52:02 <ehird`> n > (2 ? 0 : NEVER EXECUTED)
21:52:30 <ehird`> at least, i think so, pikhq
21:53:10 <ehird`> ok, you are doing something wrong with l and g
21:53:18 <ehird`> since they become things like "0K\020ac^\200|{j\020@"
21:53:27 <ehird`> pikhq: i doubt any of that is helpful, but :)
22:00:00 <pikhq> I know something is wrong with l and g; that much is obvious. :p
22:05:56 <ehird`> x[s] is just checking the first character isn't 0, so i can safely assume the first block is being executed... let me see...
22:06:13 <ehird`> p is half-way through the string, the pivot...
22:06:33 <ehird`> if we are earlier than the pivot in the string, ...
22:06:38 <ehird`> ok, that's not fucking up obviously :P
22:06:57 <ehird`> if this is less than the pivot
22:07:09 <pikhq> BTW, that q returns an int doesn't matter. . . The call to puts makes it basically puts((char*)(int)(char*)"foo");. ;)'
22:07:10 <ehird`> pikhq: you mean: if x[s] <= p
22:07:42 <ehird`> i'll make that change in my copy so You Don't Have To
22:07:51 <pikhq> That makes it output ac instead of abc. ;)
22:08:08 <ehird`> right, i think it's because of the \0 at the end of the strings
22:08:15 <ehird`> strip it somehow, so that n is actually the length of s
22:09:04 <ehird`> you aren't clearing out g[n] and l[n] to 0.
22:09:09 <ehird`> you should zero them out
22:09:16 <ehird`> memzero if i am not mistaken
22:10:12 <pikhq> *That* is a signifigant issue.
22:10:24 <pikhq> Heisenbugs will abound because of that mistake. . .
22:10:26 <ehird`> which? the \0 on the string or the non-zeroing-out g and l
22:10:43 <pikhq> Non-zeroing-out g and l.
22:11:08 <ehird`> upload a new version its a major enough change after that =)
22:11:32 <pikhq> Now, what's a good esoteric way to add in bzero?
22:11:53 <ehird`> just do memzero(ptr, size)
22:12:00 <pikhq> bzero, not memzero.
22:12:09 <pikhq> I want it esotericy, though.
22:12:38 <ehird`> bzero(bzero(g,n)&&l,n)
22:13:05 <ehird`> why not just memset(ptr,0,n)
22:13:51 <pikhq> Deprecated is even more cause for it. ;)
22:14:05 <ehird`> oh come on, esoterica yes but we don't want to make this break in the future ;)
22:14:25 <pikhq> My function definitions are already depricated.
22:15:08 <pikhq> BTW, void value not ignored as it should be for your suggestion. ;)
22:15:31 <ehird`> bzero((bzero(g,n)&&l)||l,n)
22:15:44 <ehird`> you could probably use & and |
22:15:46 <pikhq> bzero returns void.
22:15:56 <ehird`> fit some bitwise pointer arithmetic in there
22:16:31 <pikhq> Memset, however, returns void*. ;)
22:17:31 <pikhq> I'll use both and some bitwise stuff. ;)
22:17:45 <ehird`> (um, does this still fit in 4 72-character lines?)
22:18:29 <ehird`> i'll compress the current version to see
22:19:22 <pikhq> Still a Heisenbug, though. . .
22:19:31 <pikhq> cba, sorted, is apparently bac.
22:19:46 <pikhq> And acb is a segfault.
22:19:58 <pikhq> Uploaded the new one, though.
22:20:12 <ehird`> let me tell you something
22:20:16 <ehird`> run in gdb and step over
22:20:24 <ehird`> when a nested q call is made
22:20:31 <ehird`> you will see that, the strings have loads of garbage
22:21:34 <ehird`> http://www.nonlogic.org/dump/text/1193001671.html
22:21:39 <ehird`> please ignore the automatic indesntation...
22:21:47 <pikhq> I'm getting just q(1, "c") and q(2, "ba") called.
22:22:18 <pikhq> s/(n>2)/(n>1)/. . .
22:22:19 <ehird`> when yu copy to the two arrays
22:22:25 <ehird`> you don't copy the whole thing
22:22:54 <pikhq> The behavior you're trying to explain does not *exist* here. . .
22:23:08 <ehird`> solutions: 1. pass i and j instead of a strlen
22:23:19 <pikhq> ./a.out cba sorts right.
22:23:34 <pikhq> Everything else. . . Segfaults.
22:24:26 <ehird`> it sorts to acb though
22:24:38 <pikhq> I'm getting infinite recursions.
22:24:57 <pikhq> Which is causing the segfault.
22:26:00 <pikhq> Although I must salute my system for going through at least 25473 recursions.
22:26:55 <pikhq> Still have infinite recursions.
22:27:01 <pikhq> (n>1)?0: ({return strdup(s);});
22:27:10 <pikhq> This is the offending line, I fear.
22:27:14 <ehird`> pikhq: are you sure that actually returns
22:27:19 <ehird`> i think it'll only return from the {} block
22:27:47 <pikhq> Otherwise, it goes on.
22:27:58 <pikhq> See what happens with q(2, "ab"). . .
22:28:02 <ehird`> ok, let's just go through this mechanically:
22:28:09 <ehird`> let's use "hello" as arguments
22:28:20 <ehird`> now, lots of stuff goes okay, then we recurse into n=1,s="o"
22:28:30 <ehird`> this goes fine and returns
22:28:34 <ehird`> now, we get into n=4 s="hell"
22:28:46 <pikhq> The pivot is l again.
22:28:59 <pikhq> Thus, we get to n=4, s="hell".
22:29:32 <ehird`> then we get to... n=4 s="hell\002"
22:29:43 <pikhq> Just n=4 s="hell" over here.
22:29:54 <ehird`> maybe it's because i modified my version
22:30:01 <pikhq> Which obviously loops forever.
22:30:44 <ehird`> i'll try and write a better pivot
22:30:50 -!- oerjan has quit ("Good night").
22:31:55 <ehird`> how about we just make it choose a random pivot :-)
22:33:32 <pikhq> q (n=3, s=0x7ffff7ac6580 "abc��\177") at quick.c:9
22:33:56 <ehird`> yeah i think we have a problem here
22:34:16 <ehird`> hey, how about you ask #c? AHAHAHAHAHAHAHAHAHAHAHAHAHAHAH-ehm.
22:34:28 <ehird`> (also known as the least helpful channel on freenode)
22:34:52 <ehird`> i wonder if poppavic still goes there, he had a really good continuous stream of nonsense generator installed in his brain
22:35:35 <pikhq> How's about p = (rand()%n)[s] instead of p=rand(). :p
22:35:43 <ehird`> ooh, interesting idea ;)
22:35:49 <ehird`> doesn't rand() return, uh, a float?
22:36:07 <pikhq> It returns an int from 0 to MAXINT.
22:36:30 <pikhq> There should be a better pivot selection, though.
22:36:42 <ehird`> this new version with random pivot
22:37:03 <pikhq> Maybe you've got other changes?
22:37:11 <ehird`> also it sorts hello to hello
22:37:19 <pikhq> New version uploaded.
22:37:24 <ehird`> http://www.nonlogic.org/dump/text/1193002622.html mine
22:37:32 <pikhq> It segfaults on hello, though.
22:37:58 <jix> does it sort bytes?
22:38:23 <pikhq> It sorts cbaefgh to, alternately, abcefgh, segfault, and abce�fg.
22:38:42 <ehird`> i just tried it three times
22:38:57 <pikhq> You need (n>1), not (n>2).
22:39:02 <ehird`> so you're doing things with the pivot wrong
22:39:05 <ehird`> i just downloaded your version
22:39:37 <ehird`> fix what you're doing with the pivot :P
22:39:42 <ehird`> because ANY pivot should work
22:40:13 <pikhq> *Should*, not is. ;)
22:40:39 <ehird`> i'm going to write CRAZYSORT!
22:40:46 <ehird`> which is my crazy sort algorithm which is like a fucked up quicksort
22:42:16 <pikhq> I've discovered that, somehow, having two elements equal to each other *guarantees* a segfault.
22:43:15 <pikhq> And it's still heisenning.
22:44:42 <bsmntbombdood> The Missed Symphony - Classical Mushroom - Infected Mushroom
22:51:44 * pikhq still doesn't see *what* is fucked up here
22:53:48 <ehird`> tee hee my algorithm is really funny
22:54:05 <ehird`> it's basically quicksort, except the pivot is the first element, and i only sort the right list
22:55:31 <ehird`> http://fabrice.bellard.free.fr/otcc/
22:55:38 <ehird`> i might write a compiler like that
22:55:51 <ehird`> compiles just a small enough subset of c to do basic stuff and compile itself
22:56:00 <pikhq> It may help to have a pivot that's *in the list*.
22:56:44 <pikhq> That doesn't explain the infinite recursion of sorting "ab", though.
22:58:05 <pikhq> Sure, it select b as the pivot. . .
22:58:12 <ehird`> hmm, actually a c compiler should actually be TRIVIAL to write...
22:58:16 <ehird`> a simple, old-style one
22:58:26 <ehird`> especially the parsing, you could write a very simple parser by hand
22:59:06 <ehird`> i mean, what does it take to parse: NAME "(" [NAME ","...] ")" VARS BLOCK?
22:59:28 <ehird`> i'd bet the parser for functions would just be a few lines, and only need to call the name, maybe namelist, declarations and the block parser
22:59:37 <ehird`> plus it isn't exactly hard to compile...
23:02:03 -!- GreaseMonkey has joined.
23:02:49 <pikhq> I suspect that my quicksort implementation has something fundamentally wrong.
23:03:22 <ehird`> hmm, otcc, unobfuscated, with all comments and whitespace, is just 632 lines
23:03:26 <ehird`> and it compiles itself
23:03:41 <pikhq> Otcc, unobfuscated, is what we call "tcc".
23:03:57 <pikhq> By the same guy. . .
23:04:04 <ehird`> http://fabrice.bellard.free.fr/otcc/
23:04:09 <ehird`> he officially provides non-obfuscated versions
23:04:09 <pikhq> And from the same code base. . .
23:04:12 <ehird`> not just a link to tcc
23:04:15 <ehird`> they're different, ok?!
23:04:25 <ehird`> otcc is a lot simpler and only compiles basic code
23:04:28 <pikhq> Although tcc has had many features added since he started on tcc and otcc.
23:04:40 <ehird`> exactly, they're practically seperate now
23:05:11 <ehird`> it's way different from tcc
23:05:16 <ehird`> and much easier to read for me
23:05:20 <ehird`> and also very very VERY tiny
23:09:37 <jix> i did a program that sorts the byte of argv[1] in 144 bytes
23:10:26 <jix> it runs in linear time
23:10:34 <ehird`> some sort of trick, then? ;)
23:10:56 <jix> bucket sort
23:11:08 <jix> the number of different items that can be sorted is finite
23:11:13 <jix> so it can be done in linear time
23:11:23 <jix> and as the number is small it can be done very fast in linear time
23:11:32 <jix> main(c,v)unsigned char**v;{unsigned int q[256],x=0;++v;while(255&++x)x[q]=0;while(**v)++q[*(*v)++];while(255&--x)while(q[x]--)*--*v=x;puts(*v);}
23:14:15 -!- RedDak has quit (Remote closed the connection).
23:16:19 <jix> how it works should be obvious from the source
23:17:26 <jix> uh the ints don't have to be unsigned
23:17:40 <jix> main(c,v)unsigned char**v;{int q[256],x=0;++v;while(255&++x)x[q]=0;while(**v)++q[*(*v)++];while(255&--x)while(q[x]--)*--*v=x;puts(*v);}
23:22:33 <ehird`> pikhq: how is it doing?
23:22:42 <ehird`> sum(list)/length(list)
23:22:50 <ehird`> probably too long to run btu eh
23:23:24 <pikhq> strcat() is a bad choice for combining the two strings. . .
23:29:16 -!- jix has quit ("CommandQ").
23:34:07 -!- puzzlet_ has joined.
23:34:07 -!- puzzlet has quit (Remote closed the connection).
23:34:25 <ehird`> someone propose an esoteric and silly sorting algorithm idea so i can implement it :P
23:40:55 <ehird`> stooge sort is a joke sort
23:41:05 <ehird`> bubble sort really sucks anyway :P
23:41:24 <bsmntbombdood> the knuth one i'm thinking of has factorial time complexity
23:41:55 <bsmntbombdood> it rearanges the array randomly untill it's sorted
23:45:46 <bsmntbombdood> "Satanic music, jazz, and swing, result from marijuana use."
23:46:19 <ehird`> haha where's that from
23:46:24 <ehird`> (... it is satirical right?)
23:47:15 <bsmntbombdood> direct quote from the commisioner of the burea of narcotics
23:48:40 <ehird`> "...the primary reason to outlaw marijuana is its effect on the degenerate races."
23:49:10 <ehird`> he appears to mention nothing about the obviously superior whites using ti :P
23:50:57 <ehird`> however that heartbone.com site is kind of kooky, it has a link on the home page: Theory on the fundamental nature of the physical universe, which links to a page with many animated "UNDER CONSTRUCTION" gifs and the title "HeartBone Physical Universe Theory Page"
23:51:49 <ehird`> "THE PHYSICAL UNIVERSE IS COMPOSED OF 2 PARTS POT AND ONE PART WHOOOAAA DUDE" -- leaked copy of the theory
23:56:09 <ehird`> haha i'm throwing random shuffling code together and calling it a sorting algorithm
23:56:26 <ehird`> my favourite so far is BONOSORT!
23:57:32 -!- sebbu has quit ("@+").
23:57:37 <ehird`> get an output list and an appended list. reverse the list. for every index i in the list, if i is the last element in the list, skip this. otherwise, if the element is greater than the next element of the list and the next index in the list is not in appended, append the next element to the result and append the next index to appended. then: if i is not in appended, append the element to the result
23:57:43 <ehird`> it produces... something that isn't sorted :D