00:01:52 <ihope_> dhcp03181.mid-resnet.unc.edu = Aftran.
00:28:20 -!- oerjan has quit ("Good night").
00:32:50 <Razor-X> I have a whole bunch of fun programming projects planned.
00:40:57 <Razor-X> A revision of my old IRC bot in Scheme, an LZW compression test in Forth, the NN science project of course, and attempting to reverse engineer my old scanner.
00:42:38 <Razor-X> Yeah. There are some features I just didn't want to code in Haskell, plus I thought I'd give the code a rewrite anywho.
00:42:57 <Razor-X> I had a bit of free time left over yesterday and just rewrote the parser.
00:45:28 <ihope_> What's the shrink on LZW, optimally?
00:45:45 <Razor-X> I don't quite remember, but it's not all that good, I believe.
00:45:51 <Razor-X> LZW is just really really simple.
00:46:24 <Razor-X> Although, I would imagine that it is pretty good if you apply delta encoding to the data first, assuming the data is more-or-less contiguous.
00:47:47 * ihope_ LZW-encodes a series of 3
00:48:45 <ihope_> Make that a series of |.
00:48:51 <ihope_> It's almost a series of tubes.
00:51:22 <ihope_> Does | look clogged to you?
00:51:41 <ihope_> ! is a clogged tube. That little space near the bottom is an internet.
00:52:14 <ihope_> Anyway, LZW seems to be square root.
00:55:41 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:55:43 <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:56:49 -!- EgoBot has quit (Excess Flood).
00:57:20 -!- EgoBot has joined.
00:59:36 <Razor-X> Not really. We find creative ways to kill EgoBot all the time.
00:59:47 <Razor-X> And I discovered that bug a long time ago. I guess GregorR's gotten lazy.
01:00:59 -!- tgwizard has quit (Remote closed the connection).
01:06:31 <GregorR-L> My solution was to make it reload if it fails ;)
01:07:47 <EgoBot> ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!
01:12:11 <ihope_> Here, have an alphabet: " .Ladeilmoprstu"
01:12:58 <ihope_> Have some numbers as well: 2, 9, 11, 5, 8, 0, 6, 10, 12, 14, 19, 4, 9, 7, 16, 0, 12, 6, 13, 0, 3, 8, 5, 13, 1
01:13:42 <ihope_> Each number is the index of the wanted character in that alphabet.
01:13:59 <ihope_> You guess what 16 and 19 are.
01:15:34 <ihope_> Here, have a partially decoded string: "Lorem ipsu[19]dol[16] sit amet."
01:16:10 <ihope_> Why not make " .LadeilmoprstuLorem ipsu[19]dol[16] sit amet." an alphabet, too?
01:16:55 <ihope_> Then, as long as you do it right, 16 and 19 will index to "or" and "m ", respectively.
01:24:52 <ihope_> Hey, why don't we run LZW output through a Huffman thingy?
01:25:10 <ihope_> (I'm sure we all love Huffman thingies.)
01:28:50 -!- GregorR-L has quit ("Leaving").
01:40:37 -!- Arrogant has joined.
01:47:41 -!- Sgeo has quit (Remote closed the connection).
01:48:48 <ihope_> Now, if one ran LZW over Huffman codes...
01:49:57 * ihope_ gets bored and implements LZW in Haskell instead of this boring stuff
01:50:32 <ihope_> where boringStuff = filter javaApplets (`isRelatedTo` lzw)
01:52:13 <ihope_> Actually, maybe I'd rather not do that.
02:05:48 -!- Arrogant has quit ("Leaving").
02:36:20 <ihope_> Huffman codes over LZW?
02:45:13 <SimonRC> I suppose I ought to post this here too:
02:45:15 <SimonRC> http://www.youtube.com/watch?v=AyvrqcxNIFs
02:45:17 <SimonRC> Title: _UCLA Police Taser Student in Powell_ Length: 06:53
02:45:18 <SimonRC> the length and title say it all, really
02:48:11 <SimonRC> Can you say "bystander effect"?
02:49:29 <SimonRC> http://en.wikipedia.org/wiki/Bystander_effect
02:50:30 <RodgerTheGreat> I was just talking about this with a friend of mine earlier today.
02:50:45 <bsmntbombdood> Yeah I was supprised that the other kids didn't do anything
02:53:12 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
02:53:50 <SimonRC> bsmntbombdood: Oh, and you'd be different?
02:55:08 <SimonRC> I'm not even going to bother responding to that, except with this sentance, which, in saying what is does, is actually quite a response.
03:00:30 <RodgerTheGreat> bsmntbombdood: a major contributing factor to others not stepping in to help is the fact that the officers could easily have tazed anyone who tried to interfere as well.
03:01:24 <RodgerTheGreat> it's one thing to try to help someone, it's another to stand up to someone with a weapon.
04:54:11 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
05:12:09 -!- puzzlet_ has joined.
05:15:51 -!- GregorR-L has joined.
05:20:31 -!- puzzlet_ has quit (Read error: 54 (Connection reset by peer)).
05:30:06 -!- puzzlet_ has joined.
05:35:51 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
05:43:04 -!- puzzlet_ has joined.
06:29:36 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
06:31:46 -!- sekhmet has joined.
06:31:46 -!- Razor-X has joined.
06:31:46 -!- RodgerTheGreat has joined.
06:31:46 -!- Eidolos has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:03:20 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
09:03:20 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
09:03:21 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
09:03:21 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
09:03:34 -!- CXII has joined.
09:03:34 -!- sekhmet has joined.
09:03:34 -!- Razor-X has joined.
09:03:34 -!- RodgerTheGreat has joined.
09:03:34 -!- Eidolos has joined.
09:03:50 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
09:08:22 -!- GregorR-L has quit ("Leaving").
09:14:22 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- CXII has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
09:14:24 -!- puzzlet_ has quit (orwell.freenode.net irc.freenode.net).
09:14:24 -!- bsmntbombdood has quit (orwell.freenode.net irc.freenode.net).
09:14:25 -!- ihope_ has quit (orwell.freenode.net irc.freenode.net).
09:14:28 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
09:14:43 -!- Eidolos has joined.
09:14:43 -!- RodgerTheGreat has joined.
09:14:43 -!- Razor-X has joined.
09:14:43 -!- sekhmet has joined.
09:14:43 -!- CXII has joined.
09:14:43 -!- puzzlet_ has joined.
09:14:43 -!- ihope_ has joined.
09:14:43 -!- bsmntbombdood has joined.
09:14:43 -!- mtve has joined.
09:51:19 -!- jix_ has joined.
11:11:28 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC has never been so good").
11:34:37 -!- tgwizard has joined.
14:09:04 -!- jix__ has joined.
14:26:49 -!- jix_ has quit (Read error: 110 (Connection timed out)).
16:08:06 -!- cmeme has quit (Excess Flood).
16:09:27 -!- cmeme has joined.
16:21:02 -!- Sgeo has joined.
16:36:56 -!- CakeProphet has changed nick to UnregisteredNick.
16:37:39 -!- UnregisteredNick has changed nick to CakeProphet.
16:38:12 -!- CakeProphet has changed nick to SevenInchBread.
17:19:11 -!- meatmanek has quit (orwell.freenode.net irc.freenode.net).
17:20:31 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
17:29:49 -!- meatmanek has joined.
17:36:49 -!- meatmanek has quit (orwell.freenode.net irc.freenode.net).
17:36:49 -!- pgimeno has quit (Read error: 131 (Connection reset by peer)).
17:37:09 -!- meatmanek has joined.
17:41:45 -!- rt has quit ("ircII EPIC5-0.2.0 -- Are we there yet?").
17:53:53 -!- pgimeno has joined.
18:04:09 -!- oerjan has joined.
18:44:54 -!- oerjan has quit ("Later").
18:47:13 -!- Asztal has joined.
18:52:13 <Asztal> doesn't Brainfuck have a fixed amount of cells (30000)?
18:53:18 <Asztal> meaning you would have a really hard time storing the hosted program's data and the interpreter's state at the same time
19:04:55 <bsmntbombdood> You don't need two pointers, you need a stack to keep the pointers on
19:05:45 <SevenInchBread> with two new commands. "@" switches the control over to the other pointer.... and "&" calls the subroutine with a label that matches the number in the current cell.... using the inactive pointers cell value as input.
19:05:53 <SevenInchBread> yes... overly elaborate and confusing... I like my idea.
19:06:17 <jix__> this game http://method-missing.org/2006/shmup-status-report-1 searches a name.. someone has an idea?
19:07:08 <SevenInchBread> in subroutines... ; would represent the functions input... and , would return a value
19:10:12 <SevenInchBread> it woudl be more powerful... since you're no longer limited to a single linear sequence of cells... you can "break it up" into subroutines... so it would be easier to organize and work with.
19:12:38 -!- wezyap has joined.
19:13:28 -!- GregorR has quit (Read error: 60 (Operation timed out)).
19:13:28 -!- EgoBot has quit (Connection timed out).
19:27:50 <SevenInchBread> I don't understand why Brainfuck interpreters use a limited array size.
19:34:30 <lindi-> SevenInchBread: if the memory is limited then it's simply impossible to interpret all brainfuck programs with a brainfuck interpreter
19:34:49 <lindi-> depending on how you define "interpret" of course
19:40:45 <RodgerTheGreat> in some cases, an arbitrary memory size is easier to implement- remember, the language was designed to be implemented in the smallest possible compiler. 30000 cells is simply a number that people agree is sufficient for most tasks, and supported as a standard.
19:42:44 <RodgerTheGreat> I did a one-liner in perl earlier, mainly because I'd assumed that's how perl coders usually finish their code.
19:43:43 <RodgerTheGreat> I think perl users and BF users have a common appreciation for the "neat code block" way of displaying their work.
19:46:38 <RodgerTheGreat> the only thing that tripped me up in writing it was forgetting that perl uses eq for string comparison, rather than ==.
19:47:36 <RodgerTheGreat> and I thought you'd be more interested in the structure of the program than it's formatting
19:50:35 <SevenInchBread> because they just sort... of... don't work like that. *scratches head*
19:52:48 <RodgerTheGreat> regular expressions can make logical comparisons, so I'll bet that if you combined a while-loop and a regex, you could simulate a universal turing machine
19:53:06 <RodgerTheGreat> symbolic rewriting was the basis of turing machines to begin with
19:53:33 -!- tgwizard has quit (Remote closed the connection).
20:09:00 <Asztal> so you're saying that there might be a regular expression that, if appled enough times, could mutate some input into a list of fibonacci numbers?
20:09:09 <Asztal> because that would be awesome :D
20:09:39 <SevenInchBread> hmmm... creating a bf interpreter in one expression is proving to be a puzzle...
20:10:06 <SevenInchBread> ambda bf: [lambda x, y: ((x + 1 if com == "<" else (x - 1 if com == ">"), (((y + 1 if y < 255 else 0) if com == "+" else ((y - 1 if y > 0 else 255) if com == "-") if com != "," else ord(raw_input("Enter a character as input:"))), (1 if com == "." else 0))))]
20:10:55 <SevenInchBread> it just takes the pointer location x and the size of a cell 1 and does stuff to it...
20:12:34 <SevenInchBread> In order to do this WITHOUT making my head explode... I'm going to need to utilize at least two lines.
20:14:36 <SevenInchBread> one line being a lambda function that returns a sequence representing the current cell, current cell value, and whether or not to print the cell value...
20:15:36 <RodgerTheGreat> Asztal: yeah, that's the idea- I'm pretty sure it ought to be possible.
20:17:06 -!- calamari has joined.
20:18:59 <RodgerTheGreat> calamari: how familiar are you with regular expressions?
20:20:37 <Asztal> I want to write one that adds two numbers together, that should be a nice first regex
20:20:41 <RodgerTheGreat> I'm pondering the turing-completeness of a string substitution regular expression wrapped in a loop.
20:20:48 -!- GregorR-L has joined.
20:21:18 <RodgerTheGreat> I'm thinking math might be simpler to implement if you used binary or something- fewer symbols to bother with.
20:21:58 <RodgerTheGreat> you effectively have to hardcode every two-digit pairing to handle carrying, and the rest is pretty simple.
20:22:40 <calamari> well, if I remember correctly, a single loop is enough
20:22:53 <Asztal> I was going to ask how to pick the last digit pair in the string, but I just realised how easy that is :/
20:23:17 <calamari> but obviously for some langs, one loop isn't enough.. bf
20:23:22 <RodgerTheGreat> calamari: correct, as we learned from the turing completeness proof for the Z3/
20:24:10 <calamari> can you change an arbitrary memory location?
20:24:32 -!- cmeme has quit (Connection reset by peer).
20:24:39 <RodgerTheGreat> it was actually more subtle than that- let me see if I can find the article again.
20:24:56 <calamari> seems like you'd have to know the value you wanted to change in order to change it
20:25:09 <RodgerTheGreat> http://www.zib.de/zuse/Inhalt/Kommentare/Html/0684/universal2.html
20:25:12 -!- cmeme has joined.
20:25:42 -!- cmeme has quit (Read error: 131 (Connection reset by peer)).
20:26:14 -!- cmeme has joined.
20:26:20 <calamari> I remember rewriting a bf interpreter to only use one loop
20:27:18 <RodgerTheGreat> I'll bet that with a suitably insane coding technique, you could code a UTM in BF with only one loop.
20:28:10 <calamari> looks like I used if statements
20:28:28 <SimonRC> with 8-bit cells, it would either loop forever or loop at most 255 times
20:28:47 <GregorR-L> Push [s as you hit them, pop ]s as you hit them.
20:29:12 <GregorR-L> Oh wait, we're talking about two different things **
20:29:25 <calamari> GregorR-L: <RodgerTheGreat> I'm pondering the turing-completeness of a string substitution regular expression wrapped in a loop.
20:29:31 <RodgerTheGreat> yes, the Z3 solution depends on having multiplication and division, from which conditional logic can be abstracted- and then there's the halting problem.
20:29:50 <RodgerTheGreat> I'm inclined to agree with SimonRC now that I think about it more.
20:31:58 <SimonRC> RodgerTheGreat: Regular expressions aren't Turing complete. Regular expression matching is decidable (it is in NP) but Turing machines are not genarally decidable. Regexes, OTOH...
20:33:54 <SimonRC> RodgerTheGreat: ah, wait, you've now started talking about substitution, which is a regex thing not a regular expression thing.
20:34:54 <calamari> I'm pretty sure regex is short for regular expression
20:35:46 <calamari> so, <SimonRC> RodgerTheGreat: ah, wait, you've now started talking about substitution, which is a regular expression thing not a regular expression thing.
20:35:47 <SimonRC> it used to be, but any decent regex engine allows more powerful things than just regular expressions.
20:35:50 <GregorR-L> However a regular expression engine can have any range of powers, and a "regular expression" is just a pattern matching thing, so substitution has nothing to do with "regular expessions," it's just a power of the regex engine.
20:36:23 * SimonRC is making the same distinction Wall did.
20:36:55 <RodgerTheGreat> ah, ok- thank you for clearing up any confusion regarding my use of terminology.
20:38:07 <SimonRC> aha, here is an example: \n Where n is a digit from 1 to 9; matches what the nth marked subexpression matched. This construct is theoretically irregular and has not been adopted in the extended regular expression syntax.
20:38:25 <Asztal> why couldn't we have 2 fingers, it would make my current one much simpler.
20:38:32 <SimonRC> the \n syntax expresses something impossible in regular expresions but possible in regexes
20:42:52 <SimonRC> And here is where I'm getting the Larry Wall definition from: http://dev.perl.org/perl6/doc/design/apo/A05.html
20:43:19 <SimonRC> "... generally having to do with what we call "regular expressions", which are only marginally related to real regular expressions. Nevertheless, the term has grown with the capabilities of our pattern matching engines, so I'm not going to try to fight linguistic necessity here. I will, however, generally call them "regexes" (or "regexen", when I'm in an Anglo-Saxon mood)."
21:11:01 -!- ivan` has joined.
21:14:41 -!- wezyap has quit (Remote closed the connection).
21:54:06 -!- anonfunc has quit.
21:56:55 -!- GregorR-L has quit ("Leaving").
22:03:03 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
22:05:52 -!- Arrogant has joined.
22:28:51 -!- bluew has joined.
22:28:56 -!- bluew has left (?).
22:34:36 -!- calamari has quit ("Leaving").
23:04:31 -!- tgwizard has joined.
23:17:26 -!- Arrogant has quit ("Leaving").
23:20:55 -!- ivan` has changed nick to ivan.
23:21:22 -!- ivan has changed nick to ivan`.
23:33:52 -!- cmeme has quit ("Client terminated by server").
23:35:06 -!- bsmntbombdood has changed nick to xor.
23:35:14 -!- cmeme has joined.
23:41:49 -!- Asztal has joined.