00:00:20 ehird, what was the Golly program that you had that generated the dual gasket + randomness? 00:00:29 erm 00:00:29 straight line 00:00:36 we went over this already :P 00:00:42 that doesnt produce that in GoL 00:00:48 crooked line 00:00:59 why dont you make it work and then send me the file 00:01:15 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 oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322 00:01:26 Complete sierpinski program in Haskell. 00:01:30 Including command line parsing :P 00:01:33 In 19 lines! 00:01:40 hmm 00:01:46 lemme do it in ruby! :o 00:01:53 good luck getting as pretty 00:02:02 % runhaskell sierpinski.hs 30 30 a 00:02:02 sierpinski.hs: usage: sierpinski [w h] 00:02:02 intercalate "\n" is unlines 00:02:03 heh 00:02:05 ermove "sierpinski" 00:02:21 oerjan: ? 00:02:31 well, except the final \n 00:02:53 oerjan: psygnisfive: http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323 00:02:54 updated 00:02:55 what does unlines fo, anyway 00:02:57 *do 00:03:06 ais523: [[String]] -> [String] 00:03:08 adds \ns./ 00:03:14 ah 00:03:21 anyway, psygnisfive, if you can get it that elegant in that short as code I'll be very impressed 00:03:25 as you may have guessed, I have a highlight on the word "INTERCAL" 00:03:27 Haskell is exceedingly godo at this type of stuff 00:03:30 and apparently it's case-insensitive 00:03:30 heh 00:03:31 ais523: oh 00:03:38 i suppose it depends on your notion of elegant ;) 00:03:39 exceedingly Godot 00:03:52 psygnisfive: end end end end end is very elegant. 00:03:53 not. 00:03:59 }}}}} 00:04:01 :P 00:04:06 ais523: 00:04:07 ais523: intercalate is a recent addition, no more than a couple years 00:04:16 fuck yeah indentation. 00:04:19 ehird: I also have a highlight on the word "ais523" 00:04:30 and no, indentation just messes up too many things that don't come up very often 00:04:43 I've seen whitespace borkage far too often to be comfortable with it 00:05:07 WFM 00:05:30 ehird: for instance, what if you're trying to type a python program over a serial cable by hand? 00:05:36 don't do that. 00:05:39 you really don't want to have to type out the indentation in that case 00:05:48 ehird: exactly, that's a limitation of the language 00:05:55 % runhaskell sierpinski.hs 0 0 00:05:55 * 00:05:56 hmm, an off by one 00:06:05 oh well 00:06:10 also, tabs vs. spaces 00:06:20 normally not a problem, you can just automatically reindent 00:06:23 huge problem in Python 00:06:34 tabs in Python produce a warning 00:06:40 on every run 00:06:41 problem solve 00:06:42 d 00:06:51 ok, now you're just inflating code size for no reason 00:07:03 by SEVERAL BYTES 00:07:16 ehird: whitespace is a substantial proportion of a typical python program 00:07:21 especially at 4-space indentation 00:07:22 :o 00:07:24 pastie.org is down D: 00:07:27 yes, it is 00:07:35 what can i use instead :| 00:07:38 so much for ehird's permanent pastes for helping logreaders things 00:07:44 and use rafb.net, it annoys ehird 00:07:45 rafb deletes permanently 00:07:48 pastie just happens to be down 00:07:51 psygnisfive: paste.lisp.org 00:08:16 has no ruby 00:08:26 but ok 00:08:26 so what 00:08:27 i have eyes 00:08:59 http://paste.lisp.org/display/76862 00:09:07 two eyes live, one eye dies. 00:09:24 http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2322#a2323 is more readable, more elegant and quicker 00:09:29 also 00:09:32 you missed command line arg processing 00:09:36 i dont find your elegant at all D: 00:09:45 its not supposed to be command line bitch :| 00:09:51 i could make it 2 lines of haskell, btw, but I was making it verbose and readable 00:09:52 i dont care about your ugly commandline shit 00:10:00 make it smaller! 00:10:02 ugly, lol 00:10:05 no, I like it 00:10:09 i want to see smaller 00:10:19 i could do more readable too i guess 00:10:21 k, here 00:10:52 import Data.Bits 00:10:52 import Data.List 00:10:53 sierpinski w h = [ [ x .&. y == 0 | x <- [0..w] ] | y <- [0..h] ] 00:10:55 main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ sierpinski 30 30 00:10:57 you could omit the sierpinski definition line: 00:11:08 main = putStr . unlines . map (map (\b -> if b then '*' else ' ')) $ [ [ x .&. y == 0 | x <- [0..30] ] | y <- [0..30] ] 00:11:31 http://codepad.org/lQGGDWNZ <- on the #haskell codepad, newsham added me 00:12:03 ehird: you're missing a * at the right and at the bottom 00:12:10 no hes not 00:12:16 he just didnt go up to that start is all :p 00:12:24 yeah, 31,31 would fix that 00:12:27 but it is fine 00:12:30 oh, ok 00:13:34 psygnisfive: http://codepad.org/Y1PV2gVc 00:13:37 newsham centered it :D 00:14:07 lol 00:14:42 anyway, very nice algorithm psygnisfive 00:14:51 have you noticed how much the sierpinski definition resembles the mathematical one you gave? 00:14:52 its not my discovery. 00:14:55 see, that's how awesome it is :P 00:14:59 no i havent actually 00:15:15 i also discovered a way to generate a gasket inductively over a graph 00:15:32 { (x,y) : x,y in N, &(x,y) = 0 } 00:15:32 [ (x,y) | x <- [0..w], y <- [0..h], x .&. y == 0 ] 00:15:41 first is your mathematical one, second is my haskell one 00:15:44 oh oh well 00:15:58 my first one was actually intended to be pseudohaskell from the beginning ;) 00:16:14 anyway 00:16:17 inductively on a graph: 00:16:38 G = (Nodes,Edges) where Nodes = N^2 00:16:55 1: The edge ((0,0),(0,1)) is in Edges 00:17:05 2: The edge ((0,0),(1,0)) is in Edges 00:17:25 I wonder what in the bitwise patterns gives rise to sierpinski 00:17:28 It's the God fractal... 00:17:50 ehird: clearly this is evidence that the universe is run by cellular automata! 00:18:16 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 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 theres also another very simple algorithm that produces an identical gasket 00:21:48 thats similarly simple but not as mathematically pure 00:22:43 and ofcourse the simple duplicate-to-form-a-new-item algorithm works 00:23:15 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 ehird 00:45:01 . 00:45:07 send me the golly file 00:45:21 lazy 00:45:25 :| 00:45:39 you know who else is lazy? 00:45:40 slereah 00:45:43 you dont want to be like slereah do you 00:47:02 now that depends. is he rich? 00:47:06 no 00:47:10 and hes a homosexual! 00:47:17 and a communist 00:47:31 communist? 00:47:36 yeah 00:47:44 well, hes french 00:47:45 so 00:47:46 same thing 00:47:51 i suspected the homosexual but i never really got it confirmed before 00:54:17 haskell is fun like a kitten. 00:54:23 lol 00:54:29 a kitteny kitten. 00:54:36 ehird 00:54:42 you're clearly either a girl, or a faggot. 00:54:45 take your pick, 00:54:52 what about both 00:55:01 unfortunately both dosnt apply 00:55:26 you mean lesbians don't like kittens? 00:55:30 no 00:55:34 they hate them with a passion 00:55:44 what about 00:55:45 lesbian 00:55:46 kittens 00:55:57 you learn something new every day 00:57:25 so i discovered a way to make a fuse in GoL 00:59:11 psygnisfive: http://bash.org/?105356 01:00:05 its a very good point 01:00:10 meth makes you like that big time 01:00:16 fuse: 01:00:21 Then I must be permanently on meth. 01:00:32 [right down down left down down] 01:00:41 wut 01:00:44 repeat until you dont want to 01:00:54 color a cell 01:00:55 move right 01:00:57 color a cell 01:00:58 mov down 01:00:59 Omg, golly 2.0 is out 01:01:02 color a cell 01:01:03 move down 01:01:11 and so on 01:01:27 oh right 01:01:29 it removes itself? 01:01:34 yeah, a wavy horizontal line does that 01:01:36 diagonally 01:01:37 sorta 01:01:37 eh not as such 01:01:41 it sort of... 01:01:46 burns itself up :) 01:01:58 just do it. make it very long 01:02:23 helloes 01:02:24 ah, right 01:02:25 simple 01:02:28 oi oi 01:02:37 ie 01:03:03 can i just say 01:03:06 how much i love you guys 01:03:14 for being so dorky that i cant talk about this shit with you 01:03:15 <3 01:03:44 er, "cant"? 01:03:53 can* 01:04:02 damn fingers 01:04:16 * oerjan swats psygnisfive's fingers for him -----### 01:04:24 <3 01:07:28 bash sucks 01:08:13 also have i mentioned hardcover books are awesome 01:08:20 they are just incredible 01:08:33 especially when they're really thick and clean 01:08:41 like 1300 pages 01:08:42 this one 01:09:06 i should probably buy another one of those for just touching and licking 01:09:21 XD 01:09:43 ew :| 01:09:50 booksexual 01:10:04 ew? 01:10:34 i'm a bibliophile in many senses 01:11:35 mmmm also when you open it, there's tons of shit i'll never understand, but it's so pretty 01:11:37 "and then you'd just have giant red orbs flying around the planet that can eat up functional satelites katamari-style. " 01:11:42 NAAA, NA NA NA NA NA NA NA 01:13:45 im off to the cafe 01:13:51 boys goys 01:15:12 good night 01:18:09 ehird: er, what? 01:18:21 oerjan: katamari damacy 01:18:53 well i've slightly heard of that, but it was the rest of it i wondered about 01:19:48 now if they could use it for cleaning up space junk... :D 01:24:23 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 OH MY GOD IT IS C. 01:24:32 oerjan: THAT IS HASKELL WTF 01:24:44 what the fuck 01:24:49 even I know that's bad Haskell 01:24:57 he's a newbie from C 01:24:58 but JESUS CHRIST 01:25:21 runIO $ f $ unJust $ readRef $ r 01:25:23 plskthx 01:25:29 "readRef $ r" fail 01:25:32 that's readRef r 01:25:33 also ti should be 01:25:34 err, yeah 01:25:39 runIO . f . unJust . readRef $ r 01:26:01 does that work? 01:26:04 $ confuses me 01:26:10 it's an operator that does nothing but it has a high precedence 01:26:20 I see 01:26:20 it doesn't do nothin 01:26:21 g 01:26:23 () is the empty operator 01:26:25 it does nothing 01:26:25 ($) = () 01:26:28 no 01:26:32 a $ b = a b 01:26:35 that's the definition 01:26:37 it's just that regular application is an infix operator with a 0-length name 01:26:40 $ is an explicit name for it 01:26:51 (and yes, I know that's a YO DAWG situation) 01:27:56 it's a yodawgmorphism 01:28:46 or strictly speaking, supdawgmorphism, which is dual to an infdawgmorphism 01:37:19 ehird: also, that is so much harder to read than runIO(f(unJust(readF(r)))) 01:37:23 though much prettier 01:37:31 but less clear on what it's doing 02:09:20 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)). 02:10:05 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 given a big directory of text, i need a fast way of searching it 04:43:56 (faster than simple grep) 04:55:56 unless it's sorted (or some known permutation of sorted) you can't go any quicker than grep 04:58:46 ... or has any other property you can exploit for speed 04:59:15 you can build an index 04:59:50 building the index ~ grep 04:59:56 search < grep 05:04:08 building the index + searching > grep 05:11:52 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 hello 07:34:47 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 MizardX, building an index is a one time cost though, so once you done it you can use it several times 09:15:29 but for a one time search a plain grep would be faster than first building the index 09:16:56 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 hasn't changed) 09:17:30 blergh at hitting enter instead of ' ... 09:18:50 Also indexing is non-trivial if you want to include things like stemming. 09:19:30 Not that there wouldn't be a pile of tools and libraries for that short of stuff. 09:19:34 s/short/sort/ 09:19:37 well ok 09:19:46 fizzie, grep is non-trivial if you want that too 09:19:55 Yes, but grep's already there always. 09:20:07 It's like a natural law; there's grep everywhere. 09:20:13 fizzie, well I mean, you can't do stemming in grep afaik 09:20:20 not GNU grep at least 09:20:32 Right, you meant that. Well, no. 09:21:07 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 Stemming in grep would be a bit over-the-top even for a GNU tool. 09:21:44 exactly 09:22:04 -!- tombom has joined. 09:22:05 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 I suppose basic wildcards work with indexes. Or how would LIKE work in SQL? 09:23:14 At least PostgreSQL optimizes only LIKE expressions of the type "foo%" (i.e. prefix-matching) using indices. 09:23:22 hm ok 09:23:46 fizzie, what is the FTS stuff in postgre about btw? 09:23:51 full text index or something iirc 09:23:59 "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 Yes, it's got a full-text-search thingie. 09:24:21 is that for LIKE or for something else? 09:24:30 Something else. 09:24:38 I see. How does it work? 09:24:47 It's got a different way of making queries, pretty much a bag-of-words that you can search for. 09:24:54 hm ok 09:25:15 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 hm 09:26:16 I suspect using indexes for regex would be hard 09:26:51 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 well true 09:27:17 "foo|bar|quux" would be trivial to use an index for for example 09:27:28 wait is that valid? two "for" after each other... 09:29:39 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 btw, though I know the current xkcd is from yesterday I think it is much better than recent average 09:29:55 (just forgot to comment on it yesteday in here) 09:30:25 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 fizzie, best way: CAM 09:30:47 ;) 09:30:56 -!- GreaseMonkey has quit ("Client Excited"). 09:31:28 though I doubt that would help for regexes 09:31:48 still, it is probably the fastest way to search in general. 09:32:56 Doesn't really help when all you've got is software, of course. 09:33:08 true 09:33:15 I think I'll go do an early-ish (10:33 local-time) lunch now. 09:33:22 fizzie, one sec 09:33:28 Hm? 09:33:33 fizzie, it seems hard to speed up regex at all really 09:33:50 compared to many other types of searches 09:34:13 or? 09:34:23 Yes, I'd certainly say so. 09:34:52 fizzie, the same goes for one loopup -> several regex matching 09:35:02 like for a spamfilter 09:35:26 and then I mean spamfilters for ircds mostly 09:35:29 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 fizzie, ok *that* is interesting 09:35:54 hm 09:35:57 That's a large set of constant data, wouldn't help in an ircd spam-filter where every sentence is new. 09:36:16 fizzie, yes, and you need to match each line to several regexes 09:36:23 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 for a set of wildcard patterns you could do some easier matching 09:37:14 storing them sorted would help selecting a better one earlier for example 09:37:27 unlike a regex. (zzz)?aaa 09:37:56 you still have to deal with * at the start though 09:38:08 anyway, cya. Have to leave too. 09:38:38 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 fizzie, hm ok 10:32:28 fizzie, good idea even 11:01:54 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client"). 11:04:29 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 http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang 11:13:59 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 Although I guess Erlang use can easily lead to Funny Face Yoga. Or something. 11:38:30 iirc I saw a regex -> C generator 11:38:32 forgot the name 11:39:09 ah yes re2c 11:39:12 never tried it 11:43:26 http://www.youtube.com/watch?v=1yH_j8-VVLo - amusing short piece on Erlang <-- old 11:44:55 ah no, just the small preview image was old. from another video 11:45:14 I have that regex -> brainfuck generator. :p 11:45:18 also one of those images are from BOIC screen saver... 11:45:30 BOINC* 11:46:26 fizzie, wait what? PCRE? 11:46:26 "For maximum performance. [Footnote, tiny print: The expression "maximum performance" is based on the reasonable assumption that your computational platform is based on the Brainfuck industry-standard low-level architecture.]" 11:46:43 fizzie, link? 11:46:43 No, just very basic regexps. 11:47:12 Kleene star, the | operation and concatenation; I don't know if I had anything else. 11:47:42 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 thought it was http://www.youtube.com/watch?v=uKfKtXYLG78 first 11:48:30 which is IMO way funnier and interesting 11:50:51 Yes, but that one's actually old. :-P 11:53:07 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 why do you like java so much 11:53:31 I seem to remember it generating rather large brainfuck output files. 11:53:50 I don't, I just was having a Java phase at that moment. 11:54:03 Currently I'm back in the Perly period, having gone through a short bit of Python there. 11:54:32 fizzie, what about C++? 11:54:53 I'm eagerly waiting for the next C++ sprint, I could actually work on jitfunge a bit at that point. 11:54:56 jitfunge was in C++ right? 11:55:20 It's like you read my mind here. 11:56:08 fizzie, so what if you need to use another language suddenly? 11:56:16 like an assignment or whatever 11:56:19 which doesn 11:56:29 doesn't* match the current sprint 11:56:39 or whatever you called it 11:57:05 A "period", by way of analogy to, say, Picasso's blue period. 11:57:35 fizzie, I guess it was lucky that there wasn't a shortage of blue paint during that period 11:57:37 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 or maybe there was a shortage of other pigments? 11:57:50 apart from blue 11:58:01 Actually that compiled (ab)* isn't so bad; it's just something like 18.5 80-column lines. 11:59:16 fizzie, in cfunge it would be way shorter: "PXER"4( "*)ba(" ;something I forgot; ;forgot what commant it was in REXP; 11:59:22 ;P 11:59:36 does CCBI implement REXP btw? 11:59:46 Deewiant, ^ 11:59:51 or 3DSP 11:59:52 AnMaster: v 11:59:54 No 11:59:57 AnMaster: ^ 11:59:59 AnMaster: v 12:00:00 right 12:00:00 Yes 12:00:01 AnMaster: ^ 12:01:00 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 v > 12:01:21 v> > 12:01:21 # 12:01:21 > v^< 12:01:21 Deewiant: ^ 12:01:21 I see 12:01:37 Infinite loop, oh dear 12:01:42 Deewiant, no? 12:01:49 Yes. 12:01:52 oh right 12:01:56 v< 12:01:58 should have been that 12:02:07 wait no 12:02:12 Deewiant, not infinite loop 12:02:12 The v in the lower right corner is an infinite loop 12:02:33 In the same sense than your plain old "v" was. 12:02:38 (But of course that whole thing can only loop forever anyway) 12:02:40 Deewiant, exactly 12:03:01 fizzie, well I assumed that too 12:03:02 I'm just wondering if I was supposed to traverse all the chars or not 12:03:13 Deewiant, huh? 12:03:55 Hmm, right, I'm supposed to start at the ^ and not the v :-P 12:04:03 Oh well. 12:04:12 I thought that was quite logical, since it's what was after the "name:" part. 12:04:18 hm iirc someone said GCC is getting a plugin architecture soon. Can anyone confirm this? 12:04:18 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 fizzie: I read it as "execute the above". 12:05:16 hm, maybe cfunge should have optional plugin support, to support static analysers and such 12:05:49 wait what I planned just needs to parse the trace output 12:05:53 hm 12:09:43 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 fizzie, heh 12:14:29 fizzie, I'm sure it can be solved somehow. 12:15:17 fizzie, also if there wasn't self modification you could just compile it normally without needing JIT 12:16:00 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 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 mhm 12:17:44 (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 fizzie, put it there carefully mean "invalidate compiled code"? 12:18:23 means* 12:18:26 Yes, pretty much. 12:18:48 fizzie, how did you handle pop on empty stack now again? 12:19:36 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 fizzie, what about ' and s ? 12:20:57 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 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 fizzie, hm so popping on empty stack has quite high overhead? 12:22:18 I haven't measured, but very likely. 12:22:28 At the very least something compared to setjmp/longjmp usage. 12:22:35 right 12:23:21 fizzie, the most likely case of hitting that would be on >:#,_ idiom 12:23:29 so optimising that specially maybe? 12:23:37 on the* 12:23:48 I always put an explicit 0 there; I usually have other stuff on the stack anyway. 12:24:19 But a print-loop could be detected specially, yes. 12:24:19 Mycology pops an empty stack quite often, I think 12:24:39 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 thus probably doing an n 12:25:05 if I have garbage on it 12:25:06 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 Yeah, I tend to do "n" instead of "0" in Mycology 12:25:27 fizzie, doesn't Java HotSpot do something like that? 12:25:29 well often executed 12:25:31 in that case 12:25:54 Yes, but it doesn't need to track all data storage memory for potential changes also. :p 12:25:56 Deewiant, I suspect that is most common in test case code 12:26:05 also I often use the first row as temp storage 12:26:12 Maybe I could have a "someone modified a location which actually contained some code that was previously executed" rule. 12:26:15 I mean I don't need it after the start 12:26:32 it is setup, and later temp storage 12:27:04 on the other hand, sometimes the setup code write stuff into the program once 12:27:42 btw, does anyone have a ?-based unbiased RNG for funge? Range 0-9 12:28:13 I tried a tree structure but it is hard to make sure you get an even probability for all cases 12:28:36 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 fizzie, another thing that might be useful to optimise somehow is if one side of a ? has an > pointing at the ? 12:29:39 quite common when you want n outputs for n < 4 12:30:41 I don't really remember how I did ? right now. I think currently it always ends a compiled piece of code. 12:36:40 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 1-9 is easier 12:38:37 Sure, since you can just make the 1-3, 4-6, 7-9 decision, and then use a three-output ?. 12:38:58 http://paste.lisp.org/display/76883 12:39:01 like that yes 12:39:38 fizzie, hm what about one with an upper time bound? 12:39:48 I mean both or ours is O(inf) in worst case 12:40:05 mine could possibly bounce between >? forever 12:40:05 O(inf) sounds pretty slow! 12:40:08 your redirect back 12:40:13 Slereah, worst case 12:40:22 Slereah, "random, if bad try again" 12:40:25 I also have a >? in the first three-way decision, it could keep bouncing there. 12:40:29 The probability of that worst case is zero though 12:40:42 Deewiant, really? 9999999999999999999999999 12:41:07 AnMaster: Given a ? which is guaranteed to go in all directions, it is 12:41:27 Deewiant, yes it is, on average and if you wait long enough 12:42:41 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 hm 12:43:42 Deewiant, this gives raise to an interesting question... 12:43:53 "bounded time even randomness complete" languages 12:44:07 ~ 12:44:08 It can be done with the generator in FIXP, I forget the instruction's name (probably R) 12:44:42 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 Deewiant, hm another idea: implement a PRNG in funge, using ? for the seed or randomness pool 12:44:48 depending on how you do it 12:45:26 fizzie: And you can get "reasonably bounded" by doing >? :-) 12:46:26 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 I don't. :-P 12:46:51 as far as I remember the glibc random() is supposed to have good randomness in all bits 12:46:51 Well, unless I don't care. 12:46:56 I don't do it in CCBI. 12:47:55 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 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 fizzie: there you are 12:48:51 Deewiant, mhm 12:49:44 Deewiant, rand() != random() though. Man page says range for random() is 16 * ((2^31) - 1) 12:49:52 "approximately" 12:49:57 wait 12:49:58 AnMaster: It doesn't matter what function you use 12:49:58 misread 12:50:00 that was the period 12:50:02 duh 12:50:15 What I said applies for any random number generator 12:50:20 Deewiant, so what bits are best to take? the middle ones? 12:50:33 Deewiant: On the other hand, RAND_MAX is typically something like 2^31-1. 12:50:35 That doesn't matter either, unless the generator says some bits are crap 12:50:46 fizzie: Yes, so the error is small in practice. 12:51:27 You'd have probabilities of .49999999976716935623 and .50000000023283064376 for 0 and 1. Or the other way around. 12:51:36 AnMaster: IMO the only way to make it even is to go the unbounded route, that's what I do 12:51:48 Deewiant, in CCBI? 12:51:57 Yes, and wherever I care about evenness 12:52:15 Don't do it in cfunge, you'll slow it down! :-P 12:52:23 I'm going to eat now -> 12:52:25 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 Deewiant, I do have a comment in the code about it 12:52:43 it suggests sending a patch if you need a more uniform rng 12:52:57 because since RAND_MAX is so large the actual error is very small 12:53:29 fungot: How biased are you? 12:53:29 fizzie: i used to have one with size as well as 12:53:54 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 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 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 domness is needed. (Use random(3) instead.) 12:54:04 from man srand 12:54:11 man rand gives me some openssl man page instead 12:54:17 in section 3 12:54:43 Oh? My openssl rand is in section 1. 12:54:47 Since it's a command. 12:54:54 It does refer to RAND_bytes(3). 12:54:56 well there is OpenSSL API docs 12:55:02 NAME 12:55:02 rand - pseudo-random number generator 12:55:02 SYNOPSIS 12:55:02 #include 12:55:24 RAND_bytes and several more functions are documented there 12:55:34 I don't have such. I might not have installed some openssl-doc package. 12:55:38 No entry for rand in section 1 of the manual 12:56:08 fizzie, my openssl is built with useflags: gmp sse2 zlib -kerberos 12:56:13 where - is turned off 12:56:25 no separate doc package 12:56:34 I have this: RAND(1SSL) -- rand - generate pseudo-random bytes -- openssl rand [-out file] [-rand file(s)] [-base64] num 12:56:43 It's a bit silly to have all those openssl commands separately, though. 12:56:53 fizzie, I only have an entry for that in openssl(1) 12:56:56 I don 12:57:01 don't* have any 1ssl section 12:57:22 Cannot open the message catalog "man" for locale "sv_SE.UTF-8" 12:57:22 (NLSPATH="") 12:57:25 wonder what that means 12:58:35 my man didn't install any gettext files or such at least 13:01:41 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 fizzie: what are the other major difference is how much more complex one. 13:02:35 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 (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 hm 13:12:05 how much of fungot source file is actually needed to run fungot 13:12:06 AnMaster: mine is fuller extent than many other languages and modules. see scheme/ fnord ls 13:12:12 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 Yes. 13:17:08 Out of 495 lines, only 381 are needed. 13:17:41 still optimising >:#._ might be worthwhile for cfunge in the static area, but the run time overhead of checking for it, hm... 13:17:56 still,* 13:58:27 -!- jix has joined. 13:59:24 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 'occasionally' 14:01:48 Quite often in my experience 14:02:14 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 fizzie, hm tried LyX? It is quite a nice frontend, and iirc it handles math quite well too 14:02:57 I may have been attempting an understatement. There's one \rule there for spacing. 14:03:03 not sure about the most advanced stuff 14:03:20 fizzie: Well, that example isn't that bad IMO :-) 14:03:50 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 fizzie, recent LyX is a lot better than when I started using LyX 14:04:20 which was maybe a year ago or so 14:05:10 Well, I'm sure it was at least two years ago when I last tried it. 14:05:30 fizzie, lyx optionally supports pre-rendering the math expressions on the fly, to be able to show any unsupported commands too 14:05:33 that is a new feature 14:05:58 fizzie, however make sure to use the very last release, often package managers in distros lag behind 14:06:12 oh also I only used the QT4 frontend for it 14:06:41 iirc they dropped the GTK one since it sucked 14:07:01 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 fizzie, can't you install it in ~ ? 14:07:45 I don't want to. 14:08:04 Especially since they've thoughtfully provided us with a version. 14:08:06 fizzie, I recommend lyx-1.6.0 or later. 1.6.1 is what I use 14:08:19 We're having disk space issues anyway, I think. 14:08:19 I definitely wouldn't use older ones any more 14:08:29 1.6 improved things a lot 14:08:34 Installed LyX here is "LyX version 1.5.6 (Sun, Jul 27, 2008)". Not *old*, but not *new* either. 14:08:37 fizzie, of course I would also use a very recent texlive 14:08:51 fizzie, well 1.5 is not so good 14:09:07 and the math stuff really improved in 1.6 14:09:48 The /home share is again 92 % full; and that's a rather good situation, it's been completely full on occasion. 14:09:52 Filesystem Size Used Avail Use% Mounted on 14:09:54 baldrick:/vol/home 488G 447G 42G 92% /m/fs/home 14:10:17 huh 14:10:20 fizzie, quotas? 14:10:23 None. 14:10:25 also how many users 14:10:51 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 heh 14:11:12 fizzie, so where is you on that list? 14:11:13 Your /home is smaller than our /home 14:11:32 Deewiant: Yes, well, it's not the size, it's how we use it. 14:11:51 fizzie, anyway, don't you have your own computer? 14:12:01 a laptop or whatever 14:12:06 nfs:/home 1.3T 211G 444G 33% /home 14:12:28 How does that work? 211 G used, 444 G free, total size 1.3 T? 14:12:41 I don't know, I was just wondering about that myself 14:12:51 I do believe the 'free' number is the one that's correct 14:13:06 hm 14:13:17 Here's our project-shares, where all non-temporary ("work" is for that) big files should be kept: 14:13:18 well, what file system is it really? 14:13:20 baldrick:/vol/project0 2.0T 1.5T 540G 74% /m/fs/project0 14:13:23 blackadder:/vol/project1 1.4T 1.4T 25G 99% /m/fs/project1 14:13:28 if it is ext* then the "reserved for root" space... 14:13:37 and over nfs I'm not sure how that works 14:13:48 It's mounted over NFS, and I'm not quite sure how it works either. 14:13:57 Anyhoo, I used to lead diskhogs at 14G 14:14:06 ah wait 14:14:09 if it isn't a partition mounted 14:14:14 Then somebody had a broken script and filled the drive with a diskhogs value of 493G 14:14:16 but a direction on a partition on the server 14:14:41 of course that would happen then 14:14:50 size of the sub tree vs size of disk 14:15:10 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 Ours only shows the top 10 14:16:10 And I think I've been off the mailing list for a few months 14:16:31 Last one I got was in December 14:16:47 The project directory disk-usage chart is less useful, since it just shows the directories, not directly whose fault it is. 14:17:55 what about using lyx on your own computer fizzie ? 14:18:26 -!- ais523 has joined. 14:19:02 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 I see 14:19:12 not even using wireless? 14:19:39 It's a separate sort of network then. 14:19:44 No direct SSH access to lab machines. 14:21:39 Indirect, though? 14:23:58 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 Isn't there a plug into the outer network 14:25:13 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 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 heh 14:25:48 Aalto Open works better outdoors 14:25:55 what is "aalto"? 14:25:55 And in the main building, too, I think 14:25:59 "Wave" 14:26:03 mhm 14:26:04 fi:aalto is en:wave, yes. 14:26:16 Also: The noun aalto has 1 sense (no senses from tagged texts) 14:26:16 1. Aalto, Alvar Aalto, Hugo Alvar Henrik Aalto -- (Finnish architect and designer of furniture (1898-1976)) 14:26:23 WordNet is so comprehensive. 14:26:25 is it a brand name of wireless access points or something? 14:26:29 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 oh dear, those names are always awful 14:27:13 Indeed 14:27:18 what is the name of then? 14:27:31 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 Better hurry! 14:27:48 fizzie, hah 14:27:49 (I hope; in a worst-case scenario they're going to call it the Wave University.) 14:28:08 Sounds like some sort of surfboarding school. 14:28:11 fizzie, that sounds, um, new age? 14:28:17 or that 14:28:46 "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 And why is our name mentioned last, anyway? 14:28:59 what would be wrong with "Helsinki University" then? 14:29:03 Tsunami University, Tidal Wave University have been some relatively popular derogatory names (in Finnish) 14:29:04 It's taken. 14:29:09 fizzie, I see. 14:29:10 AnMaster: There is a Helsinki University alraedy 14:29:15 s/ae/ea/ 14:29:25 so why separate universities? 14:29:35 Or actually it's University of Helsinki, in English. 14:30:23 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 I don't actually know if they even considered merger with the University 14:30:41 fizzie: Which reminds me, of course it should be Wave High School 14:30:45 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 IE loads mozilla.com faster than Firefox, and Firefox loads microsoft.com faster than IE 14:31:47 I have no idea what, if anything, this proves... 14:31:59 :-D 14:32:12 ais523, source? 14:32:46 AnMaster: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cd8932f3-b4be-4e0e-a73b-4a373d85146d 14:32:48 because I don't believe microsoft would release that if firefox was faster at microsoft.com... 14:32:58 hm ok 14:33:01 bbl food! 14:33:05 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 um, that table, over how many runs is it averaged 14:50:12 the details are in the PDF, I think 14:50:18 mhm 14:50:25 the whole article is about methodology for running comparative browser speed tests 14:51:32 I'm not sure those differences are actually significant... 14:52:03 neither am I 14:52:06 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 it also depends on which you tested first to a certain degree. DNS cache 14:52:15 fizzie: neither is mine, but it worked for me 14:52:21 same 14:52:26 I opened in kpdf 14:52:30 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 ais523, there is an xls file too hm 14:52:47 wonder if that is the raw data 14:52:52 wait 14:52:53 .xps, not .xls. 14:52:53 no 14:52:55 xps 14:52:55 xps? 14:52:57 what is xps 14:52:59 it's microsoft's rival to pdf 14:53:02 oh I see 14:53:03 that nobody cares about but them 14:53:29 "XML Paper Specification." Funny name. 14:53:49 fizzie, did they try to make it an ISO standard? 14:55:19 they're trying to make it an ecma standard at the moment 14:55:29 ISO won't standardise it unless it's standardised by another standards body first 14:55:36 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 although ECMA's widely believed to be controlled by Microsoft, I'm not sure whether that's true or not 14:55:58 hm ok 14:56:07 fizzie: did it work under WINE? 14:56:10 what does ECMA stand for? 14:56:39 MSNDAA requires you to run a custom downloader. :( 14:56:42 european computer manufacturer's association 14:56:51 well, it used to 14:56:52 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 but they renamed it to just ecma 14:56:58 there are european computer manufacturers? 14:57:06 when they decided to expand their own remit 14:57:08 ARM I know, but they just design processors 14:57:13 microsoft certainly aren't european 14:57:39 ais523, well duh, but what are the European computer manufacturers if any that exist? 14:58:36 AnMaster: I can't find any on Google 14:58:47 which isn't a good sign, but I'm not very good at using online search engines 14:58:55 brb 14:59:34 Fujitsu Siemens is partially German (the Siemens side, surprisingly) and they manufacture computers. 15:02:17 Granted, that's the only big-company example I can think of right now. 15:02:51 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 what do you mean, google isn't a search engine? 15:03:30 Google is a browser. 15:03:38 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 well i guess it's a bad search engine, it's a good suggestion engine maybe 15:04:20 it finds what you want to find if you're searching for something that's easy to find anyway. 15:04:41 Ecma was founded in 1961, apparently; the computar system market back then might've been a bit different. 15:04:47 also it's a browser, yes 15:06:20 "Microsoft Robotics Developer Studio 2008". They certainly crank out those tools at a rate. 15:07:02 yay 15:07:12 i will soon get the parts for my mechanical TV 15:07:25 Nipkow Disk - done; Schematic collection - done; Buying - not done :( 15:07:30 asiekierk: you're building a mechanical TV? 15:07:32 Yep 15:07:35 http://www.sptv.demon.co.uk/nbtv/ 15:07:37 based on this tutorial 15:07:39 which is easy 15:07:42 ...way too easy 15:07:46 are there any stations broadcasting in mechanical TV format? 15:08:03 also, how many pixels horizontal resolution will you get? 16? 15:08:09 32x48 15:08:12 :P 15:08:14 not bad 15:08:17 Heh 15:08:22 Some even experimented with NTSC color 15:08:28 and slightly larger res 15:08:31 like 48xsomething 15:08:37 But the NBTV standard is 32x47 15:08:38 x48* 15:08:39 :P 15:09:00 And the Nipkow disk was tested a bit of times 15:09:55 And I used paper glued on "something quite better than cardboard" 15:10:03 and made 32 holes for the image AND the hole in the middle 15:10:13 And tested it on my lamp, so I know all the holes work 15:10:56 as in, spun it manually 15:10:59 :) 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 and any manufacturer using the name "bluegreenish" would be killed by their own marketing people 15:16:29 well, why these two? They can reproduce a lot of natural colors 15:16:29 They should use something like "Apple Blue" 15:16:29 for marketing :) 15:16:29 because humans see red as more different from blue or green than they see blue from green 15:16:29 I like that idea 15:16:29 Red would be "Apple" 15:16:29 Yellow would be "Sun" 15:16:30 Orange could be, er, "Sunset" 15:16:30 anyway, most humans can see in four colour channels 15:16:30 some can only see three, colourblindness is if you can see in two or less 15:16:30 Green would be "Ecological" 15:16:30 and Purple... 15:16:53 Is it most? I thought tetrachromacy was rather rare? 15:17:07 if it's not 100%, it's most 15:17:08 "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 yes, I thought tetrachromats were rare, and only among women 15:17:14 even if it's 99.9999999999999999999999999999999999999999999999999999%, it's "most" 15:17:20 :) 15:17:25 because that's not "all" 15:17:34 Yes, but 2-3 % is not really "most". 15:17:49 Azstal: I'm thinking of red, green, blue, and white 15:17:56 three cone channels and the rod channel 15:18:08 tetrachromats can see in /five/ colour channels 15:18:34 which five 15:18:54 whichever they like, they have this nob at the back of their heads 15:18:56 well, "red, blue, green" are just common names for particular sorts of cone pigmentation 15:18:59 X, Y, Z, white, and something else 15:19:22 given that if you have four sorts of cones you can distinguish colours that can't be distinguished any other way 15:19:31 there must be colours tetrachromats can see that other people don't have a name for 15:19:33 so, uh, they have H, S, L switches in the back of their head? 15:19:37 And they can also see white? 15:19:55 yep 15:19:57 that's on the rods 15:20:06 but, rods generally don't work in the same situation as cones 15:20:25 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 in dim light, the cones don't respond, so your vision is fuzzier and only in black and white 15:20:45 in between, your vision functions as normal 15:21:14 so basically, the normal four-color people can see "in farbe" and the tetrachromats can see "in living color"? :D 15:21:35 well, to be precise there are an infinite number of colours 15:21:40 and an infinite number of possible colour channels 15:21:41 nope 15:21:48 there are "infinity-1" colors 15:22:03 with a good-quality spectrometer, you can distinguish colour channels that no human can distinguish 15:22:05 and there are "(infinity+amount_of_colors)/2" colour channels 15:22:20 asiekierk: no, aleph-one to the power of aleph-1 I believe 15:22:28 which is probably aleph-2 15:22:35 what's a leph? 15:22:47 aleph notation is one of the ways to represent infinities 15:22:56 but mathematicians aren't entirely clear on what infinities are available 15:23:08 it turns out there's more than one possible choice that leads to the maths being consistent 15:23:25 Well, how much is "infinity-(infinity-523)" 15:23:34 not-a-number, obviously 15:23:40 nope 15:23:41 it's 523 15:23:48 Heh, nice squabbling in the history there: http://en.wikipedia.org/wiki/File:Cones_SMJ2_E.svg 15:23:58 Mmmm. 15:23:58 Only if the infinities are identical 15:24:04 Infinity is infinity 15:24:08 THERE'S NO OTHER DEFINITION 15:24:13 There are many infinities. 15:24:19 An infinite amount, in fact. ;-) 15:24:31 But what infinity is the infinite amount? 15:24:56 I believe it's aleph-null? 15:24:59 epsilon-zero, I believe 15:25:05 Aww 15:25:07 I wanted to say 15:25:07 anyway, most humans can see in four colour channels some can only see three, colourblindness is if you can see in two or less <-- um? 15:25:08 "...Deewiant, do you live in the another universe?" 15:25:16 or at least, that's the name for the name for the number of infinities that can't be represented otherwise 15:25:17 now you're just making stuff up :) 15:25:18 but you said something completely logic 15:25:29 i hoped you would say "there are infinite possibilities" 15:25:31 or something 15:25:40 AnMaster: He counts the rod cells as a color channel; read on further. 15:25:41 No, that's not the case. :-) 15:25:41 oh right explained a bit below 15:25:43 AnMaster: most humans can see in three cone channels (red, green, blue), and one rod channel 15:26:12 what if someone can see in two cone channels and two rod channels 15:26:18 and the channels are orange and bluegreenish 15:26:35 as far as I know, nobody's ever found a colour-specific rod 15:26:37 which can reproduce a fair bit of colors 15:26:44 besides, rods are averaged over a large area 15:26:50 well, a quite-orange and a quite-blugreenisgh 15:26:53 blugreenish* 15:26:57 er 15:26:58 I mean 15:27:04 a quite-Sunset and a quite-Apple Blue 15:27:08 so you couldn't extract colour information from them even if they could receive it 15:28:00 Aww, that's just like using a b&w receiver for living color! 15:28:12 when you can buy a field-sequential adapter set! 15:28:47 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 there's still orange 15:29:11 er 15:29:11 i mean 15:29:12 Susnet 15:29:13 er 15:29:15 Sunset! 15:29:32 You may need to make your own sunset-rod. 15:29:42 Okay, but I need a 2cm Nipkow disk 15:29:56 and an orange filter 15:30:01 and a photocell 15:30:04 and a blue-green LED 15:30:09 Wait 15:30:11 did I say orange 15:30:13 and blue-green 15:30:17 The marketing is gonna PWN me for that! 15:31:13 oh well 15:31:49 So basically, HSL will be Appleness, Livingness and Shadiness respectively 15:31:52 ALS! 15:32:01 :) 15:32:54 Also Viagra makes you see all blue-green: http://en.wikipedia.org/wiki/Cyanopsia 15:32:57 How coincidental. 15:33:07 hm 15:33:09 YOU MEAN APPLE BLUE! 15:33:21 I'm not sure Apple wants to be associated with *that*. 15:34:07 not Apple Blue as in the company 15:34:11 But Apple Blue as in the fruit 15:34:29 Last I heard the Apple apple was white 15:34:54 I didn't think it was any particular colour 15:34:55 Maybe nowadays; it used to be rather more colorful. 15:34:56 what would be the best way to see all colours. Since the biological system doesn't work 15:35:06 wouldn't some sort of spectrometer or such work? 15:35:20 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 WELL THAT ONE DIDN'T HAVE A SPECIFIED COLOR! 15:36:03 THEY COULDN'T MAKE UP THEIR MIND OR WHAT? 15:36:08 AnMaster: prism works too 15:36:10 *shout mode off* 15:36:11 that's a primitive spectrometer 15:36:13 But Apple Blue as in the fruit <-- apples are green/red/yellow. I haven't seen any *blue* apple 15:36:27 ais523, you still need to register the photons in some way 15:36:30 it separates the physical locations of the colours, so you can see which ones are there and which ones aren't 15:36:37 ... 15:36:42 I'm talking about Green apples 15:36:48 Green Blue, Blue Green, bluegreenish 15:37:15 asiekierk, nah, they tend to be yellowgreenish around here 15:37:26 haven't seen any bluegreenish 15:37:55 ais523, well wouldn't it be rather bulky? I mean, it is far from compact 15:37:56 that's why it's Apple Blue not Apple 15:38:04 you couldn't really use it to make a vision system 15:38:14 AnMaster: well, yes 15:38:30 but put it this way, humans simply don't have a sense that handles that much information at once 15:38:33 ais523, so what about some solution that *could* make a vision system 15:38:59 ais523, what about robots? 15:39:10 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 even they only see in three colour channels, or one 15:39:18 red/blue/green is typical for a charge-coupled device 15:39:19 I heard that the brain receives about "100 bytes" per... uh... i don't remember 15:39:40 fizzie, indeed 15:39:57 asiekierk, how would you measure that... 15:40:06 i don't know 15:40:09 i just heard it somewhere 15:40:15 and about 100 bytes is not exactly 100 bytes 15:40:15 ais523, well it could be useful with more 15:40:21 well duh 15:40:22 I don't think your garden-variety killer robot really needs that many color channels. 15:40:33 I think it reffered that every while, only a small part of data is sent from the eyes to the brain 15:40:38 as in, the part you're concentrating on 15:40:47 fizzie, I was thinking about robots used in, say, scientific stuff. Like exploring Mars or whatever 15:40:57 they could definitely use it 15:41:29 fizzie, iirc the mars rovers do have some forms of spectrometers 15:41:39 maybe not visible light 15:41:42 don't remember 15:42:53 btw, did you know common digital cameras can "see" a bit of infrared 15:43:03 just try it in front of a remote control 15:44:02 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 AnMaster: I wouldn't be surprised, but there are a huge number of possible shades of infrared 15:44:45 it's a much broader range than visible 15:44:55 and I'd only expect very near infrared to be visible 15:45:22 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 why is lament still opped? :P 15:45:40 The wp page is not being very specific about the cameras. 15:46:23 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 hmm... it seems the BBC got control of a botnet 15:47:03 and used it to spam themself, and DDOS a company they had a prior arrangement with 15:47:25 then they changed the desktop background of all the infected computers and removed the botnet software using the botnet itself 15:47:36 ais523, mhm 15:47:38 wait, THAT BBC? 15:47:39 possibly 15:47:47 as in the UK TV company 15:47:52 z...zomg 15:48:00 why not, it gave them something to show programs around 15:48:01 *about 15:48:15 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 ais523, link. or it didn't happen? 15:48:37 http://news.bbc.co.uk/1/hi/programmes/click_online/7884387.stm 15:48:51 is the link that the infected computers were redirected to (via an URL shortener) 15:48:57 http://news.bbc.co.uk/1/hi/programmes/click_online/7932816.stm 15:48:59 is the article about it 15:49:15 wth 15:49:21 it wanted to set lots of cookies 15:49:32 I got 58 messages from firefox asking about cookies 15:49:33 the BBC's website is handwritten in Perl 15:49:38 no way I'm clicking on that again 15:49:48 ais523, ^ 15:50:03 That sounds like a rather legalistically vague thing to do. 15:50:15 that's what I thought 15:50:18 anyway, I'm looking at the cookies now 15:50:36 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 I only got three cookies 15:50:44 "The law", as if there's a single law in there. 15:51:07 one of them is massively long, though 15:51:16 it appears to be a long hash in hex, followed by my useragent but URL-encoded 15:51:29 huh 15:51:48 fizzie: I suspect the BBC are unlikely to worry about any laws but UK law in what they did 15:52:00 and investigative journalists do all sorts of weird quasi-legal things 15:52:09 on the basis that they're hardly ever prosecuted for them 15:52:52 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 there's a show on the UK where they steal stuff from people, then give it back 15:53:34 I'm surprised they haven't got in trouble for that yet 15:54:54 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 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 themselves from auto startup and then quit 15:55:55 so there are cases where you need to "quasi legal" things I guess 15:56:03 "kill all the scriptkiddies controlling it" <<< this is probably illegal even without a criminal intent 15:56:04 though the BBC one was worse 15:56:10 oklopol, /kill on irc.. 15:56:15 learn what it is 15:56:19 -_- 15:56:36 :D 15:56:43 you're awesome 15:56:43 well actually I used /kline iirc 15:56:49 i know you did 15:56:53 anyway it was a few years ago 15:57:24 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 fizzie: actually, they're trusting the Crown Prosecution Service not to prosecute 15:57:50 fizzie, indeed 15:58:03 ais523: Isn't that sort of part of "sensible behaviour from the legal system"? 15:58:19 the CPS aren't really part of the legal system 15:58:21 Amazingly, it took only 60 machines to overload the site's bandwidth. <-- interesting 15:58:23 it's a bit confusing 15:58:27 wonder how fast connections they had 15:58:33 they're more involved with the police, but they aren't part of those either 15:58:51 I assume it would've been BBC paying for any costs if their code had a horrible, hard-disk-eating bug. 15:58:59 that's my guess too 15:59:15 well 15:59:21 AnMaster: your removal, wouldn't that leave the botnet software there just inactive? 15:59:22 it wouldn't take many ADSL connections 15:59:29 I have 1 mbps up 15:59:33 anyway, changing the desktop background is probably cleverer than popping up a message box 15:59:39 so 100 of them would hit a 100 mbps 15:59:41 because people ignore messages boxes on Windows nowadays 15:59:48 ais523, well I wouldn't know how to change the background 16:00:02 ais523: Especially if it's a message box which says "Your Computer May Be At Risk!" 16:00:17 ais523, also it was impossible to fully uninstall it from itself. There seemed to be no general "execute command" 16:00:20 or such 16:00:22 fizzie: haha 16:00:35 anyway most ran windows 98 16:00:37 -_- 16:00:51 and most were South America, which is strange too 16:00:55 or was 16:01:17 were from* 16:01:31 14:19 ais523: there must be colours tetrachromats can see that other people don't have a name for 16:01:33 hot 16:01:40 I wanna get another cone implanted :P 16:01:54 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 10:54 AnMaster: jitfunge was in C++ right? 16:01:57 10:55 fizzie: It's like you read my mind here. 16:01:59 xD 16:02:01 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 ew 16:02:06 ehird, you are dealing with lag 16:02:08 duh 16:02:16 -!- MigoMipo has joined. 16:02:17 no, I'm logreading 16:02:18 heard of it? 16:02:37 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 ehird, yes but here the C++ line was before fizzie's line 16:02:46 doesn't stop it being funny, AnMaster. 16:02:50 ehird, yes it does 16:03:01 The word "engineered" there is funney. 16:03:03 anyway. I still don't see how 60 machines could overload the *bandwidth* of the server. Assuming normal home connections. 16:03:06 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 Let's engineer some mice! 16:03:32 14:56 AnMaster: oklopol, /kill on irc.. 16:03:32 14:56 AnMaster: learn what it is 16:03:33 14:56 AnMaster: -_- 16:03:35 fail :D 16:03:38 (for AnMaster, that is) 16:03:42 ehird, it is just "lag induced humor" is old 16:03:46 fun the first time 16:03:49 fun the tenth time 16:03:52 but not the 100th time 16:03:55 blah blah blah, it was funny, so just shut up 16:04:07 ehird, jokes get old 16:04:38 you're just bitter because you're the target of it 16:05:06 I think the technical term here is "butt". 16:05:30 He's acting more like I just shot him. 16:06:38 Where does the "butt of the joke" thing even come from? Some ur-joke involving butts? 16:07:01 http://www.sptv.demon.co.uk/nbtv/ <-- is there a pic of this in operationamation 16:07:45 Oh, it's also: "A mark to be shot at; a target.". Maybe it's just that. How boring. 16:08:23 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 XDD 16:09:30 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 that's a good analogy, I wonder if the reporter would be doing something illegal than? 16:10:24 ehird: There's pictures of NBTV working in their forums. 16:10:35 Also, you should be able to find some video on Youtube. 16:10:37 I see no forums 16:12:18 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 wut are we talking about 16:15:10 ehird: the BBC grabbing control of a botnet 16:15:24 :DDDd 16:15:25 how? 16:15:53 buying it from some criminals, AFAICT 16:16:15 Oh, they just bought it. Well, that's a bit different. 16:16:23 psht 16:16:24 they didn't actually say 16:16:25 that's boring 16:16:29 I hoped they would exploit it 16:16:31 still 16:16:31 they said they hung around in shady IRC channels 16:16:34 taht's pretty awesome for the BBC 16:16:36 and got it that way 16:16:41 but not the details 16:16:46 presumably they didn't want anyone to copy them 16:16:46 like this channel? 16:16:57 ehird, probably not. 16:17:02 I don't know what would happen if someone tried to buy a botnet here 16:17:05 that was a joke. 16:17:18 By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx. 16:17:19 Click then ordered its slave PCs to bombard its target site with requests for access to make it inaccessible. 16:17:22 ermmmm 16:17:22 ehird, also why ask what we are talking about, just read scrollback. Like you said so many times 16:17:26 hypocrite 16:17:26 why are the BBC admitting to htat 16:17:29 I could sell them a fungot-net. 16:17:29 fizzie: is there a way to 16:17:37 fungot: For that, I would *make* a way to. 16:17:37 fizzie: ( but which knows the base path of the file 16:17:44 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 your accusations of hypocrisy would be more convincing were they ever right 16:18:05 ehird, you have been annoyed by both 16:18:09 so false 16:18:18 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 umm, sure, I'll just take your word for it. except I haven't. 16:18:23 ehird, also if you read the article 16:18:25 "By prior agreement, Click launched a Distributed Denial of Service (DDoS) attack on a backup site owned by security company Prevx. " 16:18:31 that doesn't sound "bad to admit" 16:18:41 dude I fucking pasted that from the article 16:18:52 -!- BeholdMyGlory has joined. 16:18:59 and of course that'd bad to admit? 16:19:04 the bbc are admitting they ddosed a security company 16:19:19 ehird: but the security company said they could 16:19:22 oh 16:19:22 ehird, "prior arrangement", that means "go ahead" 16:19:24 duh 16:19:26 did you misread the bit that AnMaster pasted? 16:19:28 read the article 16:19:28 i thought they meant prior agreement with the people they got it from 16:19:32 ais523: no, _I_ posted that 16:19:37 well, he repasted it 16:19:45 yes, and tells me to read the article 16:19:46 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 ehird, " dude I fucking pasted that from the article" <-- But I asked about "read" 16:19:48 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 not "paste" 16:19:50 you pasted more than one bit, so talking about the bit he repasted it specified it better 16:19:51 15:17 ehird: ermmmm 16:19:53 apparently he's blind 16:19:54 which seems to be different in your case 16:20:14 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 ehird, talking about yourself in third person? 16:20:31 ehird, since you didn't see "By prior agreement" 16:20:39 yes, I did, I misunderstood it, jackas 16:20:40 s 16:20:56 brb food 16:23:03 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 it's easy enough to prove 16:23:30 oh, I know 16:23:33 after all, I have a program doing it 16:23:34 but I'm wondering about how to see it in an intuitive sense 16:23:37 I just don't know -why- 16:23:40 sierpinski is everywhere.. 16:23:51 perfectly straight line in GoL, in this trivial formula... 16:23:56 (IN THE SIERPINSKI TRIANGLE <-- hur hur) 16:24:45 ais523: Mathematically, it's quite odd... 16:24:50 I mean, bitwise and is an odd operation. 16:24:58 You're choosing an arbitrary base, then operating on the individual digits. 16:25:04 Which isn't very senseful, IMO. 16:25:12 So I don't know why that would lead to Sierpinski... 16:25:21 well, bitwise operations tend to create similar patters to the sierpinski triangle 16:25:30 think of the fractal structure 16:25:48 that's the same as binary, it doubles each digit 16:25:53 hmm 16:25:55 interesting 16:25:59 back 16:26:15 ais523: I wonder if it works for N dimensions? 16:26:19 can you get a 3d sierpinski with x&y&z? 16:26:25 I think so 16:26:49 that's great 16:26:52 what a lovely coincidence 16:27:02 cool 16:27:04 um 16:27:06 not really a coincidence 16:27:09 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 16:27:16 ehird, how many recursions is it at? 16:27:23 AnMaster: what 16:27:23 it depends on what you mean by 3d sierpinsky 16:27:29 ehird, or iterations rather 16:27:31 ais523: not a coincidence, but, not intended 16:27:33 AnMaster: it's not iterations 16:27:35 wrong word first time 16:27:44 it's just 16:27:45 *sierpinski 16:27:52 if x & y == 0, then (x,y) is in the sierpinski triangle 16:27:56 in = place a * 16:27:59 not in = place nothing 16:28:23 AnMaster: http://codepad.org/lQGGDWNZ 16:28:27 ehird, lets say you have an 8x8 gird. then the (x&y) == 0 -> black? 16:28:35 -> white. 16:28:39 where black = background. 16:28:40 ok right 16:28:42 see my codepad link 16:28:54 what if you do it at a 512x512 gird? 16:28:59 newsham made it centered, I've made it the right way up, I'm going to combine them 16:29:01 AnMaster: THE SAME DAMMIT 16:29:15 ehird, so it is scaled or jut a section of it? 16:29:21 both. 16:29:27 ah yes the output 16:29:29 it helps if you give it powers of two 16:29:42 otherwise you get odd behaviour 16:29:57 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 AnMaster: it's infinite 16:30:07 you don't seem to understand 16:30:08 right 16:30:48 hm 16:31:04 codepad.org/Y1PV2gVc <- newsham's centered one, now I'll combine this with my downwards one 16:34:45 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 Well, yes. 16:35:07 Isn't that what "in" means for fractals? 16:35:25 yes, given that many fractals are infinitely thin you have to count the edges 16:35:54 Hmm, centering is non-trivial: 16:36:00 * 16:36:00 ** 16:36:02 * * 16:36:04 **** 16:36:06 Because of the odd-ness. 16:36:09 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 Can I have some of your drugs? 16:36:50 ehird, hah. 16:36:54 well, the mandlebrot isn't infinitely thin 16:37:03 So's your penis 16:37:05 ais523, my point 16:37:05 but on the other hand, it has an obvious protocol for inside/outside 16:37:09 http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2336#a2336 Sierpinski version 2. 16:37:17 Awesome code, awesome fractal. 16:37:18 you can tell if a point's in it or not just by doing the calculation 16:37:18 ais523, exactly what I meant! 16:37:23 Right way around, and aligned center. 16:37:55 whereas something like sierpinski the edges are obviously part of it, because if they weren't nothing would be 16:37:55 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 AnMaster: are you not reading what I wrote? 16:38:08 ais523, my point exactly. 16:38:12 ais523, yes I am 16:38:14 it sounds like you think I disagree with you 16:38:19 that's the problem with the mandelbrot set, it's mostly a huge black hole :-D 16:38:24 multiple ones even 16:38:29 all the interesting stuff is on the outskirts 16:38:49 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)). 16:38:51 yes, and there are even more of it there 16:39:13 on the other hand, the sierpinski triangle is easier to "intuitively" understand how it is generated 16:40:00 cantor dust is easier, I independently invented cantor dust 16:40:03 err 16:40:05 cantor set 16:40:17 ehird, how did "set" end up as "dust" 16:40:18 cantor set's like a 1D sierpinsky 16:40:26 *sierpinski 16:40:26 AnMaster: cantor dust = multi-dimensional cantor set 16:40:27 * Slereah sprinkles some Cantor dust on ehird 16:40:28 ais523: yeah 16:40:31 ah right 16:40:33 problem is, the cantor set is ... really boring 16:40:36 :D 16:40:41 and yes it is easy to understand 16:42:29 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 I resent the Mandelbrot fractal a bit though 16:43:07 oh? 16:43:09 It makes people forget about the old fractals 16:43:17 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 uh...? 16:43:21 well, mandelbrot is probably the prettiest, Slereah 16:43:21 Like the Weierstrauss function or the Peano filling curve 16:43:34 ehird, what about the Julia set? That can be quite pretty 16:43:36 fizzie: but in the final s 16:43:38 -- 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 Most people seem to assume that it's the oldest 16:43:41 AnMaster: Julia set is basically a warped mandelbrot :P 16:43:47 ehird, well true 16:44:21 http://en.wikipedia.org/wiki/File:725_Julia_sets.png 16:44:24 remind you of anything 16:44:28 Er, by N-1 there I mean N/2, of course. 16:44:33 Julia's related to Mandelbrot 16:44:37 yes 16:44:40 you can make nice coloured versions of mandelbrot too 16:44:42 there's a Julia set for each point in Mandelbrot 16:45:20 coloured sierpinski? 16:45:24 probably boring 16:45:52 it is 16:45:54 i've seen it 16:45:57 oh? 16:46:03 yeah 16:46:13 and yes http://en.wikipedia.org/wiki/File:725_Julia_sets.png definitely looks familiar 16:46:29 why I believe it is some Julia sets! ;) 16:46:32 ~ 16:46:33 AnMaster: 16:46:34 http://upload.wikimedia.org/wikipedia/commons/0/02/Sierpinski_triangle_%28RGB%29.jpg 16:46:36 coloured sierpinski 16:46:46 ehird, coloured according to what rules 16:47:05 Top triangle is tinted red, bottom-left green, bottom-right blue. 16:47:05 that seems to be just one corner R, one corner G, one B and them colour mixing 16:47:08 Repeat recursively, of course. 16:47:11 ok 16:47:29 ehird, boring. If I want to watch that I'll open the pallet in gimp or something ;) 16:47:30 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 I wonder if there's a pretty fractal without great big holes. 16:49:03 The sierpinski-square-based pyramid looks nifty, though: http://en.wikipedia.org/wiki/File:Sierpinski_pyramid.png 16:49:11 Maybe not very constructable-out-of-legos. 16:49:16 it occurs to me that the and-sierpinski is more efficient than most algorithms for it (maybe all) 16:49:18 there's no recursion or anythin 16:49:19 g 16:49:26 just O(size) or something 16:49:36 -!- BeholdMyGlory has joined. 16:49:38 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 hmm 16:49:58 http://en.wikipedia.org/wiki/File:725_Julia_sets.png is very... Xzibit. 16:50:07 If you know what I mean. 16:50:10 ehird, "Xzibit"? 16:50:12 no I don't 16:50:16 Yo dawg. 16:50:24 ...? 16:50:29 I've told you this 10 times. 16:50:42 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 ehird, sure you told me? It doesn't even sound slightly familiar 16:51:17 I don't think you told me unless you can prove it in logs 16:51:25 Very well, I shall grep. 16:51:44 I think you said "Yo dawg." before though 16:51:50 but not "Xzibit" 16:52:05 16:08 ehird: To Xzibit's body. 16:52:05 16:08 AnMaster: huh? 16:52:06 16:08 ehird: Xzibit is the origin of the yo dawg meme. 16:52:06 ehird, of course, I could be wrong 16:52:09 2009-03-05. 16:52:12 hm 16:52:14 and this is just from late February, when I upgraded. 16:52:17 In fact, later than that. 16:52:24 I used Linkinius at first. 16:52:30 So this is just from when Linkinius expired. 16:52:33 ehird, mhm. 16:55:14 I don't think I've ever had a shareware program expire on me 16:55:30 nor an unactivated for-pay Microsoft program, I generally activate them ASAP 16:55:34 over the telephone! 16:55:53 the GPL EULA thing would have expired by now, but I just edited out the licence check 16:56:03 http://en.wikipedia.org/wiki/File:Buddhabrot.jpg <-- now that looks cool. Just a way to render Mandelbrot but still.. 16:56:34 I've never had an unactivated for-pay Microsoft program expire on me because I don't use them 16:56:35 AnMaster: yes 16:56:37 I like the burning ship fracta 16:56:38 l 16:56:48 http://en.wikipedia.org/wiki/File:Burning_Ship_Fractal_Zoom.png 16:56:50 I haven't seen that one *googles* 16:56:50 oh 16:56:52 there was a more ghostly image somewhere on WP 16:56:56 can't find it 16:57:00 for once I'm prepared to google and you link it 16:57:00 ehird: I used to use other people's Windows computer before I got Linux 16:57:02 :P ~ 16:57:10 I actually used to be a Windows power user, but am a bit rusty nowadays 16:57:19 and just being good at Windows doesn't make Windows any better to use... 16:57:21 AnMaster: well, it was obscure enough to warrant it 16:57:40 ais523: I used windows from 1998-2006; it was pretty rough all the way through. 16:57:49 ehird, that look like "Eifel Tower as seen by " 16:57:56 ... 16:57:57 don't remember name right now.. 16:57:58 Salvador Dali. 16:58:02 ah yes 16:58:04 that's right 16:58:12 come on, I'm art illiterate and even I know that :-P 16:58:21 ehird, I didn't remember how to sell it 16:58:23 spell* 16:58:36 selling Salvador Dali paintings is probably very easy. 16:58:40 hah 16:58:52 so predictable that joke :P 17:01:05 ehird, http://en.wikipedia.org/wiki/File:Nebulabrot.jpg 17:01:15 Nice. 17:01:44 ehird, apparently it is http://en.wikipedia.org/wiki/File:Buddhabrot.jpg but different colour set 17:05:53 ehird, btw I remember seeing mandelbrot in vim 17:05:58 don't remember url 17:06:24 this is quite interesting. (compared to if it was emacs, then it would probably be built in ;) 17:07:57 AnMaster: I showed you that. 17:08:03 When talking about TECO. 17:08:11 http://www.spacetimetravel.org/tuebingen/tuebingen.html <-- anyone know the program that let you do this on arbitrary 3d shit? 17:08:14 I used it onc 17:08:14 e 17:08:15 ehird, oh ok. When was this? Must have been at least half a year ago 17:08:15 it was fun 17:08:22 AnMaster: No, it was yesterday or the day before. 17:08:32 ehird, err I have known of such a program for ages in vm 17:08:33 vim* 17:08:38 2009-03-10_Freenode.txt:19:27 ehird: http://www.df.lth.se/~lft/vim/mandelbrot 17:08:50 Your reply: 17:08:51 19:28 AnMaster: .se... oh my 17:09:06 ehird, yes, I didn't remember seeing it on .se 17:09:18 Emacs doesn't have mandlebrot built in 17:09:23 ehird, but I have seen mandelbrot in vim before 17:09:25 but there are lots of implementations on the Internet 17:09:27 *mandelbrot 17:09:29 I even ran it 17:09:42 sshed to a box with vim and tried 17:09:56 AnMaster: you don't have vim on your own computer? 17:10:09 ais523, no. As I said many times before 17:10:21 not everyone has emacs, not everyone has Gnome. Not everyone has KDE 17:10:24 do you have vi? If not, your machine isn't POSIX or UNIX compliant. Congratulations on your zealotry. 17:10:36 ehird, I do have a minimal vi yes 17:10:41 all POSIX computers have a vi implementation, but at least on Ubuntu it's a minimal implementation not vim 17:10:51 God, that mandelbrot vi program is slow. 17:10:55 Manual-synced NBTV parts: still waiting 17:10:58 la la 17:10:59 $ busybox vi 17:11:00 Like slow slow. 17:11:00 LA LA 17:11:01 la la 17:11:04 fuck off 17:11:06 I have an even more minimal vi on my computer 17:11:06 asiekierka: 17:11:17 ...THAT'S WHAT [EHIRD] SAID! 17:11:20 (before anyone says that was harsh, asiekierka's "la"s go on for 30m) 17:11:24 Options: 17:11:25 -cInitial command to run ($EXINIT also available) 17:11:27 -RRead-only - do not write to the file 17:11:28 -HShort help regarding available features 17:11:38 (la la, LA LA, la la, I am not listening) 17:11:40 oh god, that towers of hanoi game 17:11:43 is actually 17:11:44 playable 17:11:44 ais523, I took my vi from http://ex-vi.sourceforge.net/ I think 17:11:45 by the user 17:11:47 I never use it 17:11:47 I am not joking 17:11:56 its not an AI 17:11:58 that's just cool 17:12:15 well. 17:12:17 whereas vim.tiny gives me loads of options 17:12:19 just typing zzzzzzzzzzzzzzzzzzzzzzzzzzzzz wins. 17:12:24 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 ehird, anyway vi isn't required by POSIX in fact. Since shell or other standard tools are actually optional 17:13:12 to make it possible to support POSIX on embedded systems 17:13:24 it's certainly required for UNIX 17:13:27 there is a special "embedded profile" or something, forgot the name 17:13:28 AnMaster: it's required by workstation POSIX I think 17:13:30 and if you have a shell I believe you must have vi 17:13:34 ehird, yes but POSIX != UNIX 17:13:38 ais523, true 17:13:52 just pointing out that ehird was factually incorrect 17:13:56 wow, in busybox vi 17:13:57 so anyone know about that speed of light thing 17:14:01 ais523, ? 17:14:03 typing ? then newline makes it segfault 17:14:08 um 17:14:17 that's a bug, I should see if it's still in the most recent version 17:14:27 ais523, says "pattern not found" here 17:14:33 AnMaster: using busybox 17:14:35 ? 17:14:36 ais523, yes 17:14:44 anyone want to help me with prolog? 17:14:47 no 17:14:59 BusyBox v1.10.2 (Ubuntu 1:1.10.2-1ubuntu7) multi-call binary 17:15:01 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 comex: I'll help if you like 17:15:08 wow, my busybox is old 17:15:29 Nobody know? 17:15:38 ais523: http://pastie.org/414276 17:15:53 I can load that, but if I then type valid(X), I don't get any results 17:16:00 aha 17:16:01 http://www.adamauton.com/warp/ 17:16:02 whereas I expect amo, amas 17:16:10 did you run first_conj? 17:16:12 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 ah, you didn't 17:16:27 that program doesn't run first_conj 17:16:34 it /defines/ firstconj(am) as a fact 17:16:41 you need :- first_conj(am). to run it 17:18:06 in which prolog is a language and not first-order logic :u 17:18:27 anyway *uninstalls ex-vi* *links /bin/vi to /bin/busybox 17:18:28 comex: it would work fine if you were using backward chaining 17:18:31 -!- BeholdMyGlory_ has joined. 17:18:32 which is? 17:18:34 a few saved bytes 17:18:35 :) 17:18:40 comex: not using assert 17:18:44 and instead doing the conjugation at runtime 17:18:46 ais523: I don't want to use assert 17:18:48 how do I avoid it 17:18:54 what exactly are you trying to do? 17:19:03 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 that's because valid should be defined to calculate if a word is valid 17:19:26 I want to make a big list of valid words 17:19:29 by building up endings 17:19:41 as in valid (Word) :- root(R), ending(E), atom_concat(R,E,Word) 17:19:47 and root listing valid roots, and ending listing valid endings 17:19:57 do I have to go backwards? 17:19:57 oh, I forgot the full stop on my example, but you can add it 17:20:13 comex: it's called backward chaining in that it doesn't calculate the list unless you ask for it 17:20:34 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 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 but the tutorials use something like 17:21:09 man(socrates). man(plato). 17:21:15 then you can ask who is a man. 17:21:19 yes 17:21:23 that's what's happening here 17:21:27 in my example 17:21:32 the full program would be 17:21:35 no, in that example I have to define all possible roots in one big thing 17:21:50 I don't think you "get" prolog. 17:21:55 ehird: I don't. 17:22:02 ending(o). ending(as). root(am). valid(Word) :- root(R), ending(E), atom_concat(R,E,Word). 17:22:05 You don't write procedures that template facts; prolog has that built in. 17:22:07 It's called foo :- bar. 17:22:09 That's your template. 17:22:34 ais523: except what if I want to say 17:22:46 that's valid, and valid(foo), and valid(bar) 17:22:52 and I don't want to stick it in one big expression 17:22:56 comex: do 17:22:57 valid(foo). 17:23:00 that isn't stuck in one big expression 17:23:01 it's only template if you have :_ 17:23:03 :- 17:23:04 you can doo 17:23:11 valid(foo). valid(bar). valid(Word) :- ... 17:23:18 really? 17:23:21 yep 17:23:23 ... yes ... 17:23:24 well, that makes more sense 17:23:27 it's like haskell pattern matching, comex 17:23:32 each definition you give is an alternative definition 17:23:35 you can define it multiple times, except it's one 17:23:38 and it tries them all 17:24:11 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 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 http://www.drmaciver.com/2009/02/spam/ 17:26:49 ais523: http://pastie.org/414288 17:26:53 that works, but it seems very verbose 17:26:59 ~ 17:26:59 ~ 17:27:00 I have to say first_conj twice etc 17:27:00 ~ 17:27:02 ~ 17:27:04 fail 17:27:16 comex: "very verbose"? 17:27:20 The planets we live on; they differ. 17:27:25 http://sovietrussia.org/code/src/1182815183936.png 17:27:27 :D 17:27:31 that's typical Prolog 17:27:33 Slereah: old. 17:27:42 You hurt my feelings 17:28:02 if you want to make it shorter, you can do s1(X) :- member(X,[s,t,mus,tis,nt]). 17:28:09 but that's just a slightly shorter abbreviation 17:28:16 writing it out in full is idiomatic 17:28:22 he's talking about the valid() 17:28:23 part 17:28:45 there's nothing wrong with that, apart from Prolog's traditional lack of nested expressiosn 17:28:47 *expressions 17:28:49 is is a hack, really 17:29:06 Slereah: FWIW, if you want to be more current, I would focus on "GRUNNUR". 17:29:20 is there a way for me to "split" the goal into two, so I would just say first_conj once? 17:29:49 yes, but that would also be unidiomatic 17:29:52 fair enough 17:29:55 you can use ; to combine common parts of two goals 17:29:55 (but what is it :p) 17:30:20 sheesh, comex just wants to write his perfect language in every language 17:30:33 ehird: not really, I just want to generate a list of valid latin words with minimal typing 17:30:43 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 you're typing an awful lot of complaining about the AWFUL VERBOSITY into #esoteric 17:30:54 ehird: thought prolog might be a good way to do it 17:30:57 sometimes you repeat a few characters when coding! 17:30:59 how crazy 17:31:00 it is a good way 17:31:11 just deal with the verbosity, it's _one_ _line_ 17:31:19 not even a full line 17:31:20 a tiny line 17:31:25 comex: typical indentation style with that ; would be to line up the ; vertically underneath the opening bracket of the (;) group 17:31:27 ais523, Hm. Erlang looks like Prolog, but prolog doesn't look like Erlang. 17:31:30 ais523's version is way unreadable 17:31:31 that is my conclusion 17:31:48 ehird: if you run it through gprolog's pretty-printer, it's relatively readable, but the idiomatic version is better 17:32:22 there is actually a slight semantic difference between the version with ; and without 17:32:37 ais523: what? 17:32:38 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 <3 non-functionally-pure languages 17:33:14 ; 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 but ; is nice because you don't want to go around defining lots of junk predicates for no reason 17:33:37 in fact, most of Prolog is syntactic sugar 17:33:41 right 17:33:45 but you should use the idomatic one 17:33:48 in this case 17:33:48 really 17:33:50 in this case, yes 17:33:55 ; is mostly useful only in really big predicates 17:34:09 or if you really really need to avoid duplication for some reason 17:34:22 first_conj(Root), 17:34:26 that's the entirety of the duplication 17:34:27 think about that 17:34:31 in C< that would be 17:34:31 ais523, like golfing? 17:34:35 first_conj(root); or whatever 17:34:37 he's saying 17:34:41 AnMaster: no, like if something had side effects 17:34:41 that refactoring into a procedure 17:34:42 and then calling it 17:34:45 ah 17:34:46 makes the multiple calls REPETITION 17:34:49 that's _ridiculous_ 17:34:50 you definitely don't want to call fork() too many times, for instance 17:35:05 and fork_prolog(Pid) is in gprolog's standard library 17:35:24 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 at least, not in both resulting threads 17:35:31 *processes 17:52:28 forking, prolog, heheh 17:52:39 what's so weird about that? 17:52:46 it's much the same as forking in any other language 18:01:37 if you come onto an IRC network and find that services are down 18:01:47 is it usual to write your own copy of ChanServ to guard a channel for you? 18:02:11 http://pastie.org/414328 18:02:12 yay 18:02:34 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 Richard M. "Orwell" Stallman: 18:34:34 The Adobe flash plug-in is non-free software, and people should not 18:34:34 install it, or suggest installing it, or even tell people it exists. 18:34:34 That Firefox offers to install it is a very bad thing. 18:35:09 Does any of this explain his giant disgusting beard 18:35:48 ehird: Stallman doesn't 'get' free software 18:35:49 The beard is a byproduct of his bullshit-producer (mouth) 18:35:54 just look at the original licence to his Emacs manual 18:36:09 just as with proprietary software, he was trying to put on unremovable restrictions 18:36:18 luckily, the GPL stops him just as much as it stops everyone else... 18:36:19 ais523: you mean refusing to tell people non-free software exists won't solve the problem of non-free software?! shit! 18:36:34 yep 18:36:42 If we ignore them, maybe they'll disappear! 18:36:43 and refusing to port Emacs to Windows won't stop people porting it to Windows 18:37:03 Bruce Perens has much the right idea, I think, he wrote the DFSG 18:37:08 or at least was very influential behind it 18:37:11 ais523, can you ping 208.78.103.223? 18:37:18 why do you want me to try? 18:37:28 because I can't; it's my slice 18:37:50 ehird: yes, I can 18:38:00 64 bytes from 208.78.103.223: icmp_seq=1 ttl=45 time=120 ms 18:38:02 64 bytes from 208.78.103.223: icmp_seq=2 ttl=45 time=119 ms 18:38:11 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 64 bytes from 208.78.103.223: icmp_seq=1 ttl=56 time=0.000 ms :D 18:38:49 ehird: sshd is running over there 18:38:51 0ms? you lucky bugger, how fast is that connection! :P 18:38:54 although pretty obviously I can't log in 18:39:02 ais523: good. I cannot connect via SSH or IRC. 18:39:07 Thus the ___ 18:39:16 three underscores? that's quite a lot 18:39:42 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 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 A strong endorsement. 18:46:08 Having recipes for non-free programs in the ports system is more like 18:46:08 including present-day neofascist web sites in the list of "interesting 18:46:08 links" in your web site. I am against censorship, so I do not believe 18:46:08 in closing down those neofascist web sites. But I won't refer people 18:46:08 to them. 18:46:13 ^ gahahahahahaha 18:46:42 ok, change of plans, i'm not getting a miniature toy fan and modifying it 18:46:45 i'm getting a motor 18:46:54 but tommorow, sadly 18:58:20 Huh, I've never written a Mandelbrot set viewer; just realised. 18:58:28 Well I've tried, but the algorithm never was right. 18:59:35 I've written one 18:59:44 although it breaks down if you zoom too far due to FP rounding errors 19:00:07 Haskell has a library for infinite precision floating point I think 19:00:35 you can't get infinite precision generalised floating point 19:00:40 you can get infinite precision rationals 19:00:50 and arbitrarily high precision floating point, that's what a bigfloat is 19:00:53 hcouldn't you find a base that can represent a number precisely in finit edigits, for any number? 19:02:09 ehird: pi? 19:02:12 root 2? 19:02:28 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 good point 19:03:00 but i mean, things like, oh what it is 19:03:05 0.2 is 0.199999999999 or something 19:03:10 * ais523 catches ehird in a butterfly net -----\XXXXX/ 19:03:15 I was focusing on those errors 19:03:32 oh, those can be fixed using bigrationals 19:04:34 but do bigfloats automatically change their precision? 19:04:41 http://hackage.haskell.org/packages/archive/numbers/latest/doc/html/Data-Number-BigFloat.html doesn't 19:04:56 wonder if there's gmp bindings 19:08:57 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 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 ehird___: the joy of a good stdlib 19:31:23 it would probably be just one extra wrapper function in mathematica 19:31:26 ais523: actually, it's from Hackage, but it was just a one-liner to install it 19:31:31 whose only redeeming feature is a good stdlib 19:31:34 but it's amazing what good-factored code gets you 19:31:38 yes 19:38:12 oi 19:38:25 ve avoi 19:39:44 im glad to see my comments on the sierpinski gasket generated such lengthy discussion 19:39:56 any solutions to the problem of why its so ubiquitous? 19:41:07 perhaps God is a gigantic sierpinski triangle. 19:41:15 Perhaps! :O 19:41:57 HUZZAH 19:43:03 I got into University of Maryland :D 19:44:33 -!- neldoreth has joined. 19:45:49 tony morris found by police; unharmed 19:47:02 ok, that's useful, I hope he stays alive 19:47:22 wb neldoreth 19:47:31 he had lots of time to kill himself had he wanted to. 19:47:41 of course 19:47:56 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 thanks and hello all 19:49:07 oh, hi 19:50:12 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 anyway, let's move onto less morbid things 19:50:30 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 also, yes, I know that... I'm not thick. 19:51:01 ehird___: what particular is wrong with that? 19:51:43 ais523 -- http://www.nopaste.com/p/abzexHoIj 19:53:06 ehird: what's y? 19:53:19 | y <- [h-1,h-2..0] ] 19:53:30 i.e., from h-1 to 0, downwards 19:53:58 so it ends up as (h-0)... hmm... ah, wait... 19:54:00 that algorithm shouldn't be producing the results you pasted 19:54:18 in particular, it would lead to only half a space on line 1 19:54:29 integer division :P 19:54:57 but you have loads of spaces on line 1 19:55:04 rather than none 19:55:31 except; the extra spaces come fromL 19:55:37 [ x .&. y == 0 | x <- [w-1,w-2..0] ] 19:55:43 which is catenated to the blanks 19:55:53 oh, I'm too tired to think about this atm 19:56:04 I'm seriously sleep-deprived after a couple of intensive modules 19:56:12 http://codepad.org/Y1PV2gVc the original version, which works without flipping 20:00:54 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 hm 20:03:39 google for "pi" and the calculator gives you: pi = 3.14159265 20:03:41 ... 20:03:47 = ? 20:05:09 it should be ≈ 20:05:23 Mathematics: it's not like it's an exact science. 20:05:40 about tony morris 20:05:48 its true, he'd been dead long before the message was sent 20:06:00 -!- kar8nga has joined. 20:06:03 cause he'd probably code a chat bot to send the message for him 20:06:24 speaking of idiots attempting suicide, where'd they find him? 20:06:38 -!- ehird____ has joined. 20:06:46 it WAS scripted -- multiple emails and IRC channels at once 20:06:50 oh was it? 20:06:53 haha. nerd. :D 20:07:04 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 also, he's not an idiot, he had chronic pain due to an ankle injury for 2 years 20:07:12 fizzie, right? 20:07:15 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 you try having excruciating pain 24/7 for 2 years 20:07:49 how long have i been coming here talking to you? 20:07:55 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 also, har har har 20:08:11 jesus that would've been a mistake 20:08:11 P 20:08:15 :P 20:08:27 ...and, why? He can't exactly use the ankle. 20:08:27 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 ehird____, what's up with your nick btw? 20:08:31 amputating a leg that's had chronic pain for an extended period of time often leads of phantom limb syndrome 20:08:48 in which the pain remains, but the limb can no longer be anaesthetized, etc. 20:08:53 psygnisfive: yikes. 20:08:55 yeah. 20:08:58 yikes indeed. 20:09:03 AnMaster: router troubles, connected via telnet 20:09:14 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 right? 20:09:36 AnMaster, your thoughts are as old as the 70s. 20:09:42 What matters is _INTENT_. 20:09:58 Read http://ansuz.sooke.bc.ca/lawpoli/colour/2004061001.php 20:09:59 ehird____, well yes. But this would be an interesting new file sharing idea. Just share offset in pi 20:10:02 :P 20:10:10 compression too 20:10:12 Pi-based file-sharing is not a new idea either. 20:10:18 damn 20:10:22 yeah, let's wait until the head death of the universe before sharing anything other than pi 20:10:24 I've seen it proposed (unseriously) somewhere. 20:10:40 ehird, err this is an IWC reference? 20:10:42 or? 20:10:49 Heat death. A typo. 20:10:52 oh 20:11:02 it did end up as an IWC reference though :) 20:11:16 fizzie, yes of course it wouldn't be practical 20:11:17 now; someone fix my shit router. 20:11:18 theres some file sharing system out there 20:11:25 ehird____, tried rebooting it? 20:11:25 where you never download whole files 20:11:29 but instead download pieces of noice 20:11:31 noise* 20:11:36 sigh, yes anmaster 20:11:37 which can be reused for MULTIPLE files 20:11:47 so no one piece can be claimed to be infringing on anything 20:11:49 ehird____, what is the issue you are having with it? 20:11:53 psygnisfive, yes, it's stupid, it's written by an idiot who knows nothing about copyright law 20:12:11 i know. it sounded bullshit because ok the noise isnt copyrightable 20:12:15 but the key to decode it is 20:12:23 anmaster, i can't reach my slice 20:12:27 psygnisfive, what if that key is a prime number? 20:12:35 the key is more than just that tho 20:12:39 ehird, your slice? 20:12:41 there's a prime whose source is decss 20:12:46 gzipped 20:12:52 ehird____, I know 20:12:56 I was making a reference to that 20:13:01 if you distributed it as a prime thing, that's fine 20:13:08 if you distirbuted it as decss, that's illegal 20:13:08 the key is a decode number plus references to the pieces of noise that need to be decoded 20:13:11 again, coloured bits 20:13:16 slice = slicehost VP 20:13:17 S 20:13:33 ehird, ah, you can't reach your vps. I could try to traceroute it if I knew the ip 20:13:43 Others can connect; 208.78.103.223 20:13:45 in case it is the vps that is having isues 20:13:48 issues* 20:13:49 it is not 20:13:50 ehird, hm ok 20:13:56 did you try traceroute? 20:14:01 traceroute gives my VPS, then * forever 20:14:30 21 hops but works fine here 20:14:41 ehird, maybe it is some firewall gone wrong on the vps? or such 20:15:29 IT'S AN ISSUE ON MY ROUTER 20:15:33 like i said, twice 20:15:37 ok right. How do you know? 20:16:03 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 _right_ after it 20:16:09 like I said 20:16:19 hm 20:16:21 ah right 20:16:23 true 20:16:35 ehird, does it affect just slicehost or anything else? 20:16:58 maybe it is like that thing I remember reading about. Wikipedia being blocked by UK ISPs for some time iirc 20:17:17 no, it's really not. there's absolutely no basis for claiming it is, other than "UK" being in common 20:17:17 You said "traceroute gives my VPS, then * forever" which does not sound equivalent to "fails right after my router". 20:17:18 if they blocked something else on the same ip 20:17:24 s/vps/router/ 20:17:52 fizzie, indeed 20:18:37 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 Now if you people could stop being interesting for tonight, I might get done this thing I need to write. 20:19:09 ehird, so you can't access manage.slicehost.com either. Would that extend to *.slicehost.com ? 20:20:14 no 20:20:22 no? 20:20:27 no. 20:20:30 mhm 20:21:13 ehird____, this is very strange indeed. Two ips at slicehost doesn't work, but everything else does? 20:21:14 huh 20:21:50 even though I know routers are crappy I have a hard time seeing how it could be that crappy 20:23:03 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 I'd rather not 20:23:16 (like power button on mine) 20:23:33 ehird____, I understand that 20:23:41 ehird____, tried telneting to your router? 20:23:55 usually that works better than webuis 20:24:14 can't. 20:24:21 mhm 20:24:25 on mine it works 20:24:33 and shows lots of nice hidden options too 20:24:37 yours isn't a locked down piece of shit rented from orange as part of the plan 20:24:53 ehird____, mine was sent by the ISP as part of the plan 20:24:56 but not same ISP no 20:25:09 combined ADSL-modem/router 20:25:17 [ehird:~] % telnet 192.168.1.1 20:25:17 Trying 192.168.1.1... 20:25:17 telnet: connect to address 192.168.1.1: Connection refused 20:25:42 ehird, well for fun try nmapping it, just do it at slow rate or you are likely to crash it 20:26:11 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 fizzie, I don't think mine has SNMP. How would I check? 20:28:42 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 hmm, it has quite a few open ports 20:29:20 53/tcp open domain 20:29:20 80/tcp open http 20:29:20 9100/tcp open jetdirect 20:29:20 49153/tcp open unknown 20:29:46 fizzie, which port? 20:29:48 btw, how do you kill telnet from inside? it's irritating 20:29:59 ehird, ^[ iirc 20:30:04 that is Ctrl-[ 20:30:17 that is the escape code for it in my case 20:30:18 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 ah, it's ^] 20:30:25 ehird____, oh maybe 20:30:32 ehird____, it says when you start it 20:30:33 iirc 20:30:51 fizzie, nmap no good? 20:30:51 anyway, all the ports are boring apart from 9100 which gives "3" -- wonder how to use them. 20:31:11 ehird, did you try service scan thingy 20:31:18 of nmap 20:31:32 -sV iirc 20:31:32 wuzzat 20:31:43 ehird, ? 20:31:47 kay, running it 20:31:52 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 ehird____, it could I guess crash a bad router if the router crashed on random data 20:33:18 OK, I have results 20:33:30 http://www.nopaste.com/p/aTrKL9mcmb 20:33:31 fizzie, it is filtered on other random udp ports too 20:33:38 so doesn't tell me much 20:33:45 So, some dns shit, the configuration, Upnp server and an unknown thang. 20:33:59 The unknown thang & the dns seem interesting, all else boring. 20:34:00 Yes, very likely. Well, if you have them tools, "snmpwalk -Os -c public -v 1 ." usually gives everything the device knows. 20:34:10 Linux 2.6, though, ey. 20:34:18 ehird, dns isn't unexpected. All routers have that afaik 20:34:26 all consumer ones at least 20:34:27 Well, right. 20:34:40 S owhat is that jetdirect, do you think? 20:34:43 fizzie, I don't have the tools 20:34:56 oh, printer shit 20:35:07 so... totally locked down, you can get in to it, but you need a serial cable 20:35:09 ehird____, that is what the port is meant for 20:35:20 my router supports connecting a printer, so yes 20:35:20 ehird____, but it probably isn't used for that... 20:35:25 oh really, hm 20:35:30 for networked printing 20:35:35 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 fizzie, does SNMP offer any nice backdoors? :P 20:35:52 indeed 20:36:45 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 That wasn't very nice. 20:36:51 wait 20:36:56 I was using wrong nmap option 20:37:00 this seems interesting 20:37:20 though it takes some time 20:37:26 oh? 20:37:38 fizzie, indeed ouch 20:37:52 PORT STATE SERVICE VERSION 20:37:52 161/udp open|filtered snmp 20:37:52 MAC Address: 00:14:7F:EE:BF:74 (Thomson Telecom Belgium) 20:38:15 If anyone can gimme tips on cracking open my router's shell, i'd appreciate it 20:38:25 I don't know what nmap's "open|filtered" means. 20:38:34 ehird____, tool called hammer 20:38:40 or if that fail: sledge 20:38:45 sledgehammer* 20:38:53 har har. 20:38:54 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 I just would've preferred it to use the configured administration password and not some manufacturer default. 20:39:15 !! THATS AN IDEA 20:39:19 You can back up your Livebox configuration to a file on your computer. 20:39:25 _and_ restore it -- JACKPOT?! 20:39:31 err 20:39:32 what? 20:39:42 there might be hidden settings in there 20:39:52 fizzie, interesting. The telnet access I get is kind of crippled, a menu interface with lots of options 20:39:52 ugh, it's a binary file 20:39:56 but no real shell access 20:40:07 don't think it runs *nix even 20:40:22 Well, there was no telnet access to the wlan AP at all, even though it was a linuxy thing. 20:40:25 Modifying cfgsave.dwb files from a Wanadoo Livebox <-- oo 20:41:13 This ADSL box most probably isn't linux-based either. 20:41:22 "This file is just a tar file that has been 'encrypted' by adding 0x1b to every byte in the file. " 20:41:28 Make this shit up, you can't. 20:42:21 I ran into that sort of "encryption" somewhere too. 20:42:22 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 Apparently the box doesn't know what day it is either. 20:42:48 styx> sys date 20:42:48 Current date is Tue 2009/01/06 20:42:49 it's HACK IN TIME 20:43:14 FireyFly, heh 20:43:15 err 20:43:17 fizzie, ^ 20:43:22 me downloadz HACK TOOLZ 20:43:35 It's "ZyNOS version: V3.40(AGE.2)". 20:43:54 ehird_______, cool 20:44:03 yeah that sort of "encryption" sucks 20:44:10 but good for power users 20:44:49 tar: This does not look like a tar archive 20:45:41 opening it, I see shell files, though 20:45:45 just no header 20:45:58 starts- d6a72aaac5a6ce5f9622633d162f908f - 20:46:42 anmaster, any ideas? 20:46:53 um 20:46:57 Ooh, there's a tcpdump-like packet trace facility in the ADSL box. 20:47:18 ehird, that looks like a hash of stdin from md5sum 20:47:29 $ echo foo | md5sum 20:47:29 d3b07384d113edec49eaa6238ad5ff00 - 20:47:31 see? 20:47:35 aha, I'll s trip it off 20:47:49 ehird, no idea if that will break stuff 20:47:55 presumably, I'll need to put one back when I'm done! 20:48:09 anyway when I save settings from my router using the backup feature I get a plain "user.ini" file 20:48:20 which is in fact an ini file 20:48:34 WORKS NOW 20:49:01 http://pastie.org/private/tjvsp5kpxzg5bgqowkka <- FUCK YEAH 20:49:51 That's a funny format for a configuration dump. 20:50:04 Does it extract any tar file you upload to it, no matter what the paths are? :p 20:50:14 Yep. 20:50:28 Heh, that's friendly. 20:50:30 As long as you add the md5sum properly, and then add 0x1b to each byte 20:51:00 squee, this is aesome 20:51:21 i'm going to make my livebox serve over http 20:51:24 to the net 20:51:27 "hello from router" :D 20:52:05 this is pretty good, all their configs are plain text and COMMENTED 20:52:10 ehird_______, it has bluetooth? 20:52:13 with _useful comments_ 20:52:15 also, yes 20:52:23 huh 20:52:29 ehird_______, what is that used for? 20:52:36 hm? 20:52:40 oh 20:52:43 don't recall 20:52:51 ehird_______, not debug port then? 20:53:07 omg you can configure the dns and everything <3 <3 <3 20:53:19 ehird_______, in what way? 20:53:34 my main objective: add an sshd 20:53:39 which will be T R I V I A L 20:53:47 just modify the wifi.conf shell script, to add the commands you want to run 20:53:50 repackage it 20:53:53 import the config 20:53:55 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 AnMaster - isn't incompetence lovely? 20:56:13 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 sure is when you can gain advantage of it 20:56:30 fizzie, would be nice 20:56:34 hmm, considering the comments that's quite possible fizzie 20:56:47 ehird, what comments? 20:56:58 in the configuration files 20:56:59 I mean, what comments specifically 20:57:11 # The interface that udhcpd will use 20:57:17 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 I guess that's from udhcpd though 20:57:24 ehird_______, anything like "fuck the management, lets make this encryption silly"? 20:57:30 heh 20:57:41 this is JSUT configuration files, I will need ssh to explore the whole fs 20:57:53 ehird, hm... 20:58:08 Well, maybe only the most hardcorey people would apply a soldering iron on a rented device, but anyway. 20:59:32 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 http://jean.thecoderblogs.com/2008/12/05/got-root/ <- somoeone's done this already, that's a :( and a :) 21:00:24 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 I will now do http://jean.thecoderblogs.com/2008/12/05/got-root/, so I amy hack further 21:06:23 hmm, you can only write to /etc apparently 21:06:30 I guess I'll make /etc/x/ for stuff I put 21:07:32 hm it seems openwrt should work on my router 21:07:36 according to some googling 21:07:48 not going to try, I don't want to mess up 21:09:39 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 ah probably same 21:10:36 this router is about half a year old 21:11:52 ok, preparing to get myself an sshd onto thine router 21:13:09 -!- BeholdMyGlory has quit (Remote closed the connection). 21:13:27 gonna try it now, brb 21:13:28 -!- ehird_______ has quit ("aaa"). 21:13:31 -!- BeholdMyGlory has joined. 21:13:33 Thou shalt not ssh onto thine router, for that is an abomination. 21:14:57 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 s there any problem with this observation, and is it even vaguely useful? 21:15:35 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 (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 My bouncer works now 21:16:44 anyway 21:16:46 HERE GOOOOOOOOES 21:17:01 Soon there will come smoke out of your router. 21:17:05 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 (Doesn't seem likely though) 21:18:24 -!- MigoMipo has joined. 21:19:03 Oh come on, this is #esoteric , somebody has to be interested in my math oddity :P 21:19:22 I fucked it up 21:19:23 :( 21:19:37 GregorR: they're called computable numbers 21:19:38 Is your math oddity the same thing as "computable numbers"? 21:19:45 Gah. 21:20:37 What is this math oddity 21:21:05 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 ssh: connect to host configuration.adsl port 22: Connection refused 21:21:31 GregorR : There's a shitload, actually 21:22:12 ssh: connect to host 192.168.1.1 port 22: Connection refused 21:22:14 whyyyyyyy 21:22:29 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 N->Z->Q-> constructible numbers -> Algebraic numbers -> computable numbers -> definable numbers 21:22:41 All of them are aleph null 21:22:48 GregorR: there're many sets containing the rationals that have the same cardinality as integers do. 21:23:08 Actually, all useful numbers have that cardinality 21:23:08 I blame my math teacher for making that unclear X-D 21:23:17 GregorR: for example, the algebraic closure of 1 and sqrt(2) 21:23:21 OH WAIT 21:23:26 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 sorry, not algebraic closure 21:24:41 hmmmm 21:24:43 just the field defined by 21:27:04 The field define by one and sqrt2? 21:27:08 That's a pretty small field 21:27:19 ehird, oh? 21:27:23 hmm 21:27:32 it just isn't responding to ssh 21:27:39 -!- kerlo_ has changed nick to orelo. 21:28:21 Slereah: it's not that small 21:28:58 Well, cardinality of two :D 21:29:25 1-1=0 21:29:28 and so on 21:29:46 * ehird unhides a downloaded one to see if changes took effec 21:29:46 t 21:30:14 they did not. 21:30:54 OH 21:31:47 brb 21:31:48 trying again 21:32:42 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 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 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 GregorR: excluding countable ones, I presume. 21:51:23 ERM, same cardinality as /integers/ I meant. 21:51:39 If you can create the set by induction, it's countable. 21:51:53 yes. 21:52:05 That's why any useful number is in such a set 21:52:15 Because they can't be defined otherwise 21:52:29 "Useful" :P 21:53:46 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 heh 21:56:28 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 (Erm, larger but still with the same cardinality as integers that is) 21:58:06 (That makes no sense! :P ) 21:59:02 Hmm, so a countable set that includes all computable numbers, plus something else. 21:59:12 Yes, but is not contrived X-P 21:59:13 Don't be hatin' Chaitin's constant dude 21:59:23 CONTRIVED 21:59:26 :P 21:59:46 The set of all 1-computable numbers, defining "1-computable" as meaning a particular thing. 21:59:54 1. (1) contrived -- (showing effects of planning or manipulation; "a novel with a contrived ending") 22:00:12 Touché sir :P 22:00:20 Touch on your weiner 22:00:37 Namely, computable on a 1-computer, defining "1-computer" as meaning a particular thing. 22:00:49 I've got one: Computable with a halting oracle. 22:01:05 That includes Chaitin's number. 22:01:16 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 (By "contrived" I really meant to imply that you don't just go "That set plus Chaitin's constant") 22:01:38 Perfect! 22:01:47 Now where did I leave that halting oracle ... 22:01:56 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 Why is Chaitin's constant less contrived than definable numbers? 22:02:07 Don't believe the job advertisement's "flexible hours" stuff. 22:02:26 It means they will bend them out of shape 22:02:29 Slereah: when GregorR said "don't", he meant "do". 22:03:03 Except "don't" is also a valid way of saying that, because either English is weird or GregorR is weird. 22:03:10 Yes. 22:03:29 It was correct colloquial English, and is conveniently interpretable to mean either of two opposite things correctly :P 22:03:56 But there ain't no problem with that! 22:04:19 GregorR, why are you so very melon 22:04:21 I've heard it said that "I could care less" and "I couldn't care less" mean the same thing. 22:04:56 Indeed. 22:05:02 SO-O-O 22:05:05 That's why people shouldn't say "I could care less". 22:05:07 my router isn't doing the right thing 22:05:46 ehird: Maybe you should watch the "warriors of the net" video to more appreciate the tough job your router has. 22:05:50 Whenever somebody says "I could care less", I put a broadsword through their head. 22:06:01 (Unless they actually could care less) 22:06:10 "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 (In which case that's just a weird statement) 22:06:24 fizzie: Well, by all accounts, it should have started the sshd. 22:06:29 Maybe it _has_. But I can't get to it. 22:06:41 o h 22:06:49 maybe that 22:06:57 * ehird tries 22:12:25 * orelo presses some buttons on his calculator 22:12:29 Fuck ass, I think I know the problem. 22:12:37 Hmm, no 22:12:40 -!- asiekierka has quit. 22:12:45 It says "zebra". 22:12:54 well. 22:12:55 Basically, 22:13:01 it isn't downloading the file. 22:13:04 Why, I have no fucking idea. 22:13:08 (From my machine) 22:13:11 And now it says "cebra". 22:13:48 And now it says "wolf", and now it says "lobo", and now it says "sheep, ewe", and now it says "oveja". 22:14:07 AnMaster: any ideas? It just isn't running the code 22:16:44 #notify_file#default: (no script) 22:16:44 #notify_file/bin/dumpleases # <--- usefull for debugging 22:16:48 Aha! A way to run a program. 22:19:05 hm? 22:19:10 * AnMaster was afk 22:19:38 ehird, anyway I now have root on my router: http://deckardt.nl/blog/2008/06/28/speedtouch-fun-the-root-hack/ 22:19:41 not very useful 22:20:01 since I have a rather new firmware 22:20:54 orelo, what sayz zebra? 22:21:35 -!- Corun has joined. 22:27:01 -!- atrapado has joined. 22:32:06 This ZyNOS packet-trace looks rather spiffy: http://www.tcgweb.com/netgear/trace-snif.html 22:32:09 No filters, though. 22:42:10 Meh, I give up 22:44:03 http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2345 22:44:05 Sierpinski v3. 22:44:10 Now outputs a PNG. 22:44:14 psygnisfive: try it! 22:44:18 ghc --make -O2 sierpinski-gd.hs 22:44:18 then 22:44:25 ./sierpinski-gd sierpinski.png 22:44:29 open sierpinski.png and voil 22:44:30 a 22:44:35 if you don't have ghc, I can give you an OS X binary 22:47:53 HOLY CRAP 22:47:55 psygnisfive: 22:47:59 If you return x&y 22:48:02 instead of just checking it for 0 22:48:05 you get an awesome infinite background pattern 22:48:09 shaded blue 22:48:23 pic or it didn't happen 22:48:27 SURE THANG BRO 22:48:42 uploading 22:49:13 lament: http://imgur.com/5ZN9A.png 22:49:14 Could not find module `Graphics.GD' 22:49:15 :< 22:49:19 that's just interpreting x&y as an rgb colour 22:49:21 FireyFly: "cabal install gd" 22:49:38 lament: pretty cool, huh? 22:50:00 neat 22:50:22 Checkerboard sierpinski ;o 22:50:24 I was expecting something less, well, uniform 22:50:29 FireyFly: exactly 22:50:34 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 FireyFly: got it working? 22:55:47 Wow, it is awesome. 22:56:02 AnMaster: my calculator. 22:56:04 Nope 22:56:06 :D 22:56:30 Hm 22:57:11 * orelo attempts to figure out that image 22:57:45 Well, it's clear in some places that one pair of opposite squares is brighter than the other. 22:58:05 And the pattern remains as you zoom in. 22:58:17 The question is how much brighter. 22:59:18 FireyFly: do you have cabal? 22:59:19 if so, just do: 22:59:23 $ cabal install gd 22:59:25 and all will go smoothly 22:59:27 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 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 I havn't really used haskell that much, but I appearently have the libhugs-cabal package installed 23:00:19 But no command "cabal" 23:00:21 They're identical full stop 23:00:22 I believe 23:00:23 The fact that the image is 512x512 is evidence for this hypothesis. 23:00:27 FireyFly: Oh, hugs? 23:00:28 Don't use hugs. 23:00:32 Uninstall hugs and install ghc. 23:00:34 Well I do have ghc installed to 23:00:36 too* 23:00:37 Ah. 23:00:43 Install libghc6-cabal, or whatever it's installed. 23:00:49 Then find "cabal-install" package and install that too. 23:00:52 Then it should work. 23:00:53 Ah wait. 23:00:55 ghc comes with cabal 23:00:55 * orelo successfully runs hugs 23:00:57 so just the cabal install one 23:01:35 Either 'buntu packages sucks, or I do 23:01:39 I guess it's the latter 23:01:48 Eh 23:01:52 repos, that is* 23:01:58 Hmm 23:01:59 I will ask #haskell 23:02:50 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 And done with an IFS, not just bitwise and. :p 23:03:28 Ah. of course. 23:03:31 It's sierpinski without the hole. 23:03:39 Also, an IFS is way slower than a bitwise and :P 23:05:39 Hmm,. 23:05:46 I wonder if I can antialias that there sierpinski. 23:09:03 psygnisfive: ping 23:11:53 -!- bsmntbombdood has quit. 23:12:18 -!- bsmntbombdood has joined. 23:12:42 Interrobang with ~: ‽̃ 23:12:50 http://imgur.com/LIS7.jpg 23:14:16 imgur sounds like Sumerian 23:14:22 IM GUR 23:14:35 :D 23:15:47 -!- tombom has quit ("Peace and Protection 4.22.2"). 23:15:50 On this font and size, the interrobang with ~ just renders like an interrobang except the top part is even messier. 23:15:52 I didn't think GD would be so simple I could do that in 36 lines 23:15:56 fizzie: ditto 23:16:00 -!- BeholdMyGlory has quit (Remote closed the connection). 23:16:10 I hereby deem this channel the Haskell+GD Appreciation Club. 23:18:00 http://zem.fi/~fis/tilderrobang.png 23:20:19 Hmm. 23:20:24 I wonder if using | instead of & gives a fractal 23:20:37 No. 23:20:40 It gives whiteness. 23:20:57 -!- kar8nga has quit (Connection timed out). 23:21:05 At least for the == 0 case, it would. I guess otherwise too. 23:21:34 Yes. 23:21:40 Maybe xor. 23:21:47 Xoractal. 23:21:57 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 U+033C sounds like a road sign: COMBINING SEAGULL BELOW 23:22:26 -!- jix_ has quit ("..."). 23:22:46 what's a combining seagull do 23:23:22 It's a vaguely McDonalds-y logo down there you can combine with. 23:23:39 Like a flattened m, maybe. 23:23:41 No I mean like 23:23:42 IRL 23:23:44 the sign is saying 23:23:47 COMBINING SEAGULL BELOW 23:23:52 data structure problem 23:23:54 so presumably we're on a road high in the air 23:23:59 so what does a combining seagull do 23:24:05 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 Does it perhaps find other combining seagulls and permanently attach them to itself, thus creating a fractal seagull? 23:24:44 CONCLUSION: Sierpinski is every-fucking-where. 23:24:59 given a mapping of strings -> value, i need to return all the values who's keys contain a substring 23:25:14 (in less than linear time obviously) 23:25:15 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 "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 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 For a set of strings of total length n, that is. 23:30:06 you have many strings though 23:30:43 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 hmm 23:30:59 I guess in your case you could directly stick references to values in there. 23:31:12 -!- oerjan has joined. 23:31:19 What're m and z 23:31:32 zeroes xs = sum [ 1 | 0 <- xs ] 23:31:33 what the heck is the topic 23:31:40 Deewiant: It says right there. z occurrences and input string length m. 23:31:50 Oh, right 23:31:59 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 Deewiant: That's just like you, you're just reading the channel for the formulas. 23:34:20 i take that to mean you don't know what it meant 23:34:33 oh, and hi 23:37:09 So. 23:37:11 Hi oerjan. 23:37:14 Haskell is neat. 23:37:44 unwords . repeat $ "yes" 23:38:03 fix ("yes "++) 23:38:55 cycle "yes " 23:39:13 yes 23:39:16 22:39 ehird: > "The answer is: " ++ fix ("Yes! " ++) ++ "Haskell can do that." 23:39:16 22:39 lambdabot: "The answer is: Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes!... 23:39:17 22:39 ehird: ...virginia 23:39:38 ("Maybe, Virginia.") 23:39:47 ("Just True, Virginia.") 23:39:50 i'm confused 23:40:02 bsmntbombdood: arfnoble grifgraff? 23:41:09 [1..]>>"yes " 23:41:15 oerjan: ooh! 23:41:29 oerjan: that's beautiful 23:42:13 oerjan: but longer than cycle"yes " 23:42:18 alas 23:42:49 hello oerjan 23:42:55 hej hej 23:43:02 execWriter . forever . tell $ "yes " 23:43:11 oerjan, irreguljär webserie 23:43:13 * AnMaster runs 23:43:25 too short, already read 23:43:37 Deewiant: system "yes 'yes '" 23:43:42 oerjan, yeah I was busy hacking my modem/router 23:43:44 hmm, that adds newlines 23:43:46 didn't see you join 23:43:47 ehird: Bad command or file not found 23:43:54 ehird, I had some success btw, but not much 23:43:57 ehird: And it's IO :-P 23:43:57 for my router 23:44:12 Deewiant: unsafeCoerce (system "deltree /y C:\*.*") :: String 23:44:15 hmm, wait 23:44:16 ehird, it seems you need JTAG to do anything useful with it 23:44:22 Deewiant: unsafeCoerce (unsafePerformIO (system "deltree /y C:\*.*")) :: String 23:44:33 ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.] 23:44:36 er 23:44:38 ^bf +[[,----------]>+++++++++[<+++++++>-]<.[-]++++++++++.]!hello world 23:44:40 ...out of time! 23:44:45 ...out of time! 23:44:50 ehird: main = return () -- sorry, can't touch this 23:45:13 Deewiant: that sounds a bit - restrictive 23:45:26 oh wait 23:45:39 [,----------] seems like it's looking for newlines. 23:45:44 import Prelude hiding (return) 23:45:48 it's from ed.bf 23:45:54 so maybe it is a complete impl of ed 23:45:57 Deewiant, what are you doing? 23:46:20 I'm not doing anything 23:46:28 return _ = system "rm -rf ." 23:46:35 um 23:46:44 who is trying to delete their system? 23:46:45 hm probably needs another import for system 23:46:52 AnMaster: Deewiant 23:46:56 and why 23:47:20 ehird was deleting a hypothetical Windows / DOS system in Haskell 23:47:32 oh that would be hard. It would be a side effect 23:47:38 (of windows) 23:47:56 * oerjan swats AnMaster -----### 23:48:05 side effects are not hard in haskell! 23:48:27 oerjan, you missed the joke 23:48:28 -_- 23:48:38 oh no, it cannot be! 23:48:46 AnMaster: no, you missed his joke. 23:48:50 * oerjan weeps frantically 23:48:53 ehird, no I just missed ~ 23:48:56 woe is me! 23:49:00 the nth time around 23:49:01 poop is me! 23:49:07 pope? 23:49:14 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 the pope is made of poop. 23:59:42 ok, that ed just outputs ? every newline 23:59:42 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 CHECKING FOR "10" AND OUTPUTTING A CHARACTER IS REALLY HARD 23:59:42 oerjan, why? 23:59:42 religion is for insulting 23:59:42 22:55 AnMaster: religion is for insulting <-- you're an idiot. 23:59:42 ehird, I forgot ~. sorry 23:59:42 i should just tag ~ on to my every line 23:59:42 well that might be a good idea in fact 23:59:42 :) 23:59:42 ~ 23:59:42 ehird, actually ~ is too boolean. Either serious or sarcasm 23:59:42 we need a marker for said with "wink of eye" 23:59:42 or something like that 23:59:42 I would suggest ¤ 23:59:42 I suggest ";-)" 23:59:42 Deewiant, meh. So outdated... ¤ 23:59:42 ¤ already has a meaning 23:59:42 Deewiant, so does ~ 23:59:42 And I don't think I've got it on my keyboard layout 23:59:42 AnMaster: Yes, but not ";-)" 23:59:42 Deewiant, Finnish? 23:59:42 wait, ~ = 23:59:42 argh 23:59:42 Or rather, it has that meaning 23:59:42 wait, ~ ? 23:59:42 AnMaster: colemak 23:59:42 oerjan, iirc Swedish and Finish have the same? 23:59:42 err 23:59:42 Deewiant, ^ 23:59:42 Deewiant, "colemak"? 23:59:42 You recall correctly, but as I said I use colemak 23:59:42 wth is that 23:59:42 colemak.com 23:59:42 AnMaster: what? 23:59:42 anyway ¤ is Shift-4 here 23:59:42 oerjan, misbraintab 23:59:42 why is no one making sense 23:59:42 Yes, I know, that's what it says on my 4 key as well :-P 23:59:42 Deewiant, why not dvorak btw?