←2009-03-11 2009-03-12 2009-03-13→ ↑2009 ↑all
00:00:20 <psygnisfive> ehird, what was the Golly program that you had that generated the dual gasket + randomness?
00:00:29 <ehird> erm
00:00:29 <ehird> straight line
00:00:36 <psygnisfive> we went over this already :P
00:00:42 <psygnisfive> that doesnt produce that in GoL
00:00:48 <ehird> crooked line
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:33 <ehird> In 19 lines!
00:01:40 <psygnisfive> hmm
00:01:46 <psygnisfive> lemme do it in ruby! :o
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:03 <ehird> heh
00:02:05 <ehird> ermove "sierpinski"
00:02:21 <ais523> oerjan: ?
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:54 <ehird> updated
00:02:55 <ais523> what does unlines fo, anyway
00:02:57 <ais523> *do
00:03:06 <ehird> ais523: [[String]] -> [String]
00:03:08 <ehird> adds \ns./
00:03:14 <ais523> ah
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:30 <ehird> heh
00:03:31 <oerjan> ais523: oh
00:03:38 <psygnisfive> i suppose it depends on your notion of elegant ;)
00:03:39 <lament> exceedingly Godot
00:03:52 <ehird> psygnisfive: end end end end end is very elegant.
00:03:53 <ehird> not.
00:03:59 <ais523> }}}}}
00:04:01 <psygnisfive> :P
00:04:06 <ehird> ais523:
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:07 <ehird> WFM
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:36 <ehird> don't do that.
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:55 <ehird> *
00:05:56 <ehird> hmm, an off by one
00:06:05 <ehird> oh well
00:06:10 <ais523> also, tabs vs. spaces
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:40 <ehird> on every run
00:06:41 <ehird> problem solve
00:06:42 <ehird> d
00:06:51 <ais523> ok, now you're just inflating code size for no reason
00:07:03 <ehird> by SEVERAL BYTES
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:22 <psygnisfive> :o
00:07:24 <psygnisfive> pastie.org is down D:
00:07:27 <ais523> yes, it is
00:07:35 <psygnisfive> what can i use instead :|
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:08:16 <psygnisfive> has no ruby
00:08:26 <psygnisfive> but ok
00:08:26 <ehird> so what
00:08:27 <ehird> i have eyes
00:08:59 <psygnisfive> http://paste.lisp.org/display/76862
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:29 <ehird> also
00:09:32 <ehird> you missed command line arg processing
00:09:36 <psygnisfive> i dont find your elegant at all D:
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:00 <psygnisfive> make it smaller!
00:10:02 <ehird> ugly, lol
00:10:05 <ehird> no, I like it
00:10:09 <psygnisfive> i want to see smaller
00:10:19 <psygnisfive> i could do more readable too i guess
00:10:21 <ehird> k, here
00:10:52 <ehird> import Data.Bits
00:10:52 <ehird> import Data.List
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:10 <psygnisfive> no hes not
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:12:27 <ehird> but it is fine
00:12:30 <ais523> oh, ok
00:13:34 <ehird> psygnisfive: http://codepad.org/Y1PV2gVc
00:13:37 <ehird> newsham centered it :D
00:14:07 <psygnisfive> lol
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:52 <psygnisfive> its not my discovery.
00:14:55 <ehird> see, that's how awesome it is :P
00:14:59 <psygnisfive> no i havent actually
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:44 <psygnisfive> oh oh well
00:15:58 <psygnisfive> my first one was actually intended to be pseudohaskell from the beginning ;)
00:16:14 <psygnisfive> anyway
00:16:17 <psygnisfive> inductively on a graph:
00:16:38 <psygnisfive> G = (Nodes,Edges) where Nodes = N^2
00:16:55 <psygnisfive> 1: The edge ((0,0),(0,1)) is in Edges
00:17:05 <psygnisfive> 2: The edge ((0,0),(1,0)) is in Edges
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:44:51 <psygnisfive> ehird
00:45:01 <ehird> .
00:45:07 <psygnisfive> send me the golly file
00:45:21 <ehird> lazy
00:45:25 <psygnisfive> :|
00:45:39 <psygnisfive> you know who else is lazy?
00:45:40 <psygnisfive> slereah
00:45:43 <psygnisfive> you dont want to be like slereah do you
00:47:02 <oerjan> now that depends. is he rich?
00:47:06 <psygnisfive> no
00:47:10 <psygnisfive> and hes a homosexual!
00:47:17 <psygnisfive> and a communist
00:47:31 <oerjan> communist?
00:47:36 <psygnisfive> yeah
00:47:44 <psygnisfive> well, hes french
00:47:45 <psygnisfive> so
00:47:46 <psygnisfive> same thing
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:23 <psygnisfive> lol
00:54:29 <ehird> a kitteny kitten.
00:54:36 <psygnisfive> ehird
00:54:42 <psygnisfive> you're clearly either a girl, or a faggot.
00:54:45 <psygnisfive> take your pick,
00:54:52 <ehird> what about both
00:55:01 <psygnisfive> unfortunately both dosnt apply
00:55:26 <oerjan> you mean lesbians don't like kittens?
00:55:30 <psygnisfive> no
00:55:34 <psygnisfive> they hate them with a passion
00:55:44 <ehird> what about
00:55:45 <ehird> lesbian
00:55:46 <ehird> 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:05 <psygnisfive> its a very good point
01:00:10 <psygnisfive> meth makes you like that big time
01:00:16 <psygnisfive> fuse:
01:00:21 <ehird> Then I must be permanently on meth.
01:00:32 <psygnisfive> [right down down left down down]
01:00:41 <ehird> wut
01:00:44 <psygnisfive> repeat until you dont want to
01:00:54 <psygnisfive> color a cell
01:00:55 <psygnisfive> move right
01:00:57 <psygnisfive> color a cell
01:00:58 <psygnisfive> mov down
01:00:59 <ehird> Omg, golly 2.0 is out
01:01:02 <psygnisfive> color a cell
01:01:03 <psygnisfive> move down
01:01:11 <psygnisfive> and so on
01:01:27 <ehird> oh right
01:01:29 <ehird> it removes itself?
01:01:34 <ehird> yeah, a wavy horizontal line does that
01:01:36 <ehird> diagonally
01:01:37 <ehird> sorta
01:01:37 <psygnisfive> eh not as such
01:01:41 <psygnisfive> it sort of...
01:01:46 <psygnisfive> burns itself up :)
01:01:58 <psygnisfive> just do it. make it very long
01:02:23 <oklopol> helloes
01:02:24 <ehird> ah, right
01:02:25 <ehird> simple
01:02:28 <psygnisfive> oi oi
01:02:37 <oklopol> ie
01:03:03 <psygnisfive> can i just say
01:03:06 <psygnisfive> how much i love you guys
01:03:14 <psygnisfive> for being so dorky that i cant talk about this shit with you
01:03:15 <psygnisfive> <3
01:03:44 <oerjan> er, "cant"?
01:03:53 <psygnisfive> can*
01:04:02 <psygnisfive> damn fingers
01:04:16 * oerjan swats psygnisfive's fingers for him -----###
01:04:24 <psygnisfive> <3
01:07:28 <oklopol> bash sucks
01:08:13 <oklopol> also have i mentioned hardcover books are awesome
01:08:20 <oklopol> they are just incredible
01:08:33 <oklopol> especially when they're really thick and clean
01:08:41 <oklopol> like 1300 pages
01:08:42 <oklopol> this one
01:09:06 <oklopol> i should probably buy another one of those for just touching and licking
01:09:21 <ehird> XD
01:09:43 <psygnisfive> ew :|
01:09:50 <ehird> booksexual
01:10:04 <oklopol> ew?
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:13:45 <psygnisfive> im off to the cafe
01:13:51 <psygnisfive> boys goys
01:15:12 <neldoreth> good night
01:18:09 <oerjan> ehird: er, what?
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:44 <comex> what the fuck
01:24:49 <comex> even I know that's bad Haskell
01:24:57 <ehird> he's a newbie from C
01:24:58 <ehird> but JESUS CHRIST
01:25:21 <comex> runIO $ f $ unJust $ readRef $ r
01:25:23 <comex> plskthx
01:25:29 <ehird> "readRef $ r" fail
01:25:32 <ehird> that's readRef r
01:25:33 <ehird> also ti should be
01:25:34 <comex> err, yeah
01:25:39 <ehird> runIO . f . unJust . readRef $ r
01:26:01 <comex> does that work?
01:26:04 <comex> $ confuses me
01:26:10 <comex> it's an operator that does nothing but it has a high precedence
01:26:20 <comex> I see
01:26:20 <ehird> it doesn't do nothin
01:26:21 <ehird> g
01:26:23 <ehird> () is the empty operator
01:26:25 <comex> it does nothing
01:26:25 <ehird> ($) = ()
01:26:28 <ehird> no
01:26:32 <comex> a $ b = a b
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:27:56 <oerjan> it's a yodawgmorphism
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:10:05 <psygnisfive> ok im back
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:43:56 <bsmntbombdood> (faster than simple grep)
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
04:59:15 <bsmntbombdood> you can build an index
04:59:50 <bsmntbombdood> building the index ~ grep
04:59:56 <bsmntbombdood> search < grep
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:32:29 <asiekierk> hello
07:34:47 <Slereah> hey.
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:16:59 <AnMaster> hasn't changed)
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:34 <fizzie> s/short/sort/
09:19:37 <AnMaster> well ok
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:20 <AnMaster> not GNU grep at least
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:21:44 <AnMaster> exactly
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:22 <AnMaster> hm ok
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:30 <fizzie> Something else.
09:24:38 <AnMaster> I see. How does it work?
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:24:54 <AnMaster> hm ok
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:02 <AnMaster> hm
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:00 <AnMaster> well true
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:45 <AnMaster> fizzie, best way: CAM
09:30:47 <AnMaster> ;)
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:08 <AnMaster> true
09:33:15 <fizzie> I think I'll go do an early-ish (10:33 local-time) lunch now.
09:33:22 <AnMaster> fizzie, one sec
09:33:28 <fizzie> Hm?
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:13 <AnMaster> or?
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:02 <AnMaster> like for a spamfilter
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:54 <AnMaster> hm
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:27 <AnMaster> unlike a regex. (zzz)?aaa
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.
10:32:18 <AnMaster> fizzie, hm ok
10:32:28 <AnMaster> fizzie, good idea even
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:38:32 <AnMaster> forgot the name
11:39:09 <AnMaster> ah yes re2c
11:39:12 <AnMaster> never tried it
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:45:30 <AnMaster> BOINC*
11:46:26 <AnMaster> fizzie, wait what? PCRE?
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 <AnMaster> fizzie, link?
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:30 <AnMaster> why do you like java so much
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:32 <AnMaster> fizzie, what about C++?
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:54:56 <AnMaster> jitfunge was in C++ right?
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:19 <AnMaster> which doesn
11:56:29 <AnMaster> doesn't* match the current sprint
11:56:39 <AnMaster> or whatever you called it
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:57:50 <AnMaster> apart from blue
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;
11:59:22 <AnMaster> ;P
11:59:36 <AnMaster> does CCBI implement REXP btw?
11:59:46 <AnMaster> Deewiant, ^
11:59:51 <AnMaster> or 3DSP
11:59:52 <Deewiant> AnMaster: v
11:59:54 <Deewiant> No
11:59:57 <Deewiant> AnMaster: ^
11:59:59 <Deewiant> AnMaster: v
12:00:00 <AnMaster> right
12:00:00 <Deewiant> Yes
12:00:01 <Deewiant> AnMaster: ^
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:01:21 <AnMaster> v >
12:01:21 <AnMaster> v> >
12:01:21 <AnMaster> #
12:01:21 <AnMaster> > v^<
12:01:21 <AnMaster> Deewiant: ^
12:01:21 <AnMaster> I see
12:01:37 <Deewiant> Infinite loop, oh dear
12:01:42 <AnMaster> Deewiant, no?
12:01:49 <Deewiant> Yes.
12:01:52 <AnMaster> oh right
12:01:56 <AnMaster> v<
12:01:58 <AnMaster> should have been that
12:02:07 <AnMaster> wait no
12:02:12 <AnMaster> Deewiant, not infinite loop
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:02:40 <AnMaster> Deewiant, exactly
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:13 <AnMaster> Deewiant, huh?
12:03:55 <Deewiant> Hmm, right, I'm supposed to start at the ^ and not the v :-P
12:04:03 <Deewiant> Oh well.
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:05:53 <AnMaster> hm
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:19 <AnMaster> fizzie, heh
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:18 <AnMaster> mhm
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:23 <AnMaster> means*
12:18:26 <fizzie> Yes, pretty much.
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:19:58 <AnMaster> fizzie, what about ' and s ?
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:22:35 <AnMaster> right
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:37 <AnMaster> on the*
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:24:46 <AnMaster> thus probably doing an n
12:25:05 <AnMaster> if I have garbage on it
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:29 <AnMaster> well often executed
12:25:31 <AnMaster> in that case
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:12 <AnMaster> 1-9 is easier
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:01 <AnMaster> like that yes
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:08 <AnMaster> your redirect back
12:40:13 <AnMaster> Slereah, worst case
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:07 <AnMaster> hm
12:43:42 <AnMaster> Deewiant, this gives raise to an interesting question...
12:43:53 <AnMaster> "bounded time even randomness complete" languages
12:44:07 <AnMaster> ~
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:44:48 <AnMaster> depending on how you do it
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:36 <Deewiant> I don't. :-P
12:46:51 <AnMaster> as far as I remember the glibc random() is supposed to have good randomness in all bits
12:46:51 <Deewiant> Well, unless I don't care.
12:46:56 <Deewiant> I don't do it in CCBI.
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:47:57 <fungot> fizzie: there you are
12:48:51 <AnMaster> Deewiant, mhm
12:49:44 <AnMaster> Deewiant, rand() != random() though. Man page says range for random() is 16 * ((2^31) - 1)
12:49:52 <AnMaster> "approximately"
12:49:57 <AnMaster> wait
12:49:58 <Deewiant> AnMaster: It doesn't matter what function you use
12:49:58 <AnMaster> misread
12:50:00 <AnMaster> that was the period
12:50:02 <AnMaster> duh
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:48 <AnMaster> Deewiant, in CCBI?
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:23 <Deewiant> I'm going to eat now ->
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:04 <AnMaster> from man srand
12:54:11 <AnMaster> man rand gives me some openssl man page instead
12:54:17 <AnMaster> in section 3
12:54:43 <fizzie> Oh? My openssl rand is in section 1.
12:54:47 <fizzie> Since it's a command.
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> NAME
12:55:02 <AnMaster> rand - pseudo-random number generator
12:55:02 <AnMaster> SYNOPSIS
12:55:02 <AnMaster> #include <openssl/rand.h>
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:13 <AnMaster> where - is turned off
12:56:25 <AnMaster> no separate doc package
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:56:56 <AnMaster> I don
12:57:01 <AnMaster> don't* have any 1ssl section
12:57:22 <AnMaster> Cannot open the message catalog "man" for locale "sv_SE.UTF-8"
12:57:22 <AnMaster> (NLSPATH="<none>")
12:57:25 <AnMaster> wonder what that means
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:11:45 <AnMaster> hm
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:16:29 <fizzie> Yes.
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:17:56 <AnMaster> still,*
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:01:34 <Deewiant> 'occasionally'
14:01:48 <Deewiant> Quite often in my experience
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:33 <AnMaster> that is a new feature
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:07:45 <fizzie> I don't want to.
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:29 <AnMaster> 1.6 improved things a lot
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:17 <AnMaster> huh
14:10:20 <AnMaster> fizzie, quotas?
14:10:23 <fizzie> None.
14:10:25 <AnMaster> also how many users
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:10:59 <AnMaster> heh
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:01 <AnMaster> a laptop or whatever
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:06 <AnMaster> hm
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:06 <AnMaster> ah wait
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:15:40 <Deewiant> Ours only shows the top 10
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:11 <AnMaster> I see
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:21:39 <Deewiant> Indirect, though?
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:47 <AnMaster> heh
14:25:48 <Deewiant> Aalto Open works better outdoors
14:25:55 <AnMaster> what is "aalto"?
14:25:55 <Deewiant> And in the main building, too, I think
14:25:59 <Deewiant> "Wave"
14:26:03 <AnMaster> mhm
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:13 <Deewiant> Indeed
14:27:18 <AnMaster> what is the name of then?
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:44 <Deewiant> Better hurry!
14:27:48 <AnMaster> fizzie, hah
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:17 <AnMaster> or that
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:04 <fizzie> It's taken.
14:29:09 <AnMaster> fizzie, I see.
14:29:10 <Deewiant> AnMaster: There is a Helsinki University alraedy
14:29:15 <Deewiant> s/ae/ea/
14:29:25 <AnMaster> so why separate universities?
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:31:59 <Deewiant> :-D
14:32:12 <AnMaster> ais523, source?
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:32:58 <AnMaster> hm ok
14:33:01 <AnMaster> bbl food!
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:18 <AnMaster> mhm
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:03 <ais523> neither am I
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:21 <AnMaster> same
14:52:26 <AnMaster> I opened in kpdf
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:52 <AnMaster> wait
14:52:53 <fizzie> .xps, not .xls.
14:52:53 <AnMaster> no
14:52:55 <ais523> xps
14:52:55 <AnMaster> xps?
14:52:57 <AnMaster> what is xps
14:52:59 <ais523> it's microsoft's rival to pdf
14:53:02 <AnMaster> oh I see
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:55:58 <AnMaster> hm ok
14:56:07 <ais523> fizzie: did it work under WINE?
14:56:10 <AnMaster> what does ECMA stand for?
14:56:39 <Asztal> MSNDAA requires you to run a custom downloader. :(
14:56:42 <ais523> european computer manufacturer's association
14:56:51 <ais523> well, it used to
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:58:55 <AnMaster> brb
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:30 <fizzie> Google is a browser.
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:04:47 <oklopol> also it's a browser, yes
15:06:20 <fizzie> "Microsoft Robotics Developer Studio 2008". They certainly crank out those tools at a rate.
15:07:02 <asiekierk> yay
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:32 <asiekierk> Yep
15:07:35 <asiekierk> http://www.sptv.demon.co.uk/nbtv/
15:07:37 <asiekierk> based on this tutorial
15:07:39 <asiekierk> which is easy
15:07:42 <asiekierk> ...way too easy
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:09 <asiekierk> 32x48
15:08:12 <asiekierk> :P
15:08:14 <ais523> not bad
15:08:17 <asiekierk> Heh
15:08:22 <asiekierk> Some even experimented with NTSC color
15:08:28 <asiekierk> and slightly larger res
15:08:31 <asiekierk> like 48xsomething
15:08:37 <asiekierk> But the NBTV standard is 32x47
15:08:38 <asiekierk> x48*
15:08:39 <asiekierk> :P
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:10:56 <asiekierk> as in, spun it manually
15:10:59 <asiekierk> :)
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 <asiekierk> for marketing :)
15:16:29 <ais523> because humans see red as more different from blue or green than they see blue from green
15:16:29 <ais523> I like that idea
15:16:29 <asiekierk> Red would be "Apple"
15:16:29 <asiekierk> Yellow would be "Sun"
15:16:30 <asiekierk> Orange could be, er, "Sunset"
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:30 <asiekierk> Green would be "Ecological"
15:16:30 <asiekierk> and Purple...
15:16:53 <fizzie> Is it most? I thought tetrachromacy was rather rare?
15:17:07 <asiekierk> if it's not 100%, it's most
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:20 <asiekierk> :)
15:17:25 <asiekierk> because that's not "all"
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:34 <asiekierk> which five
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:19:37 <asiekierk> And they can also see white?
15:19:55 <ais523> yep
15:19:57 <ais523> that's on the rods
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:21:41 <asiekierk> nope
15:21:48 <asiekierk> there are "infinity-1" colors
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:35 <asiekierk> what's a leph?
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:40 <asiekierk> nope
15:23:41 <asiekierk> it's 523
15:23:48 <fizzie> Heh, nice squabbling in the history there: http://en.wikipedia.org/wiki/File:Cones_SMJ2_E.svg
15:23:58 <pikhq> Mmmm.
15:23:58 <Deewiant> Only if the infinities are identical
15:24:04 <asiekierk> Infinity is infinity
15:24:08 <asiekierk> THERE'S NO OTHER DEFINITION
15:24:13 <Deewiant> There are many infinities.
15:24:19 <Deewiant> An infinite amount, in fact. ;-)
15:24:31 <asiekierk> But what infinity is the infinite amount?
15:24:56 <Deewiant> I believe it's aleph-null?
15:24:59 <ais523> epsilon-zero, I believe
15:25:05 <asiekierk> Aww
15:25:07 <asiekierk> I wanted to say
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:31 <asiekierk> or something
15:25:40 <fizzie> AnMaster: He counts the rod cells as a color channel; read on further.
15:25:41 <Deewiant> No, that's not the case. :-)
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:26:53 <asiekierk> blugreenish*
15:26:57 <asiekierk> er
15:26:58 <asiekierk> I mean
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:09 <asiekierk> there's still orange
15:29:11 <asiekierk> er
15:29:11 <asiekierk> i mean
15:29:12 <asiekierk> Susnet
15:29:13 <asiekierk> er
15:29:15 <asiekierk> Sunset!
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:29:56 <asiekierk> and an orange filter
15:30:01 <asiekierk> and a photocell
15:30:04 <asiekierk> and a blue-green LED
15:30:09 <asiekierk> Wait
15:30:11 <asiekierk> did I say orange
15:30:13 <asiekierk> and blue-green
15:30:17 <asiekierk> The marketing is gonna PWN me for that!
15:31:13 <asiekierk> oh well
15:31:49 <asiekierk> So basically, HSL will be Appleness, Livingness and Shadiness respectively
15:31:52 <asiekierk> ALS!
15:32:01 <asiekierk> :)
15:32:54 <fizzie> Also Viagra makes you see all blue-green: http://en.wikipedia.org/wiki/Cyanopsia
15:32:57 <fizzie> How coincidental.
15:33:07 <AnMaster> hm
15:33:09 <asiekierk> YOU MEAN APPLE BLUE!
15:33:21 <fizzie> I'm not sure Apple wants to be associated with *that*.
15:34:07 <asiekierk> not Apple Blue as in the company
15:34:11 <asiekierk> But Apple Blue as in the fruit
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:10 <asiekierk> *shout mode off*
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:37 <asiekierk> ...
15:36:42 <asiekierk> I'm talking about Green apples
15:36:48 <asiekierk> Green Blue, Blue Green, bluegreenish
15:37:15 <AnMaster> asiekierk, nah, they tend to be yellowgreenish around here
15:37:26 <AnMaster> haven't seen any bluegreenish
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:14 <ais523> AnMaster: well, yes
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:38:59 <AnMaster> ais523, what about robots?
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:40 <AnMaster> fizzie, indeed
15:39:57 <AnMaster> asiekierk, how would you measure that...
15:40:06 <asiekierk> i don't know
15:40:09 <asiekierk> i just heard it somewhere
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:21 <AnMaster> well duh
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:40:57 <AnMaster> they could definitely use it
15:41:29 <AnMaster> fizzie, iirc the mars rovers do have some forms of spectrometers
15:41:39 <AnMaster> maybe not visible light
15:41:42 <AnMaster> don't remember
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:36 <AnMaster> ais523, mhm
15:47:38 <asiekierk> wait, THAT BBC?
15:47:39 <AnMaster> possibly
15:47:47 <ais523> as in the UK TV company
15:47:52 <asiekierk> z...zomg
15:48:00 <ais523> why not, it gave them something to show programs around
15:48:01 <ais523> *about
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:15 <AnMaster> wth
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:49:48 <AnMaster> ais523, ^
15:50:03 <fizzie> That sounds like a rather legalistically vague thing to do.
15:50:15 <ais523> that's what I thought
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:29 <AnMaster> huh
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:04 <AnMaster> though the BBC one was worse
15:56:10 <AnMaster> oklopol, /kill on irc..
15:56:15 <AnMaster> learn what it is
15:56:19 <AnMaster> -_-
15:56:36 <oklopol> :D
15:56:43 <oklopol> you're awesome
15:56:43 <AnMaster> well actually I used /kline iirc
15:56:49 <oklopol> i know you did
15:56:53 <AnMaster> anyway it was a few years ago
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:57:50 <AnMaster> fizzie, indeed
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:23 <ais523> it's a bit confusing
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:58:59 <ais523> that's my guess too
15:59:15 <AnMaster> well
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:29 <AnMaster> I have 1 mbps up
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:20 <AnMaster> or such
16:00:22 <ais523> fizzie: haha
16:00:35 <AnMaster> anyway most ran windows 98
16:00:37 <AnMaster> -_-
16:00:51 <AnMaster> and most were South America, which is strange too
16:00:55 <AnMaster> or was
16:01:17 <AnMaster> were from*
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:33 <ehird> hot
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:01:59 <ehird> xD
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:04 <ehird> ew
16:02:06 <AnMaster> ehird, you are dealing with lag
16:02:08 <AnMaster> duh
16:02:16 -!- MigoMipo has joined.
16:02:17 <ehird> no, I'm logreading
16:02:18 <ehird> heard of it?
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:02:50 <AnMaster> ehird, yes it does
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:35 <ehird> fail :D
16:03:38 <ehird> (for AnMaster, that is)
16:03:42 <AnMaster> ehird, it is just "lag induced humor" is old
16:03:46 <AnMaster> fun the first time
16:03:49 <AnMaster> fun the tenth time
16:03:52 <AnMaster> but not the 100th time
16:03:55 <ehird> blah blah blah, it was funny, so just shut up
16:04:07 <AnMaster> ehird, jokes get old
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:08:24 <ehird> XDD
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:10:37 <ehird> I see no forums
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:24 <ehird> :DDDd
16:15:25 <ehird> how?
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:23 <ehird> psht
16:16:24 <ais523> they didn't actually say
16:16:25 <ehird> that's boring
16:16:29 <ehird> I hoped they would exploit it
16:16:31 <ehird> still
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:36 <ais523> and got it that way
16:16:41 <ais523> but not the details
16:16:46 <ais523> presumably they didn't want anyone to copy them
16:16:46 <ehird> like this channel?
16:16:57 <AnMaster> ehird, probably not.
16:17:02 <ais523> I don't know what would happen if someone tried to buy a botnet here
16:17:05 <ehird> that was a joke.
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 <ehird> ermmmm
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 <AnMaster> hypocrite
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:09 <AnMaster> so false
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 <ehird> oh
16:19:22 <AnMaster> ehird, "prior arrangement", that means "go ahead"
16:19:24 <AnMaster> duh
16:19:26 <ais523> did you misread the bit that AnMaster pasted?
16:19:28 <AnMaster> read the article
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:37 <ais523> well, he repasted it
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:49 <AnMaster> not "paste"
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:20:40 <ehird> s
16:20:56 <AnMaster> brb food
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:30 <ehird> oh, I know
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:25:53 <ehird> hmm
16:25:55 <ehird> interesting
16:25:59 <AnMaster> back
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:25 <ais523> I think so
16:26:49 <ehird> that's great
16:26:52 <ehird> what a lovely coincidence
16:27:02 <AnMaster> cool
16:27:04 <AnMaster> um
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 <ehird> AnMaster: what
16:27:23 <ais523> it depends on what you mean by 3d sierpinsky
16:27:29 <AnMaster> ehird, or iterations rather
16:27:31 <ehird> ais523: not a coincidence, but, not intended
16:27:33 <ehird> AnMaster: it's not iterations
16:27:35 <AnMaster> wrong word first time
16:27:44 <ehird> it's just
16:27:45 <ais523> *sierpinski
16:27:52 <ehird> if x & y == 0, then (x,y) is in the sierpinski triangle
16:27:56 <ehird> in = place a *
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:35 <ehird> -> white.
16:28:39 <ehird> where black = background.
16:28:40 <AnMaster> ok right
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:21 <ehird> both.
16:29:27 <AnMaster> ah yes the output
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:30:08 <AnMaster> right
16:30:48 <AnMaster> hm
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:01 <ehird> Well, yes.
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:00 <ehird> *
16:36:00 <ehird> **
16:36:02 <ehird> * *
16:36:04 <ehird> ****
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:50 <AnMaster> ehird, hah.
16:36:54 <ais523> well, the mandlebrot isn't infinitely thin
16:37:03 <Slereah> So's your penis
16:37:05 <AnMaster> ais523, my point
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:18 <AnMaster> ais523, exactly what I meant!
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:08 <AnMaster> ais523, my point exactly.
16:38:12 <AnMaster> ais523, yes I am
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:03 <ehird> err
16:40:05 <ehird> cantor set
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 <ais523> *sierpinski
16:40:26 <ehird> AnMaster: cantor dust = multi-dimensional cantor set
16:40:27 * Slereah sprinkles some Cantor dust on ehird
16:40:28 <ehird> ais523: yeah
16:40:31 <AnMaster> ah right
16:40:33 <ehird> problem is, the cantor set is ... really boring
16:40:36 <ehird> :D
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:07 <AnMaster> oh?
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:19 <AnMaster> uh...?
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:43:47 <AnMaster> ehird, well true
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:37 <ehird> yes
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:45:20 <AnMaster> coloured sierpinski?
16:45:24 <AnMaster> probably boring
16:45:52 <ehird> it is
16:45:54 <ehird> i've seen it
16:45:57 <AnMaster> oh?
16:46:03 <ehird> yeah
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:32 <AnMaster> ~
16:46:33 <ehird> AnMaster:
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:11 <AnMaster> ok
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:19 <ehird> g
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:55 <ehird> hmm
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:10 <AnMaster> ehird, "Xzibit"?
16:50:12 <AnMaster> no I don't
16:50:16 <ehird> Yo dawg.
16:50:24 <AnMaster> ...?
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:51:50 <AnMaster> but not "Xzibit"
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:09 <ehird> 2009-03-05.
16:52:12 <AnMaster> hm
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:52:33 <AnMaster> ehird, mhm.
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:34 <ais523> over the telephone!
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:35 <ehird> AnMaster: yes
16:56:37 <ehird> I like the burning ship fracta
16:56:38 <ehird> l
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:50 <AnMaster> oh
16:56:52 <ehird> there was a more ghostly image somewhere on WP
16:56:56 <ehird> can't find it
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:02 <AnMaster> :P ~
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:56 <ehird> ...
16:57:57 <AnMaster> don't remember name right now..
16:57:58 <ehird> Salvador Dali.
16:58:02 <AnMaster> ah yes
16:58:04 <AnMaster> that's right
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:23 <AnMaster> spell*
16:58:36 <ehird> selling Salvador Dali paintings is probably very easy.
16:58:40 <AnMaster> hah
16:58:52 <AnMaster> so predictable that joke :P
17:01:05 <AnMaster> ehird, http://en.wikipedia.org/wiki/File:Nebulabrot.jpg
17:01:15 <ehird> Nice.
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:05:58 <AnMaster> don't remember url
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:14 <ehird> I used it onc
17:08:14 <ehird> e
17:08:15 <AnMaster> ehird, oh ok. When was this? Must have been at least half a year ago
17:08:15 <ehird> it was fun
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:33 <AnMaster> vim*
17:08:38 <ehird> 2009-03-10_Freenode.txt:19:27 ehird: http://www.df.lth.se/~lft/vim/mandelbrot
17:08:50 <ehird> Your reply:
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:27 <ais523> *mandelbrot
17:09:29 <AnMaster> I even ran it
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:10:58 <asiekierka> la la
17:10:59 <ais523> $ busybox vi
17:11:00 <ehird> Like slow slow.
17:11:00 <asiekierka> LA LA
17:11:01 <asiekierka> la la
17:11:04 <ehird> fuck off
17:11:06 <ais523> I have an even more minimal vi on my computer
17:11:06 <ehird> asiekierka:
17:11:17 <asiekierka> ...THAT'S WHAT [EHIRD] SAID!
17:11:20 <ehird> (before anyone says that was harsh, asiekierka's "la"s go on for 30m)
17:11:24 <ais523> Options:
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:43 <ehird> is actually
17:11:44 <ehird> playable
17:11:44 <AnMaster> ais523, I took my vi from http://ex-vi.sourceforge.net/ I think
17:11:45 <ehird> by the user
17:11:47 <AnMaster> I never use it
17:11:47 <ehird> I am not joking
17:11:56 <ehird> its not an AI
17:11:58 <ehird> that's just cool
17:12:15 <ehird> well.
17:12:17 <ais523> whereas vim.tiny gives me loads of options
17:12:19 <ehird> just typing zzzzzzzzzzzzzzzzzzzzzzzzzzzzz wins.
17:12:24 <AnMaster> ais523, hah
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:34 <AnMaster> ehird, yes but POSIX != UNIX
17:13:38 <AnMaster> ais523, true
17:13:52 <AnMaster> just pointing out that ehird was factually incorrect
17:13:56 <ais523> wow, in busybox vi
17:13:57 <ehird> so anyone know about that speed of light thing
17:14:01 <AnMaster> ais523, ?
17:14:03 <ais523> typing ? then newline makes it segfault
17:14:08 <AnMaster> um
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:35 <ais523> ?
17:14:36 <AnMaster> ais523, yes
17:14:44 <comex> anyone want to help me with prolog?
17:14:47 <ehird> no
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:29 <ehird> Nobody know?
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:00 <ehird> aha
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:24 <ais523> ah, you didn't
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:32 <comex> which is?
17:18:34 <AnMaster> a few saved bytes
17:18:35 <AnMaster> :)
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:48 <comex> how do I avoid it
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:19 <ais523> yes
17:21:23 <ais523> that's what's happening here
17:21:27 <ais523> in my example
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:21:55 <comex> ehird: I don't.
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:22:56 <ehird> comex: do
17:22:57 <ehird> valid(foo).
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:03 <ehird> :-
17:23:04 <ehird> you can doo
17:23:11 <ehird> valid(foo). valid(bar). valid(Word) :- ...
17:23:18 <comex> really?
17:23:21 <ais523> yep
17:23:23 <ehird> ... yes ...
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:26:59 <ehird> ~
17:26:59 <ehird> ~
17:27:00 <comex> I have to say first_conj twice etc
17:27:00 <ehird> ~
17:27:02 <ehird> ~
17:27:04 <ehird> fail
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:27:27 <Slereah> :D
17:27:31 <ais523> that's typical Prolog
17:27:33 <ehird> Slereah: old.
17:27:42 <Slereah> You hurt my feelings
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:23 <ehird> part
17:28:45 <ais523> there's nothing wrong with that, apart from Prolog's traditional lack of nested expressiosn
17:28:47 <ais523> *expressions
17:28:49 <ais523> is is a hack, really
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:52 <comex> fair enough
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:30:59 <ehird> how crazy
17:31:00 <ais523> it is a good way
17:31:11 <ehird> just deal with the verbosity, it's _one_ _line_
17:31:19 <ehird> not even a full line
17:31:20 <ehird> a tiny 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:31 <AnMaster> that is my conclusion
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:37 <comex> ais523: what?
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:41 <ehird> right
17:33:45 <ehird> but you should use the idomatic one
17:33:48 <ehird> in this case
17:33:48 <ehird> really
17:33:50 <ais523> in this case, yes
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:22 <ehird> first_conj(Root),
17:34:26 <ehird> that's the entirety of the duplication
17:34:27 <ehird> think about that
17:34:31 <ehird> in C< that would be
17:34:31 <AnMaster> ais523, like golfing?
17:34:35 <ehird> first_conj(root); or whatever
17:34:37 <ehird> he's saying
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:45 <AnMaster> ah
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:35:31 <ais523> *processes
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:02:12 <comex> yay
18:02:34 <ais523> looks good
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:32 <ehird___> Richard M. "Orwell" Stallman:
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:34 <ais523> yep
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:37:50 <ais523> ehird: yes, I can
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:07 <ehird___> Thus the ___
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:41:43 <ehird___> A strong endorsement.
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:08 <ehird___> to them.
18:46:13 <ehird___> ^ gahahahahahaha
18:46:42 <asiekierka> ok, change of plans, i'm not getting a miniature toy fan and modifying it
18:46:45 <asiekierka> i'm getting a motor
18:46:54 <asiekierka> but tommorow, sadly
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:35 <ais523> I've written one
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:09 <ais523> ehird: pi?
19:02:12 <ais523> root 2?
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:02:56 <ehird___> good point
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:31:38 <ais523> yes
19:38:12 <psygnisfive> oi
19:38:25 <lament> ve avoi
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:41:15 <psygnisfive> Perhaps! :O
19:41:57 <psygnisfive> HUZZAH
19:43:03 <psygnisfive> I got into University of Maryland :D
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:22 <ais523> wb neldoreth
19:47:31 <lament> he had lots of time to kill himself had he wanted to.
19:47:41 <ehird___> of course
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:49:03 <neldoreth> thanks and hello all
19:49:07 <ehird___> oh, hi
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:06 <ais523> ehird: what's y?
19:53:19 <ehird___> | y <- [h-1,h-2..0] ]
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:29 <ehird___> integer division :P
19:54:57 <ais523> but you have loads of spaces on line 1
19:55:04 <ais523> rather than none
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:02:55 <AnMaster> hm
20:03:39 <AnMaster> google for "pi" and the calculator gives you: pi = 3.14159265
20:03:41 <AnMaster> ...
20:03:47 <AnMaster> = ?
20:05:09 <AnMaster> it should be ≈
20:05:23 <fizzie> Mathematics: it's not like it's an exact science.
20:05:40 <psygnisfive> about tony morris
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:06:50 <psygnisfive> oh was it?
20:06:53 <psygnisfive> haha. nerd. :D
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:12 <AnMaster> fizzie, right?
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:08 <ehird____> also, har har har
20:08:11 <psygnisfive> jesus that would've been a mistake
20:08:11 <ehird____> P
20:08:15 <ehird____> :P
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:08:53 <ehird____> psygnisfive: yikes.
20:08:55 <psygnisfive> yeah.
20:08:58 <psygnisfive> yikes indeed.
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:19 <AnMaster> right?
20:09:36 <ehird____> AnMaster, your thoughts are as old as the 70s.
20:09:42 <ehird____> What matters is _INTENT_.
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:02 <AnMaster> :P
20:10:10 <AnMaster> compression too
20:10:12 <fizzie> Pi-based file-sharing is not a new idea either.
20:10:18 <AnMaster> damn
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:10:42 <AnMaster> or?
20:10:49 <ehird____> Heat death. A typo.
20:10:52 <AnMaster> oh
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:17 <ehird____> now; someone fix my shit router.
20:11:18 <psygnisfive> theres some file sharing system out there
20:11:25 <AnMaster> ehird____, tried rebooting it?
20:11:25 <psygnisfive> where you never download whole files
20:11:29 <psygnisfive> but instead download pieces of noice
20:11:31 <psygnisfive> noise*
20:11:36 <ehird____> sigh, yes anmaster
20:11:37 <psygnisfive> which can be reused for MULTIPLE files
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:15 <psygnisfive> but the key to decode it is
20:12:23 <ehird____> anmaster, i can't reach my slice
20:12:27 <AnMaster> psygnisfive, what if that key is a prime number?
20:12:35 <psygnisfive> the key is more than just that tho
20:12:39 <AnMaster> ehird, your slice?
20:12:41 <ehird____> there's a prime whose source is decss
20:12:46 <ehird____> gzipped
20:12:52 <AnMaster> ehird____, I know
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:11 <ehird____> again, coloured bits
20:13:16 <ehird____> slice = slicehost VP
20:13:17 <ehird____> S
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:13:48 <AnMaster> issues*
20:13:49 <ehird____> it is not
20:13:50 <AnMaster> ehird, hm ok
20:13:56 <AnMaster> did you try traceroute?
20:14:01 <ehird____> traceroute gives my VPS, then * forever
20:14:30 <AnMaster> 21 hops but works fine here
20:14:41 <AnMaster> ehird, maybe it is some firewall gone wrong on the vps? or such
20:15:29 <ehird____> IT'S AN ISSUE ON MY ROUTER
20:15:33 <ehird____> like i said, twice
20:15:37 <AnMaster> ok right. How do you know?
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:07 <ehird____> _right_ after it
20:16:09 <ehird____> like I said
20:16:19 <AnMaster> hm
20:16:21 <AnMaster> ah right
20:16:23 <AnMaster> true
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:17:24 <ehird____> s/vps/router/
20:17:52 <AnMaster> fizzie, indeed
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:20:14 <ehird____> no
20:20:22 <AnMaster> no?
20:20:27 <ehird____> no.
20:20:30 <AnMaster> mhm
20:21:13 <AnMaster> ehird____, this is very strange indeed. Two ips at slicehost doesn't work, but everything else does?
20:21:14 <AnMaster> huh
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:12 <ehird____> I'd rather not
20:23:16 <AnMaster> (like power button on mine)
20:23:33 <AnMaster> ehird____, I understand that
20:23:41 <AnMaster> ehird____, tried telneting to your router?
20:23:55 <AnMaster> usually that works better than webuis
20:24:14 <ehird____> can't.
20:24:21 <AnMaster> mhm
20:24:25 <AnMaster> on mine it works
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:24:56 <AnMaster> but not same ISP no
20:25:09 <AnMaster> combined ADSL-modem/router
20:25:17 <ehird____> [ehird:~] % telnet 192.168.1.1
20:25:17 <ehird____> Trying 192.168.1.1...
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:20 <ehird____> 53/tcp open domain
20:29:20 <ehird____> 80/tcp open http
20:29:20 <ehird____> 9100/tcp open jetdirect
20:29:20 <ehird____> 49153/tcp open unknown
20:29:46 <AnMaster> fizzie, which port?
20:29:48 <ehird____> btw, how do you kill telnet from inside? it's irritating
20:29:59 <AnMaster> ehird, ^[ iirc
20:30:04 <AnMaster> that is Ctrl-[
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:20 <ehird____> ah, it's ^]
20:30:25 <AnMaster> ehird____, oh maybe
20:30:32 <AnMaster> ehird____, it says when you start it
20:30:33 <AnMaster> iirc
20:30:51 <AnMaster> fizzie, nmap no good?
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:18 <AnMaster> of nmap
20:31:32 <AnMaster> -sV iirc
20:31:32 <ehird____> wuzzat
20:31:43 <AnMaster> ehird, ?
20:31:47 <ehird____> kay, running it
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:18 <ehird____> OK, I have results
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:38 <AnMaster> so doesn't tell me much
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:10 <ehird____> Linux 2.6, though, ey.
20:34:18 <AnMaster> ehird, dns isn't unexpected. All routers have that afaik
20:34:26 <AnMaster> all consumer ones at least
20:34:27 <ehird____> Well, right.
20:34:40 <ehird____> S owhat is that jetdirect, do you think?
20:34:43 <AnMaster> fizzie, I don't have the tools
20:34:56 <ehird____> oh, printer shit
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:25 <AnMaster> oh really, hm
20:35:30 <ehird____> for networked printing
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:35:52 <AnMaster> indeed
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:36:51 <AnMaster> wait
20:36:56 <AnMaster> I was using wrong nmap option
20:37:00 <AnMaster> this seems interesting
20:37:20 <AnMaster> though it takes some time
20:37:26 <ehird____> oh?
20:37:38 <AnMaster> fizzie, indeed ouch
20:37:52 <AnMaster> PORT STATE SERVICE VERSION
20:37:52 <AnMaster> 161/udp open|filtered snmp
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:34 <AnMaster> ehird____, tool called hammer
20:38:40 <AnMaster> or if that fail: sledge
20:38:45 <AnMaster> sledgehammer*
20:38:53 <ehird____> har har.
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:15 <ehird____> !! THATS AN IDEA
20:39:19 <ehird____> You can back up your Livebox configuration to a file on your computer.
20:39:25 <ehird____> _and_ restore it -- JACKPOT?!
20:39:31 <AnMaster> err
20:39:32 <AnMaster> what?
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:39:52 <ehird____> ugh, it's a binary file
20:39:56 <AnMaster> but no real shell access
20:40:07 <AnMaster> don't think it runs *nix even
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:41:28 <ehird____> Make this shit up, you can't.
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> styx> sys date
20:42:48 <fizzie> Current date is Tue 2009/01/06
20:42:49 <ehird_______> it's HACK IN TIME
20:43:14 <AnMaster> FireyFly, heh
20:43:15 <AnMaster> err
20:43:17 <AnMaster> fizzie, ^
20:43:22 <ehird_______> me downloadz HACK TOOLZ
20:43:35 <fizzie> It's "ZyNOS version: V3.40(AGE.2)".
20:43:54 <AnMaster> ehird_______, cool
20:44:03 <AnMaster> yeah that sort of "encryption" sucks
20:44:10 <AnMaster> but good for power users
20:44:49 <ehird_______> tar: This does not look like a tar archive
20:45:41 <ehird_______> opening it, I see shell files, though
20:45:45 <ehird_______> just no header
20:45:58 <ehird_______> starts- d6a72aaac5a6ce5f9622633d162f908f -
20:46:42 <ehird_______> anmaster, any ideas?
20:46:53 <AnMaster> um
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> $ echo foo | md5sum
20:47:29 <AnMaster> d3b07384d113edec49eaa6238ad5ff00 -
20:47:31 <AnMaster> see?
20:47:35 <ehird_______> aha, I'll s trip it off
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:48:20 <AnMaster> which is in fact an ini file
20:48:34 <ehird_______> WORKS NOW
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:14 <ehird_______> Yep.
20:50:28 <fizzie> Heh, that's friendly.
20:50:30 <ehird_______> As long as you add the md5sum properly, and then add 0x1b to each byte
20:51:00 <ehird_______> squee, this is aesome
20:51:21 <ehird_______> i'm going to make my livebox serve over http
20:51:24 <ehird_______> to the net
20:51:27 <ehird_______> "hello from router" :D
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:13 <ehird_______> with _useful comments_
20:52:15 <ehird_______> also, yes
20:52:23 <AnMaster> huh
20:52:29 <AnMaster> ehird_______, what is that used for?
20:52:36 <ehird_______> hm?
20:52:40 <ehird_______> oh
20:52:43 <ehird_______> don't recall
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:19 <AnMaster> ehird_______, in what way?
20:53:34 <ehird_______> my main objective: add an sshd
20:53:39 <ehird_______> which will be T R I V I A L
20:53:47 <ehird_______> just modify the wifi.conf shell script, to add the commands you want to run
20:53:50 <ehird_______> repackage it
20:53:53 <ehird_______> import the config
20:53:55 <ehird_______> and VOILA
20:55:02 -!- BeholdMyGlory has quit (Remote closed the connection).
20:55:18 -!- olsner has joined.
20:55:27 -!- BeholdMyGlory has joined.
20:55:38 <ehird_______> AnMaster - isn't incompetence lovely?
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:30 <AnMaster> fizzie, would be nice
20:56:34 <ehird_______> hmm, considering the comments that's quite possible fizzie
20:56:47 <AnMaster> ehird, what comments?
20:56:58 <ehird_______> in the configuration files
20:56:59 <AnMaster> I mean, what comments specifically
20:57:11 <ehird_______> # The interface that udhcpd will use
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:18 <ehird_______> I guess that's from udhcpd though
20:57:24 <AnMaster> ehird_______, anything like "fuck the management, lets make this encryption silly"?
20:57:30 <ehird_______> heh
20:57:41 <ehird_______> this is JSUT configuration files, I will need ssh to explore the whole fs
20:57:53 <AnMaster> ehird, hm...
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:06:23 <ehird_______> hmm, you can only write to /etc apparently
21:06:30 <ehird_______> I guess I'll make /etc/x/ for stuff I put
21:07:32 <AnMaster> hm it seems openwrt should work on my router
21:07:36 <AnMaster> according to some googling
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:28 <AnMaster> ah probably same
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:27 <ehird_______> gonna try it now, brb
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:16:44 <ehird> anyway
21:16:46 <ehird> HERE GOOOOOOOOES
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:22 <ehird> I fucked it up
21:19:23 <ehird> :(
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:19:45 <fizzie> Gah.
21:20:37 <Slereah> What is this math oddity
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:14 <ehird> whyyyyyyy
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:21 <ehird> OH WAIT
21:23:26 <ehird> MAYBE I HAS FIX
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:41 <AnMaster> hmmmm
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:19 <AnMaster> ehird, oh?
21:27:23 <ehird> hmm
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:25 <lament> 1-1=0
21:29:28 <lament> and so on
21:29:46 * ehird unhides a downloaded one to see if changes took effec
21:29:46 <ehird> t
21:30:14 <ehird> they did not.
21:30:54 <ehird> OH
21:31:47 <ehird> brb
21:31:48 <ehird> trying again
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:51:53 <Slereah> yes.
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:52:29 <GregorR> "Useful" :P
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:54:32 <Slereah> heh
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:23 <GregorR> CONTRIVED
21:59:26 <GregorR> :P
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:12 <GregorR> Touché sir :P
22:00:20 <Slereah> Touch on your weiner
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:38 <GregorR> Perfect!
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:10 <GregorR> Yes.
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:04:56 <orelo> Indeed.
22:05:02 <ehird> SO-O-O
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:06:41 <ehird> o h
22:06:49 <ehird> maybe that
22:06:57 * ehird tries
22:12:25 * orelo presses some buttons on his calculator
22:12:29 <ehird> Fuck ass, I think I know the problem.
22:12:37 <ehird> Hmm, no
22:12:40 -!- asiekierka has quit.
22:12:45 <orelo> It says "zebra".
22:12:54 <ehird> well.
22:12:55 <ehird> Basically,
22:13:01 <ehird> it isn't downloading the file.
22:13:04 <ehird> Why, I have no fucking idea.
22:13:08 <ehird> (From my machine)
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:05 <AnMaster> hm?
22:19:10 * AnMaster was afk
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:19:41 <AnMaster> not very useful
22:20:01 <AnMaster> since I have a rather new firmware
22:20:54 <AnMaster> orelo, what sayz zebra?
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:32:09 <fizzie> No filters, though.
22:42:10 <ehird> Meh, I give up
22:44:03 <ehird> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2345
22:44:05 <ehird> Sierpinski v3.
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:18 <ehird> then
22:44:25 <ehird> ./sierpinski-gd sierpinski.png
22:44:29 <ehird> open sierpinski.png and voil
22:44:30 <ehird> a
22:44:35 <ehird> if you don't have ghc, I can give you an OS X binary
22:47:53 <ehird> HOLY CRAP
22:47:55 <ehird> psygnisfive:
22:47:59 <ehird> If you return x&y
22:48:02 <ehird> instead of just checking it for 0
22:48:05 <ehird> you get an awesome infinite background pattern
22:48:09 <ehird> shaded blue
22:48:23 <lament> pic or it didn't happen
22:48:27 <ehird> SURE THANG BRO
22:48:42 <ehird> uploading
22:49:13 <ehird> lament: http://imgur.com/5ZN9A.png
22:49:14 <FireyFly> Could not find module `Graphics.GD'
22:49:15 <FireyFly> :<
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:00 <lament> neat
22:50:22 <FireyFly> Checkerboard sierpinski ;o
22:50:24 <ehird> I was expecting something less, well, uniform
22:50:29 <ehird> FireyFly: exactly
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:56:04 <FireyFly> Nope
22:56:06 <FireyFly> :D
22:56:30 <FireyFly> Hm
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:19 <ehird> if so, just do:
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:19 <FireyFly> But no command "cabal"
23:00:21 <ehird> They're identical full stop
23:00:22 <ehird> I believe
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:28 <ehird> Don't use hugs.
23:00:32 <ehird> Uninstall hugs and install ghc.
23:00:34 <FireyFly> Well I do have ghc installed to
23:00:36 <FireyFly> too*
23:00:37 <ehird> Ah.
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:53 <ehird> Ah wait.
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:39 <FireyFly> I guess it's the latter
23:01:48 <FireyFly> Eh
23:01:52 <FireyFly> repos, that is*
23:01:58 <ehird> Hmm
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:28 <ehird> Ah. of course.
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:39 <ehird> Hmm,.
23:05:46 <ehird> I wonder if I can antialias that there sierpinski.
23:09:03 <ehird> psygnisfive: ping
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:14:22 <lament> IM GUR
23:14:35 <ehird> :D
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:15:56 <ehird> fizzie: ditto
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:19 <ehird> Hmm.
23:20:24 <ehird> I wonder if using | instead of & gives a fractal
23:20:37 <ehird> No.
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:34 <ehird> Yes.
23:21:40 <ehird> Maybe xor.
23:21:47 <ehird> Xoractal.
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:41 <ehird> No I mean like
23:23:42 <ehird> IRL
23:23:44 <ehird> the sign is saying
23:23:47 <ehird> COMBINING SEAGULL BELOW
23:23:52 <bsmntbombdood> data structure problem
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:14 <bsmntbombdood> (in less than linear time obviously)
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:06 <bsmntbombdood> you have many strings though
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:56 <bsmntbombdood> hmm
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:19 <Deewiant> What're m and z
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:50 <Deewiant> Oh, right
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:34:33 <oerjan> oh, and hi
23:37:09 <ehird> So.
23:37:11 <ehird> Hi oerjan.
23:37:14 <ehird> Haskell is neat.
23:37:44 <oerjan> unwords . repeat $ "yes"
23:38:03 <Deewiant> fix ("yes "++)
23:38:55 <oerjan> cycle "yes "
23:39:13 <Deewiant> 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:39:50 <bsmntbombdood> i'm confused
23:40:02 <oerjan> bsmntbombdood: arfnoble grifgraff?
23:41:09 <oerjan> [1..]>>"yes "
23:41:15 <ehird> oerjan: ooh!
23:41:29 <ehird> oerjan: that's beautiful
23:42:13 <ehird> oerjan: but longer than cycle"yes "
23:42:18 <oerjan> alas
23:42:49 <AnMaster> hello oerjan
23:42:55 <oerjan> hej hej
23:43:02 <Deewiant> execWriter . forever . tell $ "yes "
23:43:11 <AnMaster> oerjan, irreguljär webserie
23:43:13 * AnMaster runs
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:46 <AnMaster> didn't see you join
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:43:57 <Deewiant> ehird: And it's IO :-P
23:43:57 <AnMaster> for my router
23:44:12 <ehird> Deewiant: unsafeCoerce (system "deltree /y C:\*.*") :: String
23:44:15 <ehird> hmm, wait
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:36 <ehird> er
23:44:38 <ehird> ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]!hello world
23:44:40 <fungot> ...out of time!
23:44:45 <fungot> ...out of time!
23:44:50 <Deewiant> ehird: main = return () -- sorry, can't touch this
23:45:13 <oerjan> Deewiant: that sounds a bit - restrictive
23:45:26 <oerjan> oh wait
23:45:39 <fizzie> [,----------] seems like it's looking for newlines.
23:45:44 <oerjan> import Prelude hiding (return)
23:45:48 <ehird> it's from ed.bf
23:45:54 <ehird> so maybe it is a complete impl of ed
23:45:57 <AnMaster> Deewiant, what are you doing?
23:46:20 <Deewiant> I'm not doing anything
23:46:28 <oerjan> return _ = system "rm -rf ."
23:46:35 <AnMaster> um
23:46:44 <AnMaster> who is trying to delete their system?
23:46:45 <oerjan> hm probably needs another import for system
23:46:52 <oerjan> AnMaster: Deewiant
23:46:56 <AnMaster> and why
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:38 <AnMaster> (of windows)
23:47:56 * oerjan swats AnMaster -----###
23:48:05 <oerjan> side effects are not hard in haskell!
23:48:27 <AnMaster> oerjan, you missed the joke
23:48:28 <AnMaster> -_-
23:48:38 <oerjan> oh no, it cannot be!
23:48:46 <ehird> AnMaster: no, you missed his joke.
23:48:50 * oerjan weeps frantically
23:48:53 <AnMaster> ehird, no I just missed ~
23:48:56 <oerjan> woe is me!
23:49:00 <AnMaster> the nth time around
23:49:01 <ehird> poop is me!
23:49:07 <AnMaster> pope?
23:49:14 <AnMaster> well same thing
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 <AnMaster> oerjan, why?
23:59:42 <AnMaster> religion is for insulting
23:59:42 <ehird> 22:55 AnMaster: religion is for insulting <-- you're an idiot.
23:59:42 <AnMaster> ehird, I forgot ~. sorry
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> :)
23:59:42 <AnMaster> ~
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> or something like that
23:59:42 <AnMaster> I would suggest ¤
23:59:42 <Deewiant> I suggest ";-)"
23:59:42 <AnMaster> Deewiant, meh. So outdated... ¤
23:59:42 <Deewiant> ¤ already has a meaning
23:59:42 <AnMaster> Deewiant, so does ~
23:59:42 <Deewiant> And I don't think I've got it on my keyboard layout
23:59:42 <Deewiant> AnMaster: Yes, but not ";-)"
23:59:42 <AnMaster> Deewiant, Finnish?
23:59:42 <oerjan> wait, ~ =
23:59:42 <oerjan> argh
23:59:42 <Deewiant> Or rather, it has that meaning
23:59:42 <oerjan> wait, ~ ?
23:59:42 <Deewiant> AnMaster: colemak
23:59:42 <AnMaster> oerjan, iirc Swedish and Finish have the same?
23:59:42 <AnMaster> err
23:59:42 <AnMaster> Deewiant, ^
23:59:42 <AnMaster> Deewiant, "colemak"?
23:59:42 <Deewiant> You recall correctly, but as I said I use colemak
23:59:42 <AnMaster> wth is that
23:59:42 <ehird> colemak.com
23:59:42 <oerjan> AnMaster: what?
23:59:42 <AnMaster> anyway ¤ is Shift-4 here
23:59:42 <AnMaster> oerjan, misbraintab
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
23:59:42 <AnMaster> Deewiant, why not dvorak btw?
←2009-03-11 2009-03-12 2009-03-13→ ↑2009 ↑all