00:00:20 <psygnisfive> ehird, what was the Golly program that you had that generated the dual gasket + randomness?
00:00:59 <psygnisfive> why dont you make it work and then send me the file
00:01:15 <oerjan> how long does it need to be? i tried some in mcell but i don't think i got it big enough.
00:01:20 <ehird> oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322
00:01:26 <ehird> Complete sierpinski program in Haskell.
00:01:30 <ehird> Including command line parsing :P
00:01:53 <ehird> good luck getting as pretty
00:02:02 <ehird> % runhaskell sierpinski.hs 30 30 a
00:02:02 <ehird> sierpinski.hs: usage: sierpinski [w h]
00:02:02 <oerjan> intercalate "\n" is unlines
00:02:05 <ehird> ermove "sierpinski"
00:02:31 <oerjan> well, except the final \n
00:02:53 <ehird> oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323
00:02:55 <ais523> what does unlines fo, anyway
00:03:06 <ehird> ais523: [[String]] -> [String]
00:03:21 <ehird> anyway, psygnisfive, if you can get it that elegant in that short as code I'll be very impressed
00:03:25 <ais523> as you may have guessed, I have a highlight on the word "INTERCAL"
00:03:27 <ehird> Haskell is exceedingly godo at this type of stuff
00:03:30 <ais523> and apparently it's case-insensitive
00:03:38 <psygnisfive> i suppose it depends on your notion of elegant ;)
00:03:52 <ehird> psygnisfive: end end end end end is very elegant.
00:04:07 <oerjan> ais523: intercalate is a recent addition, no more than a couple years
00:04:16 <ehird> fuck yeah indentation.
00:04:19 <ais523> ehird: I also have a highlight on the word "ais523"
00:04:30 <ais523> and no, indentation just messes up too many things that don't come up very often
00:04:43 <ais523> I've seen whitespace borkage far too often to be comfortable with it
00:05:30 <ais523> ehird: for instance, what if you're trying to type a python program over a serial cable by hand?
00:05:39 <ais523> you really don't want to have to type out the indentation in that case
00:05:48 <ais523> ehird: exactly, that's a limitation of the language
00:05:55 <ehird> % runhaskell sierpinski.hs 0 0
00:05:56 <ehird> hmm, an off by one
00:06:20 <ais523> normally not a problem, you can just automatically reindent
00:06:23 <ais523> huge problem in Python
00:06:34 <ehird> tabs in Python produce a warning
00:06:51 <ais523> ok, now you're just inflating code size for no reason
00:07:16 <ais523> ehird: whitespace is a substantial proportion of a typical python program
00:07:21 <ais523> especially at 4-space indentation
00:07:38 <ais523> so much for ehird's permanent pastes for helping logreaders things
00:07:44 <ais523> and use rafb.net, it annoys ehird
00:07:45 <ehird> rafb deletes permanently
00:07:48 <ehird> pastie just happens to be down
00:07:51 <ehird> psygnisfive: paste.lisp.org
00:09:07 <lament> two eyes live, one eye dies.
00:09:24 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323 is more readable, more elegant and quicker
00:09:32 <ehird> you missed command line arg processing
00:09:45 <psygnisfive> its not supposed to be command line bitch :|
00:09:51 <ehird> i could make it 2 lines of haskell, btw, but I was making it verbose and readable
00:09:52 <psygnisfive> i dont care about your ugly commandline shit
00:10:53 <ehird> sierpinski w h = [ [ x .&. y == 0 | x <- [0..w] ] | y <- [0..h] ]
00:10:55 <ehird> main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ sierpinski 30 30
00:10:57 <ehird> you could omit the sierpinski definition line:
00:11:08 <ehird> main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ [ [ x .&. y == 0 | x <- [0..30] ] | y <- [0..30] ]
00:11:31 <ehird> http://codepad.org/lQGGDWNZ <- on the #haskell codepad, newsham added me
00:12:03 <ais523> ehird: you're missing a * at the right and at the bottom
00:12:16 <psygnisfive> he just didnt go up to that start is all :p
00:12:24 <ehird> yeah, 31,31 would fix that
00:13:34 <ehird> psygnisfive: http://codepad.org/Y1PV2gVc
00:13:37 <ehird> newsham centered it :D
00:14:42 <ehird> anyway, very nice algorithm psygnisfive
00:14:51 <ehird> have you noticed how much the sierpinski definition resembles the mathematical one you gave?
00:14:55 <ehird> see, that's how awesome it is :P
00:15:15 <psygnisfive> i also discovered a way to generate a gasket inductively over a graph
00:15:32 <ehird> { (x,y) : x,y in N, &(x,y) = 0 }
00:15:32 <ehird> [ (x,y) | x <- [0..w], y <- [0..h], x .&. y == 0 ]
00:15:41 <ehird> first is your mathematical one, second is my haskell one
00:15:58 <psygnisfive> my first one was actually intended to be pseudohaskell from the beginning ;)
00:17:25 <ehird> I wonder what in the bitwise patterns gives rise to sierpinski
00:17:28 <ehird> It's the God fractal...
00:17:50 <ais523> ehird: clearly this is evidence that the universe is run by cellular automata!
00:18:16 <psygnisfive> 3: IFF (i,j) is of incoming degree 1, then ((i,j),(i+1,j)) and ((i,i),(i,j+1)) are in Edges
00:19:04 <psygnisfive> er.. that should obviously be (i,j) not (i,i) on the right there
00:19:17 -!- Jophish has quit (Read error: 104 (Connection reset by peer)).
00:21:25 <psygnisfive> theres also another very simple algorithm that produces an identical gasket
00:21:48 <psygnisfive> thats similarly simple but not as mathematically pure
00:22:43 <psygnisfive> and ofcourse the simple duplicate-to-form-a-new-item algorithm works
00:23:15 <psygnisfive> in a more general way so as to produce not just the sierpinski gasket but also the cantor set, etc.
00:44:27 -!- ais523 has quit (Remote closed the connection).
00:47:02 <oerjan> now that depends. is he rich?
00:47:51 <oerjan> i suspected the homosexual but i never really got it confirmed before
00:54:17 <ehird> haskell is fun like a kitten.
00:54:42 <psygnisfive> you're clearly either a girl, or a faggot.
00:55:26 <oerjan> you mean lesbians don't like kittens?
00:55:57 <oerjan> you learn something new every day
00:57:25 <psygnisfive> so i discovered a way to make a fuse in GoL
00:59:11 <ehird> psygnisfive: http://bash.org/?105356
01:00:21 <ehird> Then I must be permanently on meth.
01:00:59 <ehird> Omg, golly 2.0 is out
01:01:29 <ehird> it removes itself?
01:01:34 <ehird> yeah, a wavy horizontal line does that
01:03:14 <psygnisfive> for being so dorky that i cant talk about this shit with you
01:04:16 * oerjan swats psygnisfive's fingers for him -----###
01:08:13 <oklopol> also have i mentioned hardcover books are awesome
01:08:33 <oklopol> especially when they're really thick and clean
01:09:06 <oklopol> i should probably buy another one of those for just touching and licking
01:10:34 <oklopol> i'm a bibliophile in many senses
01:11:35 <oklopol> mmmm also when you open it, there's tons of shit i'll never understand, but it's so pretty
01:11:37 <ehird> "and then you'd just have giant red orbs flying around the planet that can eat up functional satelites katamari-style. "
01:11:42 <ehird> NAAA, NA NA NA NA NA NA NA
01:18:21 <ehird> oerjan: katamari damacy
01:18:53 <oerjan> well i've slightly heard of that, but it was the rest of it i wondered about
01:19:48 <oerjan> now if they could use it for cleaning up space junk... :D
01:24:23 <ehird> 00:23 Tseg: That makes sense. Here's my reference trick: mfix(f)=let r=newRef(Nothing) in ContIO(\to->in runIO(f(unJust(readRef(r))))(\v->do {writeIORef(r)(Just(v)); to(v)}))
01:24:25 <ehird> OH MY GOD IT IS C.
01:24:32 <ehird> oerjan: THAT IS HASKELL WTF
01:24:49 <comex> even I know that's bad Haskell
01:24:57 <ehird> he's a newbie from C
01:25:21 <comex> runIO $ f $ unJust $ readRef $ r
01:25:29 <ehird> "readRef $ r" fail
01:25:39 <ehird> runIO . f . unJust . readRef $ r
01:26:10 <comex> it's an operator that does nothing but it has a high precedence
01:26:20 <ehird> it doesn't do nothin
01:26:23 <ehird> () is the empty operator
01:26:35 <comex> that's the definition
01:26:37 <ehird> it's just that regular application is an infix operator with a 0-length name
01:26:40 <ehird> $ is an explicit name for it
01:26:51 <ehird> (and yes, I know that's a YO DAWG situation)
01:28:46 <oerjan> or strictly speaking, supdawgmorphism, which is dual to an infdawgmorphism
01:37:19 <comex> ehird: also, that is so much harder to read than runIO(f(unJust(readF(r))))
01:37:23 <comex> though much prettier
01:37:31 <comex> but less clear on what it's doing
02:09:20 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
02:19:29 -!- oklopol has quit (Read error: 60 (Operation timed out)).
02:24:52 -!- bsmntbombdood has joined.
02:36:20 -!- olsner has quit (Remote closed the connection).
02:45:06 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
02:45:06 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
02:45:06 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- kwertii has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
02:45:07 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
02:45:08 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- lament has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- GreaseMonkey has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
02:45:09 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
02:45:10 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
02:45:10 -!- oerjan has quit (calvino.freenode.net irc.freenode.net).
02:45:14 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
02:45:21 -!- oerjan has joined.
02:45:21 -!- lifthrasiir has joined.
02:46:37 -!- kerlo has quit (Remote closed the connection).
02:50:02 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
02:50:02 -!- oerjan has quit (calvino.freenode.net irc.freenode.net).
02:50:59 -!- lament has joined.
02:50:59 -!- kerlo_ has joined.
02:50:59 -!- lifthrasiir has joined.
02:50:59 -!- oerjan has joined.
02:50:59 -!- bsmntbombdood has joined.
02:50:59 -!- neldoreth has joined.
02:50:59 -!- kwertii has joined.
02:50:59 -!- GreaseMonkey has joined.
02:50:59 -!- Slereah has joined.
02:50:59 -!- MizardX has joined.
02:50:59 -!- psygnisfive has joined.
02:50:59 -!- Ilari has joined.
02:50:59 -!- fizzie has joined.
02:50:59 -!- fungot has joined.
02:50:59 -!- ehird has joined.
02:50:59 -!- AnMaster has joined.
02:51:00 -!- Azstal has joined.
02:51:00 -!- Leonidas has joined.
02:51:00 -!- Dewio has joined.
02:51:00 -!- GregorR has joined.
02:51:00 -!- Asztal has joined.
02:51:00 -!- sebbu has joined.
02:51:00 -!- mtve has joined.
02:51:00 -!- ineiros has joined.
02:51:00 -!- pikhq has joined.
02:51:00 -!- Robdgreat has joined.
02:51:00 -!- rodgort has joined.
02:51:00 -!- SimonRC has joined.
02:51:00 -!- dbc has joined.
02:51:00 -!- ski__ has joined.
02:51:00 -!- irc.freenode.net has set channel mode: +o lament.
02:53:05 -!- Deewiant_ has joined.
03:03:42 -!- Deewiant has quit (Connection timed out).
03:29:56 -!- Sgeo has joined.
03:54:06 -!- comex has quit (Read error: 113 (No route to host)).
04:17:35 -!- oerjan has quit ("Good night").
04:20:17 -!- sEvher has joined.
04:22:21 -!- sEvher has left (?).
04:37:21 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:38:11 -!- bsmntbombdood has joined.
04:38:40 -!- neldoreth has quit (Read error: 113 (No route to host)).
04:43:50 <bsmntbombdood> given a big directory of text, i need a fast way of searching it
04:55:56 <MizardX> unless it's sorted (or some known permutation of sorted) you can't go any quicker than grep
04:58:46 <MizardX> ... or has any other property you can exploit for speed
05:04:08 <MizardX> building the index + searching > grep
05:11:52 <MizardX> Anyhow, I don't know much about indexing, and am to tired to research it now. Good night.
05:39:49 -!- Sgeo has quit ("Leaving").
07:30:37 -!- kwertii has quit (Remote closed the connection).
07:30:50 -!- kwertii has joined.
07:32:28 -!- asiekierk has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:44 -!- neldoreth has joined.
08:20:24 -!- kwertii has quit ("bye").
08:28:01 -!- oklopol has joined.
08:40:07 -!- Deewiant_ has quit (calvino.freenode.net irc.freenode.net).
08:42:04 -!- Deewiant has joined.
09:15:06 <AnMaster> MizardX, building an index is a one time cost though, so once you done it you can use it several times
09:15:29 <AnMaster> but for a one time search a plain grep would be faster than first building the index
09:16:56 <AnMaster> that assumes the datset doesn't change, if it does you would need to rebuild (possibly partial, for text files you could speed up rebuild by skipping if modification time hasn the index.
09:17:30 <AnMaster> blergh at hitting enter instead of ' ...
09:18:50 <fizzie> Also indexing is non-trivial if you want to include things like stemming.
09:19:30 <fizzie> Not that there wouldn't be a pile of tools and libraries for that short of stuff.
09:19:46 <AnMaster> fizzie, grep is non-trivial if you want that too
09:19:55 <fizzie> Yes, but grep's already there always.
09:20:07 <fizzie> It's like a natural law; there's grep everywhere.
09:20:13 <AnMaster> fizzie, well I mean, you can't do stemming in grep afaik
09:20:32 <fizzie> Right, you meant that. Well, no.
09:21:07 <AnMaster> and if not the GNU tool then probably no other grep either. It's like a natural law; the GNU tools are always the most bloated ones.
09:21:32 <fizzie> Stemming in grep would be a bit over-the-top even for a GNU tool.
09:22:04 -!- tombom has joined.
09:22:05 <AnMaster> fizzie, anyway I don't know if it would be possible to use any sort of index for stuff like grep -E
09:22:23 <AnMaster> I suppose basic wildcards work with indexes. Or how would LIKE work in SQL?
09:23:14 <fizzie> At least PostgreSQL optimizes only LIKE expressions of the type "foo%" (i.e. prefix-matching) using indices.
09:23:46 <AnMaster> fizzie, what is the FTS stuff in postgre about btw?
09:23:51 <AnMaster> full text index or something iirc
09:23:59 <fizzie> "The optimizer can also use a B-tree index for queries involving the pattern matching operators LIKE and ~ if the pattern is a constant and is anchored to the beginning of the string — for example, col LIKE 'foo%' or col ~ '^foo', but not col LIKE '%bar'."
09:24:08 <fizzie> Yes, it's got a full-text-search thingie.
09:24:21 <AnMaster> is that for LIKE or for something else?
09:24:47 <fizzie> It's got a different way of making queries, pretty much a bag-of-words that you can search for.
09:25:15 <fizzie> And it works "the usual way", with a so-called inverted index: there's a mapping from words to "documents" where they occur.
09:26:16 <AnMaster> I suspect using indexes for regex would be hard
09:26:51 <fizzie> Yes; though you could possibly use them in some special cases to limit the amount of records that need to be actually tested with the real regex engine.
09:27:17 <AnMaster> "foo|bar|quux" would be trivial to use an index for for example
09:27:28 <AnMaster> wait is that valid? two "for" after each other...
09:29:39 <fizzie> I guess you could (in that particular case) match the words in your index (which is less text than the indexed stuff) against foo|bar|quux, and then select those places where they occur.
09:29:39 <AnMaster> btw, though I know the current xkcd is from yesterday I think it is much better than recent average
09:29:55 <AnMaster> (just forgot to comment on it yesteday in here)
09:30:25 <fizzie> A suffix tree is also nice if you really need a fast way of "check if this long piece of text exactly contains this arbitrary substring", but I think it takes more space (larger than the original text) than your general full-text-search inverted-index (which I think in reasonable use cases ends up being less; I think I saw a figure like "30 % of your data" in some Lucene documentation or something).
09:30:56 -!- GreaseMonkey has quit ("Client Excited").
09:31:28 <AnMaster> though I doubt that would help for regexes
09:31:48 <AnMaster> still, it is probably the fastest way to search in general.
09:32:56 <fizzie> Doesn't really help when all you've got is software, of course.
09:33:15 <fizzie> I think I'll go do an early-ish (10:33 local-time) lunch now.
09:33:33 <AnMaster> fizzie, it seems hard to speed up regex at all really
09:33:50 <AnMaster> compared to many other types of searches
09:34:23 <fizzie> Yes, I'd certainly say so.
09:34:52 <AnMaster> fizzie, the same goes for one loopup -> several regex matching
09:35:26 <AnMaster> and then I mean spamfilters for ircds mostly
09:35:29 <fizzie> Google Code does regular expression search over a large set of data; but no-one knows (well, except Google themselves) how it's done.
09:35:42 <AnMaster> fizzie, ok *that* is interesting
09:35:57 <fizzie> That's a large set of constant data, wouldn't help in an ircd spam-filter where every sentence is new.
09:36:16 <AnMaster> fizzie, yes, and you need to match each line to several regexes
09:36:23 <fizzie> Wikipedia just has some idle speculation: "... but appears to have combined precomputed indices with a POSIX compliant regular expression engine.[citation needed][original research?]"
09:36:42 <AnMaster> for a set of wildcard patterns you could do some easier matching
09:37:14 <AnMaster> storing them sorted would help selecting a better one earlier for example
09:37:56 <AnMaster> you still have to deal with * at the start though
09:38:08 <AnMaster> anyway, cya. Have to leave too.
09:38:38 <fizzie> For "multiple regexps against a single line", you can combine the regexps into a single one, then compile that one to a single huge state machine.
09:55:44 -!- ais523 has joined.
11:01:54 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client").
11:04:29 <fizzie> I think flex does sort-of something like that in the scanners it builds. I mean, basically what it does is to have a large set of expressions to match against the input, and the scanner it generates seems to resemble a state machine. I haven't looked at the details.
11:09:54 <Deewiant> http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang
11:13:59 <fizzie> Heh; I missed the "promoted videos" side-bar heading, so the page looked as if it said "[down-arrow] Related videos", followed by "Funny Face Yoga", "The Cat Phone - PetTube..." and "Failed Toy Pitch - Come...". They didn't sound very related to me.
11:14:13 <fizzie> Although I guess Erlang use can easily lead to Funny Face Yoga. Or something.
11:38:30 <AnMaster> iirc I saw a regex -> C generator
11:43:26 <AnMaster> <Deewiant> http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang <-- old
11:44:55 <AnMaster> ah no, just the small preview image was old. from another video
11:45:14 <fizzie> I have that regex -> brainfuck generator. :p
11:45:18 <AnMaster> also one of those images are from BOIC screen saver...
11:46:26 <fizzie> "For maximum performance. [Footnote, tiny print: The expression "maximum performance" is based on the reasonable assumption that your computational platform is based on the Brainfuck industry-standard low-level architecture.]"
11:46:43 <fizzie> No, just very basic regexps.
11:47:12 <fizzie> Kleene star, the | operation and concatenation; I don't know if I had anything else.
11:47:42 <fizzie> I'll grep my logs; I dug it up not very long time ago (certainly not more than a couple of months) for someone else on this channel.
11:47:51 <AnMaster> thought it was http://www.youtube.com/watch?v=uKfKtXYLG78 first
11:48:30 <AnMaster> which is IMO way funnier and interesting
11:50:51 <Deewiant> Yes, but that one's actually old. :-P
11:53:07 <fizzie> AnMaster: http://zem.fi/~fis/BFRE.java -- then "javac BFRE.java" and "java -cp . BFRE '(ab)*' > test.b" should generate a test.b which accepts (outputs "acc!") strings like "abab" and "abababab" but rejects (outputs "rej!") strings like "abba".
11:53:31 <fizzie> I seem to remember it generating rather large brainfuck output files.
11:53:50 <fizzie> I don't, I just was having a Java phase at that moment.
11:54:03 <fizzie> Currently I'm back in the Perly period, having gone through a short bit of Python there.
11:54:53 <fizzie> I'm eagerly waiting for the next C++ sprint, I could actually work on jitfunge a bit at that point.
11:55:20 <fizzie> It's like you read my mind here.
11:56:08 <AnMaster> fizzie, so what if you need to use another language suddenly?
11:56:16 <AnMaster> like an assignment or whatever
11:56:29 <AnMaster> doesn't* match the current sprint
11:57:05 <fizzie> A "period", by way of analogy to, say, Picasso's blue period.
11:57:35 <AnMaster> fizzie, I guess it was lucky that there wasn't a shortage of blue paint during that period
11:57:37 <fizzie> But I guess that depends. It's not like I couldn't touch other languages, it's more of a preference for any on-my-free-time things.
11:57:47 <AnMaster> or maybe there was a shortage of other pigments?
11:58:01 <fizzie> Actually that compiled (ab)* isn't so bad; it's just something like 18.5 80-column lines.
11:59:16 <AnMaster> fizzie, in cfunge it would be way shorter: "PXER"4( "*)ba(" ;something I forgot; ;forgot what commant it was in REXP;
12:01:00 <fizzie> AnMaster: There's an option in BFRE to generate commented brainfuck: just change line 621 from "String bf = re.bf();" => "String bf = re.bf(false);" and recompile.
12:02:12 <Deewiant> The v in the lower right corner is an infinite loop
12:02:33 <fizzie> In the same sense than your plain old "v" was.
12:02:38 <Deewiant> (But of course that whole thing can only loop forever anyway)
12:03:01 <AnMaster> fizzie, well I assumed that too
12:03:02 <Deewiant> I'm just wondering if I was supposed to traverse all the chars or not
12:03:55 <Deewiant> Hmm, right, I'm supposed to start at the ^ and not the v :-P
12:04:12 <fizzie> I thought that was quite logical, since it's what was after the "name:" part.
12:04:18 <AnMaster> hm iirc someone said GCC is getting a plugin architecture soon. Can anyone confirm this?
12:04:18 <fizzie> That BFRE thing doesn't even optimize long strings of +s or -s; could save a lot in the generated output with just that. So don't use it in a production system.
12:04:27 * AnMaster doesn't have browser running atm
12:04:28 <Deewiant> fizzie: I read it as "execute the above".
12:05:16 <AnMaster> hm, maybe cfunge should have optional plugin support, to support static analysers and such
12:05:49 <AnMaster> wait what I planned just needs to parse the trace output
12:09:43 <fizzie> I would like to work on jitfunge more if there wasn't that damned self-modification going on. I can't even compile a constant-argument p into a simple memory store, without worrying that later the jitter is going to create a compiled trace at that location, and it will then be invalidated if this particular p instruction is ever executed.
12:14:29 <AnMaster> fizzie, I'm sure it can be solved somehow.
12:15:17 <AnMaster> fizzie, also if there wasn't self modification you could just compile it normally without needing JIT
12:16:00 <fizzie> Given the funky Befunge code-flow, that's not completely trivial either; I'd still suspect a tracing JIT could be the way to go. It'd just be a lot easier.
12:16:56 <fizzie> Currently jitfunge has a "solution" which basically boils down recording in funge-space all the cells where any compiled-to-memory-store-puts refer to, and later if we end up executing code in such a place, invalidating the referring code.
12:17:44 <fizzie> (Which means that when it's recompiled and compiling the 'p', it knows to use the put-it-there-carefully function call instead of a compiled store.)
12:18:15 <AnMaster> fizzie, put it there carefully mean "invalidate compiled code"?
12:18:48 <AnMaster> fizzie, how did you handle pop on empty stack now again?
12:19:36 <fizzie> I don't have a solution to a piece of code where there are two "routines", and each of them 'p'-modifies the other, then "calls" (well, goes to) the other; they both end up being recompiled all the time, but it'd need serious cleverness to notice something like that and compile the routines into "before-the-modified-place" and "after-the-modified-place" halves.
12:20:57 <fizzie> There's a PROT_NONE memory block "under" the stack, and I catch the SIGSEGV, extract the machine context from the signal, examine the opcodes near the offending instruction to see what was going on, then manipulate the necessary registers to simulate a "it returned a zero but did not move the stack pointer" situation.
12:21:09 <AnMaster> fizzie, anyway one idea would be to note that the place is edited often, and once a threshold is reached skip compiling the cell that p writes to, and compile two traces one on each side of that point
12:21:54 <AnMaster> fizzie, hm so popping on empty stack has quite high overhead?
12:22:18 <fizzie> I haven't measured, but very likely.
12:22:28 <fizzie> At the very least something compared to setjmp/longjmp usage.
12:23:21 <AnMaster> fizzie, the most likely case of hitting that would be on >:#,_ idiom
12:23:29 <AnMaster> so optimising that specially maybe?
12:23:48 <fizzie> I always put an explicit 0 there; I usually have other stuff on the stack anyway.
12:24:19 <fizzie> But a print-loop could be detected specially, yes.
12:24:19 <Deewiant> Mycology pops an empty stack quite often, I think
12:24:39 <AnMaster> fizzie, well depends, I often write test cases, so I tend to know if it is "GOOD" or "BAD" and not have anything useful on stack any more
12:25:06 <fizzie> The "note often-edited places" is also something I've thought about. But it's yet more stuff to track, I'd need to keep write-counts on just about all modified-by-code funge-space locations to see if they are modified often. The simplest "someone wrote there once, so someone's probably going to keep modifying it" rule might be too simple.
12:25:13 <Deewiant> Yeah, I tend to do "n<string>" instead of "0<string>" in Mycology
12:25:27 <AnMaster> fizzie, doesn't Java HotSpot do something like that?
12:25:54 <fizzie> Yes, but it doesn't need to track all data storage memory for potential changes also. :p
12:25:56 <AnMaster> Deewiant, I suspect that is most common in test case code
12:26:05 <AnMaster> also I often use the first row as temp storage
12:26:12 <fizzie> Maybe I could have a "someone modified a location which actually contained some code that was previously executed" rule.
12:26:15 <AnMaster> I mean I don't need it after the start
12:26:32 <AnMaster> it is setup, and later temp storage
12:27:04 <AnMaster> on the other hand, sometimes the setup code write stuff into the program once
12:27:42 <AnMaster> btw, does anyone have a ?-based unbiased RNG for funge? Range 0-9
12:28:13 <AnMaster> I tried a tree structure but it is hard to make sure you get an even probability for all cases
12:28:36 <fizzie> Fungot keeps some stuff semi-permanently on the stack (I don't remember what stuff; some numbers related to the raw IRC socket data under processing, I think) so I can't clear it. Since I don't use the stack-stack at all.
12:29:19 <AnMaster> fizzie, another thing that might be useful to optimise somehow is if one side of a ? has an > pointing at the ?
12:29:39 <AnMaster> quite common when you want n outputs for n < 4
12:30:41 <fizzie> I don't really remember how I did ? right now. I think currently it always ends a compiled piece of code.
12:36:40 <fizzie> I think http://zem.fi/~fis/rand.txt should work for unbiased [0-9]; it's based on the ? => ??? tree of generating unbiasedly 0-11 (0-3 from first ?, 4-7 from second, 8-11 from third) except that here the two unnecessary outputs are redirected back to the initial ? for a re-roll.
12:38:37 <fizzie> Sure, since you can just make the 1-3, 4-6, 7-9 decision, and then use a three-output ?.
12:38:58 <AnMaster> http://paste.lisp.org/display/76883
12:39:38 <AnMaster> fizzie, hm what about one with an upper time bound?
12:39:48 <AnMaster> I mean both or ours is O(inf) in worst case
12:40:05 <AnMaster> mine could possibly bounce between >? forever
12:40:05 <Slereah> O(inf) sounds pretty slow!
12:40:22 <AnMaster> Slereah, "random, if bad try again"
12:40:25 <fizzie> I also have a >? in the first three-way decision, it could keep bouncing there.
12:40:29 <Deewiant> The probability of that worst case is zero though
12:40:42 <AnMaster> Deewiant, really? 9999999999999999999999999
12:41:07 <Deewiant> AnMaster: Given a ? which is guaranteed to go in all directions, it is
12:41:27 <AnMaster> Deewiant, yes it is, on average and if you wait long enough
12:42:41 <Deewiant> Anyhoo, if you want an even and bounded 0-9 generator in Befunge with ? I'm fairly sure it can't be done, you can only get powers of 2
12:43:42 <AnMaster> Deewiant, this gives raise to an interesting question...
12:43:53 <AnMaster> "bounded time even randomness complete" languages
12:44:08 <Deewiant> It can be done with the generator in FIXP, I forget the instruction's name (probably R)
12:44:42 <fizzie> You can get a "reasonably even" one by generating a large 2^n number in an even way, then taking %10; the biasedness goes down the larger number you bother to create there.
12:44:44 <AnMaster> Deewiant, hm another idea: implement a PRNG in funge, using ? for the seed or randomness pool
12:45:26 <Deewiant> fizzie: And you can get "reasonably bounded" by doing >? :-)
12:46:26 <fizzie> After all, "rand() % N" (or the division-based alternative to get supposedly better, higher bits) is not even either, unless (RAND_MAX+1) % N == 0, but people still do it.
12:46:51 <AnMaster> as far as I remember the glibc random() is supposed to have good randomness in all bits
12:47:55 <Deewiant> AnMaster: If RAND_MAX is 4 and rand() is even and you take rand()%2, you're mapping [0,1,2,3,4] to [0,1,0,1,0]: 0 comes out with probability 3/5, 1 with 2/5
12:47:57 <fizzie> Actually fungot uses the "reasonably even" route when selecting what to babble, but that's mostly because I need a rather large range, and it was simpler that way.
12:49:44 <AnMaster> Deewiant, rand() != random() though. Man page says range for random() is 16 * ((2^31) - 1)
12:49:58 <Deewiant> AnMaster: It doesn't matter what function you use
12:50:15 <Deewiant> What I said applies for any random number generator
12:50:20 <AnMaster> Deewiant, so what bits are best to take? the middle ones?
12:50:33 <fizzie> Deewiant: On the other hand, RAND_MAX is typically something like 2^31-1.
12:50:35 <Deewiant> That doesn't matter either, unless the generator says some bits are crap
12:50:46 <Deewiant> fizzie: Yes, so the error is small in practice.
12:51:27 <fizzie> You'd have probabilities of .49999999976716935623 and .50000000023283064376 for 0 and 1. Or the other way around.
12:51:36 <Deewiant> AnMaster: IMO the only way to make it even is to go the unbounded route, that's what I do
12:51:57 <Deewiant> Yes, and wherever I care about evenness
12:52:15 <Deewiant> Don't do it in cfunge, you'll slow it down! :-P
12:52:25 <fizzie> Fungot does something like "n = 0; for (i = 0; i < 10; i++) n = (4*n) + rand(4); n = n % range;" where rand(4) is done with a single ?, and it's not actually 10, it's something else I forgot.
12:52:27 <AnMaster> Deewiant, I do have a comment in the code about it
12:52:43 <AnMaster> it suggests sending a patch if you need a more uniform rng
12:52:57 <AnMaster> because since RAND_MAX is so large the actual error is very small
12:53:29 <fizzie> fungot: How biased are you?
12:53:29 <fungot> fizzie: i used to have one with size as well as
12:53:54 <AnMaster> The versions of rand() and srand() in the Linux C Library use the same random number generator as random(3) and srandom(3), so the lower-order bits
12:53:54 <AnMaster> should be as random as the higher-order bits. However, on older rand() implementations, and on current implementations on different systems, the
12:53:54 <AnMaster> lower-order bits are much less random than the higher-order bits. Do not use this function in applications intended to be portable when good ran‐
12:53:54 <AnMaster> domness is needed. (Use random(3) instead.)
12:54:11 <AnMaster> man rand gives me some openssl man page instead
12:54:43 <fizzie> Oh? My openssl rand is in section 1.
12:54:54 <fizzie> It does refer to RAND_bytes(3).
12:54:56 <AnMaster> well there is OpenSSL API docs
12:55:02 <AnMaster> rand - pseudo-random number generator
12:55:24 <AnMaster> RAND_bytes and several more functions are documented there
12:55:34 <fizzie> I don't have such. I might not have installed some openssl-doc package.
12:55:38 <AnMaster> No entry for rand in section 1 of the manual
12:56:08 <AnMaster> fizzie, my openssl is built with useflags: gmp sse2 zlib -kerberos
12:56:34 <fizzie> I have this: RAND(1SSL) -- rand - generate pseudo-random bytes -- openssl rand [-out file] [-rand file(s)] [-base64] num
12:56:43 <fizzie> It's a bit silly to have all those openssl commands separately, though.
12:56:53 <AnMaster> fizzie, I only have an entry for that in openssl(1)
12:57:22 <AnMaster> Cannot open the message catalog "man" for locale "sv_SE.UTF-8"
12:58:35 <AnMaster> my man didn't install any gettext files or such at least
13:01:41 <fizzie> There are four instances of ? actually executed as code in fungot sources: one is that [0, 2^24-1]-range loop-based generator, two are in a a "unrolled" two-iteration loop generating [0, 15], and the final is in ^bool selecting one out of two outputs.
13:01:41 <fungot> fizzie: what are the other major difference is how much more complex one.
13:02:35 <fizzie> Actually the ^bool case is a bit silly, since it has a >?< structure to get only two outputs; I could've gotten a less bouncy unbiased version very easily.
13:04:43 <fizzie> (There's also the ? character in a "ping? pong!" comment, another comment in the list of punctuation symbols the babble-generator can produce, and yet another in the '? part where the babble-generator actually does a question mark.)
13:12:05 <AnMaster> how much of fungot source file is actually needed to run fungot
13:12:06 <fungot> AnMaster: mine is fuller extent than many other languages and modules. see scheme/ fnord ls
13:12:12 <AnMaster> iirc there were a huge block of comments at the end?
13:12:29 * AnMaster considers delayed loading and then thinks better of it
13:17:08 <fizzie> Out of 495 lines, only 381 are needed.
13:17:41 <AnMaster> still optimising >:#._ might be worthwhile for cfunge in the static area, but the run time overhead of checking for it, hm...
13:58:27 -!- jix has joined.
13:59:24 <fizzie> Usually I like writing in TeX math-mode, but occasionally it's not quite as clean as the resulting output: http://www.cis.hut.fi/htkallas/latexmath.png
14:02:14 <Deewiant> Especially when you have complex arrays and you need to put stuff like \phantoms all over the place to get stuff to align nicely
14:02:57 <AnMaster> fizzie, hm tried LyX? It is quite a nice frontend, and iirc it handles math quite well too
14:02:57 <fizzie> I may have been attempting an understatement. There's one \rule there for spacing.
14:03:03 <AnMaster> not sure about the most advanced stuff
14:03:20 <Deewiant> fizzie: Well, that example isn't that bad IMO :-)
14:03:50 <fizzie> Tried LyX, didn't like it. Maybe it's just my normal aversion to all things gooey. And it was not recently, they might have improved it since then.
14:04:09 <AnMaster> fizzie, recent LyX is a lot better than when I started using LyX
14:04:20 <AnMaster> which was maybe a year ago or so
14:05:10 <fizzie> Well, I'm sure it was at least two years ago when I last tried it.
14:05:30 <AnMaster> fizzie, lyx optionally supports pre-rendering the math expressions on the fly, to be able to show any unsupported commands too
14:05:58 <AnMaster> fizzie, however make sure to use the very last release, often package managers in distros lag behind
14:06:12 <AnMaster> oh also I only used the QT4 frontend for it
14:06:41 <AnMaster> iirc they dropped the GTK one since it sucked
14:07:01 <fizzie> I don't really have a choice of what to use on this work-workstation, except I can bug our administrators of course.
14:07:40 <AnMaster> fizzie, can't you install it in ~ ?
14:08:04 <fizzie> Especially since they've thoughtfully provided us with a version.
14:08:06 <AnMaster> fizzie, I recommend lyx-1.6.0 or later. 1.6.1 is what I use
14:08:19 <fizzie> We're having disk space issues anyway, I think.
14:08:19 <AnMaster> I definitely wouldn't use older ones any more
14:08:34 <fizzie> Installed LyX here is "LyX version 1.5.6 (Sun, Jul 27, 2008)". Not *old*, but not *new* either.
14:08:37 <AnMaster> fizzie, of course I would also use a very recent texlive
14:08:51 <AnMaster> fizzie, well 1.5 is not so good
14:09:07 <AnMaster> and the math stuff really improved in 1.6
14:09:48 <fizzie> The /home share is again 92 % full; and that's a rather good situation, it's been completely full on occasion.
14:09:52 <fizzie> Filesystem Size Used Avail Use% Mounted on
14:09:54 <fizzie> baldrick:/vol/home 488G 447G 42G 92% /m/fs/home
14:10:51 <fizzie> There's a public, autogenerated-every-weekend list of "disk space usage per user", sorted by amount of space used, so you know who to blame.
14:11:12 <AnMaster> fizzie, so where is you on that list?
14:11:13 <Deewiant> Your /home is smaller than our /home
14:11:32 <fizzie> Deewiant: Yes, well, it's not the size, it's how we use it.
14:11:51 <AnMaster> fizzie, anyway, don't you have your own computer?
14:12:06 <Deewiant> nfs:/home 1.3T 211G 444G 33% /home
14:12:28 <fizzie> How does that work? 211 G used, 444 G free, total size 1.3 T?
14:12:41 <Deewiant> I don't know, I was just wondering about that myself
14:12:51 <Deewiant> I do believe the 'free' number is the one that's correct
14:13:17 <fizzie> Here's our project-shares, where all non-temporary ("work" is for that) big files should be kept:
14:13:18 <AnMaster> well, what file system is it really?
14:13:20 <fizzie> baldrick:/vol/project0 2.0T 1.5T 540G 74% /m/fs/project0
14:13:23 <fizzie> blackadder:/vol/project1 1.4T 1.4T 25G 99% /m/fs/project1
14:13:28 <AnMaster> if it is ext* then the "reserved for root" space...
14:13:37 <AnMaster> and over nfs I'm not sure how that works
14:13:48 <fizzie> It's mounted over NFS, and I'm not quite sure how it works either.
14:13:57 <Deewiant> Anyhoo, I used to lead diskhogs at 14G
14:14:09 <AnMaster> if it isn't a partition mounted
14:14:14 <Deewiant> Then somebody had a broken script and filled the drive with a diskhogs value of 493G
14:14:16 <AnMaster> but a direction on a partition on the server
14:14:41 <AnMaster> of course that would happen then
14:14:50 <AnMaster> size of the sub tree vs size of disk
14:15:10 <fizzie> I'm #91 in our /home directory size-usage list, with ~1.4G. #1 has 20G. And actually ineiros here on this channel is #2 with 18G. :p
14:16:10 <Deewiant> And I think I've been off the mailing list for a few months
14:16:31 <Deewiant> Last one I got was in December
14:16:47 <fizzie> The project directory disk-usage chart is less useful, since it just shows the directories, not directly whose fault it is.
14:17:55 <AnMaster> what about using lyx on your own computer fizzie ?
14:18:26 -!- ais523 has joined.
14:19:02 <fizzie> The laptop is less comfortable than this workstation, with an external monitor, keyboard and mouse. And besides, I couldn't plug my own laptop into the network anyway.
14:19:12 <ais523> not even using wireless?
14:19:39 <fizzie> It's a separate sort of network then.
14:19:44 <fizzie> No direct SSH access to lab machines.
14:23:58 <fizzie> Yes, "james" is accessible from the Interwebs. But it's still not quite as convenient, even though sshfs-like stuff could make it bearable, if the wireless wasn't so unreliable and laggy.
14:24:52 <Deewiant> Isn't there a plug into the outer network
14:25:13 <fizzie> From what I heard, they're replacing the old "aalto" network (which required a https-based web-page-login) with a completely open "aalto Open" (which is even less part of the university network), and because of that the old network is not actively maintained, while the new one is very under-construction and doesn't seem to be available here.
14:25:33 <fizzie> I think I saw "aalto Open" in one of the lecture halls, though. So maybe they really are working on it, and it's not just a convenient excuse.
14:25:48 <Deewiant> Aalto Open works better outdoors
14:25:55 <Deewiant> And in the main building, too, I think
14:26:04 <fizzie> fi:aalto is en:wave, yes.
14:26:16 <fizzie> Also: The noun aalto has 1 sense (no senses from tagged texts)
14:26:16 <fizzie> 1. Aalto, Alvar Aalto, Hugo Alvar Henrik Aalto -- (Finnish architect and designer of furniture (1898-1976))
14:26:23 <fizzie> WordNet is so comprehensive.
14:26:25 <AnMaster> is it a brand name of wireless access points or something?
14:26:29 <Deewiant> The name of both the old wireless network and of the upcoming university which is an amalgamation of a couple of current ones
14:27:03 <ais523> oh dear, those names are always awful
14:27:31 <fizzie> Yes, this year is the last change to graduate from Helsinki University of Technology; after that your papers are from Aalto University.
14:27:49 <fizzie> (I hope; in a worst-case scenario they're going to call it the Wave University.)
14:28:08 <fizzie> Sounds like some sort of surfboarding school.
14:28:11 <AnMaster> fizzie, that sounds, um, new age?
14:28:46 <fizzie> "Aalto University is created through a merger between the Helsinki School of Economics, the University of Art and Design Helsinki and the Helsinki University of Technology." Phew, they're not translating it. Not that I seriously thought they would.
14:28:56 <fizzie> And why is our name mentioned last, anyway?
14:28:59 <AnMaster> what would be wrong with "Helsinki University" then?
14:29:03 <Deewiant> Tsunami University, Tidal Wave University have been some relatively popular derogatory names (in Finnish)
14:29:10 <Deewiant> AnMaster: There is a Helsinki University alraedy
14:29:35 <fizzie> Or actually it's University of Helsinki, in English.
14:30:23 <AnMaster> I mean, it would be logical to have one university for all wouldn't it? And different faculties or whatever you call them
14:30:24 <Deewiant> I don't actually know if they even considered merger with the University
14:30:41 <Deewiant> fizzie: Which reminds me, of course it should be Wave High School
14:30:45 <fizzie> And University of Helsinki is this multi-disciplinary generic sort of university, with pretty much everything they do on the university level.
14:31:33 <ais523> <tests carried out by Microsoft> IE loads mozilla.com faster than Firefox, and Firefox loads microsoft.com faster than IE
14:31:47 <ais523> I have no idea what, if anything, this proves...
14:32:46 <ais523> AnMaster: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cd8932f3-b4be-4e0e-a73b-4a373d85146d
14:32:48 <AnMaster> because I don't believe microsoft would release that if firefox was faster at microsoft.com...
14:33:05 <ais523> they released it because their data "proves" that IE is the fastest browser
14:45:23 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
14:45:23 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
14:45:23 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
14:45:26 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
14:45:28 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
14:45:29 -!- ais523 has quit (calvino.freenode.net irc.freenode.net).
14:45:29 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
14:45:33 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
14:45:33 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- kerlo_ has quit (calvino.freenode.net irc.freenode.net).
14:45:35 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
14:45:36 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
14:45:36 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
14:45:38 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
14:45:39 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
14:45:41 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
14:45:42 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- jix has quit (calvino.freenode.net irc.freenode.net).
14:45:44 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
14:45:47 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
14:45:47 -!- lament has quit (calvino.freenode.net irc.freenode.net).
14:45:48 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
14:45:49 -!- asiekierk has quit (calvino.freenode.net irc.freenode.net).
14:45:51 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
14:45:51 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
14:45:52 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
14:49:25 -!- lament has joined.
14:49:25 -!- ais523 has joined.
14:49:25 -!- jix has joined.
14:49:25 -!- tombom has joined.
14:49:25 -!- Deewiant has joined.
14:49:25 -!- oklopol has joined.
14:49:25 -!- neldoreth has joined.
14:49:25 -!- asiekierk has joined.
14:49:25 -!- bsmntbombdood has joined.
14:49:25 -!- kerlo_ has joined.
14:49:25 -!- lifthrasiir has joined.
14:49:25 -!- Slereah has joined.
14:49:25 -!- MizardX has joined.
14:49:25 -!- psygnisfive has joined.
14:49:25 -!- Ilari has joined.
14:49:25 -!- fizzie has joined.
14:49:26 -!- fungot has joined.
14:49:26 -!- ehird has joined.
14:49:26 -!- AnMaster has joined.
14:49:26 -!- Azstal has joined.
14:49:26 -!- Leonidas has joined.
14:49:26 -!- Dewio has joined.
14:49:26 -!- GregorR has joined.
14:49:26 -!- Asztal has joined.
14:49:26 -!- sebbu has joined.
14:49:26 -!- mtve has joined.
14:49:26 -!- ineiros has joined.
14:49:26 -!- pikhq has joined.
14:49:26 -!- Robdgreat has joined.
14:49:26 -!- rodgort has joined.
14:49:26 -!- SimonRC has joined.
14:49:26 -!- dbc has joined.
14:49:26 -!- ski__ has joined.
14:49:26 -!- irc.freenode.net has set channel mode: +o lament.
14:50:12 <AnMaster> um, that table, over how many runs is it averaged
14:50:12 <ais523> the details are in the PDF, I think
14:50:25 <ais523> the whole article is about methodology for running comparative browser speed tests
14:51:32 <AnMaster> I'm not sure those differences are actually significant...
14:52:06 <fizzie> I would go and read the study, but my system is not on the list of Supported Operating Systems on that download page.
14:52:10 <AnMaster> it also depends on which you tested first to a certain degree. DNS cache
14:52:15 <ais523> fizzie: neither is mine, but it worked for me
14:52:30 <ais523> at least it's just a pdf, last time I tried to get something from microsoft.com it was a pdf wrapped in an exe
14:52:42 <AnMaster> ais523, there is an xls file too hm
14:52:47 <AnMaster> wonder if that is the raw data
14:52:59 <ais523> it's microsoft's rival to pdf
14:53:03 <ais523> that nobody cares about but them
14:53:29 <fizzie> "XML Paper Specification." Funny name.
14:53:49 <AnMaster> fizzie, did they try to make it an ISO standard?
14:55:19 <ais523> they're trying to make it an ecma standard at the moment
14:55:29 <ais523> ISO won't standardise it unless it's standardised by another standards body first
14:55:36 <fizzie> Either one out of two of Microsoft's student-related stuff-delivery-things (DreamSpark or the MSDN Academic Alliance thing) contained a copy of Windows (2k3 server for DreamSpark, various versions for MSDNAA) that was a .iso image (since you need to be able to install it) wrapped in an .exe file (so you can't actually burn it if you don't happen to already have access to a Windows system).
14:55:51 <ais523> although ECMA's widely believed to be controlled by Microsoft, I'm not sure whether that's true or not
14:56:07 <ais523> fizzie: did it work under WINE?
14:56:39 <Asztal> MSNDAA requires you to run a custom downloader. :(
14:56:42 <ais523> european computer manufacturer's association
14:56:52 <fizzie> ais523: I actually think it didn't. Don't remember the details. It might've actually been the MSDNAA downloader, in fact.
14:56:55 <ais523> but they renamed it to just ecma
14:56:58 <AnMaster> there are european computer manufacturers?
14:57:06 <ais523> when they decided to expand their own remit
14:57:08 <AnMaster> ARM I know, but they just design processors
14:57:13 <ais523> microsoft certainly aren't european
14:57:39 <AnMaster> ais523, well duh, but what are the European computer manufacturers if any that exist?
14:58:36 <ais523> AnMaster: I can't find any on Google
14:58:47 <ais523> which isn't a good sign, but I'm not very good at using online search engines
14:59:34 <fizzie> Fujitsu Siemens is partially German (the Siemens side, surprisingly) and they manufacture computers.
15:02:17 <fizzie> Granted, that's the only big-company example I can think of right now.
15:02:51 <oklopol> ais523: which isn't a good sign, but I'm not very good at using online search engines <<< google is not a search engine
15:03:02 <ais523> what do you mean, google isn't a search engine?
15:03:38 <oklopol> it doesn't actually take your string and look for it on pages, at least when you'd actually need it to.
15:03:58 <oklopol> well i guess it's a bad search engine, it's a good suggestion engine maybe
15:04:20 <oklopol> it finds what you want to find if you're searching for something that's easy to find anyway.
15:04:41 <fizzie> Ecma was founded in 1961, apparently; the computar system market back then might've been a bit different.
15:06:20 <fizzie> "Microsoft Robotics Developer Studio 2008". They certainly crank out those tools at a rate.
15:07:12 <asiekierk> i will soon get the parts for my mechanical TV
15:07:25 <asiekierk> Nipkow Disk - done; Schematic collection - done; Buying - not done :(
15:07:30 <ais523> asiekierk: you're building a mechanical TV?
15:07:46 <ais523> are there any stations broadcasting in mechanical TV format?
15:08:03 <ais523> also, how many pixels horizontal resolution will you get? 16?
15:08:22 <asiekierk> Some even experimented with NTSC color
15:09:00 <asiekierk> And the Nipkow disk was tested a bit of times
15:09:55 <asiekierk> And I used paper glued on "something quite better than cardboard"
15:10:03 <asiekierk> and made 32 holes for the image AND the hole in the middle
15:10:13 <asiekierk> And tested it on my lamp, so I know all the holes work
15:14:04 -!- fungot has quit (calvino.freenode.net irc.freenode.net).
15:14:04 -!- fizzie has quit (calvino.freenode.net irc.freenode.net).
15:14:05 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
15:14:08 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- ehird has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- GregorR has quit (calvino.freenode.net irc.freenode.net).
15:14:09 -!- psygnisfive has quit (calvino.freenode.net irc.freenode.net).
15:14:11 -!- tombom has quit (calvino.freenode.net irc.freenode.net).
15:14:12 -!- ais523 has quit (calvino.freenode.net irc.freenode.net).
15:14:14 -!- rodgort has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Ilari has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- Robdgreat has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- kerlo_ has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- oklopol has quit (calvino.freenode.net irc.freenode.net).
15:14:16 -!- sebbu has quit (calvino.freenode.net irc.freenode.net).
15:14:18 -!- Azstal has quit (calvino.freenode.net irc.freenode.net).
15:14:19 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net).
15:14:21 -!- dbc has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- mtve has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- ineiros has quit (calvino.freenode.net irc.freenode.net).
15:14:22 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net).
15:14:24 -!- Slereah has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- pikhq has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- Dewio has quit (calvino.freenode.net irc.freenode.net).
15:14:25 -!- jix has quit (calvino.freenode.net irc.freenode.net).
15:14:28 -!- MizardX has quit (calvino.freenode.net irc.freenode.net).
15:14:28 -!- lament has quit (calvino.freenode.net irc.freenode.net).
15:14:30 -!- Asztal has quit (calvino.freenode.net irc.freenode.net).
15:14:31 -!- asiekierk has quit (calvino.freenode.net irc.freenode.net).
15:14:33 -!- neldoreth has quit (calvino.freenode.net irc.freenode.net).
15:14:33 -!- Leonidas has quit (calvino.freenode.net irc.freenode.net).
15:14:34 -!- ski__ has quit (calvino.freenode.net irc.freenode.net).
15:15:48 -!- lament has joined.
15:15:48 -!- ais523 has joined.
15:15:48 -!- jix has joined.
15:15:48 -!- tombom has joined.
15:15:48 -!- Deewiant has joined.
15:15:48 -!- oklopol has joined.
15:15:48 -!- neldoreth has joined.
15:15:48 -!- asiekierk has joined.
15:15:48 -!- bsmntbombdood has joined.
15:15:48 -!- kerlo_ has joined.
15:15:48 -!- mtve has joined.
15:15:48 -!- ineiros has joined.
15:15:48 -!- pikhq has joined.
15:15:48 -!- Robdgreat has joined.
15:15:48 -!- rodgort has joined.
15:15:48 -!- SimonRC has joined.
15:15:48 -!- dbc has joined.
15:15:48 -!- ski__ has joined.
15:15:48 -!- sebbu has joined.
15:15:48 -!- Asztal has joined.
15:15:48 -!- GregorR has joined.
15:15:48 -!- Dewio has joined.
15:15:48 -!- Leonidas has joined.
15:15:48 -!- Azstal has joined.
15:15:48 -!- AnMaster has joined.
15:15:48 -!- ehird has joined.
15:15:48 -!- fungot has joined.
15:15:48 -!- fizzie has joined.
15:15:48 -!- Ilari has joined.
15:15:48 -!- psygnisfive has joined.
15:15:48 -!- MizardX has joined.
15:15:48 -!- Slereah has joined.
15:15:48 -!- lifthrasiir has joined.
15:15:48 -!- irc.freenode.net has set channel mode: +o lament.
15:16:29 <ais523> and any manufacturer using the name "bluegreenish" would be killed by their own marketing people
15:16:29 <asiekierk> well, why these two? They can reproduce a lot of natural colors
15:16:29 <asiekierk> They should use something like "Apple Blue"
15:16:29 <ais523> because humans see red as more different from blue or green than they see blue from green
15:16:30 <ais523> anyway, most humans can see in four colour channels
15:16:30 <ais523> some can only see three, colourblindness is if you can see in two or less
15:16:53 <fizzie> Is it most? I thought tetrachromacy was rather rare?
15:17:08 <fizzie> "One study suggested that 2–3% of the world's women might have the kind of fourth cone that lies between the standard red and green cones, giving, theoretically, a significant increase in color differentiation.[3] Another study suggests that as many as 50% of women and 8% of men may have four photopigments.[2]"
15:17:08 <Asztal> yes, I thought tetrachromats were rare, and only among women
15:17:14 <asiekierk> even if it's 99.9999999999999999999999999999999999999999999999999999%, it's "most"
15:17:34 <fizzie> Yes, but 2-3 % is not really "most".
15:17:49 <ais523> Azstal: I'm thinking of red, green, blue, and white
15:17:56 <ais523> three cone channels and the rod channel
15:18:08 <ais523> tetrachromats can see in /five/ colour channels
15:18:54 <oklopol> whichever they like, they have this nob at the back of their heads
15:18:56 <ais523> well, "red, blue, green" are just common names for particular sorts of cone pigmentation
15:18:59 <Asztal> X, Y, Z, white, and something else
15:19:22 <ais523> given that if you have four sorts of cones you can distinguish colours that can't be distinguished any other way
15:19:31 <ais523> there must be colours tetrachromats can see that other people don't have a name for
15:19:33 <asiekierk> so, uh, they have H, S, L switches in the back of their head?
15:20:06 <ais523> but, rods generally don't work in the same situation as cones
15:20:25 <ais523> in bright light, the rods are swamped and don't produce useful information, that's why your peripheral vision gets worse if it's too bright
15:20:38 <ais523> in dim light, the cones don't respond, so your vision is fuzzier and only in black and white
15:20:45 <ais523> in between, your vision functions as normal
15:21:14 <asiekierk> so basically, the normal four-color people can see "in farbe" and the tetrachromats can see "in living color"? :D
15:21:35 <ais523> well, to be precise there are an infinite number of colours
15:21:40 <ais523> and an infinite number of possible colour channels
15:22:03 <ais523> with a good-quality spectrometer, you can distinguish colour channels that no human can distinguish
15:22:05 <asiekierk> and there are "(infinity+amount_of_colors)/2" colour channels
15:22:20 <ais523> asiekierk: no, aleph-one to the power of aleph-1 I believe
15:22:28 <ais523> which is probably aleph-2
15:22:47 <ais523> aleph notation is one of the ways to represent infinities
15:22:56 <ais523> but mathematicians aren't entirely clear on what infinities are available
15:23:08 <ais523> it turns out there's more than one possible choice that leads to the maths being consistent
15:23:25 <asiekierk> Well, how much is "infinity-(infinity-523)"
15:23:34 <ais523> not-a-number, obviously
15:23:48 <fizzie> Heh, nice squabbling in the history there: http://en.wikipedia.org/wiki/File:Cones_SMJ2_E.svg
15:23:58 <Deewiant> Only if the infinities are identical
15:24:19 <Deewiant> An infinite amount, in fact. ;-)
15:24:31 <asiekierk> But what infinity is the infinite amount?
15:24:59 <ais523> epsilon-zero, I believe
15:25:07 <AnMaster> <ais523> anyway, most humans can see in four colour channels <ais523> some can only see three, colourblindness is if you can see in two or less <-- um?
15:25:08 <asiekierk> "...Deewiant, do you live in the another universe?"
15:25:16 <ais523> or at least, that's the name for the name for the number of infinities that can't be represented otherwise
15:25:17 <Asztal> now you're just making stuff up :)
15:25:18 <asiekierk> but you said something completely logic
15:25:29 <asiekierk> i hoped you would say "there are infinite possibilities"
15:25:40 <fizzie> AnMaster: He counts the rod cells as a color channel; read on further.
15:25:41 <AnMaster> oh right explained a bit below
15:25:43 <ais523> AnMaster: most humans can see in three cone channels (red, green, blue), and one rod channel
15:26:12 <asiekierk> what if someone can see in two cone channels and two rod channels
15:26:18 <asiekierk> and the channels are orange and bluegreenish
15:26:35 <ais523> as far as I know, nobody's ever found a colour-specific rod
15:26:37 <asiekierk> which can reproduce a fair bit of colors
15:26:44 <ais523> besides, rods are averaged over a large area
15:26:50 <asiekierk> well, a quite-orange and a quite-blugreenisgh
15:27:04 <asiekierk> a quite-Sunset and a quite-Apple Blue
15:27:08 <ais523> so you couldn't extract colour information from them even if they could receive it
15:28:00 <asiekierk> Aww, that's just like using a b&w receiver for living color!
15:28:12 <asiekierk> when you can buy a field-sequential adapter set!
15:28:47 <fizzie> It's of course "colour-specific" in the sense that there is some frequency you can say is the peak: "Experiments by George Wald and others showed that rods are most sensitive to wavelengths of light around 498 nm (green-blue)" <- so blue-greenish is not far off.
15:29:32 <fizzie> You may need to make your own sunset-rod.
15:29:42 <asiekierk> Okay, but I need a 2cm Nipkow disk
15:30:17 <asiekierk> The marketing is gonna PWN me for that!
15:31:49 <asiekierk> So basically, HSL will be Appleness, Livingness and Shadiness respectively
15:32:54 <fizzie> Also Viagra makes you see all blue-green: http://en.wikipedia.org/wiki/Cyanopsia
15:33:21 <fizzie> I'm not sure Apple wants to be associated with *that*.
15:34:29 <asiekierk> Last I heard the Apple apple was white
15:34:54 <ais523> I didn't think it was any particular colour
15:34:55 <fizzie> Maybe nowadays; it used to be rather more colorful.
15:34:56 <AnMaster> what would be the best way to see all colours. Since the biological system doesn't work
15:35:06 <AnMaster> wouldn't some sort of spectrometer or such work?
15:35:20 <fizzie> http://upload.wikimedia.org/wikipedia/commons/e/e3/Macintosh_128k_transparency.png has the good old logo in the lower-left corner.
15:35:48 <asiekierk> WELL THAT ONE DIDN'T HAVE A SPECIFIED COLOR!
15:36:03 <asiekierk> THEY COULDN'T MAKE UP THEIR MIND OR WHAT?
15:36:08 <ais523> AnMaster: prism works too
15:36:11 <ais523> that's a primitive spectrometer
15:36:13 <AnMaster> <asiekierk> But Apple Blue as in the fruit <-- apples are green/red/yellow. I haven't seen any *blue* apple
15:36:27 <AnMaster> ais523, you still need to register the photons in some way
15:36:30 <ais523> it separates the physical locations of the colours, so you can see which ones are there and which ones aren't
15:36:48 <asiekierk> Green Blue, Blue Green, bluegreenish
15:37:15 <AnMaster> asiekierk, nah, they tend to be yellowgreenish around here
15:37:55 <AnMaster> ais523, well wouldn't it be rather bulky? I mean, it is far from compact
15:37:56 <asiekierk> that's why it's Apple Blue not Apple
15:38:04 <AnMaster> you couldn't really use it to make a vision system
15:38:30 <ais523> but put it this way, humans simply don't have a sense that handles that much information at once
15:38:33 <AnMaster> ais523, so what about some solution that *could* make a vision system
15:39:10 <fizzie> http://en.wikipedia.org/wiki/File:Simple_spectroscope.jpg has a nice picture of a prism-based spectroscope showing how liney a spectrum can be.
15:39:11 <ais523> even they only see in three colour channels, or one
15:39:18 <ais523> red/blue/green is typical for a charge-coupled device
15:39:19 <asiekierk> I heard that the brain receives about "100 bytes" per... uh... i don't remember
15:39:57 <AnMaster> asiekierk, how would you measure that...
15:40:15 <asiekierk> and about 100 bytes is not exactly 100 bytes
15:40:15 <AnMaster> ais523, well it could be useful with more
15:40:22 <fizzie> I don't think your garden-variety killer robot really needs that many color channels.
15:40:33 <asiekierk> I think it reffered that every while, only a small part of data is sent from the eyes to the brain
15:40:38 <asiekierk> as in, the part you're concentrating on
15:40:47 <AnMaster> fizzie, I was thinking about robots used in, say, scientific stuff. Like exploring Mars or whatever
15:41:29 <AnMaster> fizzie, iirc the mars rovers do have some forms of spectrometers
15:42:53 <AnMaster> btw, did you know common digital cameras can "see" a bit of infrared
15:43:03 <AnMaster> just try it in front of a remote control
15:44:02 <AnMaster> it looked pink when I tried with my mobile phone camera (which I don't normally use, too bad resolution and no optical zoom)
15:44:38 <ais523> AnMaster: I wouldn't be surprised, but there are a huge number of possible shades of infrared
15:44:45 <ais523> it's a much broader range than visible
15:44:55 <ais523> and I'd only expect very near infrared to be visible
15:45:22 <fizzie> Opportunity has a spectrometer for picking up scattered alpha particles and x-rays, and another in the gamma-ray range of frequencies; but I think the ones that actually take pictures with, you know, spatial information in them, only use a reasonable number of specific color channels.
15:45:22 <ehird> why is lament still opped? :P
15:45:40 <fizzie> The wp page is not being very specific about the cameras.
15:46:23 <fizzie> One of our signal processing assignment had four-color-channel satellite photography; one was in the near-infrared range, the others corresponded vaguely to traditional red, green, blue.
15:46:48 <ais523> hmm... it seems the BBC got control of a botnet
15:47:03 <ais523> and used it to spam themself, and DDOS a company they had a prior arrangement with
15:47:25 <ais523> then they changed the desktop background of all the infected computers and removed the botnet software using the botnet itself
15:47:47 <ais523> as in the UK TV company
15:48:00 <ais523> why not, it gave them something to show programs around
15:48:15 <fizzie> pancam.astro.cornell.edu has a technical briefing explaining they use an eight-channel system, so it's at least bit more than usual.
15:48:34 <AnMaster> ais523, link. or it didn't happen?
15:48:37 <ais523> http://news.bbc.co.uk/1/hi/programmes/click_online/7884387.stm
15:48:51 <ais523> is the link that the infected computers were redirected to (via an URL shortener)
15:48:57 <ais523> http://news.bbc.co.uk/1/hi/programmes/click_online/7932816.stm
15:48:59 <ais523> is the article about it
15:49:21 <AnMaster> it wanted to set lots of cookies
15:49:32 <AnMaster> I got 58 messages from firefox asking about cookies
15:49:33 <ais523> the BBC's website is handwritten in Perl
15:49:38 <AnMaster> no way I'm clicking on that again
15:50:03 <fizzie> That sounds like a rather legalistically vague thing to do.
15:50:18 <ais523> anyway, I'm looking at the cookies now
15:50:36 <fizzie> They're all "If this exercise had been done with criminal intent it would be breaking the law. But our purpose was to demonstrate botnets' collective power when in the hands of criminals." but it does sound quite UK-centric at the very least.
15:50:39 <ais523> I only got three cookies
15:50:44 <fizzie> "The law", as if there's a single law in there.
15:51:07 <ais523> one of them is massively long, though
15:51:16 <ais523> it appears to be a long hash in hex, followed by my useragent but URL-encoded
15:51:48 <ais523> fizzie: I suspect the BBC are unlikely to worry about any laws but UK law in what they did
15:52:00 <ais523> and investigative journalists do all sorts of weird quasi-legal things
15:52:09 <ais523> on the basis that they're hardly ever prosecuted for them
15:52:52 <AnMaster> ais523, well usually they tend to not use it for bad stuff. But clean up after themselves and warn people about the risk
15:53:26 <ais523> there's a show on the UK where they steal stuff from people, then give it back
15:53:34 <ais523> I'm surprised they haven't got in trouble for that yet
15:54:54 <fizzie> I guess they're just trusting the legal system to be sensible with all that "with criminal intent" stuff. Very optimistic.
15:55:17 -!- FireyFly has joined.
15:55:33 <AnMaster> ais523, I mean, I once found a botnet control channel on a network I was oper on. First thing I did after I was sure it was a botnet (by which point I had seen some commands executed too and know the syntax) was kill all the scriptkiddies controlling it, then I issued a command to pop up a dialog with a link to some website about how to remove this, think it was at fsecure, then I made all bots remove
15:55:33 <AnMaster> themselves from auto startup and then quit
15:55:55 <AnMaster> so there are cases where you need to "quasi legal" things I guess
15:56:03 <oklopol> "kill all the scriptkiddies controlling it" <<< this is probably illegal even without a criminal intent
15:56:43 <AnMaster> well actually I used /kline iirc
15:57:24 <fizzie> Yes, actually writing code and then tricking people to run it; code that does all kinds of email-sending stuff and so on, and introduces who knows how many security-related bugs while it's at it; is a bit different from snuffing out someone else's botnet like that.
15:57:36 <ais523> fizzie: actually, they're trusting the Crown Prosecution Service not to prosecute
15:58:03 <fizzie> ais523: Isn't that sort of part of "sensible behaviour from the legal system"?
15:58:19 <ais523> the CPS aren't really part of the legal system
15:58:21 <AnMaster> Amazingly, it took only 60 machines to overload the site's bandwidth. <-- interesting
15:58:27 <AnMaster> wonder how fast connections they had
15:58:33 <ais523> they're more involved with the police, but they aren't part of those either
15:58:51 <fizzie> I assume it would've been BBC paying for any costs if their code had a horrible, hard-disk-eating bug.
15:59:21 <ais523> AnMaster: your removal, wouldn't that leave the botnet software there just inactive?
15:59:22 <AnMaster> it wouldn't take many ADSL connections
15:59:33 <ais523> anyway, changing the desktop background is probably cleverer than popping up a message box
15:59:39 <AnMaster> so 100 of them would hit a 100 mbps
15:59:41 <ais523> because people ignore messages boxes on Windows nowadays
15:59:48 <AnMaster> ais523, well I wouldn't know how to change the background
16:00:02 <fizzie> ais523: Especially if it's a message box which says "Your Computer May Be At Risk!"
16:00:17 <AnMaster> ais523, also it was impossible to fully uninstall it from itself. There seemed to be no general "execute command"
16:00:51 <AnMaster> and most were South America, which is strange too
16:01:31 <ehird> 14:19 ais523: there must be colours tetrachromats can see that other people don't have a name for
16:01:40 <ehird> I wanna get another cone implanted :P
16:01:54 <ehird> 10:54 fizzie: I'm eagerly waiting for the next C++ sprint, I could actually work on jitfunge a bit at that point.
16:01:55 <ehird> 10:54 AnMaster: jitfunge was in C++ right?
16:01:57 <ehird> 10:55 fizzie: It's like you read my mind here.
16:02:01 <ehird> 13:27 fizzie: Yes, this year is the last change to graduate from Helsinki University of Technology; after that your papers are from Aalto University.
16:02:06 <AnMaster> ehird, you are dealing with lag
16:02:16 -!- MigoMipo has joined.
16:02:17 <ehird> no, I'm logreading
16:02:37 <fizzie> Actually the wp page had an amusing sentence about implanting cones: "Notably, mice, which normally have only two cone pigments, can be engineered to express a third cone pigment, and appear to demonstrate increased chromatic discrimination, --"
16:02:38 <AnMaster> ehird, yes but here the C++ line was before fizzie's line
16:02:46 <ehird> doesn't stop it being funny, AnMaster.
16:03:01 <fizzie> The word "engineered" there is funney.
16:03:03 <AnMaster> anyway. I still don't see how 60 machines could overload the *bandwidth* of the server. Assuming normal home connections.
16:03:06 <ehird> that's rich coming from mr "all humour is subjective therefore if you think I'm not funny ehird you are wrong"
16:03:06 <fizzie> Let's engineer some mice!
16:03:32 <ehird> 14:56 AnMaster: oklopol, /kill on irc..
16:03:32 <ehird> 14:56 AnMaster: learn what it is
16:03:33 <ehird> 14:56 AnMaster: -_-
16:03:38 <ehird> (for AnMaster, that is)
16:03:42 <AnMaster> ehird, it is just "lag induced humor" is old
16:03:55 <ehird> blah blah blah, it was funny, so just shut up
16:04:38 <ehird> you're just bitter because you're the target of it
16:05:06 <fizzie> I think the technical term here is "butt".
16:05:30 <ehird> He's acting more like I just shot him.
16:06:38 <fizzie> Where does the "butt of the joke" thing even come from? Some ur-joke involving butts?
16:07:01 <ehird> http://www.sptv.demon.co.uk/nbtv/ <-- is there a pic of this in operationamation
16:07:45 <fizzie> Oh, it's also: "A mark to be shot at; a target.". Maybe it's just that. How boring.
16:08:23 <ehird> comment on that munctional video: "the disparity between the quiet sections and the loud sections is too great. you should fix it. "
16:09:30 <ais523> <PhilHibbs> No, it's more like if your door is already busted wide open and burglars are coming in and out, and a reporter wanders in.
16:09:34 * pikhq beats someone with dynamic range.
16:09:41 <ais523> that's a good analogy, I wonder if the reporter would be doing something illegal than?
16:10:24 <pikhq> ehird: There's pictures of NBTV working in their forums.
16:10:35 <pikhq> Also, you should be able to find some video on Youtube.
16:12:18 <fizzie> The goodness of the analogy depends on how they actually spread that little piece of their code. Was that mentioned in the article? I might have just skipped it.
16:14:01 <ehird> wut are we talking about
16:15:10 <ais523> ehird: the BBC grabbing control of a botnet
16:15:53 <ais523> buying it from some criminals, AFAICT
16:16:15 <fizzie> Oh, they just bought it. Well, that's a bit different.
16:16:24 <ais523> they didn't actually say
16:16:29 <ehird> I hoped they would exploit it
16:16:31 <ais523> they said they hung around in shady IRC channels
16:16:34 <ehird> taht's pretty awesome for the BBC
16:16:46 <ais523> presumably they didn't want anyone to copy them
16:16:46 <ehird> like this channel?
16:17:02 <ais523> I don't know what would happen if someone tried to buy a botnet here
16:17:18 <ehird> By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx.
16:17:19 <ehird> Click then ordered its slave PCs to bombard its target site with requests for access to make it inaccessible.
16:17:22 <AnMaster> ehird, also why ask what we are talking about, just read scrollback. Like you said so many times
16:17:26 <ehird> why are the BBC admitting to htat
16:17:29 <fizzie> I could sell them a fungot-net.
16:17:29 <fungot> fizzie: is there a way to
16:17:37 <fizzie> fungot: For that, I would *make* a way to.
16:17:37 <fungot> fizzie: ( but which knows the base path of the file
16:17:44 <ehird> AnMaster: shut up; I'm annoyed when people try and reply without reading, not when people ask what we're talking about
16:17:56 <ehird> your accusations of hypocrisy would be more convincing were they ever right
16:18:05 <AnMaster> ehird, you have been annoyed by both
16:18:18 <ais523> anyway, once they were done with spamming themselves and DOSing their friends, they changed the desktop background on the infected computers and disinfected them
16:18:21 <ehird> umm, sure, I'll just take your word for it. except I haven't.
16:18:23 <AnMaster> ehird, also if you read the article
16:18:25 <AnMaster> "By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx. "
16:18:31 <AnMaster> that doesn't sound "bad to admit"
16:18:41 <ehird> dude I fucking pasted that from the article
16:18:52 -!- BeholdMyGlory has joined.
16:18:59 <ehird> and of course that'd bad to admit?
16:19:04 <ehird> the bbc are admitting they ddosed a security company
16:19:19 <ais523> ehird: but the security company said they could
16:19:22 <AnMaster> ehird, "prior arrangement", that means "go ahead"
16:19:26 <ais523> did you misread the bit that AnMaster pasted?
16:19:28 <ehird> i thought they meant prior agreement with the people they got it from
16:19:32 <ehird> ais523: no, _I_ posted that
16:19:45 <ehird> yes, and tells me to read the article
16:19:46 <ehird> 15:17 ehird: By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx.
16:19:47 <AnMaster> ehird, "<ehird> dude I fucking pasted that from the article" <-- But I asked about "read"
16:19:48 <ehird> 15:17 ehird: Click then ordered its slave PCs to bombard its target site with requests for access to make it inaccessible.
16:19:50 <ais523> you pasted more than one bit, so talking about the bit he repasted it specified it better
16:19:51 <ehird> 15:17 ehird: ermmmm
16:19:53 <ehird> apparently he's blind
16:19:54 <AnMaster> which seems to be different in your case
16:20:14 <fizzie> Still, about the analogy; it sounds like it *might* be illegal in Finland, but might not; you can get a fine or up to 6 months of prison for "invading or secretly entering or entering by diverting someone" a place protected by the "domestic peace" rules. But if the door is open and you can walk in, maybe not.
16:20:21 <AnMaster> ehird, talking about yourself in third person?
16:20:31 <AnMaster> ehird, since you didn't see "By prior agreement"
16:20:39 <ehird> yes, I did, I misunderstood it, jackas
16:23:03 <ehird> ais523: do you know why the formula that psygnisfive gave — "If (x&y)==0, the point is in the sierpinski triangle" — works?
16:23:26 <ais523> it's easy enough to prove
16:23:33 <ehird> after all, I have a program doing it
16:23:34 <ais523> but I'm wondering about how to see it in an intuitive sense
16:23:37 <ehird> I just don't know -why-
16:23:40 <ehird> sierpinski is everywhere..
16:23:51 <ehird> perfectly straight line in GoL, in this trivial formula...
16:23:56 <ehird> (IN THE SIERPINSKI TRIANGLE <-- hur hur)
16:24:45 <ehird> ais523: Mathematically, it's quite odd...
16:24:50 <ehird> I mean, bitwise and is an odd operation.
16:24:58 <ehird> You're choosing an arbitrary base, then operating on the individual digits.
16:25:04 <ehird> Which isn't very senseful, IMO.
16:25:12 <ehird> So I don't know why that would lead to Sierpinski...
16:25:21 <ais523> well, bitwise operations tend to create similar patters to the sierpinski triangle
16:25:30 <ais523> think of the fractal structure
16:25:48 <ais523> that's the same as binary, it doubles each digit
16:26:15 <ehird> ais523: I wonder if it works for N dimensions?
16:26:19 <ehird> can you get a 3d sierpinski with x&y&z?
16:26:52 <ehird> what a lovely coincidence
16:27:06 <ais523> not really a coincidence
16:27:09 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
16:27:16 <AnMaster> ehird, how many recursions is it at?
16:27:23 <ais523> it depends on what you mean by 3d sierpinsky
16:27:31 <ehird> ais523: not a coincidence, but, not intended
16:27:33 <ehird> AnMaster: it's not iterations
16:27:52 <ehird> if x & y == 0, then (x,y) is in the sierpinski triangle
16:27:59 <ehird> not in = place nothing
16:28:23 <ehird> AnMaster: http://codepad.org/lQGGDWNZ
16:28:27 <AnMaster> ehird, lets say you have an 8x8 gird. then the (x&y) == 0 -> black?
16:28:39 <ehird> where black = background.
16:28:42 <ehird> see my codepad link
16:28:54 <AnMaster> what if you do it at a 512x512 gird?
16:28:59 <ehird> newsham made it centered, I've made it the right way up, I'm going to combine them
16:29:01 <ehird> AnMaster: THE SAME DAMMIT
16:29:15 <AnMaster> ehird, so it is scaled or jut a section of it?
16:29:29 <ehird> it helps if you give it powers of two
16:29:42 <ehird> otherwise you get odd behaviour
16:29:57 <AnMaster> ehird, what if you want it at a higher resolution? Like you know first iteration of a fractal, second and so on
16:30:04 <ehird> AnMaster: it's infinite
16:30:07 <ehird> you don't seem to understand
16:31:04 <ehird> codepad.org/Y1PV2gVc <- newsham's centered one, now I'll combine this with my downwards one
16:34:45 <AnMaster> ehird, every triangle can be divided in three new triangles and a hole in the middle. So your statement "in the sierpinski triangle"must indicate "edges" right? All other points will eventually be a hole with enough iterations.
16:35:07 <ehird> Isn't that what "in" means for fractals?
16:35:25 <ais523> yes, given that many fractals are infinitely thin you have to count the edges
16:35:54 <ehird> Hmm, centering is non-trivial:
16:36:06 <ehird> Because of the odd-ness.
16:36:09 <AnMaster> ehird, well I don't know the technical terms for them. But what about a fractal like the mandlebrot. in could also indicate the area inside it. It seems to "fractalise" "outwards" rather than "inwards"
16:36:36 <ehird> Can I have some of your drugs?
16:36:54 <ais523> well, the mandlebrot isn't infinitely thin
16:37:05 <ais523> but on the other hand, it has an obvious protocol for inside/outside
16:37:09 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2336#a2336 Sierpinski version 2.
16:37:17 <ehird> Awesome code, awesome fractal.
16:37:18 <ais523> you can tell if a point's in it or not just by doing the calculation
16:37:23 <ehird> Right way around, and aligned center.
16:37:55 <ais523> whereas something like sierpinski the edges are obviously part of it, because if they weren't nothing would be
16:37:55 <AnMaster> ais523, well true. But look at an image at n iterations. http://en.wikipedia.org/wiki/File:Mandel_zoom_00_mandelbrot_set.jpg or whatever, the black area is very definitely "in it"
16:38:05 <ais523> AnMaster: are you not reading what I wrote?
16:38:14 <ais523> it sounds like you think I disagree with you
16:38:19 <ehird> that's the problem with the mandelbrot set, it's mostly a huge black hole :-D
16:38:24 <ehird> multiple ones even
16:38:29 <ehird> all the interesting stuff is on the outskirts
16:38:49 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
16:38:51 <AnMaster> yes, and there are even more of it there
16:39:13 <AnMaster> on the other hand, the sierpinski triangle is easier to "intuitively" understand how it is generated
16:40:00 <ehird> cantor dust is easier, I independently invented cantor dust
16:40:17 <AnMaster> ehird, how did "set" end up as "dust"
16:40:18 <ais523> cantor set's like a 1D sierpinsky
16:40:26 <ehird> AnMaster: cantor dust = multi-dimensional cantor set
16:40:27 * Slereah sprinkles some Cantor dust on ehird
16:40:33 <ehird> problem is, the cantor set is ... really boring
16:40:41 <AnMaster> and yes it is easy to understand
16:42:29 <AnMaster> but something like madelbrot, I have to sit down and look at the maths and even then I'm not really sure
16:43:02 <Slereah> I resent the Mandelbrot fractal a bit though
16:43:09 <Slereah> It makes people forget about the old fractals
16:43:17 <fizzie> I think there is a reasonable intuitivity about that thing: given any NxN square of bit-patterns for 00...00 to 11...11; you get the horizontal and vertical lines because of the 00..00, and the diagonal because ~x => N-x, and ~x & x == 0 always; and you get to do the same thing in the smaller N-1 x N-1 squares for those cases where the leading bits are either (0, 0), (0, 1) or (1, 0) because in those cases the bit in the and result is a zero, but in the final s
16:43:21 <ehird> well, mandelbrot is probably the prettiest, Slereah
16:43:21 <Slereah> Like the Weierstrauss function or the Peano filling curve
16:43:34 <AnMaster> ehird, what about the Julia set? That can be quite pretty
16:43:36 <ehird> fizzie: but in the final s
16:43:38 <fizzie> -- the final sub-square where the leading bits are (1, 1) there's always a common bit so the and is never == 0.
16:43:41 <Slereah> Most people seem to assume that it's the oldest
16:43:41 <ehird> AnMaster: Julia set is basically a warped mandelbrot :P
16:44:21 <ehird> http://en.wikipedia.org/wiki/File:725_Julia_sets.png
16:44:24 <ehird> remind you of anything
16:44:28 <fizzie> Er, by N-1 there I mean N/2, of course.
16:44:33 <ais523> Julia's related to Mandelbrot
16:44:40 <AnMaster> you can make nice coloured versions of mandelbrot too
16:44:42 <ais523> there's a Julia set for each point in Mandelbrot
16:46:13 <AnMaster> and yes http://en.wikipedia.org/wiki/File:725_Julia_sets.png definitely looks familiar
16:46:29 <AnMaster> why I believe it is some Julia sets! ;)
16:46:34 <ehird> http://upload.wikimedia.org/wikipedia/commons/0/02/Sierpinski_triangle_%28RGB%29.jpg
16:46:36 <ehird> coloured sierpinski
16:46:46 <AnMaster> ehird, coloured according to what rules
16:47:05 <ehird> Top triangle is tinted red, bottom-left green, bottom-right blue.
16:47:05 <AnMaster> that seems to be just one corner R, one corner G, one B and them colour mixing
16:47:08 <ehird> Repeat recursively, of course.
16:47:29 <AnMaster> ehird, boring. If I want to watch that I'll open the pallet in gimp or something ;)
16:47:30 <fizzie> I guess you can intuit that and-sierpinsky in a simpler way too: take a NxN square, where N is a power of two; the "lower-right" quadrant is always empty, since there you always have the leading 1 bit in common, while in the other three the leading bit of the and-result is always 0, so the content is just a down-scaled version of the whole square. This rather intuitively leads to a sierpinski.
16:47:37 <ehird> I wonder if there's a pretty fractal without great big holes.
16:49:03 <fizzie> The sierpinski-square-based pyramid looks nifty, though: http://en.wikipedia.org/wiki/File:Sierpinski_pyramid.png
16:49:11 <fizzie> Maybe not very constructable-out-of-legos.
16:49:16 <ehird> it occurs to me that the and-sierpinski is more efficient than most algorithms for it (maybe all)
16:49:18 <ehird> there's no recursion or anythin
16:49:26 <ehird> just O(size) or something
16:49:36 -!- BeholdMyGlory has joined.
16:49:38 <AnMaster> ehird, some of the prettier julia sets seems to happen around the edges of mandelbrot in http://en.wikipedia.org/wiki/File:725_Julia_sets.png
16:49:58 <ehird> http://en.wikipedia.org/wiki/File:725_Julia_sets.png is very... Xzibit.
16:50:07 <ehird> If you know what I mean.
16:50:29 <ehird> I've told you this 10 times.
16:50:42 <ehird> Xzibit is the guy on the horrible MTV show "Pimp My Ride", which is where the "yo dawg" meme comes from.
16:50:49 -!- asiekierk has changed nick to asiekierka.
16:51:04 <AnMaster> ehird, sure you told me? It doesn't even sound slightly familiar
16:51:17 <AnMaster> I don't think you told me unless you can prove it in logs
16:51:25 <ehird> Very well, I shall grep.
16:51:44 <AnMaster> I think you said "Yo dawg." before though
16:52:05 <ehird> 16:08 ehird: To Xzibit's body.
16:52:05 <ehird> 16:08 AnMaster: huh?
16:52:06 <ehird> 16:08 ehird: Xzibit is the origin of the yo dawg meme.
16:52:06 <AnMaster> ehird, of course, I could be wrong
16:52:14 <ehird> and this is just from late February, when I upgraded.
16:52:17 <ehird> In fact, later than that.
16:52:24 <ehird> I used Linkinius at first.
16:52:30 <ehird> So this is just from when Linkinius expired.
16:55:14 <ais523> I don't think I've ever had a shareware program expire on me
16:55:30 <ais523> nor an unactivated for-pay Microsoft program, I generally activate them ASAP
16:55:53 <ais523> the GPL EULA thing would have expired by now, but I just edited out the licence check
16:56:03 <AnMaster> http://en.wikipedia.org/wiki/File:Buddhabrot.jpg <-- now that looks cool. Just a way to render Mandelbrot but still..
16:56:34 <ehird> I've never had an unactivated for-pay Microsoft program expire on me because I don't use them
16:56:37 <ehird> I like the burning ship fracta
16:56:48 <ehird> http://en.wikipedia.org/wiki/File:Burning_Ship_Fractal_Zoom.png
16:56:50 <AnMaster> I haven't seen that one *googles*
16:56:52 <ehird> there was a more ghostly image somewhere on WP
16:57:00 <AnMaster> for once I'm prepared to google and you link it
16:57:00 <ais523> ehird: I used to use other people's Windows computer before I got Linux
16:57:10 <ais523> I actually used to be a Windows power user, but am a bit rusty nowadays
16:57:19 <ais523> and just being good at Windows doesn't make Windows any better to use...
16:57:21 <ehird> AnMaster: well, it was obscure enough to warrant it
16:57:40 <ehird> ais523: I used windows from 1998-2006; it was pretty rough all the way through.
16:57:49 <AnMaster> ehird, that look like "Eifel Tower as seen by <name of artist painting clocks that dripped>"
16:57:57 <AnMaster> don't remember name right now..
16:58:12 <ehird> come on, I'm art illiterate and even I know that :-P
16:58:21 <AnMaster> ehird, I didn't remember how to sell it
16:58:36 <ehird> selling Salvador Dali paintings is probably very easy.
17:01:05 <AnMaster> ehird, http://en.wikipedia.org/wiki/File:Nebulabrot.jpg
17:01:44 <AnMaster> ehird, apparently it is http://en.wikipedia.org/wiki/File:Buddhabrot.jpg but different colour set
17:05:53 <AnMaster> ehird, btw I remember seeing mandelbrot in vim
17:06:24 <AnMaster> this is quite interesting. (compared to if it was emacs, then it would probably be built in ;)
17:07:57 <ehird> AnMaster: I showed you that.
17:08:03 <ehird> When talking about TECO.
17:08:11 <ehird> http://www.spacetimetravel.org/tuebingen/tuebingen.html <-- anyone know the program that let you do this on arbitrary 3d shit?
17:08:15 <AnMaster> ehird, oh ok. When was this? Must have been at least half a year ago
17:08:22 <ehird> AnMaster: No, it was yesterday or the day before.
17:08:32 <AnMaster> ehird, err I have known of such a program for ages in vm
17:08:38 <ehird> 2009-03-10_Freenode.txt:19:27 ehird: http://www.df.lth.se/~lft/vim/mandelbrot
17:08:51 <ehird> 19:28 AnMaster: .se... oh my
17:09:06 <AnMaster> ehird, yes, I didn't remember seeing it on .se
17:09:18 <ais523> Emacs doesn't have mandlebrot built in
17:09:23 <AnMaster> ehird, but I have seen mandelbrot in vim before
17:09:25 <ais523> but there are lots of implementations on the Internet
17:09:42 <AnMaster> sshed to a box with vim and tried
17:09:56 <ais523> AnMaster: you don't have vim on your own computer?
17:10:09 <AnMaster> ais523, no. As I said many times before
17:10:21 <AnMaster> not everyone has emacs, not everyone has Gnome. Not everyone has KDE
17:10:24 <ehird> do you have vi? If not, your machine isn't POSIX or UNIX compliant. Congratulations on your zealotry.
17:10:36 <AnMaster> ehird, I do have a minimal vi yes
17:10:41 <ais523> all POSIX computers have a vi implementation, but at least on Ubuntu it's a minimal implementation not vim
17:10:51 <ehird> God, that mandelbrot vi program is slow.
17:10:55 <asiekierka> Manual-synced NBTV parts: still waiting
17:11:06 <ais523> I have an even more minimal vi on my computer
17:11:20 <ehird> (before anyone says that was harsh, asiekierka's "la"s go on for 30m)
17:11:25 <ais523> -cInitial command to run ($EXINIT also available)
17:11:27 <ais523> -RRead-only - do not write to the file
17:11:28 <ais523> -HShort help regarding available features
17:11:38 <asiekierka> (la la, LA LA, la la, I am not listening)
17:11:40 <ehird> oh god, that towers of hanoi game
17:11:44 <AnMaster> ais523, I took my vi from http://ex-vi.sourceforge.net/ I think
17:12:17 <ais523> whereas vim.tiny gives me loads of options
17:12:19 <ehird> just typing zzzzzzzzzzzzzzzzzzzzzzzzzzzzz wins.
17:12:26 -!- comex has joined.
17:12:27 -!- comex has quit (Client Quit).
17:12:40 -!- comex has joined.
17:13:03 <AnMaster> ehird, anyway vi isn't required by POSIX in fact. Since shell or other standard tools are actually optional
17:13:12 <AnMaster> to make it possible to support POSIX on embedded systems
17:13:24 <ehird> it's certainly required for UNIX
17:13:27 <AnMaster> there is a special "embedded profile" or something, forgot the name
17:13:28 <ais523> AnMaster: it's required by workstation POSIX I think
17:13:30 <ehird> and if you have a shell I believe you must have vi
17:13:52 <AnMaster> just pointing out that ehird was factually incorrect
17:13:57 <ehird> so anyone know about that speed of light thing
17:14:03 <ais523> typing ? then newline makes it segfault
17:14:17 <ais523> that's a bug, I should see if it's still in the most recent version
17:14:27 <AnMaster> ais523, says "pattern not found" here
17:14:33 <ais523> AnMaster: using busybox
17:14:44 <comex> anyone want to help me with prolog?
17:14:59 <ais523> BusyBox v1.10.2 (Ubuntu 1:1.10.2-1ubuntu7) multi-call binary
17:15:01 <AnMaster> ais523, busybox 1.13.2 /bin/busybox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped
17:15:03 <ais523> comex: I'll help if you like
17:15:08 <ais523> wow, my busybox is old
17:15:38 <comex> ais523: http://pastie.org/414276
17:15:53 <comex> I can load that, but if I then type valid(X), I don't get any results
17:16:01 <ehird> http://www.adamauton.com/warp/
17:16:02 <comex> whereas I expect amo, amas
17:16:10 <ais523> did you run first_conj?
17:16:12 <AnMaster> ais523, in my package manager the versions 1.12.2-r1 1.13.2 ~1.13.3 are available. ~ signifying testing, since I'm running a stable system it would require me to unmask that one with an entry in /etc/portage/package.keywords
17:16:27 <ais523> that program doesn't run first_conj
17:16:34 <ais523> it /defines/ firstconj(am) as a fact
17:16:41 <ais523> you need :- first_conj(am). to run it
17:18:06 <comex> in which prolog is a language and not first-order logic :u
17:18:27 <AnMaster> anyway *uninstalls ex-vi* *links /bin/vi to /bin/busybox
17:18:28 <ais523> comex: it would work fine if you were using backward chaining
17:18:31 -!- BeholdMyGlory_ has joined.
17:18:40 <ais523> comex: not using assert
17:18:44 <ais523> and instead doing the conjugation at runtime
17:18:46 <comex> ais523: I don't want to use assert
17:18:54 <ais523> what exactly are you trying to do?
17:19:03 <comex> if I just say valid(Word), I get an existence error
17:19:03 -!- BeholdMyGlory has quit (Nick collision from services.).
17:19:09 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
17:19:15 <ais523> that's because valid should be defined to calculate if a word is valid
17:19:26 <comex> I want to make a big list of valid words
17:19:29 <comex> by building up endings
17:19:41 <ais523> as in valid (Word) :- root(R), ending(E), atom_concat(R,E,Word)
17:19:47 <ais523> and root listing valid roots, and ending listing valid endings
17:19:57 <comex> do I have to go backwards?
17:19:57 <ais523> oh, I forgot the full stop on my example, but you can add it
17:20:13 <ais523> comex: it's called backward chaining in that it doesn't calculate the list unless you ask for it
17:20:34 <ais523> in other words, if you write valid('amat'), it then looks for a root and ending that fit together to make 'amat'
17:20:56 <ais523> putting atom_concat at the start of valid rather than the end would be faster if an argument was provided, but crash if you just wrote valid(X)
17:20:57 <comex> but the tutorials use something like
17:21:09 <comex> man(socrates). man(plato).
17:21:15 <comex> then you can ask who is a man.
17:21:23 <ais523> that's what's happening here
17:21:32 <ais523> the full program would be
17:21:35 <comex> no, in that example I have to define all possible roots in one big thing
17:21:50 <ehird> I don't think you "get" prolog.
17:22:02 <ais523> ending(o). ending(as). root(am). valid(Word) :- root(R), ending(E), atom_concat(R,E,Word).
17:22:05 <ehird> You don't write procedures that template facts; prolog has that built in.
17:22:07 <ehird> It's called foo :- bar.
17:22:09 <ehird> That's your template.
17:22:34 <comex> ais523: except what if I want to say
17:22:46 <comex> that's valid, and valid(foo), and valid(bar)
17:22:52 <comex> and I don't want to stick it in one big expression
17:23:00 <ais523> that isn't stuck in one big expression
17:23:01 <ehird> it's only template if you have :_
17:23:11 <ehird> valid(foo). valid(bar). valid(Word) :- ...
17:23:24 <comex> well, that makes more sense
17:23:27 <ehird> it's like haskell pattern matching, comex
17:23:32 <ais523> each definition you give is an alternative definition
17:23:35 <ehird> you can define it multiple times, except it's one
17:23:38 <ehird> and it tries them all
17:24:11 <ais523> that's why the program you pasted doesn't work, it's treating first_conj(am) as an alternate definition of first_conj, not an attempt to run it
17:24:38 <ais523> in fact, actually running an expression is quite difficult in prolog, although possible, because it's generally bad form
17:24:57 * comex tries to write a better version
17:25:12 <ehird> http://www.drmaciver.com/2009/02/spam/
17:26:49 <comex> ais523: http://pastie.org/414288
17:26:53 <comex> that works, but it seems very verbose
17:27:00 <comex> I have to say first_conj twice etc
17:27:16 <ehird> comex: "very verbose"?
17:27:20 <ehird> The planets we live on; they differ.
17:27:25 <Slereah> http://sovietrussia.org/code/src/1182815183936.png
17:28:02 <ais523> if you want to make it shorter, you can do s1(X) :- member(X,[s,t,mus,tis,nt]).
17:28:09 <ais523> but that's just a slightly shorter abbreviation
17:28:16 <ais523> writing it out in full is idiomatic
17:28:22 <ehird> he's talking about the valid()
17:28:45 <ais523> there's nothing wrong with that, apart from Prolog's traditional lack of nested expressiosn
17:29:06 <ehird> Slereah: FWIW, if you want to be more current, I would focus on "GRUNNUR".
17:29:20 <comex> is there a way for me to "split" the goal into two, so I would just say first_conj once?
17:29:49 <ais523> yes, but that would also be unidiomatic
17:29:55 <ais523> you can use ; to combine common parts of two goals
17:29:55 <comex> (but what is it :p)
17:30:20 <ehird> sheesh, comex just wants to write his perfect language in every language
17:30:33 <comex> ehird: not really, I just want to generate a list of valid latin words with minimal typing
17:30:43 <ais523> valid (Word) :- first_conj(Root), (atom_concat(Root, o, Word) ; s1(Ending), atom_concat(Root, a, X), atom_concat(X, Ending, Word)).
17:30:50 <ehird> you're typing an awful lot of complaining about the AWFUL VERBOSITY into #esoteric
17:30:54 <comex> ehird: thought prolog might be a good way to do it
17:30:57 <ehird> sometimes you repeat a few characters when coding!
17:31:11 <ehird> just deal with the verbosity, it's _one_ _line_
17:31:19 <ehird> not even a full line
17:31:25 <ais523> comex: typical indentation style with that ; would be to line up the ; vertically underneath the opening bracket of the (;) group
17:31:27 <AnMaster> ais523, Hm. Erlang looks like Prolog, but prolog doesn't look like Erlang.
17:31:30 <ehird> ais523's version is way unreadable
17:31:48 <ais523> ehird: if you run it through gprolog's pretty-printer, it's relatively readable, but the idiomatic version is better
17:32:22 <ais523> there is actually a slight semantic difference between the version with ; and without
17:32:38 <ais523> in that the version with ; only runs side-effects that first_conj might have once, and the split version runs them twice
17:32:57 <comex> <3 non-functionally-pure languages
17:33:14 <ais523> ; is just semantic sugar, though, for defining a new predicate and using each of the two halves of the predicate as an alternative definition for the new predicate
17:33:28 <ais523> but ; is nice because you don't want to go around defining lots of junk predicates for no reason
17:33:37 <ais523> in fact, most of Prolog is syntactic sugar
17:33:45 <ehird> but you should use the idomatic one
17:33:55 <ais523> ; is mostly useful only in really big predicates
17:34:09 <ais523> or if you really really need to avoid duplication for some reason
17:34:26 <ehird> that's the entirety of the duplication
17:34:31 <ehird> in C< that would be
17:34:35 <ehird> first_conj(root); or whatever
17:34:41 <ais523> AnMaster: no, like if something had side effects
17:34:41 <ehird> that refactoring into a procedure
17:34:42 <ehird> and then calling it
17:34:46 <ehird> makes the multiple calls REPETITION
17:34:49 <ehird> that's _ridiculous_
17:34:50 <ais523> you definitely don't want to call fork() too many times, for instance
17:35:05 <ais523> and fork_prolog(Pid) is in gprolog's standard library
17:35:24 <ais523> you wouldn't want to duplicate that, and you probably wouldn't want to backtrack past it either unless you really knew what you were doing
17:35:27 <ais523> at least, not in both resulting threads
17:52:28 <comex> forking, prolog, heheh
17:52:39 <ais523> what's so weird about that?
17:52:46 <ais523> it's much the same as forking in any other language
18:01:37 <ais523> if you come onto an IRC network and find that services are down
18:01:47 <ais523> is it usual to write your own copy of ChanServ to guard a channel for you?
18:02:11 <comex> http://pastie.org/414328
18:08:17 -!- neldoret1 has joined.
18:10:57 -!- jix_ has joined.
18:16:18 -!- Judofyr has joined.
18:21:58 -!- neldoreth has quit (No route to host).
18:24:12 -!- jix has quit (Read error: 110 (Connection timed out)).
18:34:15 -!- ehird___ has joined.
18:34:34 <ehird___> The Adobe flash plug-in is non-free software, and people should not
18:34:34 <ehird___> install it, or suggest installing it, or even tell people it exists.
18:34:34 <ehird___> That Firefox offers to install it is a very bad thing.
18:35:09 <Slereah> Does any of this explain his giant disgusting beard
18:35:48 <ais523> ehird: Stallman doesn't 'get' free software
18:35:49 <ehird___> The beard is a byproduct of his bullshit-producer (mouth)
18:35:54 <ais523> just look at the original licence to his Emacs manual
18:36:09 <ais523> just as with proprietary software, he was trying to put on unremovable restrictions
18:36:18 <ais523> luckily, the GPL stops him just as much as it stops everyone else...
18:36:19 <ehird___> ais523: you mean refusing to tell people non-free software exists won't solve the problem of non-free software?! shit!
18:36:42 <Slereah> If we ignore them, maybe they'll disappear!
18:36:43 <ais523> and refusing to port Emacs to Windows won't stop people porting it to Windows
18:37:03 <ais523> Bruce Perens has much the right idea, I think, he wrote the DFSG
18:37:08 <ais523> or at least was very influential behind it
18:37:11 <ehird___> ais523, can you ping 208.78.103.223?
18:37:18 <ais523> why do you want me to try?
18:37:28 <ehird___> because I can't; it's my slice
18:38:00 <ais523> 64 bytes from 208.78.103.223: icmp_seq=1 ttl=45 time=120 ms
18:38:02 <ais523> 64 bytes from 208.78.103.223: icmp_seq=2 ttl=45 time=119 ms
18:38:11 <ehird___> also, I haven't heard Bruce Perens say anything that isn't insane, which is more than I can say for most FOSS people
18:38:18 <Azstal> 64 bytes from 208.78.103.223: icmp_seq=1 ttl=56 time=0.000 ms :D
18:38:49 <ais523> ehird: sshd is running over there
18:38:51 <ehird___> 0ms? you lucky bugger, how fast is that connection! :P
18:38:54 <ais523> although pretty obviously I can't log in
18:39:02 <ehird___> ais523: good. I cannot connect via SSH or IRC.
18:39:16 <ais523> three underscores? that's quite a lot
18:39:42 <ehird___> I had __ for asking #slicehost, because I didn't want to risk just _ being online for some reason, but it hasn't disconnected yet :P
18:41:38 <ehird___> ESR on Bruce Perens: Damn straight I took it personally. And if you ever again behave like that kind of disruptive asshole in public, insult me, and jeopardize the interests of our entire tribe, I'll take it just as personally -- and I will find a way to make you regret it. Watch your step.
18:46:08 <ehird___> Having recipes for non-free programs in the ports system is more like
18:46:08 <ehird___> including present-day neofascist web sites in the list of "interesting
18:46:08 <ehird___> links" in your web site. I am against censorship, so I do not believe
18:46:08 <ehird___> in closing down those neofascist web sites. But I won't refer people
18:46:42 <asiekierka> ok, change of plans, i'm not getting a miniature toy fan and modifying it
18:58:20 <ehird___> Huh, I've never written a Mandelbrot set viewer; just realised.
18:58:28 <ehird___> Well I've tried, but the algorithm never was right.
18:59:44 <ais523> although it breaks down if you zoom too far due to FP rounding errors
19:00:07 <ehird___> Haskell has a library for infinite precision floating point I think
19:00:35 <ais523> you can't get infinite precision generalised floating point
19:00:40 <ais523> you can get infinite precision rationals
19:00:50 <ais523> and arbitrarily high precision floating point, that's what a bigfloat is
19:00:53 <ehird___> hcouldn't you find a base that can represent a number precisely in finit edigits, for any number?
19:02:28 <ais523> you can find a base that represents a number precisely in finite digits for any rational number, but not for any irrational number
19:03:00 <ehird___> but i mean, things like, oh what it is
19:03:05 <ehird___> 0.2 is 0.199999999999 or something
19:03:10 * ais523 catches ehird in a butterfly net -----\XXXXX/
19:03:15 <ehird___> I was focusing on those errors
19:03:32 <ais523> oh, those can be fixed using bigrationals
19:04:34 <ehird___> but do bigfloats automatically change their precision?
19:04:41 <ehird___> http://hackage.haskell.org/packages/archive/numbers/latest/doc/html/Data-Number-BigFloat.html doesn't
19:04:56 <ehird___> wonder if there's gmp bindings
19:08:57 <ehird___> grr, I'm unplugging/repluggin my router
19:09:22 -!- neldoret1 has quit (Client Quit).
19:12:47 -!- neldoreth has joined.
19:26:50 -!- neldoreth has left (?).
19:30:34 <ehird___> ais523: whoa! by adding only a few, very simple lines of code to my sierpinski program, it's rendering a PNG of it! (just need to fix one bug)
19:31:13 <ais523> ehird___: the joy of a good stdlib
19:31:23 <ais523> it would probably be just one extra wrapper function in mathematica
19:31:26 <ehird___> ais523: actually, it's from Hackage, but it was just a one-liner to install it
19:31:31 <ais523> whose only redeeming feature is a good stdlib
19:31:34 <ehird___> but it's amazing what good-factored code gets you
19:39:44 <psygnisfive> im glad to see my comments on the sierpinski gasket generated such lengthy discussion
19:39:56 <psygnisfive> any solutions to the problem of why its so ubiquitous?
19:41:07 <lament> perhaps God is a gigantic sierpinski triangle.
19:44:33 -!- neldoreth has joined.
19:45:49 <ehird___> tony morris found by police; unharmed
19:47:02 <ais523> ok, that's useful, I hope he stays alive
19:47:31 <lament> he had lots of time to kill himself had he wanted to.
19:47:56 <ehird___> if he actually wanted to, we'd have no chance because he'd h ave been dead before the message was sent out
19:50:12 <ais523> ehird___: some people want to commit suicide but don't really want to, so they give people a chance to talk them out of it first
19:50:18 <ais523> anyway, let's move onto less morbid things
19:50:30 <ehird___> ais523 -- my current centering algorithm (stole from newsham :)) is "insert ((height - y)/2) blank spaces before the sierpinski stuffs" -- any way to fix that? because on the last line, it produces (h/2) spaces
19:50:37 <ehird___> also, yes, I know that... I'm not thick.
19:51:01 <ais523> ehird___: what particular is wrong with that?
19:51:43 <ehird___> ais523 -- http://www.nopaste.com/p/abzexHoIj
19:53:30 <ehird___> i.e., from h-1 to 0, downwards
19:53:58 <ehird___> so it ends up as (h-0)... hmm... ah, wait...
19:54:00 <ais523> that algorithm shouldn't be producing the results you pasted
19:54:18 <ais523> in particular, it would lead to only half a space on line 1
19:54:57 <ais523> but you have loads of spaces on line 1
19:55:31 <ehird___> except; the extra spaces come fromL
19:55:37 <ehird___> [ x .&. y == 0 | x <- [w-1,w-2..0] ]
19:55:43 <ehird___> which is catenated to the blanks
19:55:53 <ais523> oh, I'm too tired to think about this atm
19:56:04 <ais523> I'm seriously sleep-deprived after a couple of intensive modules
19:56:12 <ehird___> http://codepad.org/Y1PV2gVc the original version, which works without flipping
20:00:54 <fizzie> http://groups.google.ca/group/rec.arts.sf.written/msg/073bea1aa44c9396 was a funny story.
20:01:17 -!- ais523 has quit (Remote closed the connection).
20:03:39 <AnMaster> google for "pi" and the calculator gives you: pi = 3.14159265
20:05:23 <fizzie> Mathematics: it's not like it's an exact science.
20:05:48 <psygnisfive> its true, he'd been dead long before the message was sent
20:06:00 -!- kar8nga has joined.
20:06:03 <psygnisfive> cause he'd probably code a chat bot to send the message for him
20:06:24 <psygnisfive> speaking of idiots attempting suicide, where'd they find him?
20:06:38 -!- ehird____ has joined.
20:06:46 <ehird____> it WAS scripted -- multiple emails and IRC channels at once
20:07:04 <AnMaster> fizzie, btw if pi is a *normal* number as well as a transcendental one (which iirc is proven) wouldn't that mean that every number sequence will in the long run show up in the decimals on pi
20:07:07 <ehird____> also, he's not an idiot, he had chronic pain due to an ankle injury for 2 years
20:07:15 <psygnisfive> see, this is why geeks shouldnt commit suicide. they're too awesom.
20:07:18 -!- ehird___ has quit (Read error: 145 (Connection timed out)).
20:07:33 <ehird____> you try having excruciating pain 24/7 for 2 years
20:07:49 <psygnisfive> how long have i been coming here talking to you?
20:07:55 <ehird____> to boot, he thinks the doctors misdiagnosed him -- and there hasn't been any progress on it so far. He tried to self-amputate a while back.
20:08:27 <ehird____> ...and, why? He can't exactly use the ankle.
20:08:27 <fizzie> I'm not sure normality is required, but yes, I guess at the very least a normal number should get every number sequence sooner or later.
20:08:29 <AnMaster> ehird____, what's up with your nick btw?
20:08:31 <psygnisfive> amputating a leg that's had chronic pain for an extended period of time often leads of phantom limb syndrome
20:08:48 <psygnisfive> in which the pain remains, but the limb can no longer be anaesthetized, etc.
20:09:03 <ehird____> AnMaster: router troubles, connected via telnet
20:09:14 <AnMaster> fizzie, which would make PI a so called "illegal number" in theory. Since it would contain the binary, and source code, of every program in existence. Or ever possible
20:09:36 <ehird____> AnMaster, your thoughts are as old as the 70s.
20:09:58 <ehird____> Read http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php
20:09:59 <AnMaster> ehird____, well yes. But this would be an interesting new file sharing idea. Just share offset in pi
20:10:12 <fizzie> Pi-based file-sharing is not a new idea either.
20:10:22 <ehird____> yeah, let's wait until the head death of the universe before sharing anything other than pi
20:10:24 <fizzie> I've seen it proposed (unseriously) somewhere.
20:10:40 <AnMaster> ehird, err this is an IWC reference?
20:11:02 <AnMaster> it did end up as an IWC reference though :)
20:11:16 <AnMaster> fizzie, yes of course it wouldn't be practical
20:11:25 <AnMaster> ehird____, tried rebooting it?
20:11:47 <psygnisfive> so no one piece can be claimed to be infringing on anything
20:11:49 <AnMaster> ehird____, what is the issue you are having with it?
20:11:53 <ehird____> psygnisfive, yes, it's stupid, it's written by an idiot who knows nothing about copyright law
20:12:11 <psygnisfive> i know. it sounded bullshit because ok the noise isnt copyrightable
20:12:27 <AnMaster> psygnisfive, what if that key is a prime number?
20:12:41 <ehird____> there's a prime whose source is decss
20:12:56 <AnMaster> I was making a reference to that
20:13:01 <ehird____> if you distributed it as a prime thing, that's fine
20:13:08 <ehird____> if you distirbuted it as decss, that's illegal
20:13:08 <psygnisfive> the key is a decode number plus references to the pieces of noise that need to be decoded
20:13:33 <AnMaster> ehird, ah, you can't reach your vps. I could try to traceroute it if I knew the ip
20:13:43 <ehird____> Others can connect; 208.78.103.223
20:13:45 <AnMaster> in case it is the vps that is having isues
20:14:01 <ehird____> traceroute gives my VPS, then * forever
20:14:41 <AnMaster> ehird, maybe it is some firewall gone wrong on the vps? or such
20:16:03 <ehird____> because everyone else can ping, traceroute and connect via ssh, because I can't reach manage.slicehost.com either, and because the traceroute fails AFTER MY ROUTER
20:16:35 <AnMaster> ehird, does it affect just slicehost or anything else?
20:16:58 <AnMaster> maybe it is like that thing I remember reading about. Wikipedia being blocked by UK ISPs for some time iirc
20:17:17 <ehird____> no, it's really not. there's absolutely no basis for claiming it is, other than "UK" being in common
20:17:17 <fizzie> You said "traceroute gives my VPS, then * forever" which does not sound equivalent to "fails right after my router".
20:17:18 <AnMaster> if they blocked something else on the same ip
20:18:37 <AnMaster> anyway, try to calm down. I read about this thing called "mindfulness", though it did look like a piece of bull****, it might help. don't know~
20:18:54 <fizzie> Now if you people could stop being interesting for tonight, I might get done this thing I need to write.
20:19:09 <AnMaster> ehird, so you can't access manage.slicehost.com either. Would that extend to *.slicehost.com ?
20:21:13 <AnMaster> ehird____, this is very strange indeed. Two ips at slicehost doesn't work, but everything else does?
20:21:50 <AnMaster> even though I know routers are crappy I have a hard time seeing how it could be that crappy
20:23:03 <AnMaster> ehird____, I wish you good luck making it work. Tried a factory reset? How to do that varies between models. On some you hold some button down while it is booting for example
20:23:41 <AnMaster> ehird____, tried telneting to your router?
20:23:55 <AnMaster> usually that works better than webuis
20:24:33 <AnMaster> and shows lots of nice hidden options too
20:24:37 <ehird____> yours isn't a locked down piece of shit rented from orange as part of the plan
20:24:53 <AnMaster> ehird____, mine was sent by the ISP as part of the plan
20:25:17 <ehird____> telnet: connect to address 192.168.1.1: Connection refused
20:25:42 <AnMaster> ehird, well for fun try nmapping it, just do it at slow rate or you are likely to crash it
20:26:11 <fizzie> Here's a random piece of trivia: I have a ZyXEL ADSL thing, which speaks a bit of SNMP, but only the outgoing link speed is visible in the SNMP values (as interface speed); the incoming speed, which I'd sort-of like to monitor out of curiosity, is not even the ZyXEL-specific SNMP MIB, it's only available in the telnet (and webui) interfaces.
20:27:36 <AnMaster> fizzie, I don't think mine has SNMP. How would I check?
20:28:42 <fizzie> Er, well, you can poke it with a SNMP request, but presumably if it has it, the community IDs ("public", "private" by default) are configurable somewhere.
20:29:09 <ehird____> hmm, it has quite a few open ports
20:29:48 <ehird____> btw, how do you kill telnet from inside? it's irritating
20:30:17 <AnMaster> that is the escape code for it in my case
20:30:18 <fizzie> AnMaster: It's an UDP thing, and it might not answer to invalid-looking requests, so you probably need some snmp-utils package installed.
20:30:32 <AnMaster> ehird____, it says when you start it
20:30:51 <ehird____> anyway, all the ports are boring apart from 9100 which gives "3" -- wonder how to use them.
20:31:11 <AnMaster> ehird, did you try service scan thingy
20:31:52 <fizzie> AnMaster: Well, I guess you could try nmapping UDP port 161, I mean theoretically it could send back icmp port-unreachables or something if it doesn't answer at all.
20:32:06 <AnMaster> ehird____, it could I guess crash a bad router if the router crashed on random data
20:33:30 <ehird____> http://www.nopaste.com/p/aTrKL9mcmb
20:33:31 <AnMaster> fizzie, it is filtered on other random udp ports too
20:33:45 <ehird____> So, some dns shit, the configuration, Upnp server and an unknown thang.
20:33:59 <ehird____> The unknown thang & the dns seem interesting, all else boring.
20:34:00 <fizzie> Yes, very likely. Well, if you have them tools, "snmpwalk -Os -c public -v 1 <device IP> ." usually gives everything the device knows.
20:34:18 <AnMaster> ehird, dns isn't unexpected. All routers have that afaik
20:34:40 <ehird____> S owhat is that jetdirect, do you think?
20:34:43 <AnMaster> fizzie, I don't have the tools
20:35:07 <ehird____> so... totally locked down, you can get in to it, but you need a serial cable
20:35:09 <AnMaster> ehird____, that is what the port is meant for
20:35:20 <ehird____> my router supports connecting a printer, so yes
20:35:20 <AnMaster> ehird____, but it probably isn't used for that...
20:35:35 <fizzie> You can probably craft a SNMP packet with hexedit and send it with netcat's udp mode, but that probably would not be worth the trouble.
20:35:51 <ehird____> fizzie, does SNMP offer any nice backdoors? :P
20:36:45 <fizzie> Speaking of backdoors, my WLAN access point firmware had a custom non-linked page, with manufacturer-fixed username and password, which let you execute any shell command with a web-form and see the outputs.
20:36:49 <fizzie> That wasn't very nice.
20:37:52 <AnMaster> MAC Address: 00:14:7F:EE:BF:74 (Thomson Telecom Belgium)
20:38:15 <ehird____> If anyone can gimme tips on cracking open my router's shell, i'd appreciate it
20:38:25 <fizzie> I don't know what nmap's "open|filtered" means.
20:38:54 <fizzie> The wlan AP's debug-page was reasonably useful for getting shell-like access without having to upload a custom firmware or anything.
20:39:13 <fizzie> I just would've preferred it to use the configured administration password and not some manufacturer default.
20:39:19 <ehird____> You can back up your Livebox configuration to a file on your computer.
20:39:42 <ehird____> there might be hidden settings in there
20:39:52 <AnMaster> fizzie, interesting. The telnet access I get is kind of crippled, a menu interface with lots of options
20:40:22 <fizzie> Well, there was no telnet access to the wlan AP at all, even though it was a linuxy thing.
20:40:25 <ehird____> Modifying cfgsave.dwb files from a Wanadoo Livebox <-- oo
20:41:13 <fizzie> This ADSL box most probably isn't linux-based either.
20:41:22 <ehird____> "This file is just a tar file that has been 'encrypted' by adding 0x1b to every byte in the file. "
20:42:21 <fizzie> I ran into that sort of "encryption" somewhere too.
20:42:22 <ehird____> hey you can get telnet with just this apparently! hot
20:42:27 -!- ehird____ has quit (Excess Flood).
20:42:44 -!- ehird_______ has joined.
20:42:46 <fizzie> Apparently the box doesn't know what day it is either.
20:42:48 <fizzie> Current date is Tue 2009/01/06
20:43:35 <fizzie> It's "ZyNOS version: V3.40(AGE.2)".
20:44:03 <AnMaster> yeah that sort of "encryption" sucks
20:46:57 <fizzie> Ooh, there's a tcpdump-like packet trace facility in the ADSL box.
20:47:18 <AnMaster> ehird, that looks like a hash of stdin from md5sum
20:47:29 <AnMaster> d3b07384d113edec49eaa6238ad5ff00 -
20:47:49 <AnMaster> ehird, no idea if that will break stuff
20:47:55 <ehird_______> presumably, I'll need to put one back when I'm done!
20:48:09 <AnMaster> anyway when I save settings from my router using the backup feature I get a plain "user.ini" file
20:49:01 <ehird_______> http://pastie.org/private/tjvsp5kpxzg5bgqowkka <- FUCK YEAH
20:49:51 <fizzie> That's a funny format for a configuration dump.
20:50:04 <fizzie> Does it extract any tar file you upload to it, no matter what the paths are? :p
20:50:30 <ehird_______> As long as you add the md5sum properly, and then add 0x1b to each byte
20:52:05 <ehird_______> this is pretty good, all their configs are plain text and COMMENTED
20:52:10 <AnMaster> ehird_______, it has bluetooth?
20:52:29 <AnMaster> ehird_______, what is that used for?
20:52:51 <AnMaster> ehird_______, not debug port then?
20:53:07 <ehird_______> omg you can configure the dns and everything <3 <3 <3
20:53:47 <ehird_______> just modify the wifi.conf shell script, to add the commands you want to run
20:55:02 -!- BeholdMyGlory has quit (Remote closed the connection).
20:55:18 -!- olsner has joined.
20:55:27 -!- BeholdMyGlory has joined.
20:56:13 <fizzie> It might also be some subversive soul thinking "hey, let's give the poor plebs a way of actually using their device".
20:56:20 <AnMaster> sure is when you can gain advantage of it
20:56:34 <ehird_______> hmm, considering the comments that's quite possible fizzie
20:56:59 <AnMaster> I mean, what comments specifically
20:57:17 <fizzie> Anyway, if a device runs Linux, people are probably going to hack around with it even if it means soldering in custom connectors for a serial port or stuff.
20:57:24 <AnMaster> ehird_______, anything like "fuck the management, lets make this encryption silly"?
20:57:41 <ehird_______> this is JSUT configuration files, I will need ssh to explore the whole fs
20:58:08 <fizzie> Well, maybe only the most hardcorey people would apply a soldering iron on a rented device, but anyway.
20:59:32 <fizzie> One good way of finding stuff out is to locate the "open-source-compliace" website of the device manufacturer; I think most companies that do linux-based routery things have some sort of "here's a random pile of sources" distribution, which you certainly can't use to build a working firmware out of (since no-one bothers to support that) but which can be very informative of how the system works.
21:00:23 <ehird_______> http://jean.thecoderblogs.com/2008/12/05/got-root/ <- somoeone's done this already, that's a :( and a :)
21:00:24 <fizzie> ZyXEL has a ftp://opensource.zyxel.com/ ftp-site with really random content, and Linksys also at least used to have outdated source code distributions hidden somewhere in the support sites.
21:03:06 <ehird_______> I will now do http://jean.thecoderblogs.com/2008/12/05/got-root/, so I amy hack further
21:07:32 <AnMaster> hm it seems openwrt should work on my router
21:07:48 <AnMaster> not going to try, I don't want to mess up
21:09:39 <fizzie> OpenWRT should sort-of almost-work on my wlan AP (a Linksys WAP54G), except that the AP-only version I have only has 2 megs of flash instead of the normal 8 megs in the good old WRT54G, so there's not much space for stuff.
21:10:36 <AnMaster> this router is about half a year old
21:11:52 <ehird_______> ok, preparing to get myself an sshd onto thine router
21:13:09 -!- BeholdMyGlory has quit (Remote closed the connection).
21:13:28 -!- ehird_______ has quit ("aaa").
21:13:31 -!- BeholdMyGlory has joined.
21:13:33 <fizzie> Thou shalt not ssh onto thine router, for that is an abomination.
21:14:57 <GregorR> There is some set of numbers, strictly greater than the rational numbers and strictly less than the real numbers, which can be mapped reversibly but not 1-1 to integers by means of writing a program to generate the number. With these generator programs, you can perform addition, multiplication, etc, but cannot perform comparisons, as two numbers may be equal even if their generator representation is not, and I don't plan to solve the halting problem. I
21:14:57 <GregorR> s there any problem with this observation, and is it even vaguely useful?
21:15:35 <GregorR> Actually, I suppose you can perform comparisons just as reliably as you can perform any other operation, it only becomes a problem when you try to display the result in non-generator form.
21:15:59 <GregorR> (With everything else you can get a partial early result, but with that you'd have to wait infinite time for any result)
21:16:42 <ehird> My bouncer works now
21:17:01 <fizzie> Soon there will come smoke out of your router.
21:17:05 <GregorR> Unless we can prove that, for some particular translation to generators, all generators for equal values will eventually resolve to identical code sequences, which might actually be the case ...
21:17:14 <GregorR> (Doesn't seem likely though)
21:18:24 -!- MigoMipo has joined.
21:19:03 <GregorR> Oh come on, this is #esoteric , somebody has to be interested in my math oddity :P
21:19:37 <lament> GregorR: they're called computable numbers
21:19:38 <fizzie> Is your math oddity the same thing as "computable numbers"?
21:21:05 <GregorR> The main thing I'm trying to point out is that I recall somewhere it being claimed that there are strictly more real numbers than integers, but in fact there's a set in between rationals and reals that has the same cardinality as integers.
21:21:07 <ehird> ssh: connect to host configuration.adsl port 22: Connection refused
21:21:31 <Slereah> GregorR : There's a shitload, actually
21:22:12 <ehird> ssh: connect to host 192.168.1.1 port 22: Connection refused
21:22:29 <fizzie> GregorR: Do you mean "strictly more rationals than integers" in that comment? I mean, I don't see who'd object to "strictly more real numbers than integers".
21:22:31 <Slereah> N->Z->Q-> constructible numbers -> Algebraic numbers -> computable numbers -> definable numbers
21:22:41 <Slereah> All of them are aleph null
21:22:48 <lament> GregorR: there're many sets containing the rationals that have the same cardinality as integers do.
21:23:08 <Slereah> Actually, all useful numbers have that cardinality
21:23:08 <GregorR> I blame my math teacher for making that unclear X-D
21:23:17 <lament> GregorR: for example, the algebraic closure of 1 and sqrt(2)
21:23:34 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
21:23:52 -!- BeholdMyGlory has joined.
21:24:32 <lament> sorry, not algebraic closure
21:24:43 <lament> just the field defined by
21:27:04 <Slereah> The field define by one and sqrt2?
21:27:08 <Slereah> That's a pretty small field
21:27:32 <ehird> it just isn't responding to ssh
21:27:39 -!- kerlo_ has changed nick to orelo.
21:28:21 <lament> Slereah: it's not that small
21:28:58 <Slereah> Well, cardinality of two :D
21:29:46 * ehird unhides a downloaded one to see if changes took effec
21:32:42 <fizzie> Actually that "add 0x1b" "encryption" is not the most canonical "silly encryption"; a xor operation would've been more usual than addition.
21:32:54 <GregorR> OK, so this is dumb, I was thinking about that and I came to the conclusion that any infinite set that be defined by induction has the same cardinality as reals. Then I realized that that's completely fucking obvious.
21:33:32 <fizzie> I mean, glibc has that memfrob(s, n); function and everything.
21:43:29 -!- lament has quit (Remote closed the connection).
21:43:41 -!- lament has joined.
21:44:06 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
21:50:16 <orelo> GregorR: excluding countable ones, I presume.
21:51:23 <GregorR> ERM, same cardinality as /integers/ I meant.
21:51:39 <GregorR> If you can create the set by induction, it's countable.
21:52:05 <Slereah> That's why any useful number is in such a set
21:52:15 <Slereah> Because they can't be defined otherwise
21:53:46 <fizzie> Related to usefulness of numbers, a well-known quote: "The real numbers are the dependable breadwinner of the family, the complete ordered field we all rely on. The complex numbers are a slightly flashier but still respectable younger brother: not ordered, but algebraically complete. The quaternions, being noncommutative, are the eccentric cousin who is shunned at important family gatherings. But the octonions are the crazy old uncle nobody lets out of the atti
21:56:28 <GregorR> I wish there was a sound way to define the theory that any set larger than the computable numbers (that is, any set S for which the computable numbers are a strict subset of S) is also contrived :P
21:57:39 <GregorR> (Erm, larger but still with the same cardinality as integers that is)
21:58:06 <GregorR> (That makes no sense! :P )
21:59:02 <orelo> Hmm, so a countable set that includes all computable numbers, plus something else.
21:59:12 <GregorR> Yes, but is not contrived X-P
21:59:13 <Slereah> Don't be hatin' Chaitin's constant dude
21:59:46 <orelo> The set of all 1-computable numbers, defining "1-computable" as meaning a particular thing.
21:59:54 <fizzie> 1. (1) contrived -- (showing effects of planning or manipulation; "a novel with a contrived ending")
22:00:37 <orelo> Namely, computable on a 1-computer, defining "1-computer" as meaning a particular thing.
22:00:49 <GregorR> I've got one: Computable with a halting oracle.
22:01:05 <GregorR> That includes Chaitin's number.
22:01:16 <orelo> An n-computer is a Turing machine with a halting oracle for every m-computer where m is an ordinal number less than n.
22:01:24 <GregorR> (By "contrived" I really meant to imply that you don't just go "That set plus Chaitin's constant")
22:01:47 <GregorR> Now where did I leave that halting oracle ...
22:01:56 <fizzie> Oh, it would suck to have a job as a halting oracle. All day people would be asking about "does this halt" and "does that halt" and on and on and on.
22:01:58 <Slereah> Why is Chaitin's constant less contrived than definable numbers?
22:02:07 <fizzie> Don't believe the job advertisement's "flexible hours" stuff.
22:02:26 <Slereah> It means they will bend them out of shape
22:02:29 <orelo> Slereah: when GregorR said "don't", he meant "do".
22:03:03 <orelo> Except "don't" is also a valid way of saying that, because either English is weird or GregorR is weird.
22:03:29 <GregorR> It was correct colloquial English, and is conveniently interpretable to mean either of two opposite things correctly :P
22:03:56 <GregorR> But there ain't no problem with that!
22:04:19 <Slereah> GregorR, why are you so very melon
22:04:21 <fizzie> I've heard it said that "I could care less" and "I couldn't care less" mean the same thing.
22:05:05 <orelo> That's why people shouldn't say "I could care less".
22:05:07 <ehird> my router isn't doing the right thing
22:05:46 <fizzie> ehird: Maybe you should watch the "warriors of the net" video to more appreciate the tough job your router has.
22:05:50 <GregorR> Whenever somebody says "I could care less", I put a broadsword through their head.
22:06:01 <GregorR> (Unless they actually could care less)
22:06:10 <fizzie> "How does a router look like? What color does a IP packet have? How does a IP packet travel through firewall. All the answers and many more can be found in the Warriors of the net move [sic]."
22:06:12 <GregorR> (In which case that's just a weird statement)
22:06:24 <ehird> fizzie: Well, by all accounts, it should have started the sshd.
22:06:29 <ehird> Maybe it _has_. But I can't get to it.
22:12:25 * orelo presses some buttons on his calculator
22:12:29 <ehird> Fuck ass, I think I know the problem.
22:12:40 -!- asiekierka has quit.
22:13:01 <ehird> it isn't downloading the file.
22:13:04 <ehird> Why, I have no fucking idea.
22:13:11 <orelo> And now it says "cebra".
22:13:48 <orelo> And now it says "wolf", and now it says "lobo", and now it says "sheep, ewe", and now it says "oveja".
22:14:07 <ehird> AnMaster: any ideas? It just isn't running the code
22:16:44 <ehird> #notify_file#default: (no script)
22:16:44 <ehird> #notify_file/bin/dumpleases # <--- usefull for debugging
22:16:48 <ehird> Aha! A way to run a program.
22:19:38 <AnMaster> ehird, anyway I now have root on my router: http://deckardt.nl/blog/2008/06/28/speedtouch-fun-the-root-hack/
22:20:01 <AnMaster> since I have a rather new firmware
22:21:35 -!- Corun has joined.
22:27:01 -!- atrapado has joined.
22:32:06 <fizzie> This ZyNOS packet-trace looks rather spiffy: http://www.tcgweb.com/netgear/trace-snif.html
22:44:03 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2345
22:44:10 <ehird> Now outputs a PNG.
22:44:14 <ehird> psygnisfive: try it!
22:44:18 <ehird> ghc --make -O2 sierpinski-gd.hs
22:44:25 <ehird> ./sierpinski-gd sierpinski.png
22:44:29 <ehird> open sierpinski.png and voil
22:44:35 <ehird> if you don't have ghc, I can give you an OS X binary
22:48:02 <ehird> instead of just checking it for 0
22:48:05 <ehird> you get an awesome infinite background pattern
22:48:23 <lament> pic or it didn't happen
22:49:13 <ehird> lament: http://imgur.com/5ZN9A.png
22:49:14 <FireyFly> Could not find module `Graphics.GD'
22:49:19 <ehird> that's just interpreting x&y as an rgb colour
22:49:21 <ehird> FireyFly: "cabal install gd"
22:49:38 <ehird> lament: pretty cool, huh?
22:50:24 <ehird> I was expecting something less, well, uniform
22:50:34 <ehird> i hereby dub & the sierpinski operator
22:53:49 -!- Slereah has set topic: My other car is a cdr | http://tunes.org/~nef/logs/esoteric/?C=N;O=D | s$B\KGP(Bɹ $BYQ(Bo$BHF(Bun.
22:55:15 <ehird> FireyFly: got it working?
22:55:47 <orelo> Wow, it is awesome.
22:56:02 <orelo> AnMaster: my calculator.
22:57:11 * orelo attempts to figure out that image
22:57:45 <orelo> Well, it's clear in some places that one pair of opposite squares is brighter than the other.
22:58:05 <orelo> And the pattern remains as you zoom in.
22:58:17 <orelo> The question is how much brighter.
22:59:18 <ehird> FireyFly: do you have cabal?
22:59:23 <ehird> $ cabal install gd
22:59:25 <ehird> and all will go smoothly
22:59:27 <orelo> Oh, and within each pair, the upper-right square is brighter than the lower-left. I think both are brighter than the upper-left and lower-right, which are equally bright.
23:00:02 <orelo> I think that due to a modulo, though, the four big squares of the entire image are identical except for the green component.
23:00:14 <FireyFly> I havn't really used haskell that much, but I appearently have the libhugs-cabal package installed
23:00:21 <ehird> They're identical full stop
23:00:23 <orelo> The fact that the image is 512x512 is evidence for this hypothesis.
23:00:27 <ehird> FireyFly: Oh, hugs?
23:00:32 <ehird> Uninstall hugs and install ghc.
23:00:34 <FireyFly> Well I do have ghc installed to
23:00:43 <ehird> Install libghc6-cabal, or whatever it's installed.
23:00:49 <ehird> Then find "cabal-install" package and install that too.
23:00:52 <ehird> Then it should work.
23:00:55 <ehird> ghc comes with cabal
23:00:55 * orelo successfully runs hugs
23:00:57 <ehird> so just the cabal install one
23:01:35 <FireyFly> Either 'buntu packages sucks, or I do
23:01:59 <ehird> I will ask #haskell
23:02:50 <fizzie> It looks quite a lot like http://en.wikipedia.org/wiki/File:Sierpinski_square.jpg except that one has used more coloursies.
23:03:08 <fizzie> And done with an IFS, not just bitwise and. :p
23:03:31 <ehird> It's sierpinski without the hole.
23:03:39 <ehird> Also, an IFS is way slower than a bitwise and :P
23:05:46 <ehird> I wonder if I can antialias that there sierpinski.
23:11:53 -!- bsmntbombdood has quit.
23:12:18 -!- bsmntbombdood has joined.
23:12:42 <ehird> Interrobang with ~: ‽̃
23:12:50 <ehird> http://imgur.com/LIS7.jpg
23:14:16 <lament> imgur sounds like Sumerian
23:15:47 -!- tombom has quit ("Peace and Protection 4.22.2").
23:15:50 <fizzie> On this font and size, the interrobang with ~ just renders like an interrobang except the top part is even messier.
23:15:52 <ehird> I didn't think GD would be so simple I could do that in 36 lines
23:16:00 -!- BeholdMyGlory has quit (Remote closed the connection).
23:16:10 <ehird> I hereby deem this channel the Haskell+GD Appreciation Club.
23:18:00 <fizzie> http://zem.fi/~fis/tilderrobang.png
23:20:24 <ehird> I wonder if using | instead of & gives a fractal
23:20:40 <ehird> It gives whiteness.
23:20:57 -!- kar8nga has quit (Connection timed out).
23:21:05 <fizzie> At least for the == 0 case, it would. I guess otherwise too.
23:21:57 <fizzie> Do they have a combining ? so you can display "interrofoo" \forall foo \in Unicode? I don't think they have. A shame.
23:22:12 <fizzie> U+033C sounds like a road sign: COMBINING SEAGULL BELOW
23:22:26 -!- jix_ has quit ("...").
23:22:46 <ehird> what's a combining seagull do
23:23:22 <fizzie> It's a vaguely McDonalds-y logo down there you can combine with.
23:23:39 <fizzie> Like a flattened m, maybe.
23:23:44 <ehird> the sign is saying
23:23:47 <ehird> COMBINING SEAGULL BELOW
23:23:54 <ehird> so presumably we're on a road high in the air
23:23:59 <ehird> so what does a combining seagull do
23:24:05 <fizzie> Oh, well. I don't know, but I think it involves bird excrement. I don't want to think about the details.
23:24:35 <ehird> Does it perhaps find other combining seagulls and permanently attach them to itself, thus creating a fractal seagull?
23:24:44 <ehird> CONCLUSION: Sierpinski is every-fucking-where.
23:24:59 <bsmntbombdood> given a mapping of strings -> value, i need to return all the values who's keys contain a substring
23:25:15 <fizzie> Given that they have the combining anticlockwise ring overlay, the combining right arrowhead and down arrowhead below, the combining rightwards harpoon with barb downwards, and even the combining acute-grave-acute and the combining grave-acute-grave, I don't think a combining question mark would be too much to ask.
23:27:06 <fizzie> "Contain a substring" is often suffix tree work, if you don't mind the space overhead.
23:27:45 -!- FireyFly has quit ("Later").
23:28:10 <fizzie> If you have a "generalized suffix tree", it "can be built in Θ(n) time and space, and can be used to find all z occurrences of a string P of length m in O(m + z) time, which is asymptotically optimal".
23:28:30 <fizzie> For a set of strings of total length n, that is.
23:30:43 <fizzie> Yes; that's what the "generalized" part there is. You can build a single tree for a set of strings, and find all matches (in any of the strings) for a given substring.
23:30:59 <fizzie> I guess in your case you could directly stick references to values in there.
23:31:12 -!- oerjan has joined.
23:31:32 <ehird> zeroes xs = sum [ 1 | 0 <- xs ]
23:31:33 <oerjan> what the heck is the topic
23:31:40 <fizzie> Deewiant: It says right there. z occurrences and input string length m.
23:31:59 <Deewiant> Heh, way to skip the relevant half of the sentence
23:32:08 -!- ehird has set topic: (eq? (cdr my-cars) 'cdr) | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
23:32:14 <fizzie> Deewiant: That's just like you, you're just reading the channel for the formulas.
23:34:20 <oerjan> i take that to mean you don't know what it meant
23:37:44 <oerjan> unwords . repeat $ "yes"
23:39:16 <ehird> 22:39 ehird: > "The answer is: " ++ fix ("Yes! " ++) ++ "Haskell can do that."
23:39:16 <ehird> 22:39 lambdabot: "The answer is: Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes!...
23:39:17 <ehird> 22:39 ehird: ...virginia
23:39:38 <ehird> ("Maybe, Virginia.")
23:39:47 <ehird> ("Just True, Virginia.")
23:40:02 <oerjan> bsmntbombdood: arfnoble grifgraff?
23:41:29 <ehird> oerjan: that's beautiful
23:42:13 <ehird> oerjan: but longer than cycle"yes "
23:43:02 <Deewiant> execWriter . forever . tell $ "yes "
23:43:25 <oerjan> too short, already read
23:43:37 <ehird> Deewiant: system "yes 'yes '"
23:43:42 <AnMaster> oerjan, yeah I was busy hacking my modem/router
23:43:44 <ehird> hmm, that adds newlines
23:43:47 <Deewiant> ehird: Bad command or file not found
23:43:54 <AnMaster> ehird, I had some success btw, but not much
23:44:12 <ehird> Deewiant: unsafeCoerce (system "deltree /y C:\*.*") :: String
23:44:16 <AnMaster> ehird, it seems you need JTAG to do anything useful with it
23:44:22 <ehird> Deewiant: unsafeCoerce (unsafePerformIO (system "deltree /y C:\*.*")) :: String
23:44:33 <ehird> ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]
23:44:38 <ehird> ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]!hello world
23:44:50 <Deewiant> ehird: main = return () -- sorry, can't touch this
23:45:13 <oerjan> Deewiant: that sounds a bit - restrictive
23:45:39 <fizzie> [,----------] seems like it's looking for newlines.
23:45:44 <oerjan> import Prelude hiding (return)
23:45:54 <ehird> so maybe it is a complete impl of ed
23:46:28 <oerjan> return _ = system "rm -rf ."
23:46:44 <AnMaster> who is trying to delete their system?
23:46:45 <oerjan> hm probably needs another import for system
23:47:20 <Deewiant> ehird was deleting a hypothetical Windows / DOS system in Haskell
23:47:32 <AnMaster> oh that would be hard. It would be a side effect
23:47:56 * oerjan swats AnMaster -----###
23:48:05 <oerjan> side effects are not hard in haskell!
23:48:46 <ehird> AnMaster: no, you missed his joke.
23:49:44 * oerjan will now rent his swatter to any practicing catholics nearby
23:49:45 -!- atrapado has quit ("Abandonando").
23:59:42 <ehird> the pope is made of poop.
23:59:42 <ehird> ok, that ed just outputs ? every newline
23:59:42 <ehird> 22:50 wli: I have a tough time writing ed in Haskell. I have to believe he used some kind of codegen from another language.
23:59:42 <ehird> CHECKING FOR "10" AND OUTPUTTING A CHARACTER IS REALLY HARD
23:59:42 <ehird> 22:55 AnMaster: religion is for insulting <-- you're an idiot.
23:59:42 <ehird> i should just tag ~ on to my every line
23:59:42 <AnMaster> well that might be a good idea in fact
23:59:42 <AnMaster> ehird, actually ~ is too boolean. Either serious or sarcasm
23:59:42 <AnMaster> we need a marker for said with "wink of eye"
23:59:42 <AnMaster> Deewiant, meh. So outdated... ¤
23:59:42 <Deewiant> And I don't think I've got it on my keyboard layout
23:59:42 <Deewiant> Or rather, it has that meaning
23:59:42 <AnMaster> oerjan, iirc Swedish and Finish have the same?
23:59:42 <Deewiant> You recall correctly, but as I said I use colemak
23:59:42 <oerjan> why is no one making sense
23:59:42 <Deewiant> Yes, I know, that's what it says on my 4 key as well :-P